/* Poliutech V5.0 Brochure Fix + Pisos Epoxicos */
:root{
  --blue:#0C3C78;
  --blue2:#1D5EA8;
  --gray:#4B4F56;
  --light:#E9ECEF;
  --white:#FFFFFF;
  --red:#D62828;
  --shadow:0 18px 48px rgba(12,60,120,.12);
  --soft-shadow:0 12px 32px rgba(12,60,120,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Open Sans',Arial,sans-serif;color:var(--gray);background:#fff;line-height:1.6;overflow-x:hidden}
body.menu-open{overflow:hidden}
h1,h2,h3,h4,.main-nav a,.btn,.store-cta,.header-cta{font-family:'Montserrat',Arial,sans-serif}
a{color:inherit}
.container{width:min(1200px,calc(100% - 44px));margin:0 auto}
img{max-width:100%;height:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 8px 28px rgba(12,60,120,.08)}
.top-bar{background:#f7f9fc;border-bottom:1px solid #e0e8f2;color:var(--blue);font-size:13px}
.top-bar-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:22px}
.top-contact-line,.top-social{display:flex;align-items:center;gap:12px;white-space:nowrap}
.top-bar a{text-decoration:none;font-weight:700}
.top-social a{font-size:12px;color:#31577d}

.nav-shell{min-height:92px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:185px;max-height:86px;object-fit:contain;object-position:left center;display:block}

.main-nav{margin-left:auto}
.main-nav ul{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.055em;color:var(--blue);position:relative}
.main-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--blue2);transition:.22s ease}
.main-nav a:hover:after{width:100%}

.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.btn,.store-cta,.header-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;font-weight:800;line-height:1;transition:.22s ease;white-space:nowrap}
.store-cta{padding:13px 15px;border:1.5px solid var(--blue2);color:var(--blue);background:#fff;font-size:12px;box-shadow:0 10px 22px rgba(12,60,120,.07)}
.header-cta{padding:14px 16px;background:var(--blue);color:#fff;font-size:12px;box-shadow:0 12px 24px rgba(12,60,120,.2)}
.store-cta:hover{background:var(--blue2);color:#fff;transform:translateY(-1px)}
.header-cta:hover{background:var(--blue2);transform:translateY(-1px)}

.menu-toggle{display:none;background:transparent;border:0;margin-left:auto;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:28px;height:2px;background:var(--blue);margin:6px 0;border-radius:10px;transition:.2s ease}

/* Hero carousel */
.hero-carousel{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;background:var(--blue);color:#fff}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .85s ease;background-size:cover;background-position:center}
.hero-slide.is-active{opacity:1}
.slide-1{background-image:url('../img/site/hero-1.jpg')}
.slide-2{background-image:url('../img/site/hero-2.jpg')}
.slide-3{background-image:url('../img/site/hero-3.jpg')}
.hero-overlay{position:absolute;inset:0;background:
  linear-gradient(110deg, rgba(12,60,120,.95) 0%, rgba(12,60,120,.86) 42%, rgba(29,94,168,.48) 100%),
  radial-gradient(circle at 80% 30%, rgba(255,255,255,.16), transparent 35%)}
.hero-carousel:before{content:"";position:absolute;inset:0;z-index:2;background-image:
  linear-gradient(30deg, rgba(255,255,255,.045) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.045) 87.5%, rgba(255,255,255,.045)),
  linear-gradient(150deg, rgba(255,255,255,.045) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.045) 87.5%, rgba(255,255,255,.045));
  background-size:120px 70px;opacity:.55;pointer-events:none}
.hero-content{position:relative;z-index:3;padding:112px 0 96px}
.hero-kicker{text-transform:uppercase;letter-spacing:.12em;font:800 18px/1.5 'Montserrat';max-width:800px;margin:0 0 22px}
.hero-content h1{font:800 clamp(42px,6vw,82px)/.98 'Montserrat';max-width:760px;margin:0 0 24px;letter-spacing:-.035em}
.hero-content p:not(.hero-kicker){font-size:20px;max-width:680px;margin:0;color:rgba(255,255,255,.92)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{padding:15px 22px;border:1px solid transparent}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.btn-primary:hover{background:var(--blue2);transform:translateY(-1px)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.08)}
.btn-ghost:hover{background:#fff;color:var(--blue)}
.hero-dots{position:absolute;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:10px}
.hero-dots button{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.85);background:transparent;padding:0;cursor:pointer}
.hero-dots button.is-active{background:#fff}

/* Sections */
section{padding:86px 0}
.eyebrow{text-transform:uppercase;color:var(--blue2);letter-spacing:.14em;font:800 13px/1 'Montserrat';margin:0 0 18px}
.section-title{display:flex;align-items:center;justify-content:center;text-align:center;gap:24px;margin-bottom:38px}
.section-title span{width:86px;height:3px;background:var(--blue2)}
.section-title h2{margin:0;color:var(--blue);letter-spacing:.11em;font:800 clamp(25px,3vw,40px)/1.15 'Montserrat'}

/* About */
.about-premium{background:#fff}
.about-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:58px;align-items:center}
.about-media{position:relative;min-height:500px}
.about-image{border-radius:24px;box-shadow:var(--shadow);overflow:hidden;border:1px solid #dbe5ef;background-size:cover;background-position:center}
.main-image{height:430px;background-image:linear-gradient(180deg,transparent 45%,rgba(12,60,120,.72)),url('../img/site/about-main.jpg')}
.about-image span{position:absolute;left:28px;bottom:28px;color:#fff;font:800 18px/1.2 'Montserrat'}
.about-stat-card{position:absolute;right:-26px;bottom:18px;width:210px;background:#fff;border:1px solid #dbe5ef;border-radius:20px;box-shadow:var(--shadow);padding:24px;color:var(--blue)}
.about-stat-card strong{display:block;font:800 54px/1 'Montserrat'}
.about-stat-card span{font-weight:700;font-size:14px}
.about-copy h2{font:800 clamp(34px,4.2vw,60px)/1.08 'Montserrat';letter-spacing:-.04em;color:var(--blue);margin:0 0 26px;max-width:760px}
.about-copy p{font-size:17px;max-width:640px}
.presence-card{margin-top:28px;display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center}
.presence-map{height:230px;border-radius:50%;background:linear-gradient(140deg,#dfe9f4,#f8fbff);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--blue);font:800 17px/1.4 'Montserrat';box-shadow:inset 0 0 0 1px rgba(12,60,120,.08)}
.presence-card ul{list-style:none;margin:0;padding:0}
.presence-card li{margin:11px 0;font-weight:800;color:var(--blue)}
.presence-card li:before{content:"";display:inline-block;width:10px;height:10px;background:var(--blue2);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);margin-right:10px}

/* Metrics */
.metrics-band{padding:34px 0;background:#f7f9fc;border-top:1px solid #e0e8f2;border-bottom:1px solid #e0e8f2}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.metrics-grid div{padding:20px 28px;border-right:1px solid #dbe5ef}
.metrics-grid div:last-child{border-right:0}
.metrics-grid strong{display:block;color:var(--blue);font:800 36px/1 'Montserrat'}
.metrics-grid span{display:block;margin-top:8px;font-weight:700;color:var(--gray)}

/* Specialty */
.specialties-section{background:#fff}
.specialty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.specialty-card{background:#fff;border:1px solid #dbe5ef;border-radius:20px;box-shadow:var(--soft-shadow);padding:0;min-height:100%;overflow:hidden;transition:.22s ease}
.specialty-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.specialty-card-body{padding:22px 24px 26px}
.specialty-media{height:180px;background-size:cover;background-position:center;position:relative}
.specialty-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(12,60,120,.06) 0%, rgba(12,60,120,.26) 100%)}
.specialty-waterproofing{background-image:url('../img/site/specialty-waterproofing.webp')}
.specialty-roofing{background-image:url('../img/site/specialty-roofing.webp')}
.specialty-envelope{background-image:url('../img/site/specialty-envelope.webp')}
.specialty-fire-image{background-image:url('../img/site/specialty-fire.webp')}
.specialty-flooring{background-image:url('../img/site/specialty-flooring.webp')}
.specialty-strengthening{background-image:url('../img/site/specialty-strengthening.webp')}
.specialty-injection{background-image:url('../img/site/specialty-injection.webp')}
.specialty-coatings{background-image:url('../img/site/specialty-coatings.webp')}
.specialty-card h3{color:var(--blue);font:800 18px/1.22 'Montserrat';margin:18px 0 12px}
.specialty-card p{margin:0;font-size:14px}
.line-icon{width:48px;height:48px;border-radius:15px;background:#eef5fc;color:var(--blue2);display:inline-flex;align-items:center;justify-content:center}
.line-icon svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}
.specialty-card.fire .line-icon{color:var(--red);background:#fff1f1}

/* Industries */
.industries-section{background:#f8fafc}
.industries-grid{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #dbe5ef;border-radius:22px;overflow:hidden;box-shadow:var(--soft-shadow)}
.industry-card{min-height:150px;padding:24px 16px;text-decoration:none;color:var(--blue);font:800 15px/1.25 'Montserrat';display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;border-right:1px solid #dbe5ef;border-bottom:1px solid #dbe5ef;transition:.2s ease}
.industry-card:nth-child(5n){border-right:0}
.industry-card:nth-last-child(-n+5){border-bottom:0}
.industry-card:hover{background:#eef5fc;color:var(--blue2)}
.industry-card .line-icon{width:42px;height:42px;flex:0 0 auto}

/* Projects */
.projects-section{background:#fff}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.project-card{border:1px solid #dbe5ef;border-radius:22px;overflow:hidden;box-shadow:var(--soft-shadow);background:#fff}
.project-photo{height:190px;background-size:cover;background-position:center}
.photo-hospital{background-image:url('../img/site/project-waterproofing.jpg')}
.photo-data{background-image:url('../img/site/project-flooring.jpg')}
.photo-oil{background-image:url('../img/site/project-strengthening.jpg')}
.project-info{padding:24px}
.project-info h3{margin:0 0 14px;color:var(--blue);font:800 20px/1.2 'Montserrat'}
.project-info p{font-size:14px;margin:8px 0}

/* Manufacturers */
.manufacturers-section{background:var(--light)}
.manufacturer-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:center}
.manufacturer-layout h2{color:var(--blue);font:800 clamp(28px,3vw,42px)/1.16 'Montserrat';margin:0 0 18px}
.manufacturer-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.m-logo,.cert-logo{min-height:92px;background:#fff;border:1px solid #dbe5ef;border-radius:18px;box-shadow:var(--soft-shadow);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--blue);font-family:'Montserrat';position:relative;overflow:hidden}
.m-logo:before{content:"";position:absolute;width:54px;height:54px;left:16px;top:50%;transform:translateY(-50%);border:3px solid var(--blue2);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);opacity:.35}
.m-logo span{font-weight:500;margin-right:4px;opacity:.82}
.m-logo strong{font-weight:800}
.cert-logo{font-weight:800;font-size:22px;letter-spacing:.08em}

/* Contact */
.contact-section{background:linear-gradient(115deg,var(--blue),var(--blue2));color:#fff;position:relative;overflow:hidden}
.contact-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(30deg,rgba(255,255,255,.04) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.04) 87.5%);background-size:120px 70px;opacity:.5}
.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:start}
.contact-copy .eyebrow,.contact-copy h2{color:#fff}
.contact-copy h2{font:800 clamp(34px,4vw,56px)/1.1 'Montserrat';margin:0 0 18px}
.contact-copy p{font-size:17px;color:rgba(255,255,255,.9)}
.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.contact-info-grid a,.contact-info-grid div{display:flex;flex-direction:column;gap:5px;text-decoration:none;background:#fff;color:var(--blue);border-radius:16px;padding:18px;box-shadow:0 16px 35px rgba(0,0,0,.14)}
.contact-info-grid span{color:var(--gray);font-size:14px}
.form-panel{background:#fff;border-radius:24px;padding:30px;box-shadow:0 22px 55px rgba(0,0,0,.18);color:var(--gray)}
.form-panel h3{color:var(--blue);font:800 24px/1.2 'Montserrat';margin:0 0 20px}

/* Form */
.pt-contact-form label{display:block}
.pt-contact-form label>span{display:block;color:var(--blue);font-weight:800;font-size:13px;margin:0 0 6px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pt-contact-form input,.pt-contact-form textarea{width:100%;border:1px solid #d9e3ef;border-radius:12px;padding:13px 14px;font:inherit;margin-bottom:14px;background:#fff}
.pt-contact-form input:focus,.pt-contact-form textarea:focus{outline:3px solid rgba(29,94,168,.16);border-color:var(--blue2)}
.captcha-row{background:#f6f9fc;border:1px solid #d9e3ef;border-radius:14px;padding:14px;margin:4px 0 14px}
.captcha-question{display:inline-flex;align-items:center;justify-content:center;min-width:86px;min-height:42px;padding:8px 14px;margin-right:10px;background:var(--light);color:var(--blue);border-radius:10px;font-family:'Montserrat';font-size:18px}
.captcha-row input{max-width:160px;margin-bottom:0}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important}
.privacy-check{display:flex!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;margin:6px 0 18px}
.privacy-check input{width:auto;margin:3px 0 0;flex:0 0 auto}
.privacy-check span{margin:0!important;color:var(--gray)!important;font-weight:600!important}
.privacy-check a{color:var(--blue);font-weight:800}
.form-alert{border-radius:12px;padding:14px 16px;margin:0 0 18px;font-weight:700;line-height:1.45}
.form-success{background:#eaf7ef;color:#166534;border:1px solid #bbebc8}
.form-error{background:#fff1f2;color:#991b1b;border:1px solid #fecdd3}

/* Footer */
.site-footer{background:#f7f9fc;border-top:1px solid #dfe8f2;padding-top:58px}
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.1fr;gap:42px}
.footer-brand img{width:245px;max-height:118px;object-fit:contain;object-position:left center;margin-bottom:18px}
.footer-brand p{max-width:390px}
.footer-contact a{display:block;margin:6px 0;color:var(--blue);font-weight:700;text-decoration:none}
.site-footer h4{font:800 16px/1 'Montserrat';letter-spacing:.04em;color:var(--blue);margin:0 0 18px;text-transform:uppercase}
.site-footer a{display:block;text-decoration:none;color:var(--gray);margin:9px 0}
.site-footer a:hover{color:var(--blue2)}
.footer-social{margin-top:18px}
.footer-bottom{margin-top:42px;background:#fff;border-top:1px solid #dfe8f2;text-align:center;padding:18px 0;color:#667085;font-size:14px}

/* Legal */
.page-content{padding:80px 0}
.legal-hero{background:linear-gradient(115deg,var(--blue),var(--blue2));color:#fff;padding:88px 0}
.legal-hero .eyebrow{color:#fff}
.legal-hero h1{font:800 clamp(38px,5vw,62px)/1.08 'Montserrat';margin:0 0 12px}
.legal-content{background:#fff}
.legal-box{max-width:920px;line-height:1.75}
.legal-box h2{color:var(--blue);margin-top:36px;font-family:'Montserrat'}
.legal-note{background:#f6f9fc;border-left:4px solid var(--blue2);padding:16px;border-radius:10px}

/* Responsive */
@media (max-width:1180px){
  .nav-shell{gap:16px}
  .brand img{width:165px}
  .main-nav ul{gap:14px}
  .main-nav a{font-size:11px}
  .store-cta,.header-cta{font-size:11px;padding:12px}
}

@media (max-width:1024px){
  .top-social{display:none}
  .menu-toggle{display:block}
  .nav-shell{min-height:82px}
  .main-nav{position:fixed;left:0;right:0;top:calc(34px + 82px);background:#fff;box-shadow:0 24px 40px rgba(12,60,120,.14);padding:22px;transform:translateY(-18px);opacity:0;pointer-events:none;transition:.22s ease;max-height:calc(100vh - 116px);overflow:auto}
  .main-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:16px}
  .main-nav a{font-size:14px}
  .header-actions{margin-left:auto}
  .hero-carousel{min-height:620px}
  .about-layout,.manufacturer-layout,.contact-layout{grid-template-columns:1fr}
  .about-media{min-height:auto}
  .about-stat-card{right:22px}
  .specialty-grid{grid-template-columns:repeat(2,1fr)}
  .industries-grid{grid-template-columns:repeat(2,1fr)}
  .industry-card:nth-child(5n){border-right:1px solid #dbe5ef}
  .industry-card:nth-child(2n){border-right:0}
  .industry-card:nth-last-child(-n+5){border-bottom:1px solid #dbe5ef}
  .project-grid{grid-template-columns:1fr}
  .metrics-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}
  .metrics-grid div:nth-child(2){border-right:0}
  .metrics-grid div:nth-child(-n+2){border-bottom:1px solid #dbe5ef}
}

@media (max-width:760px){
  .container{width:min(100% - 30px,1200px)}
  .top-bar-inner{justify-content:center}
  .top-contact-line{white-space:normal;justify-content:center;flex-wrap:wrap;text-align:center;gap:8px}
  .nav-shell{flex-wrap:wrap;gap:12px;padding:10px 0}
  .brand img{width:154px}
  .header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .store-cta,.header-cta{width:100%}
  .main-nav{top:138px;max-height:calc(100vh - 138px)}
  .hero-carousel{min-height:590px}
  .hero-content{padding:76px 0 70px}
  .hero-kicker{font-size:13px}
  .hero-content h1{font-size:clamp(38px,12vw,58px)}
  .hero-content p:not(.hero-kicker){font-size:17px}
  section{padding:64px 0}
  .section-title{gap:14px}
  .section-title span{width:42px}
  .about-copy h2{font-size:38px}
  .about-image{height:330px}
  .about-stat-card{position:relative;right:auto;bottom:auto;width:auto;margin-top:16px}
  .presence-card{grid-template-columns:1fr}
  .presence-map{width:230px;max-width:100%;margin:0 auto}
  .metrics-grid,.specialty-grid,.industries-grid,.manufacturer-logos,.contact-info-grid,.form-grid,.footer-grid{grid-template-columns:1fr}
  .metrics-grid div{border-right:0!important;border-bottom:1px solid #dbe5ef}
  .metrics-grid div:last-child{border-bottom:0}
  .industry-card{justify-content:flex-start;text-align:left;min-height:92px;border-right:0!important}
  .industry-card:last-child{border-bottom:0}
  .manufacturer-logos{grid-template-columns:1fr 1fr}
  .captcha-question{margin:0 0 10px}
  .captcha-row input{max-width:100%}
  .footer-brand img{width:210px}
  }

@media (max-width:420px){
  .header-actions{grid-template-columns:1fr}
  .main-nav{top:184px;max-height:calc(100vh - 184px)}
  .manufacturer-logos{grid-template-columns:1fr}
}


/* === V3 Manual Maestro additions === */
.btn-light{
  background:#fff;
  color:var(--blue);
  border-color:#fff;
}
.btn-light:hover{
  background:#eef5fc;
  color:var(--blue2);
  transform:translateY(-1px);
}
.hero-video-note{
  margin-top:18px!important;
  font-size:13px!important;
  color:rgba(255,255,255,.74)!important;
  max-width:720px!important;
}
.library-btn{margin-top:22px}
.cert-logo{
  min-height:82px;
  padding:12px;
  font-size:16px;
}
.footer-grid-v3{
  grid-template-columns:1.45fr .95fr .95fr .95fr 1.15fr;
}
.footer-contact span{
  display:block;
  color:var(--gray);
  font-size:14px;
  margin-top:8px;
}
.newsletter-block p{
  margin-top:0;
  font-size:14px;
}
.newsletter-form{
  display:flex;
  gap:8px;
  margin-top:14px;
}
.newsletter-form input{
  min-width:0;
  flex:1;
  border:1px solid #d9e3ef;
  border-radius:10px;
  padding:12px 13px;
  font:inherit;
}
.newsletter-form button{
  border:0;
  border-radius:10px;
  background:var(--blue);
  color:#fff;
  font:800 12px/1 'Montserrat';
  padding:0 14px;
  cursor:pointer;
}
.newsletter-alert{
  border-radius:10px;
  padding:10px 12px;
  font-size:13px;
  font-weight:700;
  margin-bottom:10px;
}
.newsletter-alert.success{background:#eaf7ef;color:#166534}
.newsletter-alert.error{background:#fff1f2;color:#991b1b}

.internal-hero{
  background:linear-gradient(115deg,var(--blue),var(--blue2));
  color:#fff;
  padding:92px 0;
}
.internal-hero .eyebrow{color:#fff}
.internal-hero h1{
  font:800 clamp(38px,5vw,64px)/1.08 'Montserrat';
  margin:0 0 14px;
}
.internal-hero p{
  max-width:780px;
  font-size:18px;
  color:rgba(255,255,255,.9);
}
.internal-content{
  background:#fff;
  padding:76px 0;
}
.internal-card{
  border:1px solid #dbe5ef;
  border-radius:24px;
  box-shadow:var(--soft-shadow);
  padding:34px;
  background:#fff;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.blog-card{
  border:1px solid #dbe5ef;
  border-radius:20px;
  box-shadow:var(--soft-shadow);
  padding:26px;
  background:#fff;
}
.blog-card h2{
  color:var(--blue);
  font:800 22px/1.2 'Montserrat';
}
.blog-card a{
  color:var(--blue);
  text-decoration:none;
}
.read-more{
  font-weight:800;
}

@media (max-width:1180px){
  .footer-grid-v3{
    grid-template-columns:1.4fr 1fr 1fr;
  }
}
@media (max-width:900px){
  .footer-grid-v3,
  .blog-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:760px){
  .newsletter-form{
    flex-direction:column;
  }
  .newsletter-form button{
    min-height:44px;
  }
  .footer-grid-v3,
  .blog-grid{
    grid-template-columns:1fr;
  }
}


/* === V3.1 enlaces funcionales === */
.blog-preview-section{
  background:#fff;
}
.blog-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.blog-preview-card{
  border:1px solid #dbe5ef;
  border-radius:22px;
  box-shadow:var(--soft-shadow);
  background:#fff;
  padding:28px;
  min-height:265px;
}
.blog-preview-card h3{
  color:var(--blue);
  font:800 21px/1.2 'Montserrat';
  margin:0 0 14px;
}
.blog-preview-card a{
  display:inline-flex;
  margin-top:12px;
  color:var(--blue);
  font:800 13px/1 'Montserrat';
  text-decoration:none;
}
.blog-preview-card a:hover{
  color:var(--blue2);
}
.site-footer a,
.main-nav a,
.industry-card,
.blog-preview-card a,
.store-cta,
.header-cta,
.btn{
  cursor:pointer;
}

@media (max-width:900px){
  .blog-preview-grid{
    grid-template-columns:1fr;
  }
}


/* === V3.2 Fix botón tienda clickeable === */
.header-actions,
.store-cta,
.header-cta {
  position: relative;
  z-index: 9999;
  pointer-events: auto !important;
}

.store-cta {
  cursor: pointer !important;
  user-select: none;
}

.site-header,
.nav-shell {
  pointer-events: auto;
}

.hero-carousel,
.hero-carousel::before,
.hero-slide,
.hero-overlay {
  pointer-events: none;
}

.hero-content,
.hero-actions,
.hero-actions .btn,
.main-nav,
.main-nav a {
  pointer-events: auto;
}


/* === V3.3 Blog dinámico === */
.blog-intro {
  max-width: 760px;
  text-align: center;
  margin: -14px auto 34px;
  color: var(--gray);
}

.dynamic-post-card,
.archive-post-card {
  padding: 0 !important;
  overflow: hidden;
}

.blog-thumb-link {
  display: block;
  text-decoration: none;
}

.blog-thumb {
  width: 100%;
  height: 205px;
  object-fit: cover;
  display: block;
  background: #e9eef5;
}

.blog-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(135deg, rgba(12,60,120,.92), rgba(29,94,168,.68)),
    repeating-linear-gradient(30deg, rgba(255,255,255,.06) 0 2px, transparent 2px 24px);
  color: #fff;
  font: 800 24px/1 'Montserrat';
  letter-spacing: .06em;
}

.blog-card-body {
  padding: 24px;
}

.blog-preview-card h3 a,
.blog-card h2 a {
  color: var(--blue);
  text-decoration: none;
}

.blog-preview-card h3 a:hover,
.blog-card h2 a:hover {
  color: var(--blue2);
}

.blog-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.blog-archive-grid {
  align-items: stretch;
}

.pagination-wrap {
  margin-top: 36px;
  display: flex;
  justify-content: center;
}

.pagination-wrap .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  margin: 0 4px;
  padding: 8px 12px;
  border: 1px solid #dbe5ef;
  border-radius: 10px;
  text-decoration: none;
  color: var(--blue);
  font-weight: 800;
}

.pagination-wrap .page-numbers.current {
  background: var(--blue);
  color: #fff;
}

.single-hero {
  background: linear-gradient(115deg, var(--blue), var(--blue2));
  color: #fff;
  padding: 92px 0;
}

.single-hero .eyebrow {
  color: #fff;
}

.single-hero h1 {
  max-width: 920px;
  font: 800 clamp(36px,5vw,64px)/1.08 'Montserrat';
  margin: 0 0 14px;
}

.post-meta {
  color: rgba(255,255,255,.82);
  margin: 0;
}

.single-featured-image {
  padding: 48px 0 0;
}

.single-thumb {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: var(--shadow);
}

.single-content {
  padding: 64px 0 86px;
  background: #fff;
}

.single-content-inner {
  max-width: 860px;
  font-size: 18px;
  line-height: 1.8;
}

.single-content-inner h2,
.single-content-inner h3 {
  color: var(--blue);
  font-family: 'Montserrat';
}

.single-cta {
  margin-top: 48px;
  padding: 28px;
  border: 1px solid #dbe5ef;
  border-radius: 22px;
  background: #f7f9fc;
}

.single-cta h2 {
  margin-top: 0;
}

@media (max-width:760px){
  .blog-thumb {
    height: 190px;
  }
  .blog-card-body {
    padding: 22px;
  }
}


/* === V3.4 Blog con ejemplos sustituibles === */
.example-post-card {
  position: relative;
}

.example-thumb {
  background:
    linear-gradient(135deg, rgba(12,60,120,.95), rgba(29,94,168,.72)),
    repeating-linear-gradient(30deg, rgba(255,255,255,.08) 0 2px, transparent 2px 22px);
}

.example-thumb span {
  max-width: 80%;
  text-align: center;
  line-height: 1.2;
}


/* === V3.5 Certificaciones y Equipo dinámicos === */
.dynamic-cert-card,
.example-cert-card {
  flex-direction: column;
  gap: 7px;
  text-decoration: none;
  position: relative;
  min-height: 104px;
  padding: 16px;
}

.dynamic-cert-card small,
.example-cert-card small {
  color: var(--gray);
  font: 700 11px/1.2 'Open Sans';
  text-transform: uppercase;
  letter-spacing: .05em;
}

.cert-real-logo {
  max-width: 150px;
  max-height: 58px;
  object-fit: contain;
  display: block;
}

.team-section {
  background: #fff;
}

.team-intro {
  max-width: 760px;
  margin: -14px auto 34px;
  text-align: center;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.team-card {
  position: relative;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 22px;
  box-shadow: var(--soft-shadow);
  overflow: hidden;
  transition: .22s ease;
}

.team-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.team-photo {
  height: 255px;
  background: #e9eef5;
  overflow: hidden;
}

.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.team-photo-placeholder {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(135deg, rgba(12,60,120,.92), rgba(29,94,168,.68)),
    repeating-linear-gradient(30deg, rgba(255,255,255,.06) 0 2px, transparent 2px 24px);
  color: #fff;
  font: 800 18px/1 'Montserrat';
  letter-spacing: .08em;
  text-transform: uppercase;
}

.team-body {
  padding: 22px;
}

.team-body h3 {
  margin: 0 0 8px;
  color: var(--blue);
  font: 800 20px/1.2 'Montserrat';
}

.team-role {
  margin: 0 0 6px;
  font-weight: 800;
  color: var(--gray);
}

.team-specialty {
  margin: 0 0 14px;
  font-size: 14px;
}

.linkedin-link {
  display: inline-flex;
  color: var(--blue);
  text-decoration: none;
  font: 800 13px/1 'Montserrat';
  border-bottom: 2px solid var(--blue2);
  padding-bottom: 4px;
}

.linkedin-link.muted {
  opacity: .55;
}

@media (max-width: 1024px) {
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .team-grid {
    grid-template-columns: 1fr;
  }

  .team-photo {
    height: 300px;
  }
}


/* === V3.6 Industrias con modales === */
.industry-card {
  border-top: 0;
  border-left: 0;
  cursor: pointer;
  font-family: 'Montserrat', Arial, sans-serif;
}


.specialty-card-shell {
  padding: 0;
}

.specialty-card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  color: inherit;
  text-decoration: none;
  background: #fff;
}

.specialty-card-link:hover,
.specialty-card-link:focus,
.specialty-card-link:active {
  color: inherit;
  text-decoration: none;
}

.specialty-card-link:focus-visible {
  outline: 3px solid rgba(12, 60, 120, .22);
  outline-offset: -3px;
}

.specialty-media-dynamic {
  display: block;
  overflow: hidden;
}

.specialty-media-badge {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--blue);
  font: 700 12px/1 'Montserrat';
  box-shadow: 0 10px 18px rgba(12,60,120,.16);
}

.specialty-card-link:hover .specialty-media-badge {
  transform: translateY(-2px);
}

.specialty-card-link .specialty-media {
  transition: transform .25s ease;
}

.specialty-card-link:hover .specialty-media {
  transform: scale(1.02);
}

.specialty-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.specialty-modal.is-open {
  display: flex;
}

.specialty-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 24, 48, .62);
  backdrop-filter: blur(4px);
}

.specialty-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  max-height: min(90vh, 920px);
  overflow: auto;
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr);
}

.specialty-modal-nav,
.specialty-modal-close {
  position: absolute;
  z-index: 3;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(12,60,120,.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.specialty-modal-nav:hover,
.specialty-modal-close:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(12,60,120,.2);
}

.specialty-modal-nav[disabled] {
  opacity: .4;
  cursor: default;
}

.specialty-modal-nav svg {
  width: 22px;
  height: 22px;
}

.specialty-modal-prev {
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
}

.specialty-modal-next {
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}

.specialty-modal-prev:hover,
.specialty-modal-next:hover {
  transform: translateY(calc(-50% - 2px));
}

.specialty-modal-close {
  top: 16px;
  right: 16px;
  font-size: 30px;
  line-height: 1;
}

.specialty-modal-image-wrap {
  min-height: 540px;
  padding: 30px;
  background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.specialty-modal-image {
  display: block;
  max-width: 100%;
  max-height: 72vh;
  width: auto;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(12,60,120,.16);
}

.specialty-modal-content {
  padding: 42px;
}

.specialty-modal-content h3 {
  margin: 0 0 16px;
  color: var(--blue);
  font: 800 clamp(28px, 4vw, 44px)/1.08 'Montserrat';
}

.specialty-modal-content p {
  font-size: 16px;
}

.specialty-modal-list-wrap {
  margin: 26px 0 0;
  padding: 18px 18px 18px 20px;
  border: 1px solid #dbe5ef;
  border-radius: 18px;
  background: #f7f9fc;
}

.specialty-modal-list-wrap h4 {
  margin: 0 0 10px;
  color: var(--blue);
  font: 800 15px/1 'Montserrat';
  text-transform: uppercase;
  letter-spacing: .04em;
}

.specialty-modal-list-wrap ul {
  margin: 0;
  padding-left: 18px;
}

.specialty-modal-list-wrap li {
  margin: 7px 0;
}

.specialty-modal-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

@media (max-width: 900px) {
  .specialty-modal-dialog {
    grid-template-columns: 1fr;
  }

  .specialty-modal-image-wrap {
    min-height: 260px;
    padding: 22px 60px;
  }

  .specialty-modal-content {
    padding: 28px;
  }
}

@media (max-width: 620px) {
  .specialty-modal {
    padding: 12px;
  }

  .specialty-modal-dialog {
    border-radius: 18px;
    max-height: 92vh;
  }

  .specialty-modal-nav,
  .specialty-modal-close {
    width: 46px;
    height: 46px;
  }

  .specialty-modal-prev {
    left: 10px;
  }

  .specialty-modal-next {
    right: 10px;
  }

  .specialty-media-badge {
    right: 10px;
    bottom: 10px;
    font-size: 11px;
    padding: 7px 10px;
  }

  .specialty-modal-actions .btn {
    width: 100%;
  }
}

button.industry-card {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
}

body.modal-open {
  overflow: hidden;
}

.industry-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.industry-modal.is-open {
  display: flex;
}

.industry-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 24, 48, .62);
  backdrop-filter: blur(4px);
}

.industry-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  max-height: min(88vh, 860px);
  overflow: auto;
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
  display: grid;
  grid-template-columns: .92fr 1.08fr;
}

.industry-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(12,60,120,.16);
}

.industry-modal-image {
  min-height: 560px;
  background-size: cover;
  background-position: center;
}

.industry-modal-content {
  padding: 42px;
}

.industry-modal-content h3 {
  margin: 0 0 16px;
  color: var(--blue);
  font: 800 clamp(30px, 4vw, 48px)/1.05 'Montserrat';
}

.industry-modal-content p {
  font-size: 16px;
}

.industry-modal-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 24px 0;
}

.industry-modal-columns h4,
.industry-modal-meta strong {
  color: var(--blue);
  font: 800 15px/1 'Montserrat';
  text-transform: uppercase;
  letter-spacing: .04em;
}

.industry-modal-columns ul {
  margin: 12px 0 0;
  padding-left: 18px;
}

.industry-modal-columns li {
  margin: 8px 0;
}

.industry-modal-meta {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}

.industry-modal-meta div {
  background: #f7f9fc;
  border: 1px solid #dbe5ef;
  border-radius: 14px;
  padding: 14px;
}

.industry-modal-meta strong,
.industry-modal-meta span {
  display: block;
}

.industry-modal-meta span {
  margin-top: 6px;
}

.industry-modal-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 26px;
}

.modal-store-link {
  border-color: #dbe5ef;
}

@media (max-width: 900px) {
  .industry-modal-dialog {
    grid-template-columns: 1fr;
  }

  .industry-modal-image {
    min-height: 260px;
  }

  .industry-modal-content {
    padding: 28px;
  }
}

@media (max-width: 620px) {
  .industry-modal {
    padding: 12px;
  }

  .industry-modal-dialog {
    border-radius: 18px;
    max-height: 92vh;
  }

  .industry-modal-columns {
    grid-template-columns: 1fr;
  }

  .industry-modal-actions .btn {
    width: 100%;
  }
}


/* === V3.7 Industrias administrables === */
.example-industry-card {
  position: relative;
}
/* === V4.0 Solo equipo === */
.team-card .team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}


/* === V4.3 Equipo uniforme y sin etiquetas de ejemplo === */
.team-grid {
  align-items: stretch;
}

.team-card {
  height: 100%;
}

.team-photo {
  height: 265px !important;
  aspect-ratio: 1.32 / 1;
  background: #e9eef5;
}

.team-card .team-photo img,
.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.example-post-card:after,
.example-cert-card:after,
.example-team-card:after,
.example-industry-card:after {
  content: none !important;
  display: none !important;
}

.example-post-card,
.example-cert-card,
.example-team-card,
.example-industry-card {
  position: relative;
}

@media (max-width: 620px) {
  .team-photo {
    height: 310px !important;
  }
}


/* === V4.4 Sin WhatsApp flotante === */
/* El botón flotante de WhatsApp fue retirado porque se usará un plugin externo. */

@media (max-width: 980px){
  .specialty-media{height:170px}
}
@media (max-width: 640px){
  .specialty-media{height:190px}
}


/* === V4.9 Pisos Industriales reforzado === */
.specialty-mini-list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: grid;
  gap: 7px;
}

.specialty-mini-list li {
  position: relative;
  padding-left: 18px;
  color: var(--gray);
  font-size: 14px;
  line-height: 1.35;
}

.specialty-mini-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue2);
}

.floors-section {
  background: #f4f7fb;
  padding: 90px 0;
}

.floors-layout {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 42px;
  align-items: center;
}

.floors-copy h2 {
  color: var(--blue);
  font: 800 clamp(34px, 4vw, 54px)/1.08 'Montserrat';
  margin: 0 0 18px;
}

.floors-copy > p {
  max-width: 720px;
  color: var(--gray);
  font-size: 17px;
}

.floors-systems {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 28px 0 30px;
}

.floors-systems article {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--soft-shadow);
}

.floors-systems h3 {
  color: var(--blue);
  font: 800 16px/1.25 'Montserrat';
  margin: 0 0 8px;
}

.floors-systems p {
  margin: 0;
  font-size: 14px;
}

.floors-media-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  grid-template-rows: 260px 260px;
  gap: 16px;
}

.floors-photo {
  border-radius: 22px;
  background-size: cover;
  background-position: center;
  box-shadow: var(--soft-shadow);
  border: 1px solid rgba(12,60,120,.12);
}

.floors-photo-main {
  grid-row: span 2;
  background-image: linear-gradient(180deg, rgba(12,60,120,.06), rgba(12,60,120,.18)), url('../img/site/specialty-flooring.webp');
}

.floors-photo-secondary {
  background-image: linear-gradient(180deg, rgba(12,60,120,.06), rgba(12,60,120,.18)), url('../img/site/project-2.jpg');
}

.floors-photo-third {
  background-image: linear-gradient(180deg, rgba(12,60,120,.06), rgba(12,60,120,.18)), url('../img/site/industry-farmaceutica.jpg');
}

@media (max-width: 980px) {
  .floors-layout {
    grid-template-columns: 1fr;
  }

  .floors-media-grid {
    grid-template-rows: 240px 240px;
  }
}

@media (max-width: 640px) {
  .floors-section {
    padding: 68px 0;
  }

  .floors-systems {
    grid-template-columns: 1fr;
  }

  .floors-media-grid {
    grid-template-columns: 1fr;
    grid-template-rows: 260px 220px 220px;
  }

  .floors-photo-main {
    grid-row: auto;
  }
}



.hero-content .btn,
.floors-copy .btn,
.brochure-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:10;
  cursor:pointer !important;
  pointer-events:auto !important;
  text-decoration:none;
}
.hero-content .btn:hover,
.floors-copy .btn:hover,
.brochure-cta:hover{
  text-decoration:none;
}
.specialty-flooring{background-image:url('../img/site/specialty-flooring.webp')}
.floors-photo-main{
  grid-row: span 2;
  background-image: linear-gradient(180deg, rgba(12,60,120,.05), rgba(12,60,120,.16)), url('../img/site/specialty-flooring.webp');
}
.floors-photo-secondary{
  background-image: linear-gradient(180deg, rgba(12,60,120,.05), rgba(12,60,120,.16)), url('../img/site/epoxy-floor-2.jpg');
}
.floors-photo-third{
  background-image: linear-gradient(180deg, rgba(12,60,120,.05), rgba(12,60,120,.16)), url('../img/site/epoxy-floor-3.jpg');
}


/* === V5.5 Fix definitivo CTAs menú móvil === */
.mobile-menu-cta-item {
  display: none;
}

@media (max-width: 980px) {
  .header-actions,
  .nav-actions,
  .desktop-actions,
  .desktop-cta,
  .mobile-quick-actions,
  .site-header .btn-store,
  .site-header .btn-advice,
  .site-header .store-button,
  .site-header .advice-button,
  .site-header .header-actions a[href*="poliutechstore"],
  .site-header .header-actions a[href="#contacto"] {
    display: none !important;
  }

  .main-nav .mobile-menu-cta-item,
  .main-navigation .mobile-menu-cta-item,
  .nav-menu .mobile-menu-cta-item,
  .mobile-menu-cta-item {
    display: block !important;
    width: 100%;
    margin: 8px 0 0 !important;
  }

  .mobile-menu-store-link,
  .mobile-menu-advice-link {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    text-align: center !important;
    border-radius: 14px;
    padding: 15px 18px !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
  }

  .mobile-menu-store-link {
    border: 2px solid var(--blue) !important;
    color: var(--blue) !important;
    background: #fff !important;
  }

  .mobile-menu-advice-link {
    border: 2px solid var(--blue) !important;
    color: #fff !important;
    background: var(--blue) !important;
  }

  .mobile-store-item,
  .mobile-advice-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (min-width: 981px) {
  .mobile-menu-cta-item {
    display: none !important;
  }
}


/* === V5.8 Ajustes visuales homepage === */
.presence-card ul {
  display: grid;
  gap: 10px;
}

.presence-card li {
  margin: 0;
  font-weight: 700;
}

.presence-map {
  position: relative;
  padding: 28px 20px;
  gap: 10px;
  background:
    radial-gradient(circle at 50% 50%, rgba(29,94,168,.12) 0, rgba(29,94,168,.08) 36%, rgba(255,255,255,.92) 36.5%, rgba(255,255,255,.98) 58%, #eef4fb 100%);
}

.presence-map:before {
  content: "COBERTURA";
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  font: 800 11px/1 'Montserrat';
  letter-spacing: .18em;
  color: var(--blue2);
}

.presence-pill {
  min-width: 128px;
  text-align: center;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(29,94,168,.18);
  box-shadow: 0 8px 18px rgba(12,60,120,.08);
  color: var(--blue);
  font: 800 18px/1.15 'Montserrat';
}

.industry-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
}

.industry-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.84)), var(--industry-bg);
  background-size: cover;
  background-position: center;
  opacity: 1;
  z-index: -2;
  transition: .25s ease;
}

.industry-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(29,94,168,.08), transparent 52%);
  z-index: -1;
}

.industry-card:hover:before {
  background-image: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.72)), var(--industry-bg);
}

.industry-card strong,
.industry-card .line-icon {
  position: relative;
  z-index: 1;
}

.m-logo {
  padding: 18px 20px;
}

.placeholder-cert-card {
  justify-content: flex-start;
  gap: 16px;
  text-align: left;
  background: linear-gradient(135deg, rgba(255,255,255,1), rgba(244,248,253,1));
}

.placeholder-cert-card:before {
  opacity: .2;
}

.cert-placeholder-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #edf4fb;
  color: var(--blue2);
  box-shadow: inset 0 0 0 1px rgba(29,94,168,.10);
}

.cert-placeholder-icon svg {
  width: 28px;
  height: 28px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cert-text-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cert-text-block strong,
.cert-text-block small {
  display: block;
}

.has-real-logo {
  flex-direction: column;
  gap: 8px;
  padding-top: 22px;
  padding-bottom: 16px;
}

.cert-real-logo {
  max-width: 150px;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.has-real-logo .cert-text-block {
  text-align: center;
}

.blog-thumb-placeholder {
  position: relative;
  overflow: hidden;
}

.blog-thumb-placeholder:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,60,120,.90), rgba(29,94,168,.72));
}

.blog-thumb-placeholder:after {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
}

.blog-thumb-logo {
  position: relative;
  z-index: 1;
  width: min(72%, 240px);
  max-height: 96px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.blog-placeholder-badge {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.28);
  color: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  font: 800 12px/1 'Montserrat';
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .presence-pill {
    min-width: 112px;
    font-size: 16px;
  }

  .placeholder-cert-card {
    padding: 16px;
  }
}


/* === V5.9 Correcciones solicitadas === */
.presence-card {
  align-items: center;
}

.presence-map {
  position: relative;
  width: min(100%, 420px);
  aspect-ratio: 1.12 / 1;
  padding: 0;
  border-radius: 32px;
  overflow: hidden;
  background: radial-gradient(circle at 50% 55%, rgba(29,94,168,.12) 0, rgba(29,94,168,.07) 28%, rgba(255,255,255,.92) 58%, rgba(238,244,251,1) 100%);
  border: 1px solid rgba(29,94,168,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}

.presence-map:before {
  content: "COBERTURA REGIONAL";
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  font: 800 11px/1 'Montserrat';
  letter-spacing: .22em;
  color: var(--blue2);
  z-index: 3;
}

.presence-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.map-base path {
  fill: #dce8f6;
}

.map-regions .region {
  stroke: rgba(255,255,255,.9);
  stroke-width: 4;
}

.map-regions .usa { fill: #1d5ea8; }
.map-regions .mexico { fill: #24a864; }
.map-regions .latam { fill: #0b3c78; }

.map-label {
  position: absolute;
  z-index: 4;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(29,94,168,.15);
  box-shadow: 0 8px 18px rgba(12,60,120,.12);
  color: var(--blue);
  font: 800 14px/1 'Montserrat';
  white-space: nowrap;
}

.label-usa { top: 56px; left: 65px; }
.label-mexico { top: 126px; left: 126px; }
.label-latam { top: 200px; left: 180px; }

.presence-card ul li::marker {
  color: var(--blue2);
}

.industry-card {
  color: #fff !important;
}

.industry-card:before {
  background-image: linear-gradient(180deg, rgba(7, 28, 55, .58), rgba(7, 28, 55, .72)), var(--industry-bg) !important;
  background-size: cover !important;
  background-position: center !important;
}

.industry-card:hover:before {
  background-image: linear-gradient(180deg, rgba(7, 28, 55, .48), rgba(7, 28, 55, .66)), var(--industry-bg) !important;
}

.industry-card:after {
  background: linear-gradient(135deg, rgba(0,0,0,.08), rgba(255,255,255,.02)) !important;
}

.industry-card .line-icon {
  color: #fff;
  background: rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 8px;
  width: 58px;
  height: 58px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.industry-card strong {
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.28);
}

.manufacturer-logos .m-logo:before,
.placeholder-cert-card:before,
.example-cert-card:after {
  display: none !important;
  content: none !important;
}

.placeholder-cert-card {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 14px;
  padding: 22px 18px;
  background: linear-gradient(160deg, #ffffff 0%, #f2f7fd 100%);
}

.placeholder-cert-card .cert-placeholder-icon {
  width: 66px;
  height: 66px;
  min-width: 66px;
  border-radius: 20px;
  background: linear-gradient(145deg, #f8fbff 0%, #e8f1fb 100%);
  box-shadow: 0 10px 22px rgba(29,94,168,.10), inset 0 0 0 1px rgba(29,94,168,.12);
}

.placeholder-cert-card .cert-placeholder-icon svg {
  width: 34px;
  height: 34px;
}

.placeholder-cert-card .cert-text-block {
  align-items: center;
  text-align: center;
}

.placeholder-cert-card strong {
  font-size: 20px;
  line-height: 1.05;
}

.placeholder-cert-card small {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(11,60,120,.82);
}

.has-real-logo {
  justify-content: center;
}

.blog-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.blog-thumb-placeholder:before {
  background: linear-gradient(135deg, #0f4586 0%, #2d65af 100%) !important;
}

.blog-thumb-placeholder:after {
  inset: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.16);
}

.blog-thumb-logo {
  position: relative;
  z-index: 2;
  width: auto;
  max-width: min(82%, 260px);
  max-height: 118px;
  object-fit: contain;
  filter: none !important;
  background: rgba(255,255,255,.98);
  border-radius: 24px;
  padding: 14px 18px;
  box-shadow: 0 12px 24px rgba(0,0,0,.12);
}

.example-thumb .blog-thumb-logo {
  margin-top: 10px;
}

@media (max-width: 767px) {
  .presence-map {
    max-width: 360px;
    margin-inline: auto;
  }
  .map-label { font-size: 12px; padding: 8px 12px; }
  .label-usa { top: 56px; left: 55px; }
  .label-mexico { top: 118px; left: 104px; }
  .label-latam { top: 184px; left: 135px; }
}


/* === V6.0 Cobertura regional con mapa correcto === */
.presence-card-map-image {
  gap: 24px;
  align-items: center;
}

.presence-map-image-wrap {
  margin: 0;
  width: min(100%, 620px);
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(29,94,168,.12);
  box-shadow: 0 18px 45px rgba(12,60,120,.12);
}

.presence-map-image {
  display: block;
  width: 100%;
  height: auto;
}

.presence-card-map-image ul {
  display: grid;
  gap: 10px;
}

.presence-card-map-image li {
  margin: 0;
  color: var(--blue);
  font-weight: 800;
}

.presence-card-map-image li::marker {
  color: var(--blue2);
}

@media (max-width: 980px) {
  .presence-card-map-image {
    grid-template-columns: 1fr;
  }

  .presence-map-image-wrap {
    max-width: 620px;
    margin-inline: auto;
  }
}


/* === V6.1 Ajuste visual de placeholders del blog === */
.blog-thumb-placeholder {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  background: #ffffff !important;
  overflow: hidden;
}

.blog-thumb-placeholder::before,
.blog-thumb-placeholder::after {
  display: none !important;
  content: none !important;
}

.blog-thumb-logo {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain;
  object-position: center;
  background: #ffffff !important;
  border-radius: 0 !important;
  padding: 20px !important;
  box-shadow: none !important;
  filter: none !important;
}

.example-thumb .blog-thumb-logo {
  margin-top: 0 !important;
}

.blog-placeholder-badge {
  position: absolute;
  left: 16px;
  bottom: 14px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(11,60,120,.92) !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 20px rgba(11,60,120,.18);
  font: 800 12px/1 'Montserrat';
  letter-spacing: .08em;
  text-transform: uppercase;
}

.blog-card-body .eyebrow {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: #eef4fb;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: .08em;
}


/* === V6.2 Iconografía gráfica para fabricantes y certificaciones === */
.placeholder-cert-card {
  --cert-accent: #1d5ea8;
  --cert-soft: #eaf2fd;
  --cert-deep: #0b3c78;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.placeholder-cert-card::after {
  content: "" !important;
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, var(--cert-accent), color-mix(in srgb, var(--cert-accent) 45%, #ffffff));
  display: block !important;
}

.placeholder-cert-card .cert-placeholder-icon {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, var(--cert-soft) 100%);
  color: var(--cert-deep);
  border: 1px solid color-mix(in srgb, var(--cert-accent) 18%, #dbe5ef);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--cert-accent) 12%, transparent), inset 0 0 0 1px rgba(255,255,255,.8);
}

.placeholder-cert-card .cert-placeholder-icon::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 16px;
  background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--cert-accent) 14%, #ffffff) 0, transparent 65%);
  z-index: 0;
}

.placeholder-cert-card .cert-placeholder-icon svg {
  position: relative;
  z-index: 1;
  stroke: currentColor;
}

.placeholder-cert-card .cert-text-block strong {
  color: var(--cert-deep);
}

.placeholder-cert-card .cert-text-block small {
  color: color-mix(in srgb, var(--cert-deep) 84%, #5f6f85);
}

.cert-visual-red { --cert-accent: #ef4444; --cert-soft: #fff1f2; --cert-deep: #9f1239; }
.cert-visual-indigo { --cert-accent: #6366f1; --cert-soft: #eef2ff; --cert-deep: #3730a3; }
.cert-visual-teal { --cert-accent: #14b8a6; --cert-soft: #ecfeff; --cert-deep: #0f766e; }
.cert-visual-cyan { --cert-accent: #06b6d4; --cert-soft: #ecfeff; --cert-deep: #155e75; }
.cert-visual-orange { --cert-accent: #f97316; --cert-soft: #fff7ed; --cert-deep: #c2410c; }
.cert-visual-blue { --cert-accent: #3b82f6; --cert-soft: #eff6ff; --cert-deep: #1d4ed8; }
.cert-visual-green { --cert-accent: #22c55e; --cert-soft: #f0fdf4; --cert-deep: #15803d; }
.cert-visual-purple { --cert-accent: #8b5cf6; --cert-soft: #f5f3ff; --cert-deep: #6d28d9; }
.cert-visual-pink { --cert-accent: #ec4899; --cert-soft: #fdf2f8; --cert-deep: #be185d; }
.cert-visual-gold { --cert-accent: #eab308; --cert-soft: #fefce8; --cert-deep: #a16207; }
.cert-visual-sky { --cert-accent: #0ea5e9; --cert-soft: #f0f9ff; --cert-deep: #0369a1; }
.cert-visual-lime { --cert-accent: #84cc16; --cert-soft: #f7fee7; --cert-deep: #4d7c0f; }


/* === V6.3 Mapa principal en Quiénes Somos === */
.about-map-feature {
  position: relative;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.about-map-feature img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.about-map-feature span {
  display: none;
}

.presence-card-text-only {
  grid-template-columns: 1fr;
  gap: 0;
  align-items: start;
}

.presence-card-text-only ul {
  max-width: 640px;
}


/* === V6.7 Industrias limpias sin filtro oscuro === */
.industries-grid {
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
}

.industries-grid .industry-card {
  position: relative;
  min-height: 168px;
  padding: 22px;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  text-align: left !important;
  overflow: hidden;
  isolation: isolate;
  color: #ffffff !important;
  background: #f4f7fb !important;
}

.industries-grid .industry-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: var(--industry-bg) !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  opacity: 1 !important;
  transition: transform .28s ease;
}

.industries-grid .industry-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: transparent !important;
}

.industries-section .container {
  width: min(1320px, calc(100% - 36px));
}

.industries-grid .industry-card {
  min-height: 186px;
  transition: box-shadow .26s ease, transform .26s ease;
}

.industries-grid .industry-card::before {
  background-size: 112% 112% !important;
}

.industries-grid .industry-card:hover,
.industries-grid .industry-card:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 18px 34px rgba(7,28,55,.24);
}

.industries-grid .industry-card:hover::before,
.industries-grid .industry-card:focus-visible::before {
  transform: scale(1.18);
}

.industries-grid .industry-card > .line-icon {
  display: none !important;
}

.industries-grid .industry-card strong {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  max-width: 94%;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: var(--blue) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.14);
  text-shadow: none !important;
  font: 800 16px/1.15 'Montserrat', sans-serif;
  text-align: left;
}

.industries-grid .industry-card strong::before {
  content: "";
  width: 8px;
  height: 8px;
  min-width: 8px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--blue2);
  box-shadow: 0 0 0 4px rgba(29,94,168,.12);
}

@media (max-width: 1024px) {
  .industries-section .container {
    width: min(100% - 28px, 1320px);
  }

  .industries-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .industries-grid .industry-card:nth-child(5n) {
    border-right: 1px solid rgba(255,255,255,.22);
  }

  .industries-grid .industry-card:nth-last-child(-n+5) {
    border-bottom: 1px solid rgba(255,255,255,.22);
  }
}

@media (max-width: 620px) {
  .industries-grid {
    grid-template-columns: 1fr !important;
  }

  .industries-grid .industry-card {
    min-height: 148px;
  }

  .industries-grid .industry-card strong {
    font-size: 14px;
  }
}


/* === V7.0 Fondo blanco con iconografía técnica tenue === */
body {
  background-color: #ffffff;
}

.about-section,
.specialties-section,
.industries-section,
.projects-section,
.manufacturers-section,
.team-section,
.blog-section,
.contact-section {
  position: relative;
  overflow: hidden;
}

.about-section::before,
.specialties-section::before,
.industries-section::before,
.projects-section::before,
.manufacturers-section::before,
.team-section::before,
.blog-section::before,
.contact-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: url("../img/site/body-tool-pattern.svg");
  background-size: 620px 430px;
  background-position: 30px 20px;
  background-repeat: repeat;
  opacity: .045;
}

.about-section > .container,
.specialties-section > .container,
.industries-section > .container,
.projects-section > .container,
.manufacturers-section > .container,
.team-section > .container,
.blog-section > .container,
.contact-section > .container {
  position: relative;
  z-index: 1;
}

.industries-section::before {
  opacity: .035;
}

.manufacturers-section::before,
.blog-section::before {
  opacity: .05;
}

@media (max-width: 760px) {
  .about-section::before,
  .specialties-section::before,
  .industries-section::before,
  .projects-section::before,
  .manufacturers-section::before,
  .team-section::before,
  .blog-section::before,
  .contact-section::before {
    background-size: 430px 300px;
    opacity: .04;
  }
}


/* === V7.1 Fondo técnico más visible === */
body {
  background-color: #ffffff;
}

.about-section::before,
.specialties-section::before,
.industries-section::before,
.projects-section::before,
.manufacturers-section::before,
.team-section::before,
.blog-section::before,
.contact-section::before {
  opacity: .105 !important;
  background-size: 520px 358px !important;
  background-position: 0 0 !important;
}

.projects-section::before,
.manufacturers-section::before,
.blog-section::before {
  opacity: .13 !important;
}

.about-section,
.specialties-section,
.industries-section,
.projects-section,
.manufacturers-section,
.team-section,
.blog-section,
.contact-section {
  background-color: #ffffff !important;
}

/* Refuerzo visual: una segunda capa muy suave para que no desaparezca en pantallas claras */
.projects-section::after,
.manufacturers-section::after,
.blog-section::after,
.team-section::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: url("../img/site/body-tool-pattern.svg");
  background-size: 760px 525px;
  background-position: 260px 130px;
  background-repeat: repeat;
  opacity: .045;
}

.projects-section > .container,
.manufacturers-section > .container,
.blog-section > .container,
.team-section > .container {
  position: relative;
  z-index: 1;
}

@media (max-width: 760px) {
  .about-section::before,
  .specialties-section::before,
  .industries-section::before,
  .projects-section::before,
  .manufacturers-section::before,
  .team-section::before,
  .blog-section::before,
  .contact-section::before {
    opacity: .11 !important;
    background-size: 390px 270px !important;
  }

  .projects-section::after,
  .manufacturers-section::after,
  .blog-section::after,
  .team-section::after {
    opacity: .035;
    background-size: 540px 373px;
  }
}


/* === V7.2 Iconografía técnica también en fondos grises === */
section[style*="#f8fafc"],
section[style*="#f4f7fb"],
section[style*="#eef4fb"],
section[style*="#E9ECEF"],
section[style*="#e9ecef"],
.specialty-hero,
.specialty-section,
.single-specialty-section,
.single-industry-section,
.industry-detail-section,
.project-detail-section,
.page-section,
.content-section,
.archive-section,
.taxonomy-section {
  position: relative;
  overflow: hidden;
}

section[style*="#f8fafc"]::before,
section[style*="#f4f7fb"]::before,
section[style*="#eef4fb"]::before,
section[style*="#E9ECEF"]::before,
section[style*="#e9ecef"]::before,
.specialty-hero::before,
.specialty-section::before,
.single-specialty-section::before,
.single-industry-section::before,
.industry-detail-section::before,
.project-detail-section::before,
.page-section::before,
.content-section::before,
.archive-section::before,
.taxonomy-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: url("../img/site/body-tool-pattern.svg");
  background-size: 520px 358px;
  background-position: 40px 30px;
  background-repeat: repeat;
  opacity: .105;
}

section[style*="#f8fafc"] > *,
section[style*="#f4f7fb"] > *,
section[style*="#eef4fb"] > *,
section[style*="#E9ECEF"] > *,
section[style*="#e9ecef"] > *,
.specialty-hero > *,
.specialty-section > *,
.single-specialty-section > *,
.single-industry-section > *,
.industry-detail-section > *,
.project-detail-section > *,
.page-section > *,
.content-section > *,
.archive-section > *,
.taxonomy-section > * {
  position: relative;
  z-index: 1;
}

/* Variación más discreta en bloques técnicos grandes para no ensuciar la lectura */
.specialty-hero::before,
.single-specialty-section::before,
.single-industry-section::before {
  opacity: .09;
  background-size: 600px 414px;
}

/* Mantiene tarjetas limpias encima del patrón */
.specialty-hero .container,
.specialty-section .container,
.single-specialty-section .container,
.single-industry-section .container,
.industry-detail-section .container,
.project-detail-section .container,
.page-section .container,
.content-section .container,
.archive-section .container,
.taxonomy-section .container {
  position: relative;
  z-index: 1;
}

@media (max-width: 760px) {
  section[style*="#f8fafc"]::before,
  section[style*="#f4f7fb"]::before,
  section[style*="#eef4fb"]::before,
  section[style*="#E9ECEF"]::before,
  section[style*="#e9ecef"]::before,
  .specialty-hero::before,
  .specialty-section::before,
  .single-specialty-section::before,
  .single-industry-section::before,
  .industry-detail-section::before,
  .project-detail-section::before,
  .page-section::before,
  .content-section::before,
  .archive-section::before,
  .taxonomy-section::before {
    background-size: 390px 270px;
    opacity: .095;
  }
}


/* === V7.3 Fix móvil: mapa visible + patrón visible === */

/* Asegura que la imagen del mapa de cobertura no desaparezca en móvil */
.about-map-feature,
.about-image.about-map-feature,
.main-image.about-map-feature {
  min-height: 360px !important;
  height: auto !important;
  background: #ffffff !important;
  padding: 14px !important;
  overflow: hidden !important;
}

.about-map-feature img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Fondo técnico más evidente en mobile y por encima de fondos grises/blancos */
@media (max-width: 980px) {
  body {
    background-color: #ffffff !important;
  }

  .about-section,
  .specialties-section,
  .industries-section,
  .projects-section,
  .manufacturers-section,
  .team-section,
  .blog-section,
  .contact-section,
  .specialty-hero,
  .specialty-section,
  .single-specialty-section,
  .single-industry-section,
  .industry-detail-section,
  .project-detail-section,
  .page-section,
  .content-section,
  .archive-section,
  .taxonomy-section {
    position: relative !important;
    overflow: hidden !important;
  }

  .about-section::before,
  .specialties-section::before,
  .industries-section::before,
  .projects-section::before,
  .manufacturers-section::before,
  .team-section::before,
  .blog-section::before,
  .contact-section::before,
  .specialty-hero::before,
  .specialty-section::before,
  .single-specialty-section::before,
  .single-industry-section::before,
  .industry-detail-section::before,
  .project-detail-section::before,
  .page-section::before,
  .content-section::before,
  .archive-section::before,
  .taxonomy-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    background-image: url("../img/site/body-tool-pattern.svg") !important;
    background-size: 310px 214px !important;
    background-position: 0 0 !important;
    background-repeat: repeat !important;
    opacity: .16 !important;
  }

  .about-section > .container,
  .specialties-section > .container,
  .industries-section > .container,
  .projects-section > .container,
  .manufacturers-section > .container,
  .team-section > .container,
  .blog-section > .container,
  .contact-section > .container,
  .specialty-hero > .container,
  .specialty-section > .container,
  .single-specialty-section > .container,
  .single-industry-section > .container,
  .industry-detail-section > .container,
  .project-detail-section > .container,
  .page-section > .container,
  .content-section > .container,
  .archive-section > .container,
  .taxonomy-section > .container {
    position: relative !important;
    z-index: 1 !important;
  }

  .about-map-feature,
  .about-image.about-map-feature,
  .main-image.about-map-feature {
    width: 100% !important;
    min-height: 300px !important;
    max-height: none !important;
    margin: 0 auto 22px auto !important;
    border-radius: 22px !important;
  }

  .about-map-feature img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

@media (max-width: 540px) {
  .about-map-feature,
  .about-image.about-map-feature,
  .main-image.about-map-feature {
    min-height: 235px !important;
    padding: 10px !important;
  }

  .about-section::before,
  .specialties-section::before,
  .industries-section::before,
  .projects-section::before,
  .manufacturers-section::before,
  .team-section::before,
  .blog-section::before,
  .contact-section::before,
  .specialty-hero::before,
  .specialty-section::before,
  .single-specialty-section::before,
  .single-industry-section::before,
  .industry-detail-section::before,
  .project-detail-section::before,
  .page-section::before,
  .content-section::before,
  .archive-section::before,
  .taxonomy-section::before {
    background-size: 260px 180px !important;
    opacity: .18 !important;
  }
}


/* === V7.4 patrón más visible en fondos grises y páginas de especialidad === */
.specialty-hero,
.specialty-section,
.single-specialty-section,
.single-industry-section,
.industry-detail-section,
.project-detail-section,
.page-section,
.content-section,
.archive-section,
.taxonomy-section,
section[style*="#f8fafc"],
section[style*="#f4f7fb"],
section[style*="#eef4fb"],
section[style*="#E9ECEF"],
section[style*="#e9ecef"] {
  position: relative !important;
  overflow: hidden !important;
}

.specialty-hero::before,
.specialty-section::before,
.single-specialty-section::before,
.single-industry-section::before,
.industry-detail-section::before,
.project-detail-section::before,
.page-section::before,
.content-section::before,
.archive-section::before,
.taxonomy-section::before,
section[style*="#f8fafc"]::before,
section[style*="#f4f7fb"]::before,
section[style*="#eef4fb"]::before,
section[style*="#E9ECEF"]::before,
section[style*="#e9ecef"]::before {
  background-image: url("../img/site/body-tool-pattern.svg") !important;
  background-repeat: repeat !important;
  background-size: 320px 220px !important;
  background-position: 0 0 !important;
  opacity: .18 !important;
}

.specialty-hero > *,
.specialty-section > *,
.single-specialty-section > *,
.single-industry-section > *,
.industry-detail-section > *,
.project-detail-section > *,
.page-section > *,
.content-section > *,
.archive-section > *,
.taxonomy-section > *,
section[style*="#f8fafc"] > *,
section[style*="#f4f7fb"] > *,
section[style*="#eef4fb"] > *,
section[style*="#E9ECEF"] > *,
section[style*="#e9ecef"] > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 760px) {
  .specialty-hero::before,
  .specialty-section::before,
  .single-specialty-section::before,
  .single-industry-section::before,
  .industry-detail-section::before,
  .project-detail-section::before,
  .page-section::before,
  .content-section::before,
  .archive-section::before,
  .taxonomy-section::before,
  section[style*="#f8fafc"]::before,
  section[style*="#f4f7fb"]::before,
  section[style*="#eef4fb"]::before,
  section[style*="#E9ECEF"]::before,
  section[style*="#e9ecef"]::before {
    background-size: 240px 165px !important;
    opacity: .16 !important;
  }
}


/* === V7.6 Patrón técnico azul reforzado y visible también en fondos grises === */
.about-premium,
.metrics-band,
.specialties-section,
.industries-section,
.projects-section,
.manufacturers-section,
.team-section,
.blog-section,
.contact-section,
.floors-section,
.specialty-hero,
.specialty-section,
.single-specialty-section,
.single-industry-section,
.industry-detail-section,
.project-detail-section,
.page-section,
.content-section,
.archive-section,
.taxonomy-section,
section[style*="#f8fafc"],
section[style*="#f4f7fb"],
section[style*="#eef4fb"],
section[style*="#E9ECEF"],
section[style*="#e9ecef"] {
  position: relative;
  overflow: hidden;
}

.about-premium::before,
.metrics-band::before,
.specialties-section::before,
.industries-section::before,
.projects-section::before,
.manufacturers-section::before,
.team-section::before,
.blog-section::before,
.contact-section::before,
.floors-section::before,
.specialty-hero::before,
.specialty-section::before,
.single-specialty-section::before,
.single-industry-section::before,
.industry-detail-section::before,
.project-detail-section::before,
.page-section::before,
.content-section::before,
.archive-section::before,
.taxonomy-section::before,
section[style*="#f8fafc"]::before,
section[style*="#f4f7fb"]::before,
section[style*="#eef4fb"]::before,
section[style*="#E9ECEF"]::before,
section[style*="#e9ecef"]::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background-image: url("../img/site/body-tool-pattern-v2.svg") !important;
  background-repeat: repeat !important;
  background-size: 420px 290px !important;
  background-position: 0 0 !important;
  opacity: .11 !important;
}

.metrics-band::before,
.floors-section::before,
section[style*="#f8fafc"]::before,
section[style*="#f4f7fb"]::before,
section[style*="#eef4fb"]::before,
section[style*="#E9ECEF"]::before,
section[style*="#e9ecef"]::before {
  opacity: .16 !important;
}

.about-premium > .container,
.metrics-band > .container,
.specialties-section > .container,
.industries-section > .container,
.projects-section > .container,
.manufacturers-section > .container,
.team-section > .container,
.blog-section > .container,
.contact-section > .container,
.floors-section > .container,
.specialty-hero > *,
.specialty-section > *,
.single-specialty-section > *,
.single-industry-section > *,
.industry-detail-section > *,
.project-detail-section > *,
.page-section > *,
.content-section > *,
.archive-section > *,
.taxonomy-section > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 760px) {
  .about-premium::before,
  .metrics-band::before,
  .specialties-section::before,
  .industries-section::before,
  .projects-section::before,
  .manufacturers-section::before,
  .team-section::before,
  .blog-section::before,
  .contact-section::before,
  .floors-section::before,
  .specialty-hero::before,
  .specialty-section::before,
  .single-specialty-section::before,
  .single-industry-section::before,
  .industry-detail-section::before,
  .project-detail-section::before,
  .page-section::before,
  .content-section::before,
  .archive-section::before,
  .taxonomy-section::before,
  section[style*="#f8fafc"]::before,
  section[style*="#f4f7fb"]::before,
  section[style*="#eef4fb"]::before,
  section[style*="#E9ECEF"]::before,
  section[style*="#e9ecef"]::before {
    background-size: 300px 208px !important;
    opacity: .18 !important;
  }
  .metrics-band::before,
  .floors-section::before,
  section[style*="#f8fafc"]::before,
  section[style*="#f4f7fb"]::before,
  section[style*="#eef4fb"]::before,
  section[style*="#E9ECEF"]::before,
  section[style*="#e9ecef"]::before {
    opacity: .22 !important;
  }
}


/* === V7.7 Reemplazo de fotos rojas por imágenes más especializadas === */
.specialty-waterproofing {
  background-image: url("../img/site/specialty-waterproofing.webp") !important;
}

.specialty-flooring {
  background-image: url("../img/site/specialty-flooring.webp") !important;
}

.specialty-strengthening {
  background-image: url("../img/site/specialty-strengthening.webp") !important;
}

.specialty-coatings {
  background-image: url("../img/site/specialty-coatings.webp") !important;
}

.project-card:first-child .project-media,
.project-card:nth-child(1) .project-media {
  background-image: url("../img/site/specialty-waterproofing.webp") !important;
}

.project-card:nth-child(3) .project-media {
  background-image: url("../img/site/specialty-strengthening.webp") !important;
}


/* === V8.0 Especialidades con mayor presencia visual === */
.specialties-section > .container {
  width: min(1440px, calc(100% - 36px)) !important;
}

.specialties-section {
  padding-top: 92px;
  padding-bottom: 96px;
}

.specialties-section .section-title {
  margin-bottom: 44px;
}

.specialties-section .specialty-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
}

.specialties-section .specialty-card {
  border-radius: 24px;
}

.specialties-section .specialty-media {
  height: 212px !important;
  background-position: center center;
}

.specialties-section .specialty-card-body {
  padding: 24px 26px 28px;
}

.specialties-section .specialty-card h3 {
  font-size: 19px;
  margin: 18px 0 12px;
}

.specialties-section .specialty-card p,
.specialties-section .specialty-mini-list li {
  font-size: 15px;
}

.specialties-section .specialty-card:hover {
  transform: translateY(-8px) scale(1.015);
}

@media (max-width: 1280px) {
  .specialties-section > .container {
    width: min(1320px, calc(100% - 32px)) !important;
  }

  .specialties-section .specialty-grid {
    gap: 20px !important;
  }
}

@media (max-width: 980px) {
  .specialties-section .specialty-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .specialties-section .specialty-media {
    height: 200px !important;
  }
}

@media (max-width: 640px) {
  .specialties-section > .container {
    width: min(100%, calc(100% - 24px)) !important;
  }

  .specialties-section .specialty-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .specialties-section .specialty-media {
    height: 220px !important;
  }
}


/* === V8.1 Layout más ancho y con mayor presencia visual === */
.container,
.site-header .container,
.top-bar .container,
.nav-shell.container,
.about-section .container,
.about-premium .container,
.metrics-band .container,
.specialties-section .container,
.industries-section .container,
.projects-section .container,
.manufacturers-section .container,
.team-section .container,
.blog-section .container,
.contact-section .container,
.floors-section .container {
  width: min(1520px, calc(100% - 48px)) !important;
}

section {
  padding-top: 104px;
  padding-bottom: 104px;
}

.section-title {
  margin-bottom: 52px;
}

.section-title h2 {
  font-size: clamp(32px, 3.4vw, 54px);
}

.section-title span {
  width: 110px;
}

.nav-shell {
  max-width: 1520px;
}

.main-nav ul {
  gap: 22px;
}

.main-nav a {
  font-size: 13px;
}

.brand img {
  width: 205px;
}

.hero-carousel {
  min-height: 760px;
}

.hero-content {
  padding-top: 132px;
  padding-bottom: 118px;
}

.hero-content h1 {
  max-width: 880px;
  font-size: clamp(48px, 6.4vw, 96px);
}

.hero-content p:not(.hero-kicker) {
  max-width: 780px;
  font-size: 22px;
}

.about-layout {
  grid-template-columns: 1.05fr 1.15fr;
  gap: 72px;
}

.about-media {
  min-height: 560px;
}

.main-image,
.about-map-feature {
  height: 500px !important;
}

.about-copy h2 {
  max-width: 860px;
  font-size: clamp(40px, 4.6vw, 72px);
}

.about-copy p {
  max-width: 760px;
  font-size: 18px;
}

.presence-card {
  grid-template-columns: 300px 1fr;
}

.metrics-band {
  padding-top: 46px;
  padding-bottom: 46px;
}

.metrics-grid strong {
  font-size: 46px;
}

.metrics-grid span {
  font-size: 16px;
}

.specialties-section .specialty-grid {
  gap: 28px !important;
}

.specialties-section .specialty-media {
  height: 250px !important;
}

.specialties-section .specialty-card-body {
  padding: 30px 30px 34px;
}

.specialties-section .specialty-card h3 {
  font-size: 22px;
}

.specialties-section .specialty-card p,
.specialties-section .specialty-mini-list li {
  font-size: 16px;
}

.line-icon {
  width: 56px;
  height: 56px;
}

.line-icon svg {
  width: 34px;
  height: 34px;
}

.industries-section .container {
  width: min(1600px, calc(100% - 44px)) !important;
}

.industries-grid .industry-card {
  min-height: 220px !important;
}

.industries-grid .industry-card strong {
  font-size: 17px !important;
  padding: 13px 18px;
}

.project-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.project-photo,
.project-media {
  height: 245px !important;
}

.project-info {
  padding: 30px;
}

.project-info h3 {
  font-size: 24px;
}

.project-info p {
  font-size: 15.5px;
}

.manufacturer-layout {
  grid-template-columns: .82fr 1.3fr;
  gap: 64px;
}

.manufacturer-layout h2 {
  font-size: clamp(38px, 3.8vw, 62px);
}

.manufacturer-layout p {
  font-size: 18px;
}

.manufacturer-logos {
  gap: 22px;
}

.m-logo,
.cert-logo {
  min-height: 120px;
  border-radius: 22px;
}

.blog-grid,
.team-grid {
  gap: 28px;
}

.blog-card,
.team-card {
  border-radius: 24px;
}

.blog-card .post-thumbnail,
.blog-card-image,
.team-photo {
  min-height: 245px;
}

.contact-layout {
  gap: 64px;
}

.form-panel {
  padding: 40px;
}

.floors-section {
  padding-top: 112px;
  padding-bottom: 112px;
}

.floors-section h2,
.floors-section .floor-title {
  font-size: clamp(42px, 4.8vw, 76px) !important;
}

.floors-section p {
  font-size: 18px;
}

@media (max-width: 1280px) {
  .container,
  .site-header .container,
  .top-bar .container,
  .nav-shell.container,
  .about-section .container,
  .about-premium .container,
  .metrics-band .container,
  .specialties-section .container,
  .industries-section .container,
  .projects-section .container,
  .manufacturers-section .container,
  .team-section .container,
  .blog-section .container,
  .contact-section .container,
  .floors-section .container {
    width: min(100% - 36px, 1320px) !important;
  }

  .hero-carousel {
    min-height: 700px;
  }

  .specialties-section .specialty-media {
    height: 220px !important;
  }

  .industries-grid .industry-card {
    min-height: 190px !important;
  }
}

@media (max-width: 980px) {
  section {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .about-layout,
  .manufacturer-layout,
  .contact-layout {
    grid-template-columns: 1fr !important;
    gap: 42px;
  }

  .project-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hero-carousel {
    min-height: 640px;
  }

  .hero-content h1 {
    font-size: clamp(42px, 9vw, 72px);
  }

  .main-image,
  .about-map-feature {
    height: auto !important;
    min-height: 360px !important;
  }
}

@media (max-width: 640px) {
  .container,
  .site-header .container,
  .top-bar .container,
  .nav-shell.container,
  .about-section .container,
  .about-premium .container,
  .metrics-band .container,
  .specialties-section .container,
  .industries-section .container,
  .projects-section .container,
  .manufacturers-section .container,
  .team-section .container,
  .blog-section .container,
  .contact-section .container,
  .floors-section .container {
    width: min(100% - 24px, 100%) !important;
  }

  section {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .section-title {
    gap: 14px;
    margin-bottom: 34px;
  }

  .section-title span {
    width: 46px;
  }

  .section-title h2 {
    font-size: clamp(25px, 8vw, 38px);
    letter-spacing: .08em;
  }

  .hero-carousel {
    min-height: 620px;
  }

  .hero-content {
    padding-top: 88px;
    padding-bottom: 88px;
  }

  .hero-content h1 {
    font-size: clamp(38px, 12vw, 58px);
  }

  .project-grid,
  .specialties-section .specialty-grid {
    grid-template-columns: 1fr !important;
  }

  .specialties-section .specialty-media,
  .project-photo,
  .project-media,
  .blog-card .post-thumbnail,
  .blog-card-image,
  .team-photo {
    height: 230px !important;
    min-height: 230px !important;
  }

  .industries-grid .industry-card {
    min-height: 150px !important;
  }

  .metrics-grid strong {
    font-size: 38px;
  }
}


/* === V8.2 Seguridad formulario: honeypot invisible === */
.pt-hp-field {
  position: absolute !important;
  left: -99999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}


/* === V8.3 Ajuste de logotipo en header === */
.nav-shell{min-height:124px !important;align-items:center !important}
.brand{display:flex;align-items:center;flex:0 0 auto;padding:8px 0}
.brand img{width:auto !important;height:106px !important;max-height:none !important;object-fit:contain;object-position:left center;display:block}
@media (max-width:1199px){
  .nav-shell{min-height:112px !important}
  .brand img{height:94px !important}
}
@media (max-width:991px){
  .nav-shell{min-height:102px !important}
  .brand img{height:86px !important}
}
@media (max-width:767px){
  .nav-shell{min-height:92px !important}
  .brand img{height:74px !important}
}


/* === Header refresh v8.4 === */
.site-header{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:saturate(180%) blur(10px);
  box-shadow:0 10px 30px rgba(15,45,89,.08)!important;
}
.top-bar{
  background:linear-gradient(180deg,#f7f9fc 0%,#f3f7fb 100%)!important;
  border-bottom:1px solid #d7e2ef!important;
}
.top-bar-inner{
  min-height:38px!important;
}
.top-bar a,.top-contact-line span{
  color:#163f77!important;
}
.top-contact-line{
  gap:10px!important;
  font-size:13px;
}
.top-social{
  gap:8px!important;
}
.top-social a{
  font-size:0!important;
}
.social-link{
  width:32px;
  height:32px;
  border-radius:50%;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  color:#163f77!important;
  background:#ffffff;
  border:1px solid #d6e3f2;
  box-shadow:0 8px 18px rgba(12,60,120,.08);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.social-link svg{width:16px;height:16px;display:block}
.social-link:hover{
  transform:translateY(-2px);
  background:#0f4b97;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(15,75,151,.18);
}
.nav-shell{
  min-height:110px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto;
  align-items:center!important;
  gap:22px!important;
}
.brand{
  padding:6px 0!important;
}
.brand img{
  width:auto!important;
  height:102px!important;
  max-width:220px!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.main-nav{
  margin-left:0!important;
  justify-self:center;
}
.main-nav ul{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px!important;
  padding:10px 14px!important;
  border-radius:18px;
  background:linear-gradient(180deg,#fafdff 0%,#f2f7fd 100%);
  border:1px solid #dbe8f5;
  box-shadow:0 16px 30px rgba(12,60,120,.08);
}
.main-nav li{margin:0}
.main-nav a.nav-link-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  background:transparent;
  color:#173f78!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase;
  transition:transform .18s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  position:relative;
  overflow:hidden;
}
.main-nav a.nav-link-item:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,#33b44a,#1d70c9);
  margin-right:8px;
  flex:0 0 auto;
  box-shadow:0 0 0 4px rgba(29,112,201,.08);
}
.main-nav a.nav-link-item:after{
  display:none!important;
}
.main-nav a.nav-link-item:hover,
.main-nav a.nav-link-item:focus-visible{
  background:linear-gradient(135deg,#0f4b97,#195fb6);
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,75,151,.18);
}
.main-nav a.nav-link-item:hover:before,
.main-nav a.nav-link-item:focus-visible:before{
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.14);
}
.header-actions{
  gap:12px!important;
}
.store-cta,.header-cta{
  min-height:48px;
  padding:0 18px!important;
  border-radius:14px!important;
  font-size:13px!important;
}
.store-cta{
  border:1.5px solid #0f4b97!important;
}
.header-cta{
  background:linear-gradient(135deg,#0f4b97,#195fb6)!important;
  box-shadow:0 14px 28px rgba(15,75,151,.20)!important;
}
.header-cta:hover{transform:translateY(-1px)}

@media (max-width: 1399px){
  .nav-shell{grid-template-columns:auto 1fr auto;gap:16px!important}
  .brand img{height:94px!important;max-width:205px!important}
  .main-nav ul{gap:8px!important;padding:8px 10px!important}
  .main-nav a.nav-link-item{padding:0 10px;font-size:11px!important;min-height:38px}
  .header-actions{gap:10px!important}
  .store-cta,.header-cta{font-size:12px!important;padding:0 14px!important}
}
@media (max-width: 1199px){
  .top-social{display:none!important}
  .nav-shell{display:flex!important;min-height:92px!important;gap:16px!important}
  .brand img{height:82px!important;max-width:184px!important}
  .menu-toggle{display:block!important;margin-left:auto}
  .main-nav{position:fixed;left:0;right:0;top:calc(38px + 92px)!important;background:#fff;box-shadow:0 24px 40px rgba(12,60,120,.14);padding:22px;transform:translateY(-18px);opacity:0;pointer-events:none;transition:.22s ease;max-height:calc(100vh - 130px);overflow:auto;z-index:120}
  .main-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
  .main-nav ul{flex-direction:column;align-items:stretch;background:#fff;border-radius:0;box-shadow:none;border:0;padding:0!important}
  .main-nav a.nav-link-item{justify-content:flex-start;padding:14px 4px;min-height:auto;font-size:14px!important;border-radius:0;border-bottom:1px solid #ebf1f7}
  .main-nav a.nav-link-item:hover,.main-nav a.nav-link-item:focus-visible{transform:none;background:#f2f7fd;color:#163f77!important;box-shadow:none}
  .main-nav a.nav-link-item:hover:before,.main-nav a.nav-link-item:focus-visible:before{background:linear-gradient(135deg,#33b44a,#1d70c9);box-shadow:0 0 0 4px rgba(29,112,201,.08)}
}
@media (max-width: 767px){
  .top-bar-inner{justify-content:center!important}
  .top-contact-line{flex-wrap:wrap;justify-content:center;row-gap:4px}
  .nav-shell{flex-wrap:wrap!important;min-height:unset!important;padding:10px 0!important;gap:12px!important}
  .brand img{height:76px!important;max-width:170px!important}
  .header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px!important}
  .store-cta,.header-cta{width:100%;min-height:44px}
  .main-nav{top:148px!important;max-height:calc(100vh - 148px)}
}
@media (max-width: 575px){
  .header-actions{grid-template-columns:1fr!important}
  .brand img{height:72px!important;max-width:160px!important}
  .main-nav{top:192px!important;max-height:calc(100vh - 192px)}
}

/* === V8.6 Header premium corregido: iconos visibles, redes claras y menú sin encimar === */
.site-header.site-header-premium{
  position:sticky;top:0;z-index:200;
  background:linear-gradient(180deg,#f5f8fc 0%, #eef3f8 100%);
  box-shadow:0 10px 28px rgba(12,60,120,.08)!important;
}
.site-header.site-header-premium .top-bar.top-bar-premium{
  background:linear-gradient(90deg,#0b4ea2 0%,#0f5bb8 100%)!important;
  border-bottom:0!important;color:#fff!important;
}
.site-header.site-header-premium .premium-top-inner{
  min-height:46px!important;display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.site-header.site-header-premium .premium-contact-line{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#fff;font-size:14px;font-weight:600;
}
.site-header.site-header-premium .premium-contact-line a,
.site-header.site-header-premium .premium-contact-line .contact-address{
  color:#fff!important;text-decoration:none;display:inline-flex;align-items:center;gap:8px;
}
.site-header.site-header-premium .premium-contact-line a:hover{opacity:.92}
.site-header.site-header-premium .premium-contact-line .divider{opacity:.35;font-weight:400}
.site-header.site-header-premium .contact-icon{
  display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;
  border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff;flex:0 0 auto;
}
.site-header.site-header-premium .contact-icon svg{width:13px;height:13px}
.site-header.site-header-premium .premium-social{display:flex!important;align-items:center;gap:10px;flex:0 0 auto}
.site-header.site-header-premium .premium-social .social-link{
  width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid rgba(255,255,255,.3);color:#0f5bb8;box-shadow:0 8px 16px rgba(8,44,97,.18);
  transition:.22s ease
}
.site-header.site-header-premium .premium-social .social-link:hover{
  background:#eaf3ff;color:#0b4ea2;transform:translateY(-1px) scale(1.03)
}
.site-header.site-header-premium .premium-social .social-link svg{width:18px;height:18px}

.site-header.site-header-premium .premium-nav-wrap{padding:18px 0 22px!important;width:min(100% - 32px,1820px)!important}
.site-header.site-header-premium .nav-shell.nav-shell-premium{
  min-height:134px!important;display:grid!important;grid-template-columns:180px minmax(0,1fr) 420px;align-items:center;gap:18px!important;
  background:#fff!important;border:1px solid #d9e4ef!important;border-radius:28px!important;padding:18px 20px!important;
  box-shadow:0 18px 38px rgba(18,57,110,.10)!important
}
.site-header.site-header-premium .brand.brand-premium{display:flex;align-items:center;justify-content:flex-start;min-width:0;overflow:hidden}
.site-header.site-header-premium .brand.brand-premium img{
  width:180px!important;max-width:100%!important;height:auto!important;max-height:118px!important;
  object-fit:contain!important;object-position:left center!important;display:block
}

.site-header.site-header-premium .main-nav.main-nav-premium{
  margin-left:0!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;
  transform:none!important;opacity:1!important;pointer-events:auto!important;box-shadow:none!important;padding:0 6px!important;
  background:transparent!important;max-height:none!important;overflow:visible!important;min-width:0!important
}
.site-header.site-header-premium .main-nav.main-nav-premium ul{
  list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:8px 8px;flex-wrap:wrap;
}
.site-header.site-header-premium .main-nav.main-nav-premium li{margin:0;flex:0 0 auto}
.site-header.site-header-premium .graphic-nav-link{
  position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;border-radius:18px;
  min-height:84px;padding:10px 8px 8px;min-width:84px;color:#164884!important;background:transparent;border:1px solid transparent;transition:.22s ease;
}
.site-header.site-header-premium .graphic-nav-link .nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-bottom:8px;color:#1e4f97}
.site-header.site-header-premium .graphic-nav-link .nav-icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header.site-header-premium .graphic-nav-link .nav-label{font:800 11px/1.1 'Montserrat',Arial,sans-serif;letter-spacing:0;text-transform:uppercase;text-align:center;white-space:nowrap}
.site-header.site-header-premium .graphic-nav-link .nav-chevron{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;margin-top:4px;color:#5f7ca8}
.site-header.site-header-premium .graphic-nav-link .nav-chevron svg{width:10px;height:10px}
.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border-color:#d9e7fb;box-shadow:0 12px 22px rgba(23,84,167,.10);padding-bottom:12px
}
.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link:after{
  content:'';position:absolute;left:14px;right:14px;bottom:0;height:4px;border-radius:4px;background:linear-gradient(90deg,#27b58b,#2567da)
}
.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon{width:40px;height:40px;border-radius:14px;background:#f0f6ff;margin-bottom:10px}
.site-header.site-header-premium .main-nav.main-nav-premium li:not(.is-active) .graphic-nav-link:hover,
.site-header.site-header-premium .main-nav.main-nav-premium li:not(.is-active) .graphic-nav-link:focus-visible{
  background:#f7fbff;border-color:#e0eaf7;transform:translateY(-2px)
}

.site-header.site-header-premium .header-actions.header-actions-premium{
  display:flex!important;align-items:center;justify-content:flex-end;gap:12px!important;flex:0 0 auto;margin-left:0!important;min-width:0
}
.site-header.site-header-premium .store-cta.store-cta-premium,
.site-header.site-header-premium .header-cta.header-cta-premium{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:62px;padding:0 22px!important;border-radius:18px!important;
  font:800 15px/1 'Montserrat',Arial,sans-serif;text-decoration:none!important;white-space:nowrap;min-width:205px
}
.site-header.site-header-premium .store-cta.store-cta-premium{background:#fff!important;color:#1b4f95!important;border:2px solid #2e6fcc!important;box-shadow:none!important}
.site-header.site-header-premium .header-cta.header-cta-premium{background:linear-gradient(180deg,#1f67d3 0%,#1858b8 100%)!important;color:#fff!important;border:0!important;box-shadow:0 16px 30px rgba(21,82,170,.22)!important}
.site-header.site-header-premium .store-cta.store-cta-premium:hover,
.site-header.site-header-premium .header-cta.header-cta-premium:hover{transform:translateY(-1px)}
.site-header.site-header-premium .cta-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}
.site-header.site-header-premium .cta-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.site-header.site-header-premium .menu-toggle{
  display:none;justify-self:end;width:54px;height:54px;border-radius:16px;border:1px solid #dbe5ef;background:#fff;box-shadow:0 8px 18px rgba(12,60,120,.08)
}
.site-header.site-header-premium .menu-toggle span{background:#164884}

@media (max-width:1600px){
  .site-header.site-header-premium .nav-shell.nav-shell-premium{grid-template-columns:170px minmax(0,1fr) 390px;gap:16px!important}
  .site-header.site-header-premium .brand.brand-premium img{width:164px!important}
  .site-header.site-header-premium .graphic-nav-link{min-width:78px;min-height:80px;padding:9px 6px 8px}
  .site-header.site-header-premium .graphic-nav-link .nav-label{font-size:10px}
  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{min-width:184px;min-height:58px;padding:0 16px!important;font-size:13px}
}

@media (max-width:1320px){
  .site-header.site-header-premium .premium-contact-line{gap:10px;font-size:13px}
  .site-header.site-header-premium .nav-shell.nav-shell-premium{grid-template-columns:150px minmax(0,1fr) 340px;gap:14px!important;padding:16px!important}
  .site-header.site-header-premium .brand.brand-premium img{width:148px!important}
  .site-header.site-header-premium .graphic-nav-link{min-width:72px;min-height:76px}
  .site-header.site-header-premium .graphic-nav-link .nav-icon{width:24px;height:24px;margin-bottom:6px}
  .site-header.site-header-premium .graphic-nav-link .nav-icon svg{width:20px;height:20px}
  .site-header.site-header-premium .graphic-nav-link .nav-label{font-size:9px}
  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{min-width:160px;font-size:12px}
}

@media (max-width:1120px){
  .site-header.site-header-premium .premium-social{display:none!important}
  .site-header.site-header-premium .premium-top-inner{justify-content:center!important}
  .site-header.site-header-premium .premium-contact-line{justify-content:center;text-align:center}
  .site-header.site-header-premium .premium-nav-wrap{padding:12px 0 16px!important}
  .site-header.site-header-premium .nav-shell.nav-shell-premium{display:grid!important;grid-template-columns:1fr auto auto;min-height:96px!important;border-radius:22px!important;padding:14px 16px!important}
  .site-header.site-header-premium .brand.brand-premium{order:1}
  .site-header.site-header-premium .brand.brand-premium img{width:154px!important;max-height:88px!important}
  .site-header.site-header-premium .menu-toggle{display:inline-flex!important;order:3}
  .site-header.site-header-premium .header-actions.header-actions-premium{display:none!important}
  .site-header.site-header-premium .main-nav.main-nav-premium{
    position:fixed!important;left:14px!important;right:14px!important;top:122px!important;background:#fff!important;border-radius:24px!important;box-shadow:0 24px 50px rgba(12,60,120,.18)!important;padding:20px!important;transform:translateY(-18px)!important;opacity:0!important;pointer-events:none!important;max-height:calc(100vh - 136px)!important;overflow:auto!important;z-index:250!important
  }
  .site-header.site-header-premium .main-nav.main-nav-premium.is-open{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
  .site-header.site-header-premium .main-nav.main-nav-premium ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
  .site-header.site-header-premium .main-nav.main-nav-premium li{width:100%}
  .site-header.site-header-premium .graphic-nav-link{min-height:92px!important;min-width:0!important;padding:12px 8px!important;border:1px solid #e4ebf5!important;background:#fbfdff!important}
  .site-header.site-header-premium .graphic-nav-link .nav-label{font-size:11px!important;white-space:normal}
  .site-header.site-header-premium .mobile-menu-cta-item{display:block!important;grid-column:span 2}
  .site-header.site-header-premium .mobile-menu-cta-item a{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:16px;text-decoration:none;font:800 14px/1 'Montserrat';margin-top:4px}
  .site-header.site-header-premium .mobile-menu-store-link{border:2px solid #2e6fcc;color:#1b4f95;background:#fff}
  .site-header.site-header-premium .mobile-menu-advice-link{background:linear-gradient(180deg,#1f67d3 0%,#1858b8 100%);color:#fff}
}

@media (max-width:680px){
  .site-header.site-header-premium .top-bar.top-bar-premium{display:none!important}
  .site-header.site-header-premium .premium-nav-wrap{width:min(100% - 18px,1820px)!important;padding:10px 0 14px!important}
  .site-header.site-header-premium .nav-shell.nav-shell-premium{grid-template-columns:1fr auto!important;gap:10px!important;min-height:88px!important;padding:12px 14px!important}
  .site-header.site-header-premium .brand.brand-premium img{width:138px!important;max-height:78px!important}
  .site-header.site-header-premium .main-nav.main-nav-premium{top:98px!important;left:10px!important;right:10px!important;max-height:calc(100vh - 110px)!important}
  .site-header.site-header-premium .main-nav.main-nav-premium ul{grid-template-columns:1fr!important}
  .site-header.site-header-premium .mobile-menu-cta-item{grid-column:auto}
}


/* === V8.7 Header full width / menú sin encimar / iconos superiores blancos / interacción reforzada === */

.site-header.site-header-premium {
  overflow: visible !important;
}

.site-header.site-header-premium .premium-top-inner {
  width: min(100% - 36px, 1760px) !important;
  max-width: none !important;
}

.site-header.site-header-premium .premium-contact-line .contact-icon,
.site-header.site-header-premium .premium-contact-line .contact-icon svg,
.site-header.site-header-premium .premium-contact-line .contact-icon svg *,
.site-header.site-header-premium .premium-contact-line a .contact-icon,
.site-header.site-header-premium .premium-contact-line .contact-address .contact-icon {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

.site-header.site-header-premium .premium-contact-line .contact-icon {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 5px 12px rgba(0,0,0,.08);
}

.site-header.site-header-premium .premium-social .social-link {
  background: #ffffff !important;
  color: #0f4f9f !important;
  opacity: 1 !important;
  border: 2px solid rgba(255,255,255,.65) !important;
  box-shadow: 0 10px 18px rgba(6,32,72,.20) !important;
}

.site-header.site-header-premium .premium-social .social-link svg,
.site-header.site-header-premium .premium-social .social-link svg * {
  color: #0f4f9f !important;
  fill: currentColor !important;
}

.site-header.site-header-premium .premium-social .social-link:hover {
  transform: translateY(-2px) scale(1.08) rotate(-3deg) !important;
  background: #eaf3ff !important;
  color: #0b3e85 !important;
}

.site-header.site-header-premium .premium-nav-wrap {
  width: calc(100vw - 24px) !important;
  max-width: none !important;
  padding: 14px 0 18px !important;
}

.site-header.site-header-premium .nav-shell.nav-shell-premium {
  width: 100% !important;
  max-width: none !important;
  min-height: 118px !important;
  grid-template-columns: 210px minmax(0, 1fr) 430px !important;
  gap: 18px !important;
  padding: 16px 22px !important;
  border-radius: 26px !important;
  align-items: center !important;
}

.site-header.site-header-premium .brand.brand-premium {
  overflow: visible !important;
}

.site-header.site-header-premium .brand.brand-premium img {
  width: 178px !important;
  height: auto !important;
  max-width: 178px !important;
  max-height: 106px !important;
  object-fit: contain !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium {
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  justify-self: stretch !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium ul {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium li {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
}

.site-header.site-header-premium .graphic-nav-link {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 86px !important;
  padding: 10px 4px 9px !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.0)) !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-icon {
  width: 26px !important;
  height: 26px !important;
  margin-bottom: 7px !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-icon svg {
  width: 22px !important;
  height: 22px !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-label {
  font-size: clamp(8.5px, .58vw, 11px) !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  max-width: 100% !important;
}

.site-header.site-header-premium .graphic-nav-link::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 50%;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #29c4a3, #1d6fd1);
  box-shadow: 0 0 0 6px rgba(41,196,163,.10), 0 0 18px rgba(29,111,209,.28);
  opacity: .95;
}

.site-header.site-header-premium .graphic-nav-link .nav-icon {
  margin-top: 12px !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link {
  background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%) !important;
  border-color: #d8e7fb !important;
  box-shadow: 0 14px 26px rgba(23,84,167,.13) !important;
  transform: translateY(-2px);
}

.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
  width: 42px !important;
  height: 42px !important;
  margin-top: 10px !important;
  margin-bottom: 8px !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link::before {
  animation: poliutechDotPulse 1.8s ease-in-out infinite;
}

.site-header.site-header-premium .graphic-nav-link:hover,
.site-header.site-header-premium .graphic-nav-link:focus-visible {
  transform: translateY(-4px) !important;
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
  border-color: #d8e7fb !important;
  box-shadow: 0 16px 28px rgba(23,84,167,.14) !important;
}

.site-header.site-header-premium .graphic-nav-link:hover .nav-icon,
.site-header.site-header-premium .graphic-nav-link:focus-visible .nav-icon {
  color: #0f5bb8 !important;
  animation: poliutechIconPop .5s ease both;
}

.site-header.site-header-premium .header-actions.header-actions-premium {
  width: 100% !important;
  justify-content: flex-end !important;
  padding-left: 16px !important;
  gap: 12px !important;
  border-left: 1px solid #e3eaf3 !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium,
.site-header.site-header-premium .header-cta.header-cta-premium {
  min-width: 0 !important;
  flex: 1 1 0 !important;
  max-width: 205px !important;
  min-height: 58px !important;
  padding: 0 16px !important;
  position: relative;
  overflow: hidden;
}

.site-header.site-header-premium .store-cta.store-cta-premium::after,
.site-header.site-header-premium .header-cta.header-cta-premium::after {
  content: "";
  position: absolute;
  inset: -80% auto -80% -40%;
  width: 34%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  opacity: 0;
}

.site-header.site-header-premium .store-cta.store-cta-premium:hover::after,
.site-header.site-header-premium .header-cta.header-cta-premium:hover::after {
  animation: poliutechCtaShine .85s ease;
}

.site-header.site-header-premium .header-cta.header-cta-premium {
  animation: poliutechCtaBreath 3.2s ease-in-out infinite;
}

@keyframes poliutechDotPulse {
  0%, 100% { box-shadow: 0 0 0 6px rgba(41,196,163,.10), 0 0 18px rgba(29,111,209,.26); transform: translateX(-50%) scale(1); }
  50% { box-shadow: 0 0 0 9px rgba(41,196,163,.16), 0 0 28px rgba(29,111,209,.42); transform: translateX(-50%) scale(1.14); }
}

@keyframes poliutechIconPop {
  0% { transform: scale(1); }
  45% { transform: scale(1.18) rotate(-3deg); }
  100% { transform: scale(1); }
}

@keyframes poliutechCtaShine {
  0% { left: -45%; opacity: 0; }
  20% { opacity: .9; }
  100% { left: 120%; opacity: 0; }
}

@keyframes poliutechCtaBreath {
  0%, 100% { box-shadow: 0 16px 30px rgba(21,82,170,.22) !important; }
  50% { box-shadow: 0 20px 38px rgba(21,82,170,.34) !important; }
}

@media (max-width: 1480px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 180px minmax(0, 1fr) 370px !important;
    gap: 14px !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 158px !important;
    max-width: 158px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    gap: 4px !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-height: 78px !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 8.6px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    font-size: 12px !important;
    max-width: 180px !important;
  }
}

@media (max-width: 1180px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 1fr auto !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium {
    position: fixed !important;
    left: 14px !important;
    right: 14px !important;
    top: 118px !important;
    width: auto !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 11px !important;
  }
}


/* === V8.8 Ajuste de menú móvil limpio y proporcional === */
body.menu-open{overflow:hidden!important}

@media (max-width: 820px){
  .site-header.site-header-premium .menu-toggle{
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:58px!important;
    height:58px!important;
    padding:0!important;
    border-radius:18px!important;
    border:1px solid #d9e4f2!important;
    background:#fff!important;
    box-shadow:0 10px 22px rgba(12,60,120,.10)!important;
  }
  .site-header.site-header-premium .menu-toggle span{
    display:block!important;
    width:24px!important;
    height:3px!important;
    min-height:3px!important;
    margin:0!important;
    background:#1a4d92!important;
    border-radius:999px!important;
    opacity:1!important;
    flex:0 0 auto!important;
  }

  .site-header.site-header-premium .premium-nav-wrap{
    width:min(100% - 16px, 1820px)!important;
    padding:10px 0 12px!important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    min-height:92px!important;
    gap:10px!important;
    padding:12px 14px!important;
    border-radius:24px!important;
  }

  .site-header.site-header-premium .brand.brand-premium img{
    width:134px!important;
    max-width:134px!important;
    max-height:78px!important;
    height:auto!important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium{
    position:fixed!important;
    top:104px!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-height:calc(100vh - 118px)!important;
    padding:14px!important;
    border-radius:22px!important;
    background:#ffffff!important;
    box-shadow:0 26px 54px rgba(12,60,120,.18)!important;
    transform:translateY(-8px)!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:auto!important;
    z-index:300!important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium.is-open{
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li{
    width:100%!important;
    flex:none!important;
  }

  .site-header.site-header-premium .graphic-nav-link{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    min-height:72px!important;
    padding:14px 16px 14px 18px!important;
    border:1px solid #e2eaf4!important;
    border-radius:18px!important;
    background:#fbfdff!important;
    box-shadow:none!important;
    text-align:left!important;
  }

  .site-header.site-header-premium .graphic-nav-link::before{
    top:50%!important;
    left:14px!important;
    transform:translateY(-50%)!important;
    width:8px!important;
    height:8px!important;
    box-shadow:0 0 0 5px rgba(41,196,163,.10),0 0 16px rgba(29,111,209,.18)!important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon{
    width:42px!important;
    height:42px!important;
    margin:0!important;
    border-radius:13px!important;
    background:#f0f6ff!important;
    justify-self:start!important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg{
    width:22px!important;
    height:22px!important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:14px!important;
    line-height:1.15!important;
    white-space:normal!important;
    text-align:left!important;
    max-width:none!important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron{
    width:16px!important;
    height:16px!important;
    margin:0!important;
    justify-self:end!important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link{
    transform:none!important;
    background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%)!important;
    box-shadow:0 12px 26px rgba(23,84,167,.10)!important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon{
    width:42px!important;
    height:42px!important;
    margin:0!important;
  }

  .site-header.site-header-premium .mobile-menu-cta-item{
    display:block!important;
    grid-column:auto!important;
    width:100%!important;
  }

  .site-header.site-header-premium .mobile-menu-cta-item a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:56px!important;
    padding:0 14px!important;
    margin-top:2px!important;
    border-radius:18px!important;
    font:800 15px/1.1 'Montserrat', Arial, sans-serif!important;
    text-align:center!important;
  }
}

@media (max-width: 460px){
  .site-header.site-header-premium .brand.brand-premium img{
    width:122px!important;
    max-width:122px!important;
    max-height:70px!important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium{
    top:98px!important;
    left:8px!important;
    right:8px!important;
    max-height:calc(100vh - 108px)!important;
    padding:12px!important;
  }

  .site-header.site-header-premium .graphic-nav-link{
    min-height:68px!important;
    padding:12px 14px 12px 16px!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:10px!important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon{
    width:38px!important;
    height:38px!important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:13px!important;
  }

  .site-header.site-header-premium .menu-toggle{
    width:54px!important;
    height:54px!important;
  }

  .site-header.site-header-premium .mobile-menu-cta-item a{
    min-height:54px!important;
    font-size:14px!important;
  }
}


/* === V8.9 Ajuste de separación entre cabecera y hero === */
.hero-content{
  padding-top:34px !important;
}

@media (max-width: 980px){
  .hero-content{
    padding-top:28px !important;
  }
}

@media (max-width: 640px){
  .hero-content{
    padding-top:22px !important;
  }
}


/* === V9.0 Ajuste fuerte de separación entre cabecera y hero === */
.hero-carousel .hero-content{
  padding-top:42px !important;
  padding-bottom:96px !important;
}

@media (max-width: 1200px){
  .hero-carousel .hero-content{
    padding-top:34px !important;
    padding-bottom:82px !important;
  }
}

@media (max-width: 980px){
  .hero-carousel .hero-content{
    padding-top:26px !important;
    padding-bottom:72px !important;
  }
}

@media (max-width: 640px){
  .hero-carousel .hero-content{
    padding-top:18px !important;
    padding-bottom:62px !important;
  }
}


/* === V9.1 Hero realmente subido: quitar centrado vertical === */
.hero-carousel {
  align-items: flex-start !important;
  min-height: 620px !important;
}

.hero-carousel .hero-content {
  padding-top: 54px !important;
  padding-bottom: 90px !important;
  margin-top: 0 !important;
  transform: none !important;
}

.hero-kicker {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

@media (max-width: 1200px) {
  .hero-carousel {
    min-height: 580px !important;
  }

  .hero-carousel .hero-content {
    padding-top: 42px !important;
    padding-bottom: 78px !important;
  }
}

@media (max-width: 980px) {
  .hero-carousel {
    min-height: 540px !important;
  }

  .hero-carousel .hero-content {
    padding-top: 32px !important;
    padding-bottom: 68px !important;
  }
}

@media (max-width: 640px) {
  .hero-carousel {
    min-height: 520px !important;
  }

  .hero-carousel .hero-content {
    padding-top: 24px !important;
    padding-bottom: 60px !important;
  }
}


/* === V9.2 HERO MUCHO MÁS ARRIBA === */
.hero-carousel{
  align-items:flex-start !important;
  min-height:560px !important;
}

.hero-carousel .hero-content{
  padding-top:14px !important;
  padding-bottom:54px !important;
  margin-top:0 !important;
  transform:none !important;
}

.hero-carousel .hero-kicker{
  margin:0 0 18px !important;
}

@media (min-width: 1201px){
  .hero-carousel{
    min-height:540px !important;
  }
  .hero-carousel .hero-content{
    padding-top:10px !important;
    padding-bottom:50px !important;
  }
}

@media (max-width: 1024px){
  .hero-carousel{
    min-height:520px !important;
  }
  .hero-carousel .hero-content{
    padding-top:20px !important;
    padding-bottom:46px !important;
  }
}

@media (max-width: 640px){
  .hero-carousel{
    min-height:500px !important;
  }
  .hero-carousel .hero-content{
    padding-top:16px !important;
    padding-bottom:40px !important;
  }
}


/* === V9.3 HERO CASI AL DOBLE HACIA ARRIBA === */
.hero-carousel{
  align-items:flex-start !important;
  min-height:500px !important;
}

.hero-carousel .hero-content{
  padding-top:0 !important;
  padding-bottom:34px !important;
  margin-top:-62px !important;
  transform:none !important;
}

.hero-carousel .hero-kicker{
  margin:0 0 14px !important;
}

@media (min-width: 1201px){
  .hero-carousel{
    min-height:485px !important;
  }
  .hero-carousel .hero-content{
    padding-top:0 !important;
    padding-bottom:30px !important;
    margin-top:-70px !important;
  }
}

@media (max-width: 1024px){
  .hero-carousel{
    min-height:470px !important;
  }
  .hero-carousel .hero-content{
    padding-top:0 !important;
    padding-bottom:28px !important;
    margin-top:-46px !important;
  }
}

@media (max-width: 640px){
  .hero-carousel{
    min-height:455px !important;
  }
  .hero-carousel .hero-content{
    padding-top:0 !important;
    padding-bottom:24px !important;
    margin-top:-34px !important;
  }
}


/* === V9.4 MENÚ AZUL #002153 CON TEXTO/ICONOS BLANCOS === */
:root{
  --poliutech-deep-blue:#002153;
  --poliutech-deep-blue-2:#0a356d;
}

.site-header.site-header-premium .main-nav.main-nav-premium ul{
  gap:10px !important;
}

.site-header.site-header-premium .graphic-nav-link{
  background:linear-gradient(180deg,var(--poliutech-deep-blue) 0%, var(--poliutech-deep-blue-2) 100%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 12px 24px rgba(0,33,83,.20) !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-icon,
.site-header.site-header-premium .graphic-nav-link .nav-label,
.site-header.site-header-premium .graphic-nav-link .nav-chevron,
.site-header.site-header-premium .graphic-nav-link .nav-icon svg,
.site-header.site-header-premium .graphic-nav-link .nav-icon svg *{
  color:#ffffff !important;
  stroke:currentColor !important;
}

.site-header.site-header-premium .graphic-nav-link::before{
  background:#ffffff !important;
  box-shadow:0 0 0 7px rgba(255,255,255,.14), 0 0 16px rgba(255,255,255,.22) !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link,
.site-header.site-header-premium .graphic-nav-link:hover,
.site-header.site-header-premium .graphic-nav-link:focus-visible{
  background:linear-gradient(180deg,#0c3872 0%, #15498d 100%) !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 16px 30px rgba(0,33,83,.28) !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon{
  background:rgba(255,255,255,.12) !important;
}

.site-header.site-header-premium .graphic-nav-link:hover .nav-icon,
.site-header.site-header-premium .graphic-nav-link:focus-visible .nav-icon{
  color:#ffffff !important;
}

.site-header.site-header-premium .header-actions.header-actions-premium{
  border-left:1px solid rgba(0,33,83,.14) !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium,
.site-header.site-header-premium .header-cta.header-cta-premium{
  background:linear-gradient(180deg,var(--poliutech-deep-blue) 0%, var(--poliutech-deep-blue-2) 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 14px 28px rgba(0,33,83,.22) !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon,
.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg,
.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg *,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg *{
  color:#ffffff !important;
  stroke:currentColor !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium:hover,
.site-header.site-header-premium .header-cta.header-cta-premium:hover{
  filter:brightness(1.06);
}

@media (max-width:1180px){
  .site-header.site-header-premium .main-nav.main-nav-premium{
    background:#ffffff !important;
  }
}

@media (max-width:820px){
  .site-header.site-header-premium .graphic-nav-link{
    background:linear-gradient(180deg,var(--poliutech-deep-blue) 0%, var(--poliutech-deep-blue-2) 100%) !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-icon{
    background:rgba(255,255,255,.10) !important;
  }
  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link{
    background:linear-gradient(180deg,#0c3872 0%, #15498d 100%) !important;
  }
  .site-header.site-header-premium .mobile-menu-store-link,
  .site-header.site-header-premium .mobile-menu-advice-link{
    background:linear-gradient(180deg,var(--poliutech-deep-blue) 0%, var(--poliutech-deep-blue-2) 100%) !important;
    color:#fff !important;
    border:0 !important;
  }
}


/* === V9.5 FRANJA COMPLETA DEL MENÚ EN AZUL #002153 === */
:root{
  --poliutech-menu-blue:#002153;
  --poliutech-menu-blue-2:#0b356e;
  --poliutech-menu-blue-3:#17498d;
}

.site-header.site-header-premium .premium-nav-wrap{
  padding:14px 0 18px !important;
}

.site-header.site-header-premium .nav-shell.nav-shell-premium{
  background:linear-gradient(180deg,var(--poliutech-menu-blue) 0%, var(--poliutech-menu-blue-2) 100%) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 20px 40px rgba(0,33,83,.20) !important;
}

.site-header.site-header-premium .brand.brand-premium{
  padding-right:18px !important;
  border-right:1px solid rgba(255,255,255,.12) !important;
}

.site-header.site-header-premium .brand.brand-premium img{
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.12));
}

.site-header.site-header-premium .main-nav.main-nav-premium,
.site-header.site-header-premium .main-nav.main-nav-premium ul,
.site-header.site-header-premium .header-actions.header-actions-premium{
  background:transparent !important;
}

.site-header.site-header-premium .header-actions.header-actions-premium{
  border-left:1px solid rgba(255,255,255,.12) !important;
  padding-left:18px !important;
}

.site-header.site-header-premium .graphic-nav-link{
  background:transparent !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-icon,
.site-header.site-header-premium .graphic-nav-link .nav-label,
.site-header.site-header-premium .graphic-nav-link .nav-chevron,
.site-header.site-header-premium .graphic-nav-link .nav-icon svg,
.site-header.site-header-premium .graphic-nav-link .nav-icon svg *,
.site-header.site-header-premium .store-cta.store-cta-premium,
.site-header.site-header-premium .header-cta.header-cta-premium,
.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon,
.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg,
.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg *,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg *{
  color:#ffffff !important;
  stroke:currentColor !important;
}

.site-header.site-header-premium .graphic-nav-link::before{
  background:#6fd8db !important;
  box-shadow:0 0 0 8px rgba(111,216,219,.14) !important;
}

.site-header.site-header-premium .graphic-nav-link:hover,
.site-header.site-header-premium .graphic-nav-link:focus-visible,
.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.12) !important;
}

.site-header.site-header-premium .graphic-nav-link:hover .nav-icon,
.site-header.site-header-premium .graphic-nav-link:focus-visible .nav-icon,
.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon{
  background:rgba(255,255,255,.12) !important;
  color:#ffffff !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium,
.site-header.site-header-premium .header-cta.header-cta-premium{
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  border:2px solid rgba(255,255,255,.85) !important;
  box-shadow:none !important;
}

.site-header.site-header-premium .header-cta.header-cta-premium{
  background:linear-gradient(180deg,var(--poliutech-menu-blue-3) 0%, #1f5bb0 100%) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 16px 28px rgba(0,0,0,.16) !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium:hover,
.site-header.site-header-premium .header-cta.header-cta-premium:hover{
  filter:brightness(1.07);
}

.site-header.site-header-premium .menu-toggle{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.15) !important;
}

.site-header.site-header-premium .menu-toggle span{
  background:#ffffff !important;
}

@media (max-width:1180px){
  .site-header.site-header-premium .nav-shell.nav-shell-premium{
    background:linear-gradient(180deg,var(--poliutech-menu-blue) 0%, var(--poliutech-menu-blue-2) 100%) !important;
  }
}

@media (max-width:820px){
  .site-header.site-header-premium .brand.brand-premium{
    border-right:0 !important;
    padding-right:0 !important;
  }
  .site-header.site-header-premium .main-nav.main-nav-premium{
    background:linear-gradient(180deg,var(--poliutech-menu-blue) 0%, var(--poliutech-menu-blue-2) 100%) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 18px 40px rgba(0,33,83,.24) !important;
  }
  .site-header.site-header-premium .graphic-nav-link{
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }
  .site-header.site-header-premium .mobile-menu-store-link,
  .site-header.site-header-premium .mobile-menu-advice-link{
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    border:2px solid rgba(255,255,255,.75) !important;
  }
  .site-header.site-header-premium .mobile-menu-advice-link{
    background:linear-gradient(180deg,var(--poliutech-menu-blue-3) 0%, #1f5bb0 100%) !important;
    border-color:rgba(255,255,255,.14) !important;
  }
}


/* === V9.6 LOGO BLANCO + MENÚ MÁS GRANDE + CTAS REDUCIDOS === */
.site-header.site-header-premium .brand.brand-premium{
  background:#ffffff !important;
  border-radius:24px !important;
  padding:18px 22px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  min-width:210px !important;
}

.site-header.site-header-premium .brand.brand-premium img{
  width:160px !important;
  max-width:160px !important;
  height:auto !important;
  object-fit:contain !important;
  display:block;
}

.site-header.site-header-premium .main-nav.main-nav-premium{
  gap:10px !important;
}

.site-header.site-header-premium .graphic-nav-link{
  min-width:102px !important;
  min-height:108px !important;
  padding:16px 10px 14px !important;
  border-radius:22px !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-icon{
  width:38px !important;
  height:38px !important;
  margin-bottom:10px !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-icon svg{
  width:28px !important;
  height:28px !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-label{
  font-size:14px !important;
  line-height:1.08 !important;
  letter-spacing:.01em !important;
}

.site-header.site-header-premium .graphic-nav-link .nav-chevron{
  width:14px !important;
  height:14px !important;
  margin-top:6px !important;
}

.site-header.site-header-premium .graphic-nav-link::before{
  top:10px !important;
  width:12px !important;
  height:12px !important;
}

.site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon{
  width:48px !important;
  height:48px !important;
}

.site-header.site-header-premium .header-actions.header-actions-premium{
  gap:14px !important;
  padding-left:14px !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium,
.site-header.site-header-premium .header-cta.header-cta-premium{
  min-width:220px !important;
  min-height:62px !important;
  padding:0 18px !important;
  font-size:14px !important;
  border-radius:20px !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon{
  width:22px !important;
  height:22px !important;
}

.site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
.site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg{
  width:22px !important;
  height:22px !important;
}

@media (max-width:1440px){
  .site-header.site-header-premium .graphic-nav-link{
    min-width:96px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:13px !important;
  }
  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{
    min-width:205px !important;
    font-size:13px !important;
  }
}

@media (max-width:1180px){
  .site-header.site-header-premium .brand.brand-premium{
    min-width:180px !important;
    padding:14px 16px !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:140px !important;
    max-width:140px !important;
  }
  .site-header.site-header-premium .graphic-nav-link{
    min-width:86px !important;
    min-height:96px !important;
    padding:14px 8px 12px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-icon{
    width:34px !important;
    height:34px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-icon svg{
    width:24px !important;
    height:24px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:12px !important;
  }
  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{
    min-width:180px !important;
    min-height:56px !important;
    padding:0 14px !important;
    font-size:12px !important;
  }
}

@media (max-width:820px){
  .site-header.site-header-premium .brand.brand-premium{
    background:#ffffff !important;
    min-width:unset !important;
    padding:12px 14px !important;
    border-radius:20px !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:134px !important;
    max-width:134px !important;
  }
  .site-header.site-header-premium .graphic-nav-link{
    min-height:98px !important;
    padding:14px 10px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-icon{
    width:36px !important;
    height:36px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:13px !important;
  }
  .site-header.site-header-premium .mobile-menu-store-link,
  .site-header.site-header-premium .mobile-menu-advice-link{
    min-height:54px !important;
    font-size:13px !important;
    border-radius:18px !important;
  }
}

/* === V9.7 MENÚ EQUILIBRADO: MÁS ESPACIO PARA NAVEGACIÓN + CTAS COMPACTOS === */
@media (min-width:1181px){
  .site-header.site-header-premium .nav-shell.nav-shell-premium{
    grid-template-columns:230px minmax(0,1fr) 178px !important;
    gap:14px !important;
    padding:16px 20px !important;
  }

  .site-header.site-header-premium .brand.brand-premium{
    width:100% !important;
    min-width:0 !important;
    min-height:166px !important;
    padding:14px 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-right:0 !important;
    box-sizing:border-box !important;
  }

  .site-header.site-header-premium .brand.brand-premium img{
    width:170px !important;
    max-width:100% !important;
    max-height:134px !important;
    margin:0 auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium{
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul{
    gap:7px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li{
    flex:1 1 0 !important;
    min-width:0 !important;
  }

  .site-header.site-header-premium .graphic-nav-link{
    min-width:0 !important;
    width:100% !important;
    min-height:106px !important;
    padding:15px 5px 13px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:clamp(11px,.72vw,13.5px) !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium{
    width:178px !important;
    min-width:178px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:10px !important;
    padding-left:12px !important;
    border-left:1px solid rgba(255,255,255,.12) !important;
    box-sizing:border-box !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    padding:0 11px !important;
    gap:8px !important;
    border-radius:15px !important;
    font-size:11.5px !important;
    line-height:1.08 !important;
    white-space:nowrap !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon,
  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg{
    width:18px !important;
    height:18px !important;
    flex:0 0 18px !important;
  }
}

@media (min-width:1181px) and (max-width:1480px){
  .site-header.site-header-premium .nav-shell.nav-shell-premium{
    grid-template-columns:200px minmax(0,1fr) 158px !important;
    gap:10px !important;
  }
  .site-header.site-header-premium .brand.brand-premium{
    min-height:148px !important;
    padding:12px 14px !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:154px !important;
    max-height:120px !important;
  }
  .site-header.site-header-premium .main-nav.main-nav-premium ul{
    gap:4px !important;
  }
  .site-header.site-header-premium .graphic-nav-link{
    min-height:98px !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:10.5px !important;
  }
  .site-header.site-header-premium .header-actions.header-actions-premium{
    width:158px !important;
    min-width:158px !important;
    padding-left:9px !important;
  }
  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{
    height:43px !important;
    min-height:43px !important;
    flex-basis:43px !important;
    padding:0 8px !important;
    font-size:10.5px !important;
    gap:6px !important;
  }
  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon,
  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg{
    width:16px !important;
    height:16px !important;
    flex-basis:16px !important;
  }
}

/* === V9.8 LOGO: FONDO 100% BLANCO === */
.site-header.site-header-premium .brand.brand-premium,
.site-header.site-header-premium .brand.brand-premium img{
  background:#ffffff !important;
}

/* === V9.9 LOGO HEADER LIMPIO: SIN RECTÁNGULO GRIS INTERNO === */
.site-header.site-header-premium .brand.brand-premium{
  background:#fff !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:0 6px 18px rgba(0,33,83,.10) !important;
  border-radius:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.site-header.site-header-premium .brand.brand-premium img{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  display:block !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}
@media (min-width:1181px){
  .site-header.site-header-premium .brand.brand-premium{
    padding:12px 14px !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:176px !important;
    max-width:100% !important;
    max-height:138px !important;
    height:auto !important;
  }
}
@media (max-width:1180px){
  .site-header.site-header-premium .brand.brand-premium img{
    width:146px !important;
    max-width:100% !important;
    height:auto !important;
  }
}

/* === V10.1 Hero estático + retiro de brochure === */
.hero-static-banner{
  padding:0 !important;
  margin:0 !important;
  width:100%;
  background:#082b60;
}
.hero-static-banner .hero-static-media{
  position:relative;
  width:100%;
  line-height:0;
  overflow:hidden;
}
.hero-static-banner .hero-static-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(19,92,190,.10), rgba(19,92,190,.08));
  pointer-events:none;
}
.hero-static-banner .hero-static-media img{
  display:block;
  width:100%;
  height:auto;
}
@media (min-width: 1200px){
  .hero-static-banner .hero-static-media img{
    min-height:520px;
    object-fit:cover;
  }
}
@media (max-width: 991px){
  .hero-static-banner .hero-static-media img{
    min-height:0;
  }
}

.footer-social-icons{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.footer-social-link{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid #d6e3f2;
  background:#fff;
  color:#123b70 !important;
  box-shadow:0 10px 18px rgba(12,60,120,.07);
  margin:0 !important;
}
.footer-social-link:hover{
  color:#0b4ea2 !important;
  border-color:#bcd2ec;
  transform:translateY(-1px);
}
.footer-social-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef5ff;
  color:#0f5bb8;
  flex:0 0 auto;
}
.footer-social-icon svg{
  width:16px;
  height:16px;
  display:block;
}
@media (max-width: 767px){
  .footer-social-icons{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* === V10.3 Ajuste: subir un poco más el hero en escritorio === */
@media (min-width: 1200px){
  .site-header.site-header-premium .premium-nav-wrap{
    padding:10px 0 10px !important;
  }
  .site-header.site-header-premium .nav-shell.nav-shell-premium{
    min-height:114px !important;
    padding:14px 18px !important;
    gap:16px !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:168px !important;
    max-height:102px !important;
  }
  .site-header.site-header-premium .graphic-nav-link{
    min-height:76px !important;
    min-width:78px !important;
    padding:8px 6px 6px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-icon{
    margin-bottom:6px !important;
  }
  .site-header.site-header-premium .graphic-nav-link .nav-label{
    font-size:10px !important;
  }
  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon{
    width:36px !important;
    height:36px !important;
    margin-bottom:8px !important;
  }
  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{
    min-height:54px !important;
    min-width:190px !important;
    font-size:14px !important;
    padding:0 18px !important;
  }
  .hero-static-banner{
    margin-top:-4px !important;
  }
  .hero-static-banner .hero-static-media img{
    min-height:540px;
  }
}

/* === V10.4 Hero sin logo y texto más arriba === */
.hero-static-banner .hero-static-media img{
  object-position:center top !important;
}
@media (min-width:1200px){
  .hero-static-banner .hero-static-media img{
    min-height:500px !important;
    max-height:620px;
    object-fit:cover !important;
  }
}
@media (max-width:1199px){
  .hero-static-banner .hero-static-media img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
}

/* === V10.5 SOLO botones laterales del menú: compactos, sin modificar el tamaño del menú === */
@media (min-width:1200px){
  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    height:44px !important;
    padding:0 8px !important;
    gap:6px !important;
    font-size:10.5px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    box-sizing:border-box !important;
  }
  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    flex:0 0 16px !important;
  }
  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg{
    width:16px !important;
    height:16px !important;
  }
}

/* === V10.6 Logo cabecera en blanco sobre fondo azul === */
.site-header.site-header-premium .brand.brand-premium,
.site-header.site-header-premium .brand.brand-premium:hover,
.site-header.site-header-premium .brand.brand-premium:focus-visible{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.site-header.site-header-premium .brand.brand-premium{
  border-radius:0 !important;
}
.site-header.site-header-premium .brand.brand-premium img{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}
@media (min-width:1181px){
  .site-header.site-header-premium .brand.brand-premium{
    padding:8px 12px 8px 0 !important;
    min-height:146px !important;
    justify-content:flex-start !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:188px !important;
    max-width:100% !important;
    max-height:126px !important;
    margin:0 !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
}
@media (max-width:1180px){
  .site-header.site-header-premium .brand.brand-premium{
    padding:8px 10px 8px 0 !important;
    min-width:0 !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:154px !important;
    max-width:100% !important;
    height:auto !important;
  }
}
@media (max-width:820px){
  .site-header.site-header-premium .brand.brand-premium{
    padding:4px 0 !important;
    border-radius:0 !important;
  }
  .site-header.site-header-premium .brand.brand-premium img{
    width:142px !important;
    max-width:142px !important;
  }
}

/* === V10.7 Ajuste fino: logo de cabecera un poco más grande === */
@media (min-width:1181px){
  .site-header.site-header-premium .brand.brand-premium img{
    width:204px !important;
    max-height:136px !important;
  }
}
@media (max-width:1180px){
  .site-header.site-header-premium .brand.brand-premium img{
    width:166px !important;
    max-width:100% !important;
    height:auto !important;
  }
}
@media (max-width:820px){
  .site-header.site-header-premium .brand.brand-premium img{
    width:152px !important;
    max-width:152px !important;
  }
}

/* === V11.0 Intro animado: Recubriendo al Mundo === */
html.poliutech-intro-active,
html.poliutech-intro-active body{
  overflow:hidden !important;
}
.poliutech-intro{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 42%, rgba(32,106,196,.32) 0%, rgba(0,33,83,.08) 30%, transparent 56%),
    linear-gradient(145deg,#001a43 0%,#002153 46%,#073b7a 100%);
  opacity:1;
  visibility:visible;
  overflow:hidden;
}
.poliutech-intro::before{
  content:"";
  position:absolute;
  inset:-15%;
  background-image:
    linear-gradient(rgba(111,216,219,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(111,216,219,.04) 1px,transparent 1px);
  background-size:64px 64px;
  transform:perspective(900px) rotateX(64deg) translateY(30%);
  transform-origin:center bottom;
  opacity:.65;
}
.poliutech-intro-stage{
  position:relative;
  z-index:2;
  width:min(92vw,760px);
  min-height:620px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.poliutech-intro-logo{
  width:min(42vw,260px);
  height:auto;
  object-fit:contain;
  margin-bottom:10px;
  opacity:0;
  transform:translateY(-24px) scale(.9);
  animation:ptIntroLogo .62s cubic-bezier(.22,.8,.25,1) .08s forwards;
}
.poliutech-globe-wrap{
  position:relative;
  width:min(62vw,360px);
  aspect-ratio:1;
  opacity:0;
  transform:scale(.76);
  animation:ptGlobeAppear .58s cubic-bezier(.2,.8,.2,1) .32s forwards;
}
.poliutech-globe{
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 25px 48px rgba(0,0,0,.32));
}
.pt-globe-core{
  fill:rgba(3,33,78,.72);
  stroke:rgba(255,255,255,.88);
  stroke-width:2.2;
}
.pt-globe-grid,
.pt-globe-grid-top{
  fill:none;
  stroke:rgba(255,255,255,.30);
  stroke-width:1.4;
}
.pt-globe-ring{
  fill:none;
  stroke:#ffffff;
  stroke-width:2.3;
  opacity:.9;
}
.pt-cover-ring,
.pt-cover-ring-2{
  fill:none;
  stroke:#6fd8db;
  stroke-width:8;
  stroke-linecap:round;
  stroke-dasharray:780;
  stroke-dashoffset:780;
  transform-origin:160px 160px;
  transform:rotate(-92deg);
  animation:ptWrapWorld .95s cubic-bezier(.58,.08,.28,.98) .72s forwards;
}
.pt-cover-ring-2{
  stroke:#2e83de;
  stroke-width:3;
  opacity:.7;
  stroke-dasharray:868;
  stroke-dashoffset:868;
  animation-duration:1.08s;
  animation-delay:.78s;
}
.pt-world-cover{
  opacity:0;
  transform-origin:center;
  animation:ptWorldCover .62s ease 1.35s forwards;
}
.pt-globe-grid-top{
  opacity:0;
  stroke:rgba(255,255,255,.36);
  animation:ptGridReturn .38s ease 1.62s forwards;
}
.pt-orbit{
  position:absolute;
  inset:12%;
  border:1px solid rgba(111,216,219,.26);
  border-radius:50%;
  transform:rotate(58deg) scaleX(1.32);
  opacity:0;
  animation:ptOrbit 1.08s ease .78s forwards;
}
.pt-orbit-b{
  inset:6%;
  transform:rotate(-38deg) scaleX(1.18);
  border-color:rgba(74,145,227,.22);
  animation-delay:.9s;
}
.poliutech-intro-slogan{
  margin-top:20px;
  color:#fff;
  font:800 clamp(32px,5vw,62px)/1.05 'Montserrat',Arial,sans-serif;
  letter-spacing:.015em;
  text-align:center;
  text-shadow:0 10px 30px rgba(0,0,0,.24);
  opacity:0;
  transform:translateY(22px);
  animation:ptSloganIn .55s cubic-bezier(.18,.8,.22,1) 1.72s forwards;
}
.poliutech-intro.is-leaving{
  animation:ptIntroLeave .55s cubic-bezier(.55,.06,.68,.19) forwards;
}
.poliutech-intro.is-leaving .poliutech-intro-stage{
  animation:ptStageLeave .55s ease forwards;
}
@keyframes ptIntroLogo{
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes ptGlobeAppear{
  to{opacity:1;transform:scale(1)}
}
@keyframes ptWrapWorld{
  0%{stroke-dashoffset:780;transform:rotate(-92deg)}
  100%{stroke-dashoffset:0;transform:rotate(268deg)}
}
@keyframes ptWorldCover{
  0%{opacity:0;transform:scale(.35)}
  100%{opacity:.94;transform:scale(1)}
}
@keyframes ptGridReturn{to{opacity:1}}
@keyframes ptOrbit{
  0%{opacity:0;transform:rotate(58deg) scaleX(.75)}
  35%{opacity:.8}
  100%{opacity:.18;transform:rotate(238deg) scaleX(1.32)}
}
@keyframes ptSloganIn{
  to{opacity:1;transform:translateY(0)}
}
@keyframes ptStageLeave{
  to{opacity:0;transform:scale(1.035)}
}
@keyframes ptIntroLeave{
  0%{opacity:1;visibility:visible}
  99%{opacity:0;visibility:visible}
  100%{opacity:0;visibility:hidden;pointer-events:none}
}
@media (max-width:700px){
  .poliutech-intro-stage{min-height:520px}
  .poliutech-intro-logo{width:min(58vw,220px);margin-bottom:6px}
  .poliutech-globe-wrap{width:min(76vw,330px)}
  .poliutech-intro-slogan{margin-top:14px;padding:0 20px}
}
@media (prefers-reduced-motion:reduce){
  .poliutech-intro-logo,
  .poliutech-globe-wrap,
  .pt-cover-ring,
  .pt-cover-ring-2,
  .pt-world-cover,
  .pt-globe-grid-top,
  .pt-orbit,
  .poliutech-intro-slogan{
    animation-duration:.01ms !important;
    animation-delay:0s !important;
  }
}

/* === V11.2 Intro: salida más suave y prolongada, total ~3 s === */
.poliutech-intro-slogan{
  animation-duration:.48s !important;
  animation-delay:1.40s !important;
}
.poliutech-intro.is-leaving{
  animation:ptIntroLeaveSoft .80s cubic-bezier(.22,.61,.36,1) forwards !important;
}
.poliutech-intro.is-leaving .poliutech-intro-stage{
  animation:ptStageLeaveSoft .78s cubic-bezier(.22,.61,.36,1) forwards !important;
}
@keyframes ptStageLeaveSoft{
  0%{opacity:1;transform:scale(1)}
  55%{opacity:.78;transform:scale(1.006)}
  100%{opacity:0;transform:scale(1.018)}
}
@keyframes ptIntroLeaveSoft{
  0%{opacity:1;visibility:visible}
  45%{opacity:.72;visibility:visible}
  82%{opacity:.22;visibility:visible}
  99%{opacity:0;visibility:visible}
  100%{opacity:0;visibility:hidden;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){
  .poliutech-intro.is-leaving,
  .poliutech-intro.is-leaving .poliutech-intro-stage{
    animation-duration:.25s !important;
  }
}

/* === V11.3 Intro cinemática profesional + audio original === */
.poliutech-intro{
  background:
    radial-gradient(circle at 50% 45%, rgba(31,112,205,.22) 0%, rgba(0,33,83,.08) 34%, transparent 58%),
    linear-gradient(145deg,#001735 0%,#002153 52%,#07366d 100%) !important;
  transition:none !important;
}
.poliutech-intro::before{display:none !important}
.pt-intro-atmosphere{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.56;
  background:
    linear-gradient(90deg,transparent 0%,rgba(111,216,219,.045) 50%,transparent 100%),
    radial-gradient(circle at 50% 115%,rgba(35,119,215,.20),transparent 42%);
}
.pt-intro-atmosphere::before,
.pt-intro-atmosphere::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(78vw,880px);
  height:min(78vw,880px);
  border:1px solid rgba(111,216,219,.07);
  border-radius:50%;
  transform:translate(-50%,-46%) scale(.72);
  opacity:0;
}
.poliutech-intro.is-running .pt-intro-atmosphere::before{
  animation:ptProAtmos 2.25s cubic-bezier(.2,.75,.2,1) .2s forwards;
}
.poliutech-intro.is-running .pt-intro-atmosphere::after{
  animation:ptProAtmos 2.25s cubic-bezier(.2,.75,.2,1) .52s forwards;
}
.poliutech-intro-stage{
  width:min(92vw,760px) !important;
  min-height:600px !important;
  gap:0;
  transform:none !important;
}
.pt-intro-mark{
  position:relative;
  width:132px;
  height:132px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:4px;
  opacity:0;
  transform:translateY(-16px) scale(.94);
}
.poliutech-intro.is-running .pt-intro-mark{
  animation:ptProMarkIn .52s cubic-bezier(.18,.82,.25,1) .06s forwards;
}
.pt-mark-halo{
  position:absolute;
  inset:12px;
  border-radius:50%;
  border:1px solid rgba(111,216,219,.18);
  box-shadow:0 0 0 0 rgba(111,216,219,.12);
  opacity:0;
}
.poliutech-intro.is-running .pt-mark-halo{
  animation:ptProHalo 1.4s ease .25s forwards;
}
.poliutech-intro-logo{
  width:112px !important;
  max-width:112px !important;
  height:auto !important;
  margin:0 !important;
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.25));
}
.poliutech-globe-wrap{
  width:min(55vw,330px) !important;
  opacity:0 !important;
  transform:scale(.88) !important;
  animation:none !important;
  margin-top:-2px;
}
.poliutech-intro.is-running .poliutech-globe-wrap{
  animation:ptProGlobeIn .55s cubic-bezier(.18,.82,.25,1) .22s forwards !important;
}
.poliutech-globe{
  filter:drop-shadow(0 28px 50px rgba(0,0,0,.34)) !important;
}
.pt-globe-shadow{
  fill:rgba(0,0,0,.18);
  transform:translateY(10px);
  filter:blur(8px);
}
.pt-globe-core{stroke:none !important}
.pt-globe-lines,
.pt-globe-lines-top{
  fill:none;
  stroke:rgba(255,255,255,.22);
  stroke-width:1.2;
  opacity:.72;
}
.pt-globe-outline{
  fill:none;
  stroke:rgba(255,255,255,.88);
  stroke-width:1.7;
}
.pt-coated-sphere{opacity:.94}
.pt-coat-mask-rect{
  transform-box:fill-box;
  transform-origin:left center;
  transform:scaleX(0);
}
.poliutech-intro.is-running .pt-coat-mask-rect{
  animation:ptProCoatFill .84s cubic-bezier(.55,.04,.22,.98) .76s forwards;
}
.pt-globe-lines-top{opacity:0}
.poliutech-intro.is-running .pt-globe-lines-top{
  animation:ptProGridReveal .35s ease 1.38s forwards;
}
.pt-coating-orbit,
.pt-coating-orbit-secondary{
  fill:none;
  stroke:url(#pt-coat);
  stroke-width:7;
  stroke-linecap:round;
  stroke-dasharray:842;
  stroke-dashoffset:842;
  transform-origin:180px 180px;
  transform:rotate(-90deg);
  opacity:.96;
}
.pt-coating-orbit-secondary{
  stroke:#6fd8db;
  stroke-width:2;
  opacity:.34;
  stroke-dasharray:930;
  stroke-dashoffset:930;
}
.poliutech-intro.is-running .pt-coating-orbit{
  animation:ptProWrap 1.0s cubic-bezier(.58,.06,.22,.98) .58s forwards;
}
.poliutech-intro.is-running .pt-coating-orbit-secondary{
  animation:ptProWrapSecondary 1.08s cubic-bezier(.58,.06,.22,.98) .68s forwards;
}
.pt-globe-flare{
  position:absolute;
  left:50%;
  top:50%;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#a7f4f2;
  box-shadow:0 0 22px rgba(111,216,219,.85),0 0 52px rgba(52,133,230,.48);
  opacity:0;
  transform:translate(-50%,-50%) scale(.3);
}
.poliutech-intro.is-running .pt-globe-flare{
  animation:ptProFlare .52s ease 1.46s forwards;
}
.poliutech-intro-slogan{
  margin-top:10px !important;
  padding:0 !important;
  color:#fff !important;
  text-align:center !important;
  text-shadow:none !important;
  opacity:0 !important;
  transform:translateY(12px) !important;
  animation:none !important;
  letter-spacing:normal !important;
  line-height:1 !important;
}
.poliutech-intro-slogan span{
  display:block;
  font:600 clamp(14px,1.35vw,18px)/1.1 'Montserrat',Arial,sans-serif;
  letter-spacing:.42em;
  padding-left:.42em;
  color:rgba(255,255,255,.74);
  margin-bottom:8px;
}
.poliutech-intro-slogan strong{
  display:block;
  font:700 clamp(34px,4.4vw,54px)/1 'Montserrat',Arial,sans-serif;
  letter-spacing:.08em;
  padding-left:.08em;
  color:#fff;
}
.poliutech-intro.is-running .poliutech-intro-slogan{
  animation:ptProSlogan .48s cubic-bezier(.18,.82,.25,1) 1.68s forwards !important;
}
.poliutech-intro.is-leaving{
  animation:ptProIntroLeave .72s cubic-bezier(.22,.61,.36,1) forwards !important;
}
.poliutech-intro.is-leaving .poliutech-intro-stage{
  animation:ptProStageLeave .68s cubic-bezier(.22,.61,.36,1) forwards !important;
}
@keyframes ptProAtmos{
  0%{opacity:0;transform:translate(-50%,-46%) scale(.72)}
  28%{opacity:.55}
  100%{opacity:0;transform:translate(-50%,-46%) scale(1.12)}
}
@keyframes ptProMarkIn{
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes ptProHalo{
  0%{opacity:0;box-shadow:0 0 0 0 rgba(111,216,219,.12)}
  35%{opacity:1}
  100%{opacity:.28;box-shadow:0 0 0 22px rgba(111,216,219,0)}
}
@keyframes ptProGlobeIn{
  to{opacity:1;transform:scale(1)}
}
@keyframes ptProCoatFill{
  0%{transform:scaleX(0)}
  100%{transform:scaleX(1)}
}
@keyframes ptProGridReveal{to{opacity:.72}}
@keyframes ptProWrap{
  0%{stroke-dashoffset:842;transform:rotate(-90deg)}
  100%{stroke-dashoffset:0;transform:rotate(270deg)}
}
@keyframes ptProWrapSecondary{
  0%{stroke-dashoffset:930;transform:rotate(-106deg)}
  100%{stroke-dashoffset:0;transform:rotate(254deg)}
}
@keyframes ptProFlare{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}
  42%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}
}
@keyframes ptProSlogan{
  to{opacity:1;transform:translateY(0)}
}
@keyframes ptProStageLeave{
  0%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(1.012)}
}
@keyframes ptProIntroLeave{
  0%{opacity:1;visibility:visible}
  55%{opacity:.52;visibility:visible}
  100%{opacity:0;visibility:hidden;pointer-events:none}
}
@media (max-width:700px){
  .poliutech-intro-stage{min-height:520px !important}
  .pt-intro-mark{width:112px;height:112px}
  .poliutech-intro-logo{width:94px !important;max-width:94px !important}
  .poliutech-globe-wrap{width:min(70vw,300px) !important}
  .poliutech-intro-slogan span{font-size:12px;letter-spacing:.32em;padding-left:.32em}
  .poliutech-intro-slogan strong{font-size:clamp(30px,10vw,43px);letter-spacing:.05em;padding-left:.05em}
}
@media (prefers-reduced-motion:reduce){
  .poliutech-intro.is-running .pt-intro-mark,
  .poliutech-intro.is-running .poliutech-globe-wrap,
  .poliutech-intro.is-running .pt-coat-mask-rect,
  .poliutech-intro.is-running .pt-globe-lines-top,
  .poliutech-intro.is-running .pt-coating-orbit,
  .poliutech-intro.is-running .pt-coating-orbit-secondary,
  .poliutech-intro.is-running .pt-globe-flare,
  .poliutech-intro.is-running .poliutech-intro-slogan{
    animation-duration:.01ms !important;
    animation-delay:0s !important;
  }
}

/* === V11.4 Intro: 3 s completos, corte directo al Home === */
.poliutech-intro{
  opacity:1 !important;
  visibility:visible !important;
  animation:none !important;
  transition:none !important;
}
.poliutech-intro.is-leaving,
.poliutech-intro.is-leaving .poliutech-intro-stage{
  animation:none !important;
  transition:none !important;
}

/* === V11.5 FIX DEFINITIVO INTRO: animaciones visibles + logo completo === */
.poliutech-intro{
  opacity:1 !important;
  visibility:visible !important;
  transition:none !important;
  animation:none !important;
}
.poliutech-intro-stage{
  min-height:600px !important;
  width:min(92vw,780px) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
.pt-intro-mark{
  width:300px !important;
  height:auto !important;
  min-height:118px !important;
  margin:0 0 4px !important;
  opacity:0;
  transform:translateY(-10px) scale(.97);
}
.poliutech-intro-logo{
  width:280px !important;
  max-width:280px !important;
  max-height:118px !important;
  height:auto !important;
  object-fit:contain !important;
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.20)) !important;
}
.poliutech-intro.is-running .pt-intro-mark{
  animation:pt115LogoIn .42s cubic-bezier(.2,.8,.2,1) .04s forwards !important;
}
.poliutech-globe-wrap{
  width:min(52vw,320px) !important;
  margin-top:2px !important;
  opacity:0;
  transform:scale(.86);
  animation:none !important;
}
.poliutech-intro.is-running .poliutech-globe-wrap{
  animation:pt115GlobeIn .46s cubic-bezier(.2,.8,.2,1) .24s forwards !important;
}
.pt-coat-mask-rect{
  transform-box:fill-box !important;
  transform-origin:left center !important;
  transform:scaleX(0);
}
.poliutech-intro.is-running .pt-coat-mask-rect{
  animation:pt115CoatFill .88s cubic-bezier(.55,.04,.22,.98) .64s forwards !important;
}
.pt-globe-lines-top{
  opacity:0;
}
.poliutech-intro.is-running .pt-globe-lines-top{
  animation:pt115GridReveal .28s ease 1.40s forwards !important;
}
.pt-coating-orbit,
.pt-coating-orbit-secondary{
  stroke-dasharray:842 !important;
  stroke-dashoffset:842;
  transform-origin:180px 180px !important;
}
.pt-coating-orbit-secondary{
  stroke-dasharray:930 !important;
  stroke-dashoffset:930;
}
.poliutech-intro.is-running .pt-coating-orbit{
  animation:pt115Wrap .96s cubic-bezier(.58,.06,.22,.98) .50s forwards !important;
}
.poliutech-intro.is-running .pt-coating-orbit-secondary{
  animation:pt115WrapSecondary 1.06s cubic-bezier(.58,.06,.22,.98) .58s forwards !important;
}
.pt-globe-flare{opacity:0}
.poliutech-intro.is-running .pt-globe-flare{
  animation:pt115Flare .42s ease 1.42s forwards !important;
}
.poliutech-intro-slogan{
  margin-top:12px !important;
  opacity:0;
  transform:translateY(10px);
  animation:none !important;
}
.poliutech-intro-slogan span{
  font:500 clamp(13px,1.15vw,17px)/1.1 'Montserrat',Arial,sans-serif !important;
  letter-spacing:.36em !important;
  padding-left:.36em !important;
  color:rgba(255,255,255,.68) !important;
  margin-bottom:9px !important;
}
.poliutech-intro-slogan strong{
  font:700 clamp(34px,4.1vw,52px)/1 'Montserrat',Arial,sans-serif !important;
  letter-spacing:.075em !important;
  padding-left:.075em !important;
  color:#fff !important;
}
.poliutech-intro.is-running .poliutech-intro-slogan{
  animation:pt115SloganIn .38s cubic-bezier(.2,.8,.2,1) 1.62s forwards !important;
}
.poliutech-intro.is-leaving,
.poliutech-intro.is-leaving .poliutech-intro-stage{
  animation:none !important;
  transition:none !important;
}
@keyframes pt115LogoIn{
  from{opacity:0;transform:translateY(-10px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes pt115GlobeIn{
  from{opacity:0;transform:scale(.86)}
  to{opacity:1;transform:scale(1)}
}
@keyframes pt115CoatFill{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
@keyframes pt115GridReveal{
  to{opacity:.72}
}
@keyframes pt115Wrap{
  from{stroke-dashoffset:842;transform:rotate(-90deg)}
  to{stroke-dashoffset:0;transform:rotate(270deg)}
}
@keyframes pt115WrapSecondary{
  from{stroke-dashoffset:930;transform:rotate(-106deg)}
  to{stroke-dashoffset:0;transform:rotate(254deg)}
}
@keyframes pt115Flare{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}
  40%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(2.2)}
}
@keyframes pt115SloganIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@media (max-width:700px){
  .pt-intro-mark{width:240px !important;min-height:96px !important}
  .poliutech-intro-logo{width:220px !important;max-width:220px !important;max-height:96px !important}
  .poliutech-globe-wrap{width:min(72vw,290px) !important}
}
@media (prefers-reduced-motion:reduce){
  .poliutech-intro.is-running .pt-intro-mark{animation:pt115LogoIn .42s cubic-bezier(.2,.8,.2,1) .04s forwards !important}
  .poliutech-intro.is-running .poliutech-globe-wrap{animation:pt115GlobeIn .46s cubic-bezier(.2,.8,.2,1) .24s forwards !important}
  .poliutech-intro.is-running .pt-coat-mask-rect{animation:pt115CoatFill .88s cubic-bezier(.55,.04,.22,.98) .64s forwards !important}
  .poliutech-intro.is-running .pt-globe-lines-top{animation:pt115GridReveal .28s ease 1.40s forwards !important}
  .poliutech-intro.is-running .pt-coating-orbit{animation:pt115Wrap .96s cubic-bezier(.58,.06,.22,.98) .50s forwards !important}
  .poliutech-intro.is-running .pt-coating-orbit-secondary{animation:pt115WrapSecondary 1.06s cubic-bezier(.58,.06,.22,.98) .58s forwards !important}
  .poliutech-intro.is-running .pt-globe-flare{animation:pt115Flare .42s ease 1.42s forwards !important}
  .poliutech-intro.is-running .poliutech-intro-slogan{animation:pt115SloganIn .38s cubic-bezier(.2,.8,.2,1) 1.62s forwards !important}
}

/* === V11.6 Intro reconstruida: mundo y texto visibles === */
html.poliutech-intro-active,
html.poliutech-intro-active body{
  overflow:hidden !important;
}
#poliutech-intro.poliutech-intro-v116{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(41,126,222,.18) 0%, rgba(2,33,83,.10) 36%, transparent 62%),
    linear-gradient(140deg,#001735 0%, #002153 52%, #07366d 100%) !important;
}
#poliutech-intro.poliutech-intro-v116::before,
#poliutech-intro.poliutech-intro-v116::after{
  content:"";
  position:absolute;
  inset:auto;
  border-radius:50%;
  pointer-events:none;
}
#poliutech-intro.poliutech-intro-v116::before{
  width:min(95vw,980px);
  height:min(95vw,980px);
  left:50%;
  top:50%;
  transform:translate(-50%,-42%);
  border:1px solid rgba(111,216,219,.10);
  box-shadow:0 0 0 28px rgba(111,216,219,.03), 0 0 0 56px rgba(111,216,219,.02);
}
#poliutech-intro.poliutech-intro-v116::after{
  width:min(100vw,1200px);
  height:1px;
  left:50%;
  top:50%;
  transform:translate(-50%,190px);
  background:linear-gradient(90deg,transparent 0%, rgba(111,216,219,.36) 50%, transparent 100%);
}
#poliutech-intro.poliutech-intro-v116 .pt116-stage{
  position:relative;
  z-index:2;
  width:min(92vw,760px);
  min-height:620px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
#poliutech-intro.poliutech-intro-v116 .pt116-logo{
  width:230px;
  max-width:58vw;
  height:auto;
  display:block;
  margin:0 auto 18px;
  opacity:0;
  transform:translateY(-14px) scale(.95);
}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-logo{
  animation:pt116LogoIn .35s ease forwards;
}
#poliutech-intro.poliutech-intro-v116 .pt116-globe-wrap{
  position:relative;
  width:min(72vw,380px);
  aspect-ratio:1;
  opacity:0;
  transform:scale(.90);
}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-globe-wrap{
  animation:pt116GlobeIn .35s ease .18s forwards;
}
#poliutech-intro.poliutech-intro-v116 .pt116-globe{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 28px 46px rgba(0,0,0,.28));
}
#poliutech-intro.poliutech-intro-v116 .pt116-shadow{fill:rgba(0,0,0,.20)}
#poliutech-intro.poliutech-intro-v116 .pt116-core{fill:url(#pt116Ocean)}
#poliutech-intro.poliutech-intro-v116 .pt116-grid,
#poliutech-intro.poliutech-intro-v116 .pt116-grid path,
#poliutech-intro.poliutech-intro-v116 .pt116-grid ellipse{
  fill:none;
  stroke:rgba(255,255,255,.26);
  stroke-width:1.4;
}
#poliutech-intro.poliutech-intro-v116 .pt116-continents path{
  fill:rgba(255,255,255,.16);
  stroke:rgba(255,255,255,.10);
  stroke-width:1;
}
#poliutech-intro.poliutech-intro-v116 .pt116-outline{
  fill:none;
  stroke:rgba(255,255,255,.88);
  stroke-width:2.2;
}
#poliutech-intro.poliutech-intro-v116 .pt116-coated{
  opacity:.96;
}
#poliutech-intro.poliutech-intro-v116 .pt116-fill-rect{
  transform-origin:50% 100%;
  transform:translateY(232px);
}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-fill-rect{
  animation:pt116CoatFill .85s cubic-bezier(.55,.06,.22,.98) .56s forwards;
}
#poliutech-intro.poliutech-intro-v116 .pt116-grid-top{opacity:0}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-grid-top{
  animation:pt116GridTop .24s ease 1.30s forwards;
}
#poliutech-intro.poliutech-intro-v116 .pt116-orbit{
  fill:none;
  transform-origin:180px 180px;
  stroke-linecap:round;
}
#poliutech-intro.poliutech-intro-v116 .pt116-orbit-main{
  stroke:#6fd8db;
  stroke-width:7;
  stroke-dasharray:844;
  stroke-dashoffset:844;
  transform:rotate(-100deg);
}
#poliutech-intro.poliutech-intro-v116 .pt116-orbit-secondary{
  stroke:#2e83de;
  stroke-width:3;
  stroke-dasharray:936;
  stroke-dashoffset:936;
  opacity:.72;
  transform:rotate(-86deg);
}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-orbit-main{
  animation:pt116OrbitMain .92s cubic-bezier(.58,.06,.22,.98) .46s forwards;
}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-orbit-secondary{
  animation:pt116OrbitSecondary 1.02s cubic-bezier(.58,.06,.22,.98) .52s forwards;
}
#poliutech-intro.poliutech-intro-v116 .pt116-flare{
  position:absolute;
  left:50%;
  top:50%;
  width:104px;
  height:104px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(132,233,233,.38) 0%, rgba(132,233,233,.08) 38%, transparent 74%);
  opacity:0;
}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-flare{
  animation:pt116Flare .30s ease 1.18s forwards;
}
#poliutech-intro.poliutech-intro-v116 .pt116-slogan{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  opacity:0;
  transform:translateY(10px);
}
#poliutech-intro.poliutech-intro-v116 .pt116-slogan span{
  color:rgba(255,255,255,.82);
  font:700 14px/1.1 'Montserrat', Arial, sans-serif;
  letter-spacing:.34em;
  padding-left:.34em;
}
#poliutech-intro.poliutech-intro-v116 .pt116-slogan strong{
  color:#ffffff;
  font:800 clamp(34px,5vw,56px)/1 'Montserrat', Arial, sans-serif;
  letter-spacing:.08em;
  padding-left:.08em;
  text-shadow:0 12px 26px rgba(0,0,0,.22);
}
#poliutech-intro.poliutech-intro-v116.is-running .pt116-slogan{
  animation:pt116SloganIn .34s cubic-bezier(.2,.8,.2,1) 1.46s forwards;
}
@keyframes pt116LogoIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pt116GlobeIn{to{opacity:1;transform:scale(1)}}
@keyframes pt116CoatFill{0%{transform:translateY(232px)}100%{transform:translateY(0)}}
@keyframes pt116OrbitMain{0%{stroke-dashoffset:844;transform:rotate(-100deg)}100%{stroke-dashoffset:0;transform:rotate(262deg)}}
@keyframes pt116OrbitSecondary{0%{stroke-dashoffset:936;transform:rotate(-86deg)}100%{stroke-dashoffset:0;transform:rotate(244deg)}}
@keyframes pt116GridTop{to{opacity:1}}
@keyframes pt116Flare{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}50%{opacity:.95}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes pt116SloganIn{to{opacity:1;transform:translateY(0)}}
@media (max-width: 767px){
  #poliutech-intro.poliutech-intro-v116 .pt116-stage{min-height:520px}
  #poliutech-intro.poliutech-intro-v116 .pt116-logo{width:190px;max-width:64vw;margin-bottom:12px}
  #poliutech-intro.poliutech-intro-v116 .pt116-globe-wrap{width:min(82vw,330px)}
  #poliutech-intro.poliutech-intro-v116 .pt116-slogan span{font-size:12px;letter-spacing:.28em;padding-left:.28em}
  #poliutech-intro.poliutech-intro-v116 .pt116-slogan strong{font-size:clamp(30px,10vw,44px)}
}
@media (prefers-reduced-motion: reduce){
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-logo,
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-globe-wrap,
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-fill-rect,
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-orbit-main,
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-orbit-secondary,
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-grid-top,
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-flare,
  #poliutech-intro.poliutech-intro-v116.is-running .pt116-slogan{
    animation-duration:.01ms !important;
    animation-delay:0s !important;
  }
}

/* === V11.7 Intro refinada: estética profesional, centrada y limpia === */
#poliutech-intro.poliutech-intro-v117,
#poliutech-intro.poliutech-intro-v117 *{
  box-sizing:border-box;
}
#poliutech-intro.poliutech-intro-v117{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  opacity:1 !important;
  visibility:visible !important;
  background:
    radial-gradient(circle at 50% 36%, rgba(51,142,233,.14) 0%, rgba(0,33,83,.06) 34%, transparent 60%),
    linear-gradient(135deg, #00162f 0%, #002153 48%, #08366a 100%) !important;
  isolation:isolate;
}
#poliutech-intro.poliutech-intro-v117::before{
  content:"";
  position:absolute;
  width:min(92vw,820px);
  aspect-ratio:1;
  left:50%;
  top:50%;
  transform:translate(-50%,-42%);
  border-radius:50%;
  border:1px solid rgba(135,226,232,.08);
  box-shadow:0 0 0 24px rgba(135,226,232,.03), 0 0 0 56px rgba(135,226,232,.015);
  pointer-events:none;
}
#poliutech-intro.poliutech-intro-v117::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,.055) 0%, rgba(255,255,255,0) 30%),
    linear-gradient(90deg, transparent 0%, rgba(121,226,228,.035) 50%, transparent 100%);
  mix-blend-mode:screen;
  pointer-events:none;
}
#poliutech-intro.poliutech-intro-v117 .pt117-stage{
  position:relative;
  z-index:2;
  width:min(92vw,700px);
  min-height:100vh;
  padding:clamp(26px,5vh,44px) 16px clamp(42px,7vh,72px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
}
#poliutech-intro.poliutech-intro-v117 .pt117-logo{
  width:180px;
  max-width:45vw;
  height:auto;
  display:block;
  margin:0;
  opacity:0;
  transform:translateY(-10px) scale(.96);
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.16));
}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-logo{
  animation:pt117LogoIn .34s cubic-bezier(.22,.8,.22,1) forwards;
}
#poliutech-intro.poliutech-intro-v117 .pt117-globe-wrap{
  position:relative;
  width:min(54vw,300px);
  aspect-ratio:1;
  display:block;
  opacity:0;
  transform:translateY(6px) scale(.92);
}
#poliutech-intro.poliutech-intro-v117 .pt117-globe-wrap::before{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(91,183,242,.20) 0%, rgba(43,133,223,.11) 36%, rgba(0,0,0,0) 72%);
  filter:blur(10px);
  transform:scale(1.14);
}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-globe-wrap{
  animation:pt117GlobeIn .36s cubic-bezier(.22,.8,.22,1) .16s forwards;
}
#poliutech-intro.poliutech-intro-v117 .pt117-globe{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 22px 36px rgba(0,0,0,.24));
}
#poliutech-intro.poliutech-intro-v117 .pt117-shadow{
  fill:rgba(0,0,0,.18);
}
#poliutech-intro.poliutech-intro-v117 .pt117-core{
  fill:url(#pt117Ocean);
}
#poliutech-intro.poliutech-intro-v117 .pt117-grid,
#poliutech-intro.poliutech-intro-v117 .pt117-grid path,
#poliutech-intro.poliutech-intro-v117 .pt117-grid ellipse{
  fill:none;
  stroke:rgba(255,255,255,.22);
  stroke-width:1.3;
}
#poliutech-intro.poliutech-intro-v117 .pt117-continents path{
  fill:rgba(255,255,255,.12);
  stroke:rgba(255,255,255,.08);
  stroke-width:1;
}
#poliutech-intro.poliutech-intro-v117 .pt117-coated{opacity:.98;}
#poliutech-intro.poliutech-intro-v117 .pt117-fill-rect{
  transform:translateY(232px);
}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-fill-rect{
  animation:pt117CoatFill .90s cubic-bezier(.58,.08,.22,.98) .52s forwards;
}
#poliutech-intro.poliutech-intro-v117 .pt117-grid-top{opacity:0;}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-grid-top{
  animation:pt117GridReveal .24s ease 1.28s forwards;
}
#poliutech-intro.poliutech-intro-v117 .pt117-outline{
  fill:none;
  stroke:rgba(255,255,255,.84);
  stroke-width:2.1;
}
#poliutech-intro.poliutech-intro-v117 .pt117-orbit{
  fill:none;
  transform-origin:180px 180px;
  stroke-linecap:round;
}
#poliutech-intro.poliutech-intro-v117 .pt117-orbit-main{
  stroke:#89e6e9;
  stroke-width:5.5;
  stroke-dasharray:848;
  stroke-dashoffset:848;
  opacity:.95;
  transform:rotate(-96deg);
}
#poliutech-intro.poliutech-intro-v117 .pt117-orbit-secondary{
  stroke:#2f89e0;
  stroke-width:2.6;
  stroke-dasharray:936;
  stroke-dashoffset:936;
  opacity:.82;
  transform:rotate(-80deg);
}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-orbit-main{
  animation:pt117OrbitMain .92s cubic-bezier(.58,.06,.22,.98) .44s forwards;
}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-orbit-secondary{
  animation:pt117OrbitSecondary 1.02s cubic-bezier(.58,.06,.22,.98) .50s forwards;
}
#poliutech-intro.poliutech-intro-v117 .pt117-flare{
  position:absolute;
  left:50%;
  top:50%;
  width:96px;
  height:96px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(147,235,236,.32) 0%, rgba(147,235,236,.10) 42%, rgba(147,235,236,0) 76%);
  opacity:0;
  pointer-events:none;
}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-flare{
  animation:pt117Flare .28s ease 1.16s forwards;
}
#poliutech-intro.poliutech-intro-v117 .pt117-slogan{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:6px;
  opacity:0;
  transform:translateY(8px);
  text-align:center;
}
#poliutech-intro.poliutech-intro-v117 .pt117-slogan span{
  color:rgba(255,255,255,.78);
  font:700 13px/1 'Montserrat', Arial, sans-serif;
  letter-spacing:.42em;
  padding-left:.42em;
}
#poliutech-intro.poliutech-intro-v117 .pt117-slogan strong{
  color:#fff;
  font:800 clamp(28px,4.4vw,48px)/.98 'Montserrat', Arial, sans-serif;
  letter-spacing:.10em;
  padding-left:.10em;
  text-shadow:0 10px 24px rgba(0,0,0,.22);
}
#poliutech-intro.poliutech-intro-v117.is-running .pt117-slogan{
  animation:pt117SloganIn .34s cubic-bezier(.2,.8,.22,1) 1.44s forwards;
}
@keyframes pt117LogoIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pt117GlobeIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pt117CoatFill{0%{transform:translateY(232px)}100%{transform:translateY(0)}}
@keyframes pt117OrbitMain{0%{stroke-dashoffset:848;transform:rotate(-96deg)}100%{stroke-dashoffset:0;transform:rotate(254deg)}}
@keyframes pt117OrbitSecondary{0%{stroke-dashoffset:936;transform:rotate(-80deg)}100%{stroke-dashoffset:0;transform:rotate(242deg)}}
@keyframes pt117GridReveal{to{opacity:1}}
@keyframes pt117Flare{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}45%{opacity:.92}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes pt117SloganIn{to{opacity:1;transform:translateY(0)}}
@media (max-width: 1024px){
  #poliutech-intro.poliutech-intro-v117 .pt117-logo{width:168px;max-width:48vw}
  #poliutech-intro.poliutech-intro-v117 .pt117-globe-wrap{width:min(58vw,286px)}
}
@media (max-height: 760px){
  #poliutech-intro.poliutech-intro-v117 .pt117-stage{padding:22px 16px 34px;gap:14px}
  #poliutech-intro.poliutech-intro-v117 .pt117-logo{width:152px}
  #poliutech-intro.poliutech-intro-v117 .pt117-globe-wrap{width:min(42vh,260px)}
  #poliutech-intro.poliutech-intro-v117 .pt117-slogan strong{font-size:clamp(26px,4vh,42px)}
}
@media (max-width: 767px){
  #poliutech-intro.poliutech-intro-v117::before{width:min(110vw,700px);transform:translate(-50%,-40%)}
  #poliutech-intro.poliutech-intro-v117 .pt117-stage{padding:22px 16px 42px;gap:14px}
  #poliutech-intro.poliutech-intro-v117 .pt117-logo{width:146px;max-width:54vw}
  #poliutech-intro.poliutech-intro-v117 .pt117-globe-wrap{width:min(66vw,250px)}
  #poliutech-intro.poliutech-intro-v117 .pt117-slogan span{font-size:11px;letter-spacing:.32em;padding-left:.32em}
  #poliutech-intro.poliutech-intro-v117 .pt117-slogan strong{font-size:clamp(26px,8vw,38px);letter-spacing:.08em;padding-left:.08em}
}
/* esconder widgets flotantes durante la intro */
html.poliutech-intro-active .joinchat,
html.poliutech-intro-active .joinchat--left,
html.poliutech-intro-active .joinchat--right,
html.poliutech-intro-active .joinchat__button,
html.poliutech-intro-active .whatsapp-widget,
html.poliutech-intro-active .whatsapp-btn,
html.poliutech-intro-active .chaty-widget,
html.poliutech-intro-active .grecaptcha-badge{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* === V11.8 Intro corregida: logo completo + mundo con mapa visible === */
#poliutech-intro.poliutech-intro-v118,
#poliutech-intro.poliutech-intro-v118 *{box-sizing:border-box}
#poliutech-intro.poliutech-intro-v118{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  opacity:1 !important;
  visibility:visible !important;
  background:
    radial-gradient(circle at 50% 32%, rgba(86,176,241,.12) 0%, rgba(0,33,83,.04) 35%, transparent 62%),
    linear-gradient(135deg,#00152e 0%, #002153 48%, #09386f 100%) !important;
}
#poliutech-intro.poliutech-intro-v118::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 28%),
    linear-gradient(90deg, transparent 0%, rgba(111,216,219,.026) 50%, transparent 100%);
  pointer-events:none;
}
#poliutech-intro.poliutech-intro-v118 .pt118-stage{
  position:relative;
  z-index:2;
  width:min(92vw,760px);
  min-height:100vh;
  padding:24px 18px 36px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  transform:translateY(-6px);
}
#poliutech-intro.poliutech-intro-v118 .pt118-logo{
  width:min(340px,66vw);
  max-width:100%;
  height:auto;
  display:block;
  opacity:0;
  transform:translateY(-10px) scale(.97);
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.15));
}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-logo{
  animation:pt118LogoIn .34s cubic-bezier(.22,.8,.22,1) forwards;
}
#poliutech-intro.poliutech-intro-v118 .pt118-globe-wrap{
  position:relative;
  width:min(56vw,330px);
  aspect-ratio:1;
  opacity:0;
  transform:translateY(8px) scale(.93);
}
#poliutech-intro.poliutech-intro-v118 .pt118-globe-wrap::before{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(108,197,245,.16) 0%, rgba(42,129,219,.10) 42%, rgba(0,0,0,0) 72%);
  filter:blur(10px);
  transform:scale(1.12);
}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-globe-wrap{
  animation:pt118GlobeIn .38s cubic-bezier(.22,.8,.22,1) .16s forwards;
}
#poliutech-intro.poliutech-intro-v118 .pt118-globe{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 22px 34px rgba(0,0,0,.22));
}
#poliutech-intro.poliutech-intro-v118 .pt118-shadow{fill:rgba(0,0,0,.18)}
#poliutech-intro.poliutech-intro-v118 .pt118-atmos{
  fill:none;
  stroke:rgba(173,233,245,.32);
  stroke-width:5;
}
#poliutech-intro.poliutech-intro-v118 .pt118-core{fill:url(#pt118Ocean)}
#poliutech-intro.poliutech-intro-v118 .pt118-grid,
#poliutech-intro.poliutech-intro-v118 .pt118-grid path,
#poliutech-intro.poliutech-intro-v118 .pt118-grid ellipse{
  fill:none;
  stroke:rgba(255,255,255,.20);
  stroke-width:1.3;
}
#poliutech-intro.poliutech-intro-v118 .pt118-land-base path{
  fill:rgba(238,249,255,.36);
  stroke:rgba(255,255,255,.18);
  stroke-width:1.1;
}
#poliutech-intro.poliutech-intro-v118 .pt118-land-top path{
  fill:rgba(255,255,255,.19);
  stroke:rgba(255,255,255,.20);
  stroke-width:1.1;
}
#poliutech-intro.poliutech-intro-v118 .pt118-fill-rect{
  transform:translateX(-248px);
}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-fill-rect{
  animation:pt118CoatFill .92s cubic-bezier(.58,.08,.22,.98) .48s forwards;
}
#poliutech-intro.poliutech-intro-v118 .pt118-grid-top{opacity:0}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-grid-top{
  animation:pt118GridReveal .24s ease 1.28s forwards;
}
#poliutech-intro.poliutech-intro-v118 .pt118-outline{
  fill:none;
  stroke:rgba(255,255,255,.88);
  stroke-width:2.1;
}
#poliutech-intro.poliutech-intro-v118 .pt118-orbit{fill:none;transform-origin:200px 200px;stroke-linecap:round}
#poliutech-intro.poliutech-intro-v118 .pt118-orbit-main{
  stroke:#8be8ea;
  stroke-width:5.2;
  stroke-dasharray:892;
  stroke-dashoffset:892;
  opacity:.95;
  transform:rotate(-94deg);
}
#poliutech-intro.poliutech-intro-v118 .pt118-orbit-secondary{
  stroke:#2d84dd;
  stroke-width:2.4;
  stroke-dasharray:980;
  stroke-dashoffset:980;
  opacity:.78;
  transform:rotate(-82deg);
}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-orbit-main{
  animation:pt118OrbitMain .94s cubic-bezier(.58,.06,.22,.98) .44s forwards;
}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-orbit-secondary{
  animation:pt118OrbitSecondary 1.02s cubic-bezier(.58,.06,.22,.98) .50s forwards;
}
#poliutech-intro.poliutech-intro-v118 .pt118-flare{
  position:absolute;
  left:50%; top:50%; width:100px; height:100px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(164,238,242,.30) 0%, rgba(164,238,242,.08) 42%, rgba(164,238,242,0) 76%);
  opacity:0; pointer-events:none;
}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-flare{
  animation:pt118Flare .30s ease 1.12s forwards;
}
#poliutech-intro.poliutech-intro-v118 .pt118-slogan{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; margin-top:2px; text-align:center; opacity:0; transform:translateY(8px);
}
#poliutech-intro.poliutech-intro-v118 .pt118-slogan span{
  color:rgba(255,255,255,.80);
  font:700 14px/1 'Montserrat', Arial, sans-serif;
  letter-spacing:.36em; padding-left:.36em;
}
#poliutech-intro.poliutech-intro-v118 .pt118-slogan strong{
  color:#fff;
  font:800 clamp(32px,5vw,50px)/.98 'Montserrat', Arial, sans-serif;
  letter-spacing:.09em; padding-left:.09em;
  text-shadow:0 10px 20px rgba(0,0,0,.20);
}
#poliutech-intro.poliutech-intro-v118.is-running .pt118-slogan{
  animation:pt118SloganIn .34s cubic-bezier(.2,.8,.22,1) 1.42s forwards;
}
@keyframes pt118LogoIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pt118GlobeIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pt118CoatFill{0%{transform:translateX(-248px)}100%{transform:translateX(0)}}
@keyframes pt118OrbitMain{0%{stroke-dashoffset:892;transform:rotate(-94deg)}100%{stroke-dashoffset:0;transform:rotate(252deg)}}
@keyframes pt118OrbitSecondary{0%{stroke-dashoffset:980;transform:rotate(-82deg)}100%{stroke-dashoffset:0;transform:rotate(240deg)}}
@keyframes pt118GridReveal{to{opacity:1}}
@keyframes pt118Flare{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}45%{opacity:.92}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes pt118SloganIn{to{opacity:1;transform:translateY(0)}}
@media (max-height:760px){
  #poliutech-intro.poliutech-intro-v118 .pt118-stage{padding:16px 16px 26px;gap:14px;transform:translateY(-4px)}
  #poliutech-intro.poliutech-intro-v118 .pt118-logo{width:min(300px,62vw)}
  #poliutech-intro.poliutech-intro-v118 .pt118-globe-wrap{width:min(44vh,300px)}
  #poliutech-intro.poliutech-intro-v118 .pt118-slogan strong{font-size:clamp(28px,4.4vh,42px)}
}
@media (max-width:767px){
  #poliutech-intro.poliutech-intro-v118 .pt118-stage{padding:18px 16px 34px;gap:14px;transform:none}
  #poliutech-intro.poliutech-intro-v118 .pt118-logo{width:min(270px,74vw)}
  #poliutech-intro.poliutech-intro-v118 .pt118-globe-wrap{width:min(68vw,290px)}
  #poliutech-intro.poliutech-intro-v118 .pt118-slogan span{font-size:11px;letter-spacing:.30em;padding-left:.30em}
  #poliutech-intro.poliutech-intro-v118 .pt118-slogan strong{font-size:clamp(28px,8vw,38px);letter-spacing:.08em;padding-left:.08em}
}
html.poliutech-intro-active .joinchat,
html.poliutech-intro-active .joinchat--left,
html.poliutech-intro-active .joinchat--right,
html.poliutech-intro-active .joinchat__button,
html.poliutech-intro-active .whatsapp-widget,
html.poliutech-intro-active .whatsapp-btn,
html.poliutech-intro-active .chaty-widget,
html.poliutech-intro-active .grecaptcha-badge{
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
}

/* === V11.9 Intro con mundo fotorrealista === */
#poliutech-intro.poliutech-intro-v119,
#poliutech-intro.poliutech-intro-v119 *{box-sizing:border-box}
#poliutech-intro.poliutech-intro-v119{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(43,126,219,.17) 0%, rgba(0,33,83,.06) 36%, transparent 62%),
    linear-gradient(135deg,#00142c 0%,#002153 48%,#083971 100%) !important;
  opacity:1 !important;
  visibility:visible !important;
}
#poliutech-intro.poliutech-intro-v119::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.04) 0%, transparent 28%),
    linear-gradient(90deg, transparent 0%, rgba(111,216,219,.025) 50%, transparent 100%);
  pointer-events:none;
}
#poliutech-intro.poliutech-intro-v119 .pt119-stage{
  position:relative;
  z-index:2;
  width:min(92vw,760px);
  min-height:100vh;
  padding:20px 18px 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
}
#poliutech-intro.poliutech-intro-v119 .pt119-logo{
  width:min(330px,64vw);
  max-width:100%;
  height:auto;
  display:block;
  opacity:0;
  transform:translateY(-10px) scale(.97);
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-logo{
  animation:pt119LogoIn .34s cubic-bezier(.22,.8,.22,1) forwards;
}
#poliutech-intro.poliutech-intro-v119 .pt119-world{
  position:relative;
  width:min(58vw,360px);
  aspect-ratio:1;
  opacity:0;
  transform:translateY(6px) scale(.94);
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-world{
  animation:pt119WorldIn .38s cubic-bezier(.22,.8,.22,1) .14s forwards;
}
#poliutech-intro.poliutech-intro-v119 .pt119-world-glow{
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(100,195,247,.22) 0%, rgba(47,139,226,.10) 40%, transparent 72%);
  filter:blur(14px);
  transform:scale(1.16);
}
#poliutech-intro.poliutech-intro-v119 .pt119-world-img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.26));
}
#poliutech-intro.poliutech-intro-v119 .pt119-coat-sweep{
  position:absolute;
  z-index:3;
  inset:7%;
  border-radius:50%;
  overflow:hidden;
  pointer-events:none;
  opacity:.0;
}
#poliutech-intro.poliutech-intro-v119 .pt119-coat-sweep::before{
  content:"";
  position:absolute;
  top:-20%; bottom:-20%;
  width:38%;
  left:-48%;
  transform:skewX(-16deg);
  background:linear-gradient(90deg,
    rgba(57,147,230,0) 0%,
    rgba(84,206,233,.34) 22%,
    rgba(79,164,235,.62) 50%,
    rgba(84,206,233,.34) 78%,
    rgba(57,147,230,0) 100%);
  filter:blur(2px);
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-coat-sweep{
  opacity:1;
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-coat-sweep::before{
  animation:pt119CoatSweep .92s cubic-bezier(.58,.08,.22,.98) .50s forwards;
}
#poliutech-intro.poliutech-intro-v119 .pt119-orbit{
  position:absolute;
  z-index:4;
  left:50%; top:50%;
  border-radius:50%;
  border-style:solid;
  pointer-events:none;
  opacity:0;
}
#poliutech-intro.poliutech-intro-v119 .pt119-orbit-a{
  width:108%; height:52%;
  transform:translate(-50%,-50%) rotate(18deg);
  border-width:4px;
  border-color:rgba(135,232,234,.80);
}
#poliutech-intro.poliutech-intro-v119 .pt119-orbit-b{
  width:116%; height:64%;
  transform:translate(-50%,-50%) rotate(-24deg);
  border-width:2px;
  border-color:rgba(54,141,226,.62);
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-orbit-a{
  animation:pt119OrbitA .82s ease .48s forwards;
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-orbit-b{
  animation:pt119OrbitB .96s ease .56s forwards;
}
#poliutech-intro.poliutech-intro-v119 .pt119-slogan{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin-top:4px;
  opacity:0;
  transform:translateY(8px);
  text-align:center;
}
#poliutech-intro.poliutech-intro-v119 .pt119-slogan span{
  color:rgba(255,255,255,.80);
  font:700 13px/1 'Montserrat',Arial,sans-serif;
  letter-spacing:.38em;
  padding-left:.38em;
}
#poliutech-intro.poliutech-intro-v119 .pt119-slogan strong{
  color:#fff;
  font:800 clamp(32px,5vw,50px)/1 'Montserrat',Arial,sans-serif;
  letter-spacing:.08em;
  padding-left:.08em;
  text-shadow:0 10px 22px rgba(0,0,0,.20);
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-slogan{
  animation:pt119SloganIn .34s cubic-bezier(.2,.8,.22,1) 1.42s forwards;
}
@keyframes pt119LogoIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pt119WorldIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pt119CoatSweep{0%{left:-48%}100%{left:112%}}
@keyframes pt119OrbitA{0%{opacity:0;transform:translate(-50%,-50%) rotate(-20deg) scale(.88)}45%{opacity:.95}100%{opacity:.62;transform:translate(-50%,-50%) rotate(18deg) scale(1)}}
@keyframes pt119OrbitB{0%{opacity:0;transform:translate(-50%,-50%) rotate(10deg) scale(.90)}50%{opacity:.75}100%{opacity:.42;transform:translate(-50%,-50%) rotate(-24deg) scale(1)}}
@keyframes pt119SloganIn{to{opacity:1;transform:translateY(0)}}
@media (max-height:760px){
  #poliutech-intro.poliutech-intro-v119 .pt119-stage{padding:14px 16px 24px;gap:12px}
  #poliutech-intro.poliutech-intro-v119 .pt119-logo{width:min(285px,58vw)}
  #poliutech-intro.poliutech-intro-v119 .pt119-world{width:min(45vh,300px)}
  #poliutech-intro.poliutech-intro-v119 .pt119-slogan strong{font-size:clamp(28px,4.4vh,42px)}
}
@media (max-width:767px){
  #poliutech-intro.poliutech-intro-v119 .pt119-stage{padding:18px 16px 32px;gap:13px}
  #poliutech-intro.poliutech-intro-v119 .pt119-logo{width:min(270px,74vw)}
  #poliutech-intro.poliutech-intro-v119 .pt119-world{width:min(70vw,300px)}
  #poliutech-intro.poliutech-intro-v119 .pt119-slogan span{font-size:11px;letter-spacing:.30em;padding-left:.30em}
  #poliutech-intro.poliutech-intro-v119 .pt119-slogan strong{font-size:clamp(28px,8vw,38px)}
}
html.poliutech-intro-active .joinchat,
html.poliutech-intro-active .joinchat--left,
html.poliutech-intro-active .joinchat--right,
html.poliutech-intro-active .joinchat__button,
html.poliutech-intro-active .whatsapp-widget,
html.poliutech-intro-active .whatsapp-btn,
html.poliutech-intro-active .chaty-widget,
html.poliutech-intro-active .grecaptcha-badge{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* === V12.1 Ajustes intro: 5s + fade + pistola aplicadora === */
#poliutech-intro.poliutech-intro-v119{
  opacity:0 !important;
  visibility:hidden !important;
  transition:opacity .42s ease, visibility .42s ease;
}
#poliutech-intro.poliutech-intro-v119.is-running{
  opacity:1 !important;
  visibility:visible !important;
}
#poliutech-intro.poliutech-intro-v119.is-leaving{
  opacity:0 !important;
  visibility:hidden !important;
}
#poliutech-intro.poliutech-intro-v119 .pt119-stage{
  gap:16px;
}
#poliutech-intro.poliutech-intro-v119 .pt119-world{
  overflow:visible;
}
#poliutech-intro.poliutech-intro-v119 .pt119-applicator{
  position:absolute;
  right:-4%;
  top:3%;
  width:48%;
  height:28%;
  z-index:6;
  opacity:0;
  transform:translate(10px,-6px) rotate(-8deg) scale(.94);
  transform-origin:85% 30%;
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-applicator{
  animation:pt121ApplicatorIn .42s cubic-bezier(.22,.8,.22,1) .46s forwards;
}
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-handle{
  position:absolute;
  right:-1%;
  top:4%;
  width:46%;
  height:16%;
  border-radius:20px;
  background:linear-gradient(180deg,#2d8be0 0%, #1d67b6 55%, #0e4d93 100%);
  box-shadow:0 8px 20px rgba(0,0,0,.22);
  transform:rotate(16deg);
}
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-joint{
  position:absolute;
  right:29%;
  top:16%;
  width:18%;
  height:14%;
  border-radius:16px;
  background:linear-gradient(180deg,#e7eef8 0%, #9ab4cf 45%, #6e88a8 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 6px 14px rgba(0,0,0,.18);
  transform:rotate(32deg);
}
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-body{
  position:absolute;
  right:17%;
  top:17%;
  width:28%;
  height:24%;
  border-radius:999px;
  background:linear-gradient(180deg,#2f8de2 0%, #1a63b0 58%, #094986 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.24), 0 10px 16px rgba(0,0,0,.24);
  transform:rotate(18deg);
}
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-nozzle{
  position:absolute;
  right:41%;
  top:27%;
  width:17%;
  height:10%;
  border-radius:999px;
  background:linear-gradient(180deg,#dfe9f6 0%, #98b2ce 45%, #6882a2 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 5px 12px rgba(0,0,0,.22);
  transform:rotate(-8deg);
}
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-spray{
  position:absolute;
  right:50%;
  top:29%;
  width:48%;
  height:34%;
  clip-path:polygon(100% 44%, 0 0, 0 100%);
  background:linear-gradient(90deg, rgba(141,239,245,.42) 0%, rgba(84,174,240,.30) 35%, rgba(84,174,240,0) 100%);
  filter:blur(1px);
  opacity:0;
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-applicator-spray{
  animation:pt121SprayPulse 1.08s ease-in-out .68s 2 forwards;
}
#poliutech-intro.poliutech-intro-v119 .pt119-coat-sweep{
  z-index:5;
}
#poliutech-intro.poliutech-intro-v119 .pt119-coat-sweep::before{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32), 0 0 22px rgba(43,165,241,.24);
}
#poliutech-intro.poliutech-intro-v119 .pt119-slogan{
  opacity:0;
  transform:translateY(10px);
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-slogan{
  animation:pt119SloganIn .38s cubic-bezier(.2,.8,.22,1) 1.65s forwards;
}
@keyframes pt121ApplicatorIn{to{opacity:1;transform:translate(0,0) rotate(-8deg) scale(1)}}
@keyframes pt121SprayPulse{0%{opacity:0;transform:scaleX(.92)}30%{opacity:.92}70%{opacity:.66}100%{opacity:0;transform:scaleX(1.06)}}
@media (max-height:760px){
  #poliutech-intro.poliutech-intro-v119 .pt119-applicator{width:46%; top:1%; right:-2%;}
}
@media (max-width:767px){
  #poliutech-intro.poliutech-intro-v119 .pt119-applicator{width:50%; right:-6%; top:6%;}
  #poliutech-intro.poliutech-intro-v119 .pt119-applicator-spray{width:46%; height:32%;}
}

/* === V12.2 Ajuste final intro: sin pistolita + fade regular === */
#poliutech-intro.poliutech-intro-v119{
  transition:opacity .56s ease, visibility .56s ease !important;
}
#poliutech-intro.poliutech-intro-v119.is-leaving{
  opacity:0 !important;
  visibility:hidden !important;
}
#poliutech-intro.poliutech-intro-v119 .pt119-stage{
  gap:18px;
}
#poliutech-intro.poliutech-intro-v119 .pt119-world{
  overflow:visible;
}
#poliutech-intro.poliutech-intro-v119 .pt119-slogan{
  opacity:0;
  transform:translateY(10px);
}
#poliutech-intro.poliutech-intro-v119.is-running .pt119-slogan{
  animation:pt119SloganIn .38s cubic-bezier(.2,.8,.22,1) 1.55s forwards;
}
/* anular y esconder por completo la aplicadora previa */
#poliutech-intro.poliutech-intro-v119 .pt119-applicator,
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-handle,
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-joint,
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-body,
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-nozzle,
#poliutech-intro.poliutech-intro-v119 .pt119-applicator-spray{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

.specialty-card-link .specialty-media,
.specialty-card-link .specialty-card-body {
  display: block;
  width: 100%;
}

.specialty-card-link .specialty-media {
  flex: 0 0 auto;
  line-height: 0;
  font-size: 0;
  margin: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.specialty-card-link .specialty-card-body {
  flex: 1 1 auto;
}

.specialties-section .specialty-card-shell {
  display: block;
  height: 100%;
  overflow: hidden;
}

.specialties-section .specialty-card-shell .specialty-card-link {
  min-height: 100%;
}

.specialties-section .specialty-card-shell .specialty-media {
  height: 212px !important;
}

@media (max-width: 980px) {
  .specialties-section .specialty-card-shell .specialty-media {
    height: 200px !important;
  }
}


/* === V12.7 Fallback de audio de introducción === */
.poliutech-intro-sound {
  position: absolute;
  left: 50%;
  bottom: clamp(26px, 5vh, 52px);
  z-index: 20;
  transform: translate(-50%, 10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  background: rgba(0,33,83,.88);
  color: #fff;
  font: 700 13px/1 'Montserrat', sans-serif;
  letter-spacing: .01em;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  opacity: 0;
  cursor: pointer;
  transition: opacity .22s ease, transform .22s ease, background .22s ease;
  backdrop-filter: blur(8px);
}

.poliutech-intro-sound[hidden] {
  display: none !important;
}

.poliutech-intro-sound.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.poliutech-intro-sound:hover,
.poliutech-intro-sound:focus-visible {
  background: rgba(0,54,126,.96);
  outline: none;
}

.poliutech-intro-sound-icon {
  font-size: 16px;
  line-height: 1;
}

/* === V12.8 Fabricantes separados en carrusel full width === */
.manufacturers-carousel-section > .container.manufacturers-carousel-container {
  width: min(1700px, calc(100% - 28px)) !important;
}

.manufacturer-carousel-heading {
  max-width: 920px;
  margin: 0 auto 34px;
  text-align: center;
}

.manufacturer-carousel-heading h2 {
  color: var(--blue);
  font: 800 clamp(32px, 4vw, 52px)/1.08 'Montserrat';
  margin: 0 0 14px;
}

.manufacturer-carousel-heading p:last-child {
  margin: 0 auto;
  max-width: 860px;
  font-size: 17px;
}

.manufacturer-carousel-shell {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 8px 0 2px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
}

.manufacturer-carousel-track {
  display: flex;
  align-items: stretch;
  width: max-content;
  gap: 18px;
  animation: poliutechManufacturerScroll 42s linear infinite;
  will-change: transform;
}

.manufacturer-carousel-shell:hover .manufacturer-carousel-track {
  animation-play-state: paused;
}

.manufacturer-slide {
  flex: 0 0 auto;
  width: 230px;
}

.manufacturer-slide-card {
  min-height: 152px;
  height: 100%;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 24px;
  box-shadow: var(--soft-shadow);
  padding: 20px 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.manufacturer-slide-card img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 86px;
  object-fit: contain;
  transition: transform .25s ease;
}

.manufacturer-slide-card:hover img {
  transform: scale(1.03);
}

.standards-section {
  padding-top: 24px;
}

.standards-layout {
  align-items: start;
}

.standards-logo-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@keyframes poliutechManufacturerScroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 9px)); }
}

@media (max-width: 1200px) {
  .manufacturer-slide {
    width: 210px;
  }

  .manufacturer-slide-card {
    min-height: 144px;
  }

  .manufacturer-slide-card img {
    max-height: 78px;
  }

  .standards-logo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .manufacturers-carousel-section > .container.manufacturers-carousel-container {
    width: min(100%, calc(100% - 20px)) !important;
  }

  .manufacturer-carousel-heading {
    margin-bottom: 26px;
  }

  .manufacturer-carousel-track {
    gap: 14px;
    animation-duration: 34s;
  }

  .manufacturer-slide {
    width: 170px;
  }

  .manufacturer-slide-card {
    min-height: 122px;
    border-radius: 20px;
    padding: 16px 18px;
  }

  .manufacturer-slide-card img {
    max-height: 62px;
  }

  .standards-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .manufacturer-carousel-heading p:last-child {
    font-size: 15px;
  }

  .manufacturer-carousel-track {
    animation-duration: 30s;
  }

  .manufacturer-slide {
    width: 146px;
  }

  .manufacturer-slide-card {
    min-height: 108px;
    padding: 14px 16px;
  }

  .manufacturer-slide-card img {
    max-height: 52px;
  }

  .standards-logo-grid {
    grid-template-columns: 1fr;
  }
}

/* === V13.0 Certificaciones inspiradas en diapositiva corporativa === */
.certifications-showcase-section {
  position: relative;
  padding: 96px 0 104px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.certifications-showcase-section::after {
  content: "";
  position: absolute;
  inset: auto 0 0 auto;
  width: min(34vw, 420px);
  height: min(48vw, 640px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.92)),
    url('../img/site/industry-bg/industria.svg') center bottom/contain no-repeat;
  opacity: .1;
  pointer-events: none;
}

.cert-showcase-container {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - 32px)) !important;
}

.cert-showcase-header {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) 1px minmax(0, .9fr);
  gap: 28px;
  align-items: center;
  margin-bottom: 40px;
}

.cert-brand-block {
  display: flex;
  align-items: center;
  gap: 20px;
}

.cert-brand-block img {
  width: min(420px, 100%);
  height: auto;
  display: block;
}

.cert-brand-block p {
  display: none;
}

.cert-showcase-divider {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(180deg, rgba(13,62,128,.05), rgba(13,62,128,.28), rgba(13,62,128,.05));
}

.cert-heading-block .eyebrow {
  margin-bottom: 12px;
}

.cert-heading-block h2 {
  margin: 0;
  color: var(--blue);
  font: 800 clamp(28px, 3.2vw, 48px)/1.08 'Montserrat';
  text-transform: uppercase;
}

.cert-hero-copy {
  max-width: 1120px;
  margin: 0 auto 38px;
}

.cert-hero-kicker {
  margin: 0 0 8px;
  color: #4b5563;
  font: 700 clamp(18px, 2vw, 28px)/1.2 'Montserrat';
  letter-spacing: .02em;
}

.cert-hero-copy h3 {
  margin: 0;
  color: var(--blue);
  font: 800 clamp(38px, 6vw, 78px)/.98 'Montserrat';
  text-transform: uppercase;
}

.cert-hero-ribbon {
  display: inline-flex;
  margin-top: 18px;
  padding: 14px 24px;
  background: linear-gradient(90deg, #0b3a7a 0%, #0d4ea6 100%);
  color: #fff;
  border-radius: 14px;
  box-shadow: 0 16px 36px rgba(13, 78, 166, .18);
  font: 800 clamp(15px, 1.6vw, 24px)/1.1 'Montserrat';
  text-transform: uppercase;
}

.cert-callout-panel,
.cert-bottom-panel {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 26px 28px;
  border-radius: 22px;
  background: linear-gradient(135deg, #0b3470 0%, #0e4ea5 100%);
  color: #fff;
  box-shadow: 0 20px 44px rgba(12, 60, 120, .18);
}

.cert-callout-panel {
  margin: 0 auto 44px;
  max-width: 1100px;
}

.cert-bottom-panel {
  margin-top: 40px;
}

.cert-callout-panel svg,
.cert-bottom-panel svg {
  width: 64px;
  height: 64px;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cert-callout-panel p,
.cert-bottom-panel p {
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
}

.cert-callout-panel strong,
.cert-bottom-panel strong {
  color: #67d5ff;
}

.cert-org-title {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: center;
  margin-bottom: 28px;
}

.cert-org-title span {
  width: 132px;
  height: 2px;
  background: linear-gradient(90deg, rgba(13,62,128,.15), rgba(13,62,128,.65), rgba(13,62,128,.15));
}

.cert-org-title h4 {
  margin: 0;
  color: var(--blue);
  font: 800 clamp(22px, 2.5vw, 36px)/1.1 'Montserrat';
  text-transform: uppercase;
}

.cert-org-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #dce5ef;
  border-left: 1px solid #dce5ef;
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(1px);
}

.cert-org-card {
  min-height: 320px;
  padding: 32px 28px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid #dce5ef;
  border-bottom: 1px solid #dce5ef;
}

.cert-org-logo-wrap {
  width: 100%;
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.cert-org-logo-wrap img {
  display: block;
  max-width: min(280px, 86%);
  max-height: 92px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.cert-org-copy h5 {
  margin: 0 0 10px;
  color: var(--blue);
  font: 800 clamp(24px, 2.1vw, 34px)/1.08 'Montserrat';
}

.cert-org-copy p {
  margin: 0;
  color: var(--blue);
  font: 700 clamp(18px, 1.6vw, 28px)/1.25 'Montserrat';
}

.cert-benefit-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 34px;
  border-top: 1px solid #dce5ef;
  border-bottom: 1px solid #dce5ef;
}

.cert-benefit-item {
  padding: 20px 16px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  min-height: 144px;
  border-right: 1px solid #dce5ef;
}

.cert-benefit-item:last-child {
  border-right: 0;
}

.cert-benefit-icon {
  color: var(--blue);
}

.cert-benefit-icon svg {
  width: 48px;
  height: 48px;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cert-benefit-item strong {
  color: var(--blue);
  font: 800 18px/1.2 'Montserrat';
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .cert-showcase-header {
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: center;
  }

  .cert-brand-block {
    justify-content: center;
  }

  .cert-showcase-divider {
    display: none;
  }

  .cert-org-card {
    min-height: 290px;
  }

  .cert-benefit-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .certifications-showcase-section {
    padding: 74px 0 82px;
  }

  .cert-showcase-container {
    width: min(100%, calc(100% - 22px)) !important;
  }

  .cert-hero-ribbon {
    padding: 12px 16px;
  }

  .cert-callout-panel,
  .cert-bottom-panel {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 14px;
    padding: 24px 20px;
  }

  .cert-callout-icon,
  .cert-bottom-icon {
    display: flex;
    justify-content: center;
  }

  .cert-org-title span {
    width: 54px;
  }

  .cert-org-grid {
    grid-template-columns: 1fr;
  }

  .cert-org-card {
    min-height: 250px;
  }

  .cert-org-copy h5 {
    font-size: 28px;
  }

  .cert-org-copy p {
    font-size: 19px;
  }

  .cert-benefit-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .cert-brand-block img {
    width: min(320px, 100%);
  }

  .cert-hero-copy h3 {
    font-size: 42px;
  }

  .cert-org-title {
    gap: 10px;
  }

  .cert-org-title span {
    width: 26px;
  }

  .cert-org-card {
    padding: 24px 18px;
  }

  .cert-benefit-row {
    grid-template-columns: 1fr;
  }

  .cert-benefit-item {
    min-height: 124px;
  }
}

/* === V13.1 Certificaciones interactivas === */
.certifications-interactive-section {
  position: relative;
  padding: 92px 0 104px;
  background:
    radial-gradient(circle at 15% 15%, rgba(20,120,255,.08), transparent 26%),
    radial-gradient(circle at 85% 18%, rgba(0,192,255,.08), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 38%, #f7fbff 100%);
}

.cert-interactive-container {
  width: min(1320px, calc(100% - 34px)) !important;
}

.cert-interactive-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 26px;
  align-items: stretch;
  margin-bottom: 34px;
}

.cert-interactive-copy h2 {
  margin: 0 0 14px;
  color: var(--blue);
  font: 800 clamp(34px, 4vw, 58px)/1.06 'Montserrat';
}

.cert-interactive-copy p:last-child {
  margin: 0;
  font-size: 17px;
  max-width: 820px;
}

.cert-interactive-kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.cert-kpi-card {
  min-height: 148px;
  padding: 24px 18px;
  border-radius: 26px;
  background: linear-gradient(180deg, #0b3a7a 0%, #0f4f9f 100%);
  color: #fff;
  box-shadow: 0 18px 40px rgba(12, 60, 120, .16);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cert-kpi-card strong {
  display: block;
  margin-bottom: 10px;
  font: 800 clamp(24px, 2.8vw, 42px)/1 'Montserrat';
}

.cert-kpi-card span {
  font: 600 15px/1.35 'Montserrat';
  opacity: .94;
}

.cert-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.cert-card {
  position: relative;
  overflow: hidden;
  min-height: 290px;
  padding: 24px 24px 22px;
  border: 1px solid #d9e5f2;
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 40px rgba(10, 38, 80, .08);
  text-align: left;
  cursor: pointer;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.cert-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 56px rgba(10, 38, 80, .15);
  border-color: rgba(18,86,173,.28);
}

.cert-card:focus-visible {
  outline: 3px solid rgba(12,60,120,.18);
  outline-offset: 2px;
}

.cert-card-glow {
  position: absolute;
  top: -80px;
  right: -70px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,190,255,.18) 0%, rgba(0,190,255,0) 68%);
  pointer-events: none;
}

.cert-card-topline {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--blue);
  font: 800 12px/1 'Montserrat';
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cert-card-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  margin: 18px 0 8px;
}

.cert-card-logo img {
  display: block;
  max-width: 86%;
  max-height: 88px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.cert-card-body {
  display: block;
}

.cert-card-body strong {
  display: block;
  color: var(--blue);
  font: 800 26px/1.08 'Montserrat';
}

.cert-card-body small {
  display: block;
  margin-top: 8px;
  color: #526071;
  font: 600 15px/1.35 'Montserrat';
}

.cert-card-action {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  color: var(--blue);
  font: 800 14px/1 'Montserrat';
  letter-spacing: .02em;
}

.cert-card-action::after {
  content: '→';
  margin-left: 8px;
  transition: transform .2s ease;
}

.cert-card:hover .cert-card-action::after {
  transform: translateX(3px);
}

.cert-accent-1::before,
.cert-accent-2::before,
.cert-accent-3::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
}

.cert-accent-1::before { background: linear-gradient(180deg, #0a4fb0, #48ccff); }
.cert-accent-2::before { background: linear-gradient(180deg, #08a3df, #00d2b8); }
.cert-accent-3::before { background: linear-gradient(180deg, #183a8d, #7b8cff); }

.cert-benefit-band {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 34px;
}

.cert-benefit-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 136px;
  padding: 18px 14px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #d9e5f2;
  text-align: center;
  box-shadow: 0 14px 34px rgba(10, 38, 80, .06);
}

.cert-benefit-chip span {
  color: var(--blue);
}

.cert-benefit-chip svg {
  width: 42px;
  height: 42px;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cert-benefit-chip strong {
  color: var(--blue);
  font: 800 16px/1.2 'Montserrat';
  text-transform: uppercase;
}

.cert-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.cert-modal.is-open {
  display: flex;
}

.cert-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 24, 48, .68);
  backdrop-filter: blur(5px);
}

.cert-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  max-height: min(90vh, 900px);
  overflow: auto;
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 36px 90px rgba(0,0,0,.3);
}

.cert-modal-visual {
  padding: 38px;
  background: linear-gradient(180deg, #f4f9ff 0%, #eef5fd 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cert-modal-logo-shell {
  width: 100%;
  min-height: 320px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #dbe7f1;
  box-shadow: 0 20px 44px rgba(12,60,120,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
}

.cert-modal-logo-shell img {
  max-width: 100%;
  max-height: 220px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.cert-modal-content {
  padding: 42px;
}

.cert-modal-content h3 {
  margin: 0;
  color: var(--blue);
  font: 800 clamp(30px, 4vw, 48px)/1.05 'Montserrat';
}

.cert-modal-subtitle {
  margin: 12px 0 16px;
  color: #0d4ea6;
  font: 800 18px/1.3 'Montserrat';
}

.cert-modal-content > p:last-of-type {
  margin-bottom: 0;
}

.cert-modal-list-wrap {
  margin-top: 22px;
  padding: 18px 18px 18px 20px;
  background: #f7fafe;
  border: 1px solid #dbe7f1;
  border-radius: 18px;
}

.cert-modal-list-wrap h4 {
  margin: 0 0 10px;
  color: var(--blue);
  font: 800 15px/1 'Montserrat';
  text-transform: uppercase;
}

.cert-modal-list-wrap ul { margin: 0; padding-left: 18px; }
.cert-modal-list-wrap li { margin: 7px 0; }

.cert-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.cert-modal-nav,
.cert-modal-close {
  position: absolute;
  z-index: 3;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(12,60,120,.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cert-modal-nav svg { width: 22px; height: 22px; }
.cert-modal-prev { top: 50%; left: 18px; transform: translateY(-50%); }
.cert-modal-next { top: 50%; right: 18px; transform: translateY(-50%); }
.cert-modal-close { top: 16px; right: 16px; font-size: 30px; line-height: 1; }

@media (max-width: 1180px) {
  .cert-interactive-head { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .cert-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert-benefit-band { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cert-modal-dialog { grid-template-columns: 1fr; }
  .cert-modal-visual { padding: 30px 58px; }
}

@media (max-width: 760px) {
  .certifications-interactive-section { padding: 72px 0 82px; }
  .cert-interactive-container { width: min(100%, calc(100% - 20px)) !important; }
  .cert-interactive-kpis { grid-template-columns: 1fr; }
  .cert-card-grid { grid-template-columns: 1fr; }
  .cert-benefit-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert-modal { padding: 12px; }
  .cert-modal-content { padding: 28px; }
  .cert-modal-nav,
  .cert-modal-close { width: 46px; height: 46px; }
  .cert-modal-prev { left: 10px; }
  .cert-modal-next { right: 10px; }
}

@media (max-width: 520px) {
  .cert-benefit-band { grid-template-columns: 1fr; }
  .cert-modal-visual { padding: 22px 48px; }
  .cert-modal-logo-shell { min-height: 240px; padding: 24px; }
  .cert-card-body strong { font-size: 22px; }
}

/* === V13.2 Ajuste visual certificaciones: logos completos + resumen sutil === */
.certifications-interactive-section .cert-interactive-head {
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}

.certifications-interactive-section .cert-interactive-copy {
  max-width: 940px;
}

.certifications-interactive-section .cert-interactive-kpis {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px !important;
  max-width: 940px;
}

.certifications-interactive-section .cert-kpi-card {
  min-height: 0 !important;
  flex: 1 1 220px;
  padding: 14px 18px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--blue) !important;
  border: 1px solid #d9e5f2;
  box-shadow: 0 10px 28px rgba(10,38,80,.06) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10px;
}

.certifications-interactive-section .cert-kpi-card strong {
  margin: 0 !important;
  font: 800 22px/1 'Montserrat' !important;
  white-space: nowrap;
}

.certifications-interactive-section .cert-kpi-card span {
  font: 600 14px/1.3 'Montserrat' !important;
  color: #5b6776;
  opacity: 1 !important;
}

.certifications-interactive-section .cert-card {
  min-height: 320px;
}

.certifications-interactive-section .cert-card-logo {
  min-height: 150px !important;
  padding: 14px 10px 8px;
  margin: 12px 0 6px !important;
  overflow: visible;
}

.certifications-interactive-section .cert-card-logo img {
  max-width: 92% !important;
  max-height: 112px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 760px) {
  .certifications-interactive-section .cert-interactive-kpis {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .certifications-interactive-section .cert-kpi-card {
    flex: none;
  }
}

/* === V13.3 Cabecera de certificaciones con ilustración lateral === */
.certifications-interactive-section .cert-interactive-head {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 480px) !important;
  align-items: center !important;
  gap: 26px 34px !important;
}

.certifications-interactive-section .cert-interactive-copy {
  max-width: 820px !important;
}

.certifications-interactive-section .cert-interactive-visual {
  position: relative;
  min-height: 360px;
  padding: 22px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 30% 20%, rgba(41,154,255,.14), transparent 28%),
    radial-gradient(circle at 75% 72%, rgba(27,214,185,.14), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(245,249,255,.96) 100%);
  border: 1px solid rgba(198,219,241,.9);
  box-shadow: 0 20px 50px rgba(12,60,120,.10);
  overflow: hidden;
}

.certifications-interactive-section .cert-interactive-visual::before {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 24px;
  border: 1px dashed rgba(21,87,176,.16);
}

.cert-visual-core {
  position: relative;
  width: 100%;
  min-height: 250px;
}

.cert-visual-shield {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -56%);
  width: 124px;
  height: 124px;
  border-radius: 32px;
  background: linear-gradient(180deg, #0c4ba0 0%, #0c3c80 100%);
  box-shadow: 0 18px 40px rgba(12,60,120,.24);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cert-visual-shield svg {
  width: 72px;
  height: 72px;
  display: block;
  stroke: #fff;
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cert-visual-ring {
  position: absolute;
  left: 50%;
  top: 48%;
  border-radius: 50%;
  border: 1px solid rgba(13,78,166,.18);
  transform: translate(-50%, -50%);
}

.cert-visual-ring-a {
  width: 280px;
  height: 280px;
}

.cert-visual-ring-b {
  width: 210px;
  height: 210px;
  border-style: dashed;
}

.cert-visual-badge {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #d8e5f2;
  color: var(--blue);
  box-shadow: 0 12px 26px rgba(10,38,80,.08);
}

.cert-visual-badge span {
  font: 800 13px/1 'Montserrat';
  letter-spacing: .04em;
}

.cert-badge-1 { top: 18px; left: 58%; }
.cert-badge-2 { top: 110px; left: 11%; }
.cert-badge-3 { bottom: 28px; left: 20%; }
.cert-badge-4 { right: 12%; bottom: 78px; }

.cert-visual-dot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #1bc9ff 0%, #0b4ea2 100%);
  box-shadow: 0 0 0 6px rgba(27,201,255,.12);
}

.cert-dot-1 { top: 52px; left: 28%; }
.cert-dot-2 { right: 22%; top: 148px; }
.cert-dot-3 { left: 48%; bottom: 20px; }

.cert-visual-caption {
  position: relative;
  z-index: 1;
  margin-top: 250px;
  padding: 14px 8px 0;
  text-align: center;
}

.cert-visual-caption strong {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font: 800 18px/1.2 'Montserrat';
}

.cert-visual-caption span {
  display: block;
  color: #5c6878;
  font: 500 14px/1.45 'Montserrat';
}

.certifications-interactive-section .cert-interactive-kpis {
  grid-column: 1 / -1;
  max-width: none !important;
}

.certifications-interactive-section .cert-kpi-card {
  border-radius: 20px !important;
  padding: 16px 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(249,252,255,.98) 100%) !important;
}

@media (max-width: 1100px) {
  .certifications-interactive-section .cert-interactive-head {
    grid-template-columns: 1fr !important;
  }

  .certifications-interactive-section .cert-interactive-visual {
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 760px) {
  .certifications-interactive-section .cert-interactive-visual {
    min-height: 320px;
    padding: 18px;
    border-radius: 26px;
  }

  .cert-visual-ring-a { width: 230px; height: 230px; }
  .cert-visual-ring-b { width: 176px; height: 176px; }
  .cert-visual-shield { width: 108px; height: 108px; }
  .cert-visual-shield svg { width: 62px; height: 62px; }
  .cert-visual-badge { min-width: 80px; padding: 9px 12px; }
  .cert-visual-badge span { font-size: 12px; }
  .cert-badge-1 { top: 14px; left: 55%; }
  .cert-badge-2 { top: 95px; left: 6%; }
  .cert-badge-3 { bottom: 22px; left: 13%; }
  .cert-badge-4 { right: 6%; bottom: 70px; }
  .cert-visual-caption { margin-top: 220px; }
}

@media (max-width: 520px) {
  .certifications-interactive-section .cert-interactive-visual {
    min-height: 300px;
  }

  .cert-visual-ring-a { width: 200px; height: 200px; }
  .cert-visual-ring-b { width: 154px; height: 154px; }
  .cert-visual-shield { width: 92px; height: 92px; }
  .cert-visual-badge { min-width: 70px; padding: 8px 10px; }
  .cert-visual-caption { margin-top: 205px; padding-inline: 0; }
}

/* === V13.4 Rebalance de ilustración en certificaciones === */
.certifications-interactive-section .cert-interactive-head {
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 430px) !important;
  align-items: start !important;
  gap: 28px 32px !important;
}

.certifications-interactive-section .cert-interactive-copy {
  max-width: 860px !important;
}

.certifications-interactive-section .cert-interactive-visual {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 318px !important;
  padding: 18px 18px 16px !important;
  border-radius: 28px !important;
}

.certifications-interactive-section .cert-interactive-visual::before {
  inset: 10px !important;
  border-radius: 22px !important;
}

.cert-visual-core {
  flex: 1 1 auto;
  min-height: 205px !important;
}

.cert-visual-shield {
  width: 112px !important;
  height: 112px !important;
  border-radius: 28px !important;
  top: 49% !important;
  transform: translate(-50%, -50%) !important;
}

.cert-visual-shield svg {
  width: 64px !important;
  height: 64px !important;
}

.cert-visual-ring-a {
  width: 236px !important;
  height: 236px !important;
}

.cert-visual-ring-b {
  width: 176px !important;
  height: 176px !important;
}

.cert-visual-badge {
  min-width: 88px !important;
  padding: 9px 12px !important;
}

.cert-visual-badge span {
  font-size: 12px !important;
}

.cert-badge-1 { top: 8px !important; left: 60% !important; }
.cert-badge-2 { top: 86px !important; left: 8% !important; }
.cert-badge-3 { bottom: 22px !important; left: 18% !important; }
.cert-badge-4 { right: 7% !important; bottom: 74px !important; }

.cert-dot-1 { top: 42px !important; left: 31% !important; }
.cert-dot-2 { right: 20% !important; top: 124px !important; }
.cert-dot-3 { left: 49% !important; bottom: 16px !important; }

.cert-visual-caption {
  margin-top: 0 !important;
  padding: 14px 8px 2px !important;
  border-top: 1px solid rgba(13,78,166,.10);
}

.cert-visual-caption strong {
  font-size: 17px !important;
}

.cert-visual-caption span {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.certifications-interactive-section .cert-interactive-kpis {
  margin-top: 2px;
}

@media (max-width: 1100px) {
  .certifications-interactive-section .cert-interactive-head {
    grid-template-columns: 1fr !important;
  }

  .certifications-interactive-section .cert-interactive-visual {
    max-width: 500px !important;
    min-height: 300px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 760px) {
  .certifications-interactive-section .cert-interactive-visual {
    min-height: 286px !important;
    padding: 16px !important;
  }

  .cert-visual-core {
    min-height: 190px !important;
  }

  .cert-visual-ring-a { width: 208px !important; height: 208px !important; }
  .cert-visual-ring-b { width: 156px !important; height: 156px !important; }
  .cert-visual-shield { width: 96px !important; height: 96px !important; }
  .cert-visual-shield svg { width: 56px !important; height: 56px !important; }
  .cert-visual-caption { padding-top: 12px !important; }
}

/* === V13.5 Menú premium desktop: iconos y textos más grandes, menos espacio muerto === */
@media (min-width: 1181px) {
  .site-header.site-header-premium .premium-nav-wrap {
    padding: 10px 0 14px !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    min-height: 104px !important;
    grid-template-columns: 190px minmax(0, 1fr) 380px !important;
    gap: 12px !important;
    padding: 14px 18px !important;
    border-radius: 24px !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 164px !important;
    max-width: 164px !important;
    max-height: 94px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    justify-content: center !important;
    gap: 8px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li {
    flex: 0 1 auto !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-width: 102px !important;
    min-height: 88px !important;
    padding: 8px 6px 8px !important;
    border-radius: 16px !important;
  }

  .site-header.site-header-premium .graphic-nav-link::before {
    top: 8px !important;
    width: 11px !important;
    height: 11px !important;
    box-shadow: 0 0 0 7px rgba(41,196,163,.11), 0 0 18px rgba(29,111,209,.26) !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 34px !important;
    height: 34px !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 28px !important;
    height: 28px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: clamp(10px, .78vw, 13px) !important;
    line-height: 1.08 !important;
    letter-spacing: .01em !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron {
    width: 12px !important;
    height: 12px !important;
    margin-top: 5px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron svg {
    width: 12px !important;
    height: 12px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link {
    transform: translateY(-1px) !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 48px !important;
    height: 48px !important;
    margin-top: 9px !important;
    margin-bottom: 9px !important;
    border-radius: 15px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    padding-left: 12px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    max-width: 184px !important;
    min-height: 54px !important;
    font-size: 13px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1380px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 176px minmax(0, 1fr) 344px !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 152px !important;
    max-width: 152px !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-width: 92px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 12px !important;
  }
}

/* === V13.6 Reajuste fino del menú premium desktop === */
@media (min-width: 1181px) {
  .site-header.site-header-premium .premium-nav-wrap {
    padding: 12px 0 15px !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    min-height: 102px !important;
    grid-template-columns: 172px minmax(0, 1fr) 326px !important;
    gap: 12px !important;
    padding: 14px 18px !important;
    border-radius: 24px !important;
    align-items: center !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 150px !important;
    max-width: 150px !important;
    max-height: 86px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium {
    width: 100% !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    gap: 4px !important;
    justify-content: space-between !important;
    align-items: stretch !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li {
    flex: 1 1 0 !important;
    max-width: 108px !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 84px !important;
    padding: 8px 4px 8px !important;
    border-radius: 16px !important;
    background: transparent !important;
  }

  .site-header.site-header-premium .graphic-nav-link::before {
    top: 8px !important;
    width: 10px !important;
    height: 10px !important;
    box-shadow: 0 0 0 6px rgba(41,196,163,.10), 0 0 16px rgba(29,111,209,.24) !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 34px !important;
    height: 34px !important;
    margin-top: 12px !important;
    margin-bottom: 7px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 27px !important;
    height: 27px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 13px !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron {
    width: 12px !important;
    height: 12px !important;
    margin-top: 4px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron svg {
    width: 12px !important;
    height: 12px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link {
    transform: none !important;
    background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.08) 100%) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(6, 33, 76, .14) !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 40px !important;
    height: 40px !important;
    margin-top: 10px !important;
    margin-bottom: 8px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.14) !important;
  }

  .site-header.site-header-premium .graphic-nav-link:hover,
  .site-header.site-header-premium .graphic-nav-link:focus-visible {
    transform: translateY(-2px) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.06) 100%) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 12px 24px rgba(6, 33, 76, .12) !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    width: auto !important;
    flex: 0 0 326px !important;
    padding-left: 12px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    flex: 1 1 0 !important;
    max-width: 158px !important;
    min-height: 50px !important;
    padding: 0 12px !important;
    border-radius: 18px !important;
    font-size: 12.5px !important;
    line-height: 1.15 !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon {
    width: 18px !important;
    height: 18px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1380px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 158px minmax(0, 1fr) 296px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 140px !important;
    max-width: 140px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li {
    max-width: 96px !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-height: 80px !important;
    padding: 8px 3px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 31px !important;
    height: 31px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 25px !important;
    height: 25px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 12px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 36px !important;
    height: 36px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    flex-basis: 296px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    max-width: 143px !important;
    font-size: 11.8px !important;
  }
}

/* === V13.7 Menú premium redistribuido y con iconos realmente más grandes === */
@media (min-width: 1181px) {
  .site-header.site-header-premium .premium-nav-wrap {
    width: min(100% - 12px, 1860px) !important;
    padding: 10px 0 12px !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    min-height: 116px !important;
    grid-template-columns: 180px minmax(0, 1fr) 330px !important;
    gap: 14px !important;
    padding: 14px 18px !important;
    border-radius: 26px !important;
    align-items: center !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 162px !important;
    max-width: 162px !important;
    max-height: 92px !important;
    height: auto !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium {
    width: 100% !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    display: flex !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 92px !important;
    padding: 8px 5px 8px !important;
    border-radius: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background: transparent !important;
    border: 1px solid transparent !important;
  }

  .site-header.site-header-premium .graphic-nav-link::before {
    top: 7px !important;
    width: 12px !important;
    height: 12px !important;
    box-shadow: 0 0 0 7px rgba(41,196,163,.13), 0 0 18px rgba(29,111,209,.26) !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 40px !important;
    height: 40px !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
    border-radius: 14px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 32px !important;
    height: 32px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 14px !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron {
    width: 13px !important;
    height: 13px !important;
    margin-top: 5px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron svg {
    width: 13px !important;
    height: 13px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link {
    background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.08) 100%) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 26px rgba(6, 33, 76, .16) !important;
    transform: translateY(0) !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 46px !important;
    height: 46px !important;
    margin-top: 9px !important;
    margin-bottom: 8px !important;
    background: rgba(255,255,255,.14) !important;
    border-radius: 15px !important;
  }

  .site-header.site-header-premium .graphic-nav-link:hover,
  .site-header.site-header-premium .graphic-nav-link:focus-visible {
    transform: translateY(-2px) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.06) 100%) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    box-shadow: 0 12px 22px rgba(6, 33, 76, .12) !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    flex: 0 0 330px !important;
    width: 330px !important;
    padding-left: 14px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    flex: 1 1 0 !important;
    max-width: 160px !important;
    min-height: 56px !important;
    padding: 0 12px !important;
    border-radius: 18px !important;
    font-size: 12.5px !important;
    line-height: 1.14 !important;
  }
}

@media (min-width: 1181px) and (max-width: 1480px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 170px minmax(0, 1fr) 314px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 154px !important;
    max-width: 154px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    gap: 4px !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-height: 88px !important;
    padding: 8px 3px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 37px !important;
    height: 37px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 30px !important;
    height: 30px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 12.5px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 42px !important;
    height: 42px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    width: 314px !important;
    flex-basis: 314px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    max-width: 152px !important;
    font-size: 12px !important;
  }
}

/* === V13.8 Menú desktop proporcional: logo más grande, iconos más grandes y CTA mejor acomodados === */
@media (min-width: 1181px) {
  .site-header.site-header-premium .premium-nav-wrap {
    width: min(100% - 10px, 1880px) !important;
    padding: 10px 0 14px !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    min-height: 122px !important;
    grid-template-columns: 196px minmax(0, 1fr) 362px !important;
    gap: 14px !important;
    padding: 16px 20px !important;
    border-radius: 28px !important;
  }

  .site-header.site-header-premium .brand.brand-premium {
    padding-right: 20px !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 176px !important;
    max-width: 176px !important;
    max-height: 100px !important;
    height: auto !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    gap: 6px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li {
    flex: 1 1 0 !important;
    max-width: none !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-height: 98px !important;
    padding: 9px 6px 9px !important;
    border-radius: 18px !important;
  }

  .site-header.site-header-premium .graphic-nav-link::before {
    top: 7px !important;
    width: 12px !important;
    height: 12px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 44px !important;
    height: 44px !important;
    margin-top: 13px !important;
    margin-bottom: 8px !important;
    border-radius: 15px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 34px !important;
    height: 34px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 14px !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron {
    width: 13px !important;
    height: 13px !important;
    margin-top: 5px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-chevron svg {
    width: 13px !important;
    height: 13px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 50px !important;
    height: 50px !important;
    margin-top: 10px !important;
    margin-bottom: 8px !important;
    border-radius: 16px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    flex: 0 0 362px !important;
    width: 362px !important;
    padding-left: 16px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    flex: 1 1 0 !important;
    max-width: 175px !important;
    min-height: 60px !important;
    padding: 0 14px !important;
    border-radius: 20px !important;
    font-size: 13.5px !important;
    line-height: 1.12 !important;
    gap: 9px !important;
    white-space: nowrap !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium {
    background: rgba(255,255,255,.06) !important;
    border: 2px solid rgba(255,255,255,.82) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(6, 33, 76, .12) !important;
  }

  .site-header.site-header-premium .header-cta.header-cta-premium {
    background: linear-gradient(180deg, #2d6fd3 0%, #1f5dbd 100%) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    color: #ffffff !important;
    box-shadow: 0 16px 30px rgba(21,82,170,.24) !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon,
  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg {
    width: 19px !important;
    height: 19px !important;
    flex: 0 0 19px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1480px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 184px minmax(0, 1fr) 334px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .brand.brand-premium img {
    width: 166px !important;
    max-width: 166px !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-height: 92px !important;
    padding: 9px 3px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 40px !important;
    height: 40px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 31px !important;
    height: 31px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-label {
    font-size: 13px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 46px !important;
    height: 46px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    flex-basis: 334px !important;
    width: 334px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    max-width: 161px !important;
    min-height: 58px !important;
    font-size: 12.5px !important;
  }
}

/* === V13.9 Menú desktop: CTA más a la derecha y mayor ancho para navegación === */
@media (min-width: 1181px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 196px minmax(0, 1fr) 314px !important;
    gap: 12px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium {
    padding-right: 6px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    gap: 8px !important;
  }

  .site-header.site-header-premium .graphic-nav-link {
    min-height: 98px !important;
    padding: 9px 4px 9px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 46px !important;
    height: 46px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 36px !important;
    height: 36px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium li.is-active .graphic-nav-link .nav-icon {
    width: 52px !important;
    height: 52px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    justify-self: end !important;
    justify-content: flex-end !important;
    flex: 0 0 314px !important;
    width: 314px !important;
    padding-left: 10px !important;
    gap: 8px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    max-width: 153px !important;
    min-height: 60px !important;
    padding: 0 12px !important;
    font-size: 12.5px !important;
    gap: 8px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1480px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 184px minmax(0, 1fr) 292px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    flex-basis: 292px !important;
    width: 292px !important;
    gap: 8px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    max-width: 142px !important;
    min-height: 58px !important;
    font-size: 11.8px !important;
    padding: 0 10px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium ul {
    gap: 6px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon {
    width: 43px !important;
    height: 43px !important;
  }

  .site-header.site-header-premium .graphic-nav-link .nav-icon svg {
    width: 33px !important;
    height: 33px !important;
  }
}

/* === V14.0 Divisor pegado a CTAs y espacio liberado para el menú === */
@media (min-width: 1181px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 196px minmax(0, 1fr) 258px !important;
    gap: 10px !important;
  }

  .site-header.site-header-premium .main-nav.main-nav-premium {
    padding-right: 0 !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    box-sizing: border-box !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    width: 258px !important;
    min-width: 258px !important;
    flex: 0 0 258px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0 0 0 12px !important;
    margin: 0 !important;
    border-left: 1px solid rgba(255,255,255,.18) !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 58px !important;
    flex: 0 0 58px !important;
    padding: 0 16px !important;
    border-radius: 19px !important;
    font-size: 13.5px !important;
    line-height: 1.1 !important;
    gap: 10px !important;
    white-space: nowrap !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon,
  .site-header.site-header-premium .store-cta.store-cta-premium .cta-icon svg,
  .site-header.site-header-premium .header-cta.header-cta-premium .cta-icon svg {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1480px) {
  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 184px minmax(0, 1fr) 240px !important;
    gap: 8px !important;
  }

  .site-header.site-header-premium .header-actions.header-actions-premium {
    width: 240px !important;
    min-width: 240px !important;
    flex-basis: 240px !important;
    padding-left: 10px !important;
    gap: 9px !important;
  }

  .site-header.site-header-premium .store-cta.store-cta-premium,
  .site-header.site-header-premium .header-cta.header-cta-premium {
    min-height: 56px !important;
    flex-basis: 56px !important;
    padding: 0 13px !important;
    font-size: 12.5px !important;
  }
}

/* === V14.1 Carrusel de fabricantes más grande === */
.manufacturers-carousel-section > .container.manufacturers-carousel-container {
  width: min(1820px, calc(100% - 24px)) !important;
}

.manufacturer-carousel-shell {
  padding: 12px 0 6px !important;
}

.manufacturer-carousel-track {
  gap: 22px !important;
  animation-duration: 48s !important;
}

.manufacturer-slide {
  width: 300px !important;
}

.manufacturer-slide-card {
  min-height: 188px !important;
  border-radius: 28px !important;
  padding: 24px 28px !important;
}

.manufacturer-slide-card img {
  max-height: 118px !important;
}

@media (max-width: 1200px) {
  .manufacturer-slide {
    width: 260px !important;
  }

  .manufacturer-slide-card {
    min-height: 170px !important;
  }

  .manufacturer-slide-card img {
    max-height: 102px !important;
  }
}

@media (max-width: 820px) {
  .manufacturer-carousel-track {
    gap: 16px !important;
    animation-duration: 38s !important;
  }

  .manufacturer-slide {
    width: 210px !important;
  }

  .manufacturer-slide-card {
    min-height: 142px !important;
    padding: 18px 20px !important;
  }

  .manufacturer-slide-card img {
    max-height: 78px !important;
  }
}

@media (max-width: 560px) {
  .manufacturer-slide {
    width: 178px !important;
  }

  .manufacturer-slide-card {
    min-height: 118px !important;
    padding: 16px 18px !important;
  }

  .manufacturer-slide-card img {
    max-height: 64px !important;
  }
}

/* === V14.2 Mapa interactivo de cobertura regional === */
.interactive-coverage-map {
  position: relative;
  min-height: 520px;
  padding: 26px 24px 22px;
  overflow: hidden;
  border-radius: 30px;
  background:
    radial-gradient(circle at 70% 24%, rgba(65,155,255,.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(29,94,168,.14);
  box-shadow: 0 22px 52px rgba(12,60,120,.11);
}

.coverage-map-title {
  position: relative;
  z-index: 3;
  margin: 0 auto 4px;
  width: max-content;
  max-width: 100%;
  color: var(--blue);
  font: 800 clamp(22px, 2vw, 34px)/1 'Montserrat';
  letter-spacing: .05em;
  text-transform: uppercase;
}

.coverage-map-title::after {
  content: "";
  display: block;
  width: 74%;
  height: 3px;
  margin: 10px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #1d70c9, #38b8ff);
}

.coverage-map-svg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.coverage-region {
  vector-effect: non-scaling-stroke;
  transition: fill .22s ease, opacity .22s ease, filter .22s ease, transform .22s ease;
  transform-box: fill-box;
  transform-origin: center;
}

.coverage-reference {
  fill: #edf4fb;
  stroke: #dae7f4;
  stroke-width: 1.2;
}

.coverage-soft {
  fill: url(#coverageSoft);
  stroke: #79aee5;
  stroke-width: 1.2;
  opacity: .9;
}

.coverage-strong {
  fill: url(#coverageStrong);
  stroke: #083c82;
  stroke-width: 1.4;
  filter: url(#coverageGlow);
}

.coverage-hotspot {
  cursor: pointer;
  outline: none;
}

.coverage-hotspot:hover .coverage-strong,
.coverage-hotspot:focus .coverage-strong,
.coverage-hotspot:focus-visible .coverage-strong {
  filter: url(#coverageGlow) brightness(1.12);
  transform: scale(1.025);
}

.coverage-location-dot {
  fill: #fff;
  stroke: #0b4ea2;
  stroke-width: 4;
}

.coverage-location-pulse {
  fill: none;
  stroke: #33baff;
  stroke-width: 2;
  opacity: .45;
  transform-box: fill-box;
  transform-origin: center;
  animation: coveragePulse 1.9s ease-in-out infinite;
}

.coverage-tooltip {
  opacity: 0;
  pointer-events: none;
  transform-origin: center;
  transition: opacity .18s ease, transform .18s ease;
}

.coverage-hotspot:hover .coverage-tooltip,
.coverage-hotspot:focus .coverage-tooltip,
.coverage-hotspot:focus-visible .coverage-tooltip {
  opacity: 1;
}

.coverage-tooltip rect {
  fill: rgba(255,255,255,.98);
  stroke: #c8dbef;
  stroke-width: 1.3;
  filter: drop-shadow(0 10px 18px rgba(12,60,120,.16));
}

.coverage-tooltip-title {
  fill: #0b4ea2;
  font: 800 16px/1 'Montserrat';
  letter-spacing: .05em;
}

.coverage-tooltip-copy {
  fill: #143d76;
  font: 800 15px/1 'Montserrat';
}

.coverage-tooltip-sub {
  fill: #5b6879;
  font: 600 12px/1 'Montserrat';
}

.coverage-map-legend {
  position: absolute;
  left: 24px;
  bottom: 22px;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  padding: 10px 13px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid #dbe7f2;
  box-shadow: 0 10px 24px rgba(12,60,120,.08);
}

.coverage-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #40546d;
  font: 700 12px/1 'Montserrat';
}

.coverage-map-legend i {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 4px;
}

.legend-strong { background: #0b4ea2; }
.legend-soft { background: #9bc8f4; }

.coverage-map-hint {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 4;
  color: #6a7788;
  font: 600 11px/1 'Montserrat';
  letter-spacing: .02em;
}

@keyframes coveragePulse {
  0%, 100% { transform: scale(.8); opacity: .18; }
  50% { transform: scale(1.18); opacity: .5; }
}

@media (max-width: 980px) {
  .interactive-coverage-map {
    min-height: 480px;
  }

  .coverage-map-hint {
    display: none;
  }
}

@media (max-width: 700px) {
  .interactive-coverage-map {
    min-height: 420px;
    padding: 20px 16px 74px;
    border-radius: 24px;
  }

  .coverage-map-legend {
    left: 16px;
    right: 16px;
    bottom: 16px;
    justify-content: center;
  }

  .coverage-tooltip {
    display: none;
  }
}

/* === V14.3 Mapa interactivo real con hotspots sobre mapa base === */
.interactive-coverage-map {
  min-height: auto !important;
  padding: 18px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid rgba(29,94,168,.14) !important;
  box-shadow: 0 22px 52px rgba(12,60,120,.11) !important;
}

.coverage-map-title,
.coverage-map-svg,
.coverage-map-legend {
  display: none !important;
}

.coverage-map-canvas {
  position: relative;
  width: 100%;
  aspect-ratio: 760 / 570;
  border-radius: 22px;
  overflow: hidden;
  background: #f7fbff;
}

.coverage-map-base-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coverage-hotspot-card {
  position: absolute;
  z-index: 3;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.coverage-point-usa { left: 44.6%; top: 36.3%; }
.coverage-point-mexico { left: 47.9%; top: 50.2%; }
.coverage-point-panama { left: 56.7%; top: 60.8%; }

.coverage-pin {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.coverage-pin::before,
.coverage-pin::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.coverage-pin::before {
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 18px rgba(12,60,120,.18);
  border: 2px solid rgba(11,78,162,.22);
}

.coverage-pin::after {
  animation: coveragePulseReal 2s ease-in-out infinite;
  border: 2px solid rgba(40,181,255,.46);
}

.coverage-pin-core {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #1970df 0%, #0c4ba0 100%);
  box-shadow: 0 0 0 4px rgba(22,118,221,.16);
}

.coverage-popup {
  position: absolute;
  min-width: 188px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  border: 1px solid #d5e4f3;
  box-shadow: 0 16px 34px rgba(12,60,120,.16);
  opacity: 0;
  transform: translateY(6px) scale(.98);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
  text-align: left;
}

.coverage-popup strong,
.coverage-popup em,
.coverage-popup small {
  display: block;
}

.coverage-popup strong {
  color: #0c4ba0;
  font: 800 14px/1 'Montserrat';
  letter-spacing: .04em;
  text-transform: uppercase;
}

.coverage-popup em {
  margin-top: 8px;
  color: #163f79;
  font: 800 15px/1.15 'Montserrat';
  font-style: normal;
}

.coverage-popup small {
  margin-top: 7px;
  color: #5d6b7d;
  font: 600 12px/1.3 'Montserrat';
}

.coverage-popup::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: #fff;
  border-right: 1px solid #d5e4f3;
  border-bottom: 1px solid #d5e4f3;
  transform: rotate(45deg);
}

.coverage-point-usa .coverage-popup {
  left: 22px;
  bottom: 24px;
}
.coverage-point-usa .coverage-popup::after {
  left: 16px;
  bottom: -7px;
}

.coverage-point-mexico .coverage-popup {
  right: 24px;
  top: 18px;
}
.coverage-point-mexico .coverage-popup::after {
  right: 18px;
  bottom: -7px;
}

.coverage-point-panama .coverage-popup {
  left: 18px;
  top: 18px;
}
.coverage-point-panama .coverage-popup::after {
  left: 16px;
  bottom: -7px;
}

.coverage-hotspot-card:hover .coverage-popup,
.coverage-hotspot-card:focus-visible .coverage-popup,
.coverage-hotspot-card:focus .coverage-popup {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.coverage-hotspot-card:focus-visible {
  outline: none;
}

.coverage-hotspot-card:focus-visible .coverage-pin::before,
.coverage-hotspot-card:hover .coverage-pin::before {
  border-color: rgba(11,78,162,.45);
}

.coverage-map-hint {
  position: static !important;
  margin-top: 12px;
  text-align: right;
  color: #6a7788;
  font: 600 12px/1 'Montserrat';
  letter-spacing: .01em;
}

@keyframes coveragePulseReal {
  0% { transform: scale(.82); opacity: .16; }
  55% { transform: scale(1.45); opacity: .46; }
  100% { transform: scale(1.6); opacity: 0; }
}

@media (max-width: 980px) {
  .interactive-coverage-map {
    padding: 14px !important;
  }

  .coverage-map-canvas {
    border-radius: 18px;
  }

  .coverage-popup {
    min-width: 170px;
    padding: 12px 14px;
  }
}

@media (max-width: 700px) {
  .interactive-coverage-map {
    padding: 12px !important;
    border-radius: 22px !important;
  }

  .coverage-hotspot-card {
    width: 24px;
    height: 24px;
  }

  .coverage-pin-core {
    width: 8px;
    height: 8px;
  }

  .coverage-popup {
    min-width: 148px;
    padding: 10px 12px;
  }

  .coverage-popup strong { font-size: 12px; }
  .coverage-popup em { font-size: 13px; }
  .coverage-popup small { font-size: 11px; }

  .coverage-point-usa .coverage-popup {
    left: 10px;
    bottom: 20px;
  }

  .coverage-point-mexico .coverage-popup {
    right: -6px;
    top: 16px;
  }

  .coverage-point-panama .coverage-popup {
    left: -78px;
    top: 16px;
  }

  .coverage-point-panama .coverage-popup::after {
    left: auto;
    right: 18px;
  }

  .coverage-map-hint {
    text-align: center;
    font-size: 11px;
  }
}

/* === V14.4 Mapa interactivo corregido: imagen real más grande, colores correctos y hover funcional === */
.about-premium .about-layout {
  grid-template-columns: 1.08fr .92fr !important;
  gap: 46px !important;
  align-items: center !important;
}

.interactive-coverage-map {
  padding: 12px !important;
}

.coverage-map-canvas {
  aspect-ratio: auto !important;
  border-radius: 20px !important;
}

.coverage-map-base-image {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.coverage-hotspot-card {
  width: 44px !important;
  height: 44px !important;
  transform: translate(-50%, -50%);
}

.coverage-point-usa { left: 52.8% !important; top: 38.6% !important; }
.coverage-point-mexico { left: 46.9% !important; top: 55% !important; }
.coverage-point-panama { left: 67.3% !important; top: 71% !important; }

.coverage-pin::before {
  border: 2px solid rgba(11,78,162,.3) !important;
}

.coverage-pin-core {
  width: 12px !important;
  height: 12px !important;
  box-shadow: 0 0 0 5px rgba(22,118,221,.18) !important;
}

.coverage-popup {
  min-width: 205px !important;
  z-index: 5 !important;
}

.coverage-point-usa .coverage-popup {
  left: 20px !important;
  bottom: 22px !important;
}
.coverage-point-mexico .coverage-popup {
  right: 20px !important;
  top: 22px !important;
}
.coverage-point-panama .coverage-popup {
  left: 20px !important;
  top: 20px !important;
}

.coverage-map-hint {
  margin-top: 10px !important;
  padding-right: 4px;
}

@media (max-width: 1100px) {
  .about-premium .about-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  .coverage-hotspot-card {
    width: 34px !important;
    height: 34px !important;
  }

  .coverage-pin-core {
    width: 10px !important;
    height: 10px !important;
  }

  .coverage-popup {
    min-width: 150px !important;
  }

  .coverage-point-usa .coverage-popup {
    left: 10px !important;
    bottom: 18px !important;
  }

  .coverage-point-mexico .coverage-popup {
    right: -6px !important;
    top: 16px !important;
  }

  .coverage-point-panama .coverage-popup {
    left: -82px !important;
    top: 16px !important;
  }
}

/* === V14.5 Mapa interactivo funcional y más grande === */
.about-premium .about-layout {
  grid-template-columns: 1.18fr .82fr !important;
  gap: 42px !important;
  align-items: center !important;
}

.about-media {
  min-height: auto !important;
}

.interactive-coverage-map {
  padding: 18px !important;
  min-height: auto !important;
}

.coverage-interactive-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(240px, .68fr);
  gap: 20px;
  align-items: center;
}

.coverage-map-stage {
  position: relative;
  width: 100%;
}

.coverage-map-base-image {
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 18px;
}

.coverage-side-panel {
  position: relative;
  min-height: 240px;
  display: flex;
  align-items: center;
}

.coverage-side-default,
.coverage-side-card {
  width: 100%;
  padding: 24px 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  border: 1px solid rgba(29,94,168,.14);
  box-shadow: 0 18px 38px rgba(12,60,120,.10);
  display: none;
}

.coverage-side-default.is-visible,
.coverage-side-card.is-visible {
  display: block;
}

.coverage-side-default strong,
.coverage-panel-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font: 800 13px/1 'Montserrat';
  letter-spacing: .08em;
  text-transform: uppercase;
}

.coverage-panel-kicker::before,
.coverage-side-default strong::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #2ec6ff 0%, #0c4ba0 100%);
  box-shadow: 0 0 0 6px rgba(46,198,255,.16);
}

.coverage-side-default p,
.coverage-side-card p {
  margin: 14px 0 0;
  color: #5d6b7d;
  font-size: 15px;
  line-height: 1.55;
}

.coverage-side-card h4 {
  margin: 14px 0 0;
  color: var(--blue);
  font: 800 29px/1.05 'Montserrat';
}

.coverage-hotspot-card {
  width: 54px !important;
  height: 54px !important;
  transform: translate(-50%, -50%);
  z-index: 4;
}

.coverage-point-usa { left: 53.3% !important; top: 38.5% !important; }
.coverage-point-mexico { left: 47.4% !important; top: 54.7% !important; }
.coverage-point-panama { left: 67.4% !important; top: 70.9% !important; }

.coverage-pin::before {
  border: 2px solid rgba(11,78,162,.38) !important;
  box-shadow: 0 10px 24px rgba(12,60,120,.18) !important;
}

.coverage-pin::after {
  border: 2px solid rgba(40,181,255,.42) !important;
}

.coverage-pin-core {
  width: 14px !important;
  height: 14px !important;
  box-shadow: 0 0 0 6px rgba(22,118,221,.18) !important;
}

.coverage-hotspot-card:hover .coverage-pin::before,
.coverage-hotspot-card:focus-visible .coverage-pin::before,
.coverage-hotspot-card.is-active .coverage-pin::before {
  border-color: rgba(11,78,162,.66) !important;
}

.coverage-hotspot-card:hover .coverage-pin-core,
.coverage-hotspot-card:focus-visible .coverage-pin-core,
.coverage-hotspot-card.is-active .coverage-pin-core {
  transform: scale(1.06);
}

.coverage-popup,
.coverage-map-canvas {
  display: none !important;
}

.coverage-map-hint {
  margin-top: 14px !important;
  text-align: right !important;
  padding-right: 4px;
}

@media (max-width: 1120px) {
  .about-premium .about-layout {
    grid-template-columns: 1fr !important;
  }

  .coverage-interactive-layout {
    grid-template-columns: 1fr;
  }

  .coverage-side-panel {
    min-height: 0;
  }

  .coverage-map-hint {
    text-align: center !important;
  }
}

@media (max-width: 700px) {
  .interactive-coverage-map {
    padding: 14px !important;
  }

  .coverage-side-default,
  .coverage-side-card {
    padding: 18px 16px;
    border-radius: 18px;
  }

  .coverage-side-card h4 {
    font-size: 22px;
  }

  .coverage-side-default p,
  .coverage-side-card p {
    font-size: 14px;
  }

  .coverage-hotspot-card {
    width: 42px !important;
    height: 42px !important;
  }

  .coverage-pin-core {
    width: 12px !important;
    height: 12px !important;
  }
}

/* === V14.6 Cobertura: hitzones amplias y panel inferior sin amontonamiento === */
@media (min-width: 1121px) {
  .about-premium .about-layout {
    grid-template-columns: 1.28fr .72fr !important;
    gap: 34px !important;
  }
}

.interactive-coverage-map {
  padding: 16px !important;
}

.coverage-interactive-layout {
  display: block !important;
}

.coverage-map-stage {
  position: relative !important;
  width: 100% !important;
  overflow: visible !important;
}

.coverage-map-base-image {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 18px !important;
}

/* Hit areas reales sobre cada país. El círculo visible queda centrado dentro del área. */
.coverage-hotspot-card {
  position: absolute !important;
  transform: translate(-50%, -50%) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  z-index: 6 !important;
}

.coverage-hotspot-card .coverage-pin {
  position: absolute !important;
  width: 46px !important;
  height: 46px !important;
  left: 50% !important;
  top: 50% !important;
  inset: auto !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.coverage-point-usa {
  left: 58% !important;
  top: 40% !important;
  width: 37% !important;
  height: 24% !important;
}

.coverage-point-mexico {
  left: 62.5% !important;
  top: 54% !important;
  width: 22% !important;
  height: 18% !important;
}

.coverage-point-panama {
  left: 79% !important;
  top: 64.5% !important;
  width: 18% !important;
  height: 15% !important;
}

.coverage-hotspot-card:hover .coverage-pin,
.coverage-hotspot-card:focus-visible .coverage-pin,
.coverage-hotspot-card.is-active .coverage-pin {
  transform: translate(-50%, -50%) scale(1.08) !important;
}

.coverage-side-panel {
  min-height: 0 !important;
  margin-top: 14px !important;
  display: block !important;
}

.coverage-side-default,
.coverage-side-card {
  min-height: 118px !important;
  padding: 18px 20px !important;
  border-radius: 18px !important;
}

.coverage-side-card h4 {
  margin-top: 9px !important;
  font-size: 25px !important;
}

.coverage-side-default p,
.coverage-side-card p {
  margin-top: 9px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.coverage-map-hint {
  margin-top: 10px !important;
  text-align: center !important;
  font-size: 12px !important;
}

@media (max-width: 700px) {
  .coverage-point-usa {
    width: 39% !important;
    height: 26% !important;
  }
  .coverage-point-mexico {
    width: 25% !important;
    height: 20% !important;
  }
  .coverage-point-panama {
    width: 22% !important;
    height: 18% !important;
  }

  .coverage-hotspot-card .coverage-pin {
    width: 38px !important;
    height: 38px !important;
  }

  .coverage-side-default,
  .coverage-side-card {
    min-height: 105px !important;
    padding: 16px !important;
  }
}

/* === V14.8 Cobertura animada USA / México / Latinoamérica === */
.about-premium .about-layout {
  grid-template-columns: 1.06fr .94fr !important;
  gap: 38px !important;
  align-items: center !important;
}

.about-media {
  position: relative !important;
  min-height: 0 !important;
}

.about-media .about-stat-card {
  top: 22px !important;
  right: 22px !important;
  bottom: auto !important;
  z-index: 7 !important;
  width: 198px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(14,79,163,.14) !important;
  box-shadow: 0 18px 42px rgba(12,60,120,.16) !important;
  backdrop-filter: blur(10px);
}

.coverage-animated-widget {
  position: relative;
  border-radius: 30px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
  border: 1px solid rgba(14,79,163,.10);
  box-shadow: 0 28px 60px rgba(12,60,120,.12);
  overflow: hidden;
}

.coverage-animated-stage {
  position: relative;
  min-height: 500px;
  border-radius: 26px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(74,210,255,.18), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(13,74,157,.12), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(239,247,255,.94) 100%);
  border: 1px solid rgba(14,79,163,.10);
}

.coverage-stage-glow {
  position: absolute;
  inset: -12% -18% auto;
  height: 72%;
  background: radial-gradient(circle, rgba(77,210,255,.22) 0%, rgba(77,210,255,.08) 36%, transparent 68%);
  filter: blur(22px);
  animation: poliutechMapGlow 7s ease-in-out infinite alternate;
  pointer-events: none;
}

.coverage-map-svg {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  z-index: 1;
}

.coverage-land-base {
  opacity: .9;
}

.coverage-region {
  transform-origin: center;
  animation: poliutechRegionPulse 5.6s ease-in-out infinite;
}

.coverage-region-usa { animation-delay: .2s; }
.coverage-region-mexico { animation-delay: .8s; }
.coverage-region-latam { animation-delay: 1.4s; }

.coverage-route {
  fill: none;
  stroke: url(#coverageRoute);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 8 10;
  opacity: .95;
  animation: poliutechRouteFlow 7s linear infinite;
}

.coverage-route-delay-1 { animation-delay: .9s; }
.coverage-route-delay-2 { animation-delay: 1.8s; }

.coverage-spark {
  fill: #ffffff;
  stroke: #1aaef7;
  stroke-width: 3;
  filter: drop-shadow(0 0 12px rgba(26,174,247,.55));
  animation: poliutechSparkPulse 2.4s ease-in-out infinite;
}

.coverage-spark-2 { animation-delay: .6s; }
.coverage-spark-3 { animation-delay: 1.2s; }

.coverage-office-marker {
  position: absolute;
  z-index: 3;
  width: 26px;
  height: 26px;
}

.coverage-office-marker-texas { left: 38.4%; top: 35.1%; }
.coverage-office-marker-cdmx { left: 31.0%; top: 51.4%; }
.coverage-office-marker-panama { left: 43.6%; top: 75.2%; }

.coverage-office-pulse,
.coverage-office-dot {
  position: absolute;
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.coverage-office-pulse {
  width: 38px;
  height: 38px;
  background: rgba(28,176,255,.18);
  border: 1px solid rgba(28,176,255,.34);
  animation: poliutechOfficePulse 2.8s ease-out infinite;
}

.coverage-office-dot {
  width: 14px;
  height: 14px;
  background: linear-gradient(180deg, #20c1ff 0%, #0f4ea5 100%);
  box-shadow: 0 0 0 5px rgba(255,255,255,.94), 0 10px 18px rgba(12,60,120,.24);
}

.coverage-office-label {
  position: absolute;
  min-width: 112px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(14,79,163,.12);
  box-shadow: 0 16px 36px rgba(12,60,120,.14);
  backdrop-filter: blur(8px);
  pointer-events: none;
}

.coverage-office-label small {
  display: block;
  margin-bottom: 3px;
  color: #6b7c90;
  font: 700 10px/1.1 'Montserrat';
  letter-spacing: .14em;
  text-transform: uppercase;
}

.coverage-office-label strong {
  display: block;
  color: var(--blue);
  font: 800 15px/1.1 'Montserrat';
}

.coverage-office-marker-texas .coverage-office-label {
  left: 18px;
  top: -58px;
}

.coverage-office-marker-cdmx .coverage-office-label {
  right: 18px;
  top: -18px;
}

.coverage-office-marker-panama .coverage-office-label {
  left: 18px;
  top: 6px;
}

.coverage-map-legend {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.coverage-map-legend-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
  border: 1px solid rgba(14,79,163,.10);
}

.coverage-map-legend-item span {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(28,176,255,.14);
}

.coverage-map-legend-item strong {
  display: block;
  color: var(--blue);
  font: 800 14px/1.1 'Montserrat';
}

.coverage-map-legend-item small {
  display: block;
  margin-top: 4px;
  color: #617186;
  font: 600 12px/1.35 'Montserrat';
}

.coverage-map-legend-item-usa span {
  background: linear-gradient(180deg, #1a6dde 0%, #0d4a9d 100%);
}

.coverage-map-legend-item-mexico span {
  background: linear-gradient(180deg, #1cb0ff 0%, #0a6ad9 100%);
}

.coverage-map-legend-item-latam span {
  background: linear-gradient(180deg, #63ddff 0%, #1395ef 100%);
}

.coverage-office-strip {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.coverage-office-strip div {
  padding: 12px 14px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(14,79,163,.10);
  box-shadow: 0 12px 26px rgba(12,60,120,.07);
}

.coverage-office-strip small {
  display: block;
  margin-bottom: 3px;
  color: #6b7c90;
  font: 700 10px/1.1 'Montserrat';
  letter-spacing: .14em;
  text-transform: uppercase;
}

.coverage-office-strip strong {
  display: block;
  color: var(--blue);
  font: 800 15px/1.1 'Montserrat';
}

@keyframes poliutechMapGlow {
  0% { transform: translate3d(-2%, 0, 0) scale(1); opacity: .86; }
  100% { transform: translate3d(2%, 4%, 0) scale(1.08); opacity: 1; }
}

@keyframes poliutechRegionPulse {
  0%, 100% { opacity: .92; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.1); }
}

@keyframes poliutechRouteFlow {
  0% { stroke-dashoffset: 0; opacity: .86; }
  100% { stroke-dashoffset: -180; opacity: 1; }
}

@keyframes poliutechSparkPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.28); opacity: .74; }
}

@keyframes poliutechOfficePulse {
  0% { transform: translate(-50%, -50%) scale(.62); opacity: .8; }
  70% { transform: translate(-50%, -50%) scale(1.34); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1.34); opacity: 0; }
}

@media (max-width: 1180px) {
  .about-premium .about-layout {
    grid-template-columns: 1fr !important;
  }

  .coverage-animated-widget {
    margin-bottom: 18px;
  }
}

@media (max-width: 820px) {
  .coverage-animated-stage {
    min-height: 430px;
  }

  .coverage-map-legend,
  .coverage-office-strip {
    grid-template-columns: 1fr;
  }

  .about-media .about-stat-card {
    top: 16px !important;
    right: 16px !important;
    width: 176px !important;
    padding: 18px !important;
  }

  .about-media .about-stat-card strong {
    font-size: 42px !important;
  }

  .coverage-office-label {
    min-width: 98px;
    padding: 8px 10px;
  }

  .coverage-office-label strong {
    font-size: 13px;
  }

  .coverage-office-marker-texas .coverage-office-label {
    top: -54px;
  }

  .coverage-office-marker-cdmx .coverage-office-label {
    right: 14px;
    top: 8px;
  }

  .coverage-office-marker-panama .coverage-office-label {
    left: 14px;
    top: 14px;
  }
}

@media (max-width: 620px) {
  .coverage-animated-widget {
    padding: 12px;
    border-radius: 22px;
  }

  .coverage-animated-stage {
    min-height: 360px;
    border-radius: 20px;
  }

  .coverage-office-label {
    display: none;
  }

  .coverage-office-marker-texas { left: 38.2%; top: 35.8%; }
  .coverage-office-marker-cdmx { left: 31.2%; top: 52.2%; }
  .coverage-office-marker-panama { left: 43.8%; top: 75.8%; }

  .about-media .about-stat-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    margin-top: 14px !important;
  }
}

/* === V14.9 Mapa realista animado de cobertura en América === */
.coverage-americas-widget {
  position: relative;
}

.coverage-americas-stage {
  position: relative;
  min-height: 540px;
  border-radius: 32px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
  border: 1px solid rgba(14, 79, 163, 0.12);
  box-shadow: 0 28px 60px rgba(12, 60, 120, 0.12);
}

.coverage-americas-glow {
  position: absolute;
  inset: -8% auto auto -12%;
  width: 58%;
  height: 52%;
  background: radial-gradient(circle, rgba(101, 219, 255, 0.30) 0%, rgba(101, 219, 255, 0.08) 44%, transparent 72%);
  filter: blur(18px);
  animation: poliutechCoverageGlow 8s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

.coverage-americas-heading {
  position: absolute;
  left: 28px;
  top: 24px;
  z-index: 3;
  max-width: 62%;
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(14, 79, 163, 0.12);
  box-shadow: 0 18px 40px rgba(12, 60, 120, 0.12);
  backdrop-filter: blur(10px);
}

.coverage-americas-heading span {
  display: block;
  margin-bottom: 6px;
  color: #6c7d92;
  font: 800 11px/1.1 'Montserrat';
  letter-spacing: 0.16em;
}

.coverage-americas-heading strong {
  display: block;
  color: var(--blue);
  font: 800 22px/1.18 'Montserrat';
}

.coverage-americas-svg {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  z-index: 1;
}

.pt-land {
  opacity: .95;
}

.pt-region {
  animation: poliutechCoverageRegion 5.6s ease-in-out infinite;
}

.pt-region-usa { animation-delay: .2s; }
.pt-region-mexico { animation-delay: .8s; }
.pt-region-latam { animation-delay: 1.4s; }

.pt-route {
  fill: none;
  stroke: url(#ptRoute);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 10 12;
  opacity: .92;
  animation: poliutechCoverageFlow 6.8s linear infinite;
}

.pt-route-b { animation-delay: .9s; }
.pt-route-c { animation-delay: 1.8s; }

.pt-spark {
  fill: #ffffff;
  stroke: #1298f1;
  stroke-width: 4;
  filter: drop-shadow(0 0 12px rgba(18, 152, 241, 0.52));
  animation: poliutechCoverageSpark 2.5s ease-in-out infinite;
}

.pt-spark-b { animation-delay: .55s; }
.pt-spark-c { animation-delay: 1.1s; }

.pt-office-marker {
  position: absolute;
  z-index: 4;
  width: 24px;
  height: 24px;
}

.pt-office-marker-texas { left: 37.7%; top: 33.6%; }
.pt-office-marker-cdmx { left: 30.4%; top: 51.0%; }
.pt-office-marker-panama { left: 44.8%; top: 68.2%; }

.pt-office-pulse,
.pt-office-dot {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.pt-office-pulse {
  width: 42px;
  height: 42px;
  background: rgba(46, 189, 255, 0.18);
  border: 1px solid rgba(46, 189, 255, 0.36);
  animation: poliutechCoveragePulse 2.6s ease-out infinite;
}

.pt-office-dot {
  width: 14px;
  height: 14px;
  background: linear-gradient(180deg, #2ac0ff 0%, #0e50a5 100%);
  box-shadow: 0 0 0 6px rgba(255,255,255,.96), 0 8px 18px rgba(12,60,120,.22);
}

.pt-office-label {
  position: absolute;
  min-width: 160px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(14,79,163,.12);
  box-shadow: 0 16px 36px rgba(12,60,120,.14);
  backdrop-filter: blur(8px);
}

.pt-office-label small {
  display: block;
  margin-bottom: 5px;
  color: #73839a;
  font: 800 10px/1.15 'Montserrat';
  letter-spacing: .12em;
}

.pt-office-label strong {
  display: block;
  color: var(--blue);
  font: 800 24px/1.05 'Montserrat';
}

.pt-office-marker-texas .pt-office-label {
  left: 20px;
  top: -28px;
}

.pt-office-marker-cdmx .pt-office-label {
  right: 18px;
  top: -28px;
}

.pt-office-marker-panama .pt-office-label {
  left: 20px;
  top: -10px;
}

.coverage-americas-meta {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.coverage-americas-pill {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  border: 1px solid rgba(14,79,163,.10);
  box-shadow: 0 14px 26px rgba(12,60,120,.07);
}

.coverage-americas-pill span {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(28,176,255,.15);
}

.coverage-americas-pill strong {
  display: block;
  color: var(--blue);
  font: 800 15px/1.1 'Montserrat';
}

.coverage-americas-pill small {
  display: block;
  margin-top: 4px;
  color: #607087;
  font: 600 12px/1.35 'Montserrat';
}

.coverage-americas-pill-usa span {
  background: linear-gradient(180deg, #1b6fdf 0%, #0e4ea3 100%);
}

.coverage-americas-pill-mexico span {
  background: linear-gradient(180deg, #2dbdff 0%, #0f77e7 100%);
}

.coverage-americas-pill-latam span {
  background: linear-gradient(180deg, #8ce8ff 0%, #27a7f7 100%);
}

.about-media .about-stat-card {
  top: 18px !important;
  right: 18px !important;
  bottom: auto !important;
  z-index: 5 !important;
  width: 210px !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(14,79,163,.12) !important;
  box-shadow: 0 20px 42px rgba(12,60,120,.14) !important;
}

@keyframes poliutechCoverageGlow {
  0% { transform: translate3d(-1%, -1%, 0) scale(1); opacity: .82; }
  100% { transform: translate3d(4%, 4%, 0) scale(1.08); opacity: 1; }
}

@keyframes poliutechCoverageRegion {
  0%, 100% { opacity: .93; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.08); }
}

@keyframes poliutechCoverageFlow {
  0% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: -180; }
}

@keyframes poliutechCoverageSpark {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.22); opacity: .72; }
}

@keyframes poliutechCoveragePulse {
  0% { transform: translate(-50%, -50%) scale(.65); opacity: .88; }
  72% { transform: translate(-50%, -50%) scale(1.38); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1.38); opacity: 0; }
}

@media (max-width: 1180px) {
  .coverage-americas-meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px) {
  .coverage-americas-stage {
    min-height: 470px;
  }

  .coverage-americas-heading {
    max-width: calc(100% - 44px);
  }

  .coverage-americas-heading strong {
    font-size: 18px;
  }

  .pt-office-label {
    min-width: 142px;
    padding: 10px 12px;
  }

  .pt-office-label strong {
    font-size: 18px;
  }

  .about-media .about-stat-card {
    width: 180px !important;
    padding: 18px !important;
  }

  .about-media .about-stat-card strong {
    font-size: 42px !important;
  }
}

@media (max-width: 700px) {
  .coverage-americas-stage {
    min-height: 380px;
    border-radius: 24px;
  }

  .coverage-americas-heading {
    position: relative;
    left: auto;
    top: auto;
    max-width: 100%;
    margin: 14px;
  }

  .pt-office-label {
    display: none;
  }

  .about-media .about-stat-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    margin-top: 14px !important;
  }
}

/* === V15.0 Reemplazo por mapa realista de cobertura con animación === */
.about-premium .about-layout {
  grid-template-columns: 1.08fr .92fr !important;
  gap: 38px !important;
  align-items: center !important;
}

.about-media {
  position: relative !important;
  min-height: auto !important;
}

.coverage-real-map-widget {
  position: relative;
}

.coverage-real-map-frame {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(18, 83, 165, .12);
  box-shadow: 0 28px 58px rgba(12, 60, 120, .12);
}

.coverage-real-map-image {
  display: block;
  width: 100%;
  height: auto;
}

.coverage-real-map-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.coverage-real-flow {
  fill: none;
  stroke: rgba(16, 124, 232, .85);
  stroke-width: 8;
  stroke-linecap: round;
  stroke-dasharray: 12 18;
  filter: drop-shadow(0 0 10px rgba(63, 189, 255, .32));
  animation: poliutechRealMapFlow 6.4s linear infinite;
}

.coverage-real-flow-b { animation-delay: .8s; }
.coverage-real-flow-c { animation-delay: 1.6s; }

.coverage-real-marker {
  position: absolute;
  z-index: 3;
  width: 26px;
  height: 26px;
}

.coverage-real-marker-dallas { left: 61.6%; top: 32.2%; }
.coverage-real-marker-polanco { left: 61.0%; top: 47.7%; }
.coverage-real-marker-panama { left: 67.4%; top: 58.2%; }

.coverage-real-pulse,
.coverage-real-dot {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.coverage-real-pulse {
  width: 38px;
  height: 38px;
  background: rgba(45, 189, 255, .16);
  border: 1px solid rgba(45, 189, 255, .42);
  animation: poliutechRealMapPulse 2.3s ease-out infinite;
}

.coverage-real-dot {
  width: 14px;
  height: 14px;
  background: linear-gradient(180deg, #2bc1ff 0%, #0e4ea5 100%);
  box-shadow: 0 0 0 5px rgba(255,255,255,.98), 0 8px 16px rgba(12,60,120,.18);
}

.coverage-real-card {
  position: absolute;
  min-width: 185px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(18,83,165,.12);
  box-shadow: 0 18px 36px rgba(12,60,120,.12);
  backdrop-filter: blur(8px);
}

.coverage-real-card small {
  display: block;
  margin-bottom: 5px;
  color: #6f8096;
  font: 800 10px/1.15 'Montserrat';
  letter-spacing: .12em;
}

.coverage-real-card strong {
  display: block;
  color: var(--blue);
  font: 800 20px/1.06 'Montserrat';
}

.coverage-real-marker-dallas .coverage-real-card {
  left: 20px;
  top: -42px;
}

.coverage-real-marker-polanco .coverage-real-card {
  right: 20px;
  top: -10px;
}

.coverage-real-marker-panama .coverage-real-card {
  left: 18px;
  top: -8px;
}

.about-media .about-stat-card {
  top: 18px !important;
  right: 18px !important;
  bottom: auto !important;
  z-index: 4 !important;
  width: 212px !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(18,83,165,.12) !important;
  box-shadow: 0 20px 40px rgba(12,60,120,.14) !important;
}

@keyframes poliutechRealMapFlow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -190; }
}

@keyframes poliutechRealMapPulse {
  0% { transform: translate(-50%, -50%) scale(.65); opacity: .9; }
  70% { transform: translate(-50%, -50%) scale(1.35); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1.35); opacity: 0; }
}

@media (max-width: 1180px) {
  .about-premium .about-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 820px) {
  .coverage-real-card {
    min-width: 160px;
    padding: 10px 12px;
  }

  .coverage-real-card strong {
    font-size: 17px;
  }

  .about-media .about-stat-card {
    width: 180px !important;
    padding: 18px !important;
  }

  .about-media .about-stat-card strong {
    font-size: 42px !important;
  }
}

@media (max-width: 680px) {
  .coverage-real-card {
    display: none;
  }

  .about-media .about-stat-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    margin-top: 14px !important;
  }
}

/* === V15.0.1 Ajuste fino de tarjetas de oficinas para no encimarse === */
.coverage-real-marker-dallas .coverage-real-card {
  left: auto;
  right: 20px;
  top: -42px;
}

.coverage-real-marker-panama .coverage-real-card {
  left: auto;
  right: 18px;
  top: -8px;
}

.coverage-real-card {
  max-width: 220px;
}

/* === V15.1 Corrección final: mapa más nítido, completo y texto lateral restaurado === */
@media (min-width: 1181px) {
  .about-premium .about-layout {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
    gap: 44px !important;
    align-items: center !important;
  }

  .about-premium .about-media,
  .about-premium .about-copy {
    min-width: 0 !important;
  }
}

.coverage-real-map-widget {
  max-width: 680px !important;
  width: 100% !important;
}

.coverage-real-map-frame {
  border-radius: 26px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.coverage-real-map-image {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block !important;
  object-fit: contain !important;
}

.coverage-real-map-overlay {
  inset: 0 !important;
}

.coverage-real-flow {
  stroke-width: 7 !important;
  stroke: rgba(24, 126, 233, .78) !important;
  stroke-dasharray: 10 16 !important;
}

.coverage-real-card {
  min-width: 172px !important;
  max-width: 210px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
}

.coverage-real-card strong {
  font-size: 17px !important;
  line-height: 1.06 !important;
}

.coverage-real-marker-dallas { left: 61.7% !important; top: 31.8% !important; }
.coverage-real-marker-polanco { left: 61.0% !important; top: 47.8% !important; }
.coverage-real-marker-panama { left: 67.7% !important; top: 58.4% !important; }

.coverage-real-marker-dallas .coverage-real-card {
  left: auto !important;
  right: 16px !important;
  top: -52px !important;
}

.coverage-real-marker-polanco .coverage-real-card {
  right: 16px !important;
  top: -12px !important;
}

.coverage-real-marker-panama .coverage-real-card {
  left: auto !important;
  right: 16px !important;
  top: -6px !important;
}

.about-media .about-stat-card {
  right: 14px !important;
  top: 14px !important;
  width: 194px !important;
}

@media (max-width: 1180px) {
  .about-premium .about-layout {
    grid-template-columns: 1fr !important;
  }

  .coverage-real-map-widget {
    max-width: 760px !important;
  }
}

/* === V15.3 Corrección estructural de QUIÉNES SOMOS === */
@media (min-width: 1181px) {
  .about-premium .about-layout {
    display: grid !important;
    grid-template-columns: minmax(560px, 0.98fr) minmax(500px, 1.02fr) !important;
    gap: 54px !important;
    align-items: center !important;
  }

  .about-premium .about-media {
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .about-premium .about-copy {
    min-width: 0 !important;
    width: 100% !important;
    align-self: center !important;
  }

  .coverage-real-map-widget {
    width: 100% !important;
    max-width: none !important;
  }

  .about-media .about-stat-card {
    position: absolute !important;
    top: auto !important;
    right: -26px !important;
    bottom: 24px !important;
    width: 196px !important;
    margin: 0 !important;
    z-index: 6 !important;
  }
}

@media (max-width: 1180px) {
  .about-premium .about-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .about-premium .about-copy {
    grid-row: auto !important;
  }
}

/* === V15.5 Ajuste fino de mapa y texto en QUIÉNES SOMOS === */
@media (min-width: 1181px) {
  .about-premium .about-layout {
    grid-template-columns: minmax(500px, 0.86fr) minmax(620px, 1.14fr) !important;
    gap: 40px !important;
    align-items: start !important;
  }

  .about-premium .about-media {
    justify-self: start !important;
  }

  .coverage-real-map-widget {
    max-width: 640px !important;
    margin-left: 0 !important;
  }

  .about-premium .about-copy {
    padding-top: 8px !important;
  }

  .about-media .about-stat-card {
    top: 18px !important;
    right: 12px !important;
    bottom: auto !important;
    width: 170px !important;
    padding: 18px !important;
  }

  .about-media .about-stat-card strong {
    font-size: 48px !important;
  }

  .coverage-real-card {
    min-width: 160px !important;
    max-width: 190px !important;
    padding: 10px 12px !important;
  }

  .coverage-real-card strong {
    font-size: 16px !important;
  }

  .coverage-real-marker-dallas .coverage-real-card {
    right: 22px !important;
    top: -50px !important;
  }

  .coverage-real-marker-polanco .coverage-real-card {
    right: 170px !important;
    top: -16px !important;
  }

  .coverage-real-marker-panama .coverage-real-card {
    right: 178px !important;
    top: -14px !important;
  }
}

/* === V15.6 QUIÉNES SOMOS a ancho más completo === */
.about-premium > .container {
  width: min(1780px, calc(100% - 24px)) !important;
}

@media (min-width: 1181px) {
  .about-premium .about-layout {
    grid-template-columns: minmax(560px, 0.92fr) minmax(760px, 1.08fr) !important;
    gap: 28px !important;
    align-items: start !important;
  }

  .coverage-real-map-widget {
    max-width: 760px !important;
    width: 100% !important;
  }

  .about-premium .about-copy {
    padding-top: 2px !important;
  }

  .about-premium .about-copy h2 {
    max-width: none !important;
    font-size: clamp(52px, 4.35vw, 86px) !important;
    line-height: 1.02 !important;
    margin-bottom: 24px !important;
  }

  .about-premium .about-copy p {
    max-width: none !important;
  }

  .about-media .about-stat-card {
    right: 16px !important;
    top: 16px !important;
  }
}

@media (max-width: 1180px) {
  .about-premium > .container {
    width: min(100%, calc(100% - 24px)) !important;
  }
}

/* === V15.7 Mover Polanco y Ciudad del Saber al lado opuesto === */
@media (min-width: 1181px) {
  .coverage-real-marker-polanco .coverage-real-card {
    left: 18px !important;
    right: auto !important;
    top: -16px !important;
  }

  .coverage-real-marker-panama .coverage-real-card {
    left: 18px !important;
    right: auto !important;
    top: -14px !important;
  }
}

/* === V15.8 Quitar animación del mapa de cobertura === */
.coverage-real-map-overlay,
.coverage-real-flow,
.coverage-real-pulse {
  display: none !important;
  animation: none !important;
}

/* === V16.1 Equipo: solo nombre y puesto === */
.team-section .team-grid {
  align-items: stretch;
  gap: 24px !important;
}

.team-section .team-body {
  padding: 17px 20px 19px !important;
  min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.team-section .team-body h3 {
  margin: 0 0 7px !important;
  font-size: 18px !important;
  line-height: 1.18 !important;
}

.team-section .team-role {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.team-section .team-specialty,
.team-section .linkedin-link,
.team-section .team-intro {
  display: none !important;
}

@media (min-width: 1380px) {
  .team-section .team-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  .team-section .team-photo {
    height: 235px !important;
    min-height: 235px !important;
  }
}

@media (max-width: 1379px) and (min-width: 981px) {
  .team-section .team-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* === V16.2 Fondo blanco total y nuevo logo de cabecera === */
body {
  background: #ffffff !important;
}

.about-section::before,
.about-premium::before,
.metrics-band::before,
.specialties-section::before,
.industries-section::before,
.projects-section::before,
.manufacturers-section::before,
.team-section::before,
.blog-section::before,
.contact-section::before,
.floors-section::before,
.specialty-hero::before,
.specialty-section::before,
.single-specialty-section::before,
.single-industry-section::before,
.industry-detail-section::before,
.project-detail-section::before,
.page-section::before,
.content-section::before,
.archive-section::before,
.taxonomy-section::before,
section[style*="#f8fafc"]::before,
section[style*="#f4f7fb"]::before,
section[style*="#eef4fb"]::before,
section[style*="#E9ECEF"]::before,
section[style*="#e9ecef"]::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

.site-header.site-header-premium .brand.brand-premium img {
  width: auto !important;
  height: 84px !important;
  max-height: 84px !important;
  object-fit: contain !important;
}

@media (max-width: 1200px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 74px !important;
    max-height: 74px !important;
  }
}

@media (max-width: 980px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 68px !important;
    max-height: 68px !important;
  }
}

@media (max-width: 640px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 60px !important;
    max-height: 60px !important;
  }
}

/* === V16.3 Logo de cabecera en blanco y más grande === */
.site-header.site-header-premium .brand.brand-premium img {
  width: auto !important;
  height: 112px !important;
  max-height: 112px !important;
  object-fit: contain !important;
}

@media (max-width: 1200px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 96px !important;
    max-height: 96px !important;
  }
}

@media (max-width: 980px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 84px !important;
    max-height: 84px !important;
  }
}

@media (max-width: 640px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 68px !important;
    max-height: 68px !important;
  }
}

/* === V16.4 Logo de cabecera todavía más grande === */
.site-header.site-header-premium .brand.brand-premium img {
  width: auto !important;
  height: 185px !important;
  max-height: 185px !important;
  object-fit: contain !important;
}

.site-header.site-header-premium .nav-shell.nav-shell-premium {
  min-height: 148px !important;
  align-items: center !important;
}

@media (max-width: 1200px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 148px !important;
    max-height: 148px !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    min-height: 128px !important;
  }
}

@media (max-width: 980px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 118px !important;
    max-height: 118px !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    min-height: 112px !important;
  }
}

@media (max-width: 640px) {
  .site-header.site-header-premium .brand.brand-premium img {
    height: 84px !important;
    max-height: 84px !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    min-height: 96px !important;
  }
}

/* === V16.5 Industrias con imágenes realistas === */
.industries-grid .industry-card {
  min-height: 238px !important;
  background: #0c3c78 !important;
}

.industries-grid .industry-card::before {
  background-size: cover !important;
  background-position: center center !important;
  transform: scale(1) !important;
}

.industries-grid .industry-card::after {
  background: linear-gradient(180deg, rgba(4,24,52,0.02) 36%, rgba(4,24,52,0.68) 100%) !important;
}

.industries-grid .industry-card:hover::before,
.industries-grid .industry-card:focus-visible::before {
  transform: scale(1.055) !important;
}

.industries-grid .industry-card strong {
  border-radius: 14px !important;
  padding: 12px 16px !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(8px);
}

/* === V16.7 Scroll móvil continuo + modales táctiles === */
@media (max-width: 1180px) {
  html {
    scroll-behavior: auto !important;
    overflow-y: auto !important;
  }

  body:not(.menu-open):not(.modal-open) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .specialty-card-link,
  .industry-modal-trigger {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent;
  }

  .specialty-modal,
  .industry-modal,
  .cert-modal {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .specialty-modal-dialog,
  .industry-modal-dialog,
  .cert-modal-dialog {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
}

/* === V16.8 Equipo centrado en móvil === */
@media (max-width: 767px) {
  .team-section .team-grid {
    justify-items: center !important;
    gap: 22px !important;
  }

  .team-section .team-card {
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .team-section .team-photo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .team-section .team-photo img {
    object-position: center center !important;
  }

  .team-section .team-body {
    text-align: center !important;
    align-items: center !important;
  }

  .team-section .team-body h3,
  .team-section .team-role {
    text-align: center !important;
    width: 100% !important;
  }
}

/* === V16.9 Móvil: equipo uniforme y hero extendido hasta el mapa === */
@media (max-width: 767px) {
  /* Todas las tarjetas y fotografías del equipo ocupan exactamente el mismo ancho. */
  .team-section .team-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
  }

  .team-section .team-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .team-section .team-photo {
    width: 100% !important;
    max-width: none !important;
    height: 310px !important;
    min-height: 310px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
  }

  .team-section .team-photo img,
  .team-section .team-card .team-photo img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
  }

  /* El hero conserva su inicio, pero se extiende sobre el antiguo hueco blanco. */
  .hero-static-banner .hero-static-media,
  .hero-static-banner .hero-static-media img {
    width: 100% !important;
    height: 52vw !important;
    min-height: 260px !important;
    max-height: 340px !important;
  }

  .hero-static-banner .hero-static-media img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Se retira el padding que antes generaba la franja blanca antes del mapa. */
  .about-premium {
    padding-top: 0 !important;
  }
}

/* === V17.0 Hero con imagen específica para móvil === */
.hero-static-banner .hero-static-media picture {
  display: block;
  width: 100%;
  line-height: 0;
}

@media (max-width: 767px) {
  .hero-static-banner .hero-static-media,
  .hero-static-banner .hero-static-media picture,
  .hero-static-banner .hero-static-media img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .hero-static-banner .hero-static-media img {
    display: block !important;
    object-fit: contain !important;
    object-position: center top !important;
  }
}

/* === V17.8 Miniaturas del blog a ancho completo === */
.blog-preview-card .blog-thumb-link,
.archive-post-card .blog-thumb-link,
.blog-card .blog-thumb-link,
.dynamic-post-card .blog-thumb-link {
  display: block !important;
  width: 100% !important;
  margin-top: 0 !important;
  line-height: 0 !important;
}

.blog-preview-card .blog-thumb,
.archive-post-card .blog-thumb,
.blog-card .blog-thumb,
.dynamic-post-card .blog-thumb {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 230px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.blog-preview-card.dynamic-post-card,
.blog-card.archive-post-card {
  overflow: hidden !important;
}

/* === V18.0 Banderas y nuevos textos en mapa de cobertura === */
.coverage-real-card strong {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.coverage-real-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}

.coverage-real-subline {
  display: block;
  margin-top: 6px;
  color: #607087;
  font: 700 13px/1.2 'Montserrat';
}

@media (max-width: 767px) {
  .coverage-real-flag {
    font-size: 16px;
  }

  .coverage-real-subline {
    margin-top: 4px;
    font-size: 12px;
  }
}

/* === V18.3 Miniaturas de especialidades con imagen real === */
.specialty-media {
  overflow: hidden;
}

.specialty-media-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.specialty-card-link:hover .specialty-media-img,
.specialty-card-link:focus-visible .specialty-media-img {
  transform: scale(1.03);
  transition: transform .35s ease;
}

/* === V18.6 Banderitas limpias sobre el mapa === */
.coverage-legend-flag {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #d6e0eb;
  box-shadow: 0 8px 18px rgba(12, 32, 71, 0.12);
  font-size: 22px;
  line-height: 1;
}

.coverage-legend-flag-usa {
  left: 8.2%;
  top: 30.8%;
}

.coverage-legend-flag-mx {
  left: 8.2%;
  top: 49.0%;
}

.coverage-legend-flag-pa {
  left: 8.2%;
  top: 64.4%;
}

@media (max-width: 767px) {
  .coverage-legend-flag {
    width: 28px;
    height: 28px;
    font-size: 16px;
    box-shadow: 0 5px 12px rgba(12, 32, 71, 0.12);
  }
}

/* === V19.0 Language switch ES / EN === */
.language-switch{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font:800 12px/1 'Montserrat',sans-serif;letter-spacing:.06em}
.language-switch-desktop{min-width:62px;height:46px;padding:0 10px;border-radius:15px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.language-switch-desktop:hover{background:rgba(255,255,255,.2);color:#fff}
.language-switch-flag{font-size:22px;line-height:1}
.language-switch-code{color:inherit}
.language-switch-mobile{width:100%;min-height:48px;padding:10px 16px;border-radius:14px;background:#eef5ff;color:#0b4a91;border:1px solid #d8e6f7}
.mobile-language-item{display:none}
@media (max-width:980px){.language-switch-desktop{display:none!important}.mobile-language-item{display:list-item}}

/* === V20.0 Selector de idioma visible en móvil fuera del menú === */
.language-switch-mobile-visible {
  display: none !important;
}

@media (max-width: 980px) {
  .language-switch-mobile-visible {
    display: inline-flex !important;
    order: 2;
    width: 54px;
    height: 54px;
    min-width: 54px;
    padding: 0;
    border-radius: 18px;
    background: rgba(255,255,255,.14);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 28px rgba(0,30,85,.18);
  }

  .language-switch-mobile-visible .language-switch-flag {
    font-size: 23px;
  }

  .language-switch-mobile-visible .language-switch-code {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
  }

  .site-header.site-header-premium .menu-toggle {
    order: 3 !important;
  }

  .site-header.site-header-premium .nav-shell.nav-shell-premium {
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
  }
}

@media (max-width: 420px) {
  .language-switch-mobile-visible {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 16px;
  }

  .language-switch-mobile-visible .language-switch-flag {
    font-size: 20px;
  }
}




/* === V20.3 Directorio de oficinas integrado al estilo Poliutech === */
.coverage-real-map-frame-offices {
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:26px !important;
  background:#fff !important;
  border:1px solid rgba(20,70,135,.10) !important;
  box-shadow:0 24px 55px rgba(9,45,94,.12) !important;
}

.coverage-real-map-image-offices {
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  background:#fff !important;
}

.coverage-office-directory {
  position:relative;
  padding:22px 22px 24px !important;
  background:linear-gradient(180deg,#f7faff 0%,#eef4fb 100%) !important;
  border-top:1px solid rgba(15,66,132,.08) !important;
}

.coverage-office-directory::before {
  content:'';
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#0a4c98 0%,#1683dd 55%,#35b9d5 100%);
  transform:translateY(-50%);
}

.coverage-office-directory-title {
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 16px !important;
  color:#0a3f7f !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.coverage-office-directory-title::before {
  content:'';
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#1b9de2;
  box-shadow:0 0 0 5px rgba(27,157,226,.12);
}

.coverage-office-list {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

.coverage-office-item {
  position:relative;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  min-height:92px !important;
  margin:0 !important;
  padding:14px !important;
  border-radius:17px !important;
  background:#fff !important;
  border:1px solid rgba(15,66,132,.10) !important;
  box-shadow:0 10px 24px rgba(10,56,116,.07) !important;
  overflow:hidden !important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease !important;
}

.coverage-office-item::after {
  content:'';
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,#0b5cb4,#25a8dc);
}

.coverage-office-item:hover {
  transform:translateY(-3px) !important;
  border-color:rgba(22,131,221,.24) !important;
  box-shadow:0 16px 32px rgba(10,56,116,.12) !important;
}

.coverage-office-badge {
  flex:0 0 auto !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:15px !important;
  background:linear-gradient(145deg,#0a3977 0%,#116dc4 100%) !important;
  color:#fff !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  box-shadow:0 8px 18px rgba(11,75,151,.20) !important;
}

.coverage-office-copy {
  min-width:0 !important;
  display:block !important;
}

.coverage-office-copy small,
.coverage-office-item small {
  display:block !important;
  margin:0 0 4px !important;
  padding:0 !important;
  color:#728096 !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}

.coverage-office-copy strong,
.coverage-office-item strong {
  display:block !important;
  margin:0 0 3px !important;
  padding:0 !important;
  color:#0a3d7b !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
}

.coverage-office-copy span,
.coverage-office-item span {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#667285 !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
}

@media (max-width:1180px) {
  .coverage-office-list { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}

@media (max-width:820px) {
  .coverage-office-list { grid-template-columns:1fr !important; gap:10px !important; }
  .coverage-office-item { min-height:82px !important; }
}

@media (max-width:767px) {
  .coverage-office-directory { padding:18px 14px 16px !important; }
  .coverage-office-directory::before { left:14px; right:14px; }
  .coverage-office-directory-title { font-size:12px !important; margin-bottom:13px !important; }
  .coverage-office-item { min-height:76px !important; padding:12px 13px !important; gap:11px !important; border-radius:15px !important; }
  .coverage-office-item::after { top:12px; bottom:12px; }
  .coverage-office-badge { width:44px !important; height:44px !important; min-width:44px !important; border-radius:13px !important; font-size:10px !important; }
  .coverage-office-copy small,.coverage-office-item small { font-size:8px !important; }
  .coverage-office-copy strong,.coverage-office-item strong { font-size:15px !important; }
  .coverage-office-copy span,.coverage-office-item span { font-size:11px !important; }
}
