
.palme-core-wrap{width:min(calc(100% - 40px),var(--palme-max-width));margin-inline:auto}
.palme-core-hero{position:relative;overflow:hidden;background:var(--palme-dark);padding:clamp(70px,8vw,112px) 0;color:#fff;font-family:Montserrat,sans-serif}
.palme-core-hero__eyebrow{font-weight:700;font-size:13px;letter-spacing:.04em;margin-bottom:20px}.palme-core-hero h1{margin:0;font:700 clamp(44px,var(--hero_title_size,5vw),72px)/1.03 Poppins,sans-serif;letter-spacing:-2px}.palme-core-hero h1 span{display:inline-block;position:relative}.palme-core-hero h1 span:after,.palme-section-head h2 span:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:5px;background:var(--palme-yellow);border-radius:99px}
.palme-dots{position:absolute;width:56px;height:56px;opacity:.45;background-image:radial-gradient(var(--palme-blue) 2px,transparent 2px);background-size:12px 12px}.palme-dots--tl{left:7%;top:18%}.palme-dots--br{right:5%;bottom:14%;background-image:radial-gradient(var(--palme-yellow) 2px,transparent 2px)}
.palme-section-head{display:grid;grid-template-columns:1fr minmax(260px,.7fr);align-items:end;gap:40px;margin-bottom:34px}.palme-section-head h2{margin:0;font:700 clamp(36px,4.5vw,56px)/1.04 Poppins,sans-serif;letter-spacing:-1.5px;color:#0a0a0a}.palme-section-head h2 span{position:relative;color:var(--palme-blue)}.palme-section-head p{margin:0;color:var(--palme-muted);line-height:1.75}
.palme-products{padding:40px 20px;background:#fff;font-family:Montserrat,sans-serif}.palme-products__grid{width:min(100%,1200px);margin:auto;display:grid;grid-template-columns:repeat(var(--palme-columns,3),minmax(0,1fr));gap:28px}
.palme-product-card{position:relative;height:440px;overflow:hidden;border:0;border-radius:2px;background:var(--palme-dark);cursor:pointer;box-shadow:0 16px 42px rgba(0,23,137,.13);transition:.4s;text-align:left;text-decoration:none}.palme-product-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,23,137,.22)}.palme-product-card__media{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .9s}.palme-product-card:hover .palme-product-card__media{transform:scale(1.09)}.palme-product-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,23,137,.98) 100%)}.palme-product-card__content{position:absolute;left:0;right:0;bottom:0;padding:26px 86px 30px 26px;color:#fff}.palme-product-card h3{margin:0;font:600 23px/1.08 Poppins,sans-serif;color:#fff}.palme-product-card__arrow,.palme-category-card__arrow{position:absolute;right:22px;bottom:25px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--palme-yellow);color:var(--palme-dark);font-size:30px;transition:.35s}.palme-product-card:hover .palme-product-card__arrow,.palme-category-card:hover .palme-category-card__arrow{transform:rotate(45deg);background:#fff;color:var(--palme-blue)}.palme-product-card__line,.palme-category-card__line{position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--palme-yellow) 0 24%,var(--palme-blue) 24% 100%);transform:scaleX(.24);transform-origin:left;transition:.5s}.palme-product-card:hover .palme-product-card__line,.palme-category-card:hover .palme-category-card__line{transform:scaleX(1)}
.palme-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;font-family:Montserrat,sans-serif}.palme-modal.is-open{display:flex}.palme-modal__backdrop{position:absolute;inset:0;background:rgba(55,58,66,.78);backdrop-filter:blur(10px)}.palme-modal__panel{position:relative;z-index:2;width:min(960px,calc(100vw - 48px));height:min(620px,calc(100vh - 48px));display:grid;grid-template-columns:42% 58%;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.36)}.palme-modal__close{position:absolute;right:20px;top:20px;z-index:10;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,23,137,.9);color:#fff;font-size:28px;cursor:pointer}.palme-modal__visual{position:relative;overflow:hidden;background:var(--palme-dark)}.palme-modal__slides{display:flex;width:100%;height:100%;transition:transform .45s}.palme-modal__slide{flex:0 0 100%;background:center/cover no-repeat}.palme-modal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border:1px solid #ffffff66;border-radius:50%;background:#001789cc;color:#fff;font-size:28px}.palme-modal__nav--prev{left:16px}.palme-modal__nav--next{right:16px}.palme-modal__dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.palme-modal__dot{width:8px;height:8px;border:0;border-radius:99px;background:#ffffff99}.palme-modal__dot.is-active{width:25px;background:var(--palme-yellow)}.palme-modal__info{overflow:auto;padding:38px 34px}.palme-modal__info h2{margin:0 0 18px;color:var(--palme-dark);font:700 clamp(32px,3.2vw,44px)/1.02 Poppins,sans-serif}.palme-modal__desc{color:var(--palme-muted);line-height:1.65}.palme-modal__spec-wrap h3{font:700 18px Poppins,sans-serif;color:var(--palme-dark)}.palme-modal__specs{border:1px solid #e8ebf2;border-radius:12px;overflow:hidden}.palme-modal__spec{display:grid;grid-template-columns:.8fr 1.2fr;border-bottom:1px solid #e8ebf2}.palme-modal__spec:last-child{border-bottom:0}.palme-modal__spec strong,.palme-modal__spec span{padding:11px 14px;font-size:13px}.palme-modal__spec strong{background:#f5f7ff;color:var(--palme-dark)}.palme-modal__spec a{color:var(--palme-blue);font-weight:700}.palme-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.palme-btn{min-height:55px;display:flex;align-items:center;justify-content:center;border-radius:8px;text-decoration:none!important;font-weight:800}.palme-btn--pdf{background:var(--palme-yellow);color:var(--palme-dark)}.palme-btn--wa{border:1px solid var(--palme-dark);color:var(--palme-dark)}.palme-btn--site{grid-column:1/-1;background:var(--palme-blue);color:#fff}.palme-btn.is-hidden{display:none}
.palme-categories,.palme-brands,.palme-values-grid{padding:clamp(60px,7vw,96px) 0;background:#fff;font-family:Montserrat,sans-serif}.palme-categories__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.palme-category-card{position:relative;height:310px;overflow:hidden;border-radius:18px;background:var(--palme-dark);box-shadow:0 14px 34px rgba(0,23,137,.12);text-decoration:none}.palme-category-card img{width:100%;height:calc(100% - 82px);object-fit:cover}.palme-category-card__content{position:absolute;left:0;right:0;bottom:0;min-height:82px;display:flex;align-items:center;padding:17px 72px 17px 20px;background:var(--palme-dark)}.palme-category-card h3{margin:0;color:#fff;font:600 21px/1.08 Poppins,sans-serif}
.palme-brands__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.palme-brand-card{height:210px;display:flex;flex-direction:column;border:1px solid #e2e7f1;border-radius:18px;overflow:hidden;text-decoration:none;background:#fff;box-shadow:0 14px 36px rgba(0,23,137,.07)}.palme-brand-card__logo{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(145deg,#fff,#f6f8fc)}.palme-brand-card__logo img{max-width:78%;max-height:92px;object-fit:contain}.palme-brand-card__info{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-top:1px solid #e2e7f1}.palme-brand-card__info h3{margin:0;color:var(--palme-dark);font:600 13px Poppins,sans-serif}.palme-brand-card__info small{color:var(--palme-muted)}.palme-brand-card__info span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f1f4fa;color:var(--palme-dark)}.palme-brands__registered{margin-top:34px;padding-top:26px;border-top:1px solid #e2e7f1}.palme-brands__registered>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.palme-brands__registered span{padding:9px 15px;border:1px solid #e2e7f1;border-radius:99px;color:var(--palme-dark);font-size:11px}
.palme-locator{padding:80px 0;background:#f5f7fb;font-family:Montserrat,sans-serif}.palme-locator__grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.9fr);gap:24px}.palme-locator__map{min-height:620px;border-radius:18px;overflow:hidden}.palme-locator__panel{padding:34px;border-radius:18px;background:var(--palme-dark);color:#fff}.palme-locator__panel>span{color:var(--palme-yellow);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.palme-locator__panel h3{color:var(--palme-yellow);font:700 30px/1.05 Poppins,sans-serif;text-transform:uppercase}.palme-branch{padding:16px 0;border-top:1px solid #ffffff33}.palme-branch h4{margin:0 0 8px}.palme-branch a{color:var(--palme-yellow)}
.palme-iso{padding:70px 0;background:var(--palme-surface)}.palme-iso__grid{display:grid;grid-template-columns:minmax(350px,.95fr) minmax(0,1.55fr);gap:28px}.palme-iso__certificate{position:relative;height:650px;padding:0;border:0;background:transparent;cursor:zoom-in}.palme-iso__certificate img{width:100%;height:100%;object-fit:contain}.palme-iso__certificate span{position:absolute;inset:0;display:grid;place-items:center;background:#001789aa;color:#fff;opacity:0;transition:.3s}.palme-iso__certificate:hover span{opacity:1}.palme-iso__principles{height:650px;display:flex;gap:10px}.palme-iso__principle{position:relative;flex:0 0 145px;overflow:hidden;border-radius:20px;background:var(--palme-dark);color:#fff;transition:flex .5s}.palme-iso__principle.is-active{flex:1}.palme-iso__principle--blue2{background:linear-gradient(180deg,#123af0,#3b70d8)}.palme-iso__principle--yellow{background:var(--palme-yellow);color:var(--palme-dark)}.palme-iso__compact{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:28px 20px}.palme-iso__compact h3{margin:0;font:700 28px Poppins,sans-serif;writing-mode:vertical-rl;transform:rotate(180deg)}.palme-iso__expanded{display:none;padding:28px}.palme-iso__principle.is-active .palme-iso__compact{display:none}.palme-iso__principle.is-active .palme-iso__expanded{display:block}.palme-iso__expanded h3{font:700 38px Poppins,sans-serif}.palme-iso__expanded p{line-height:1.65}
.palme-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center}.palme-lightbox.is-open{display:flex}.palme-lightbox__backdrop{position:absolute;inset:0;background:#000b}.palme-lightbox__dialog{position:relative;z-index:2;max-width:min(900px,90vw);max-height:90vh}.palme-lightbox__dialog img{max-width:100%;max-height:90vh}.palme-lightbox__dialog button{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:var(--palme-dark);color:#fff;font-size:28px}
.palme-values-grid__items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.palme-value{position:relative;padding:28px;border:1px solid #e2e7f1;border-radius:18px;background:#fff;box-shadow:0 12px 30px #0017890d}.palme-value__num{display:block;color:var(--palme-blue);font-weight:800;font-size:11px;margin-bottom:18px}.palme-value h3{font:700 19px/1.25 Poppins,sans-serif;color:var(--palme-dark)}.palme-value p{color:var(--palme-muted);line-height:1.65}
.palme-principles{position:relative;padding:80px 0 130px;background:linear-gradient(180deg,#fff,#f4f7ff 30%,#fff);overflow:clip}.palme-principles__marquee{position:absolute;top:30px;white-space:nowrap;color:#002aff0b;font:700 100px Poppins,sans-serif;animation:palmeMarquee 30s linear infinite}.palme-principles__stack{position:relative}.palme-principle{position:sticky;top:calc(24px + var(--i)*18px);margin-bottom:64px}.palme-principle__inner{min-height:360px;display:grid;grid-template-columns:210px 1fr 110px;align-items:center;gap:28px;padding:30px;background:linear-gradient(135deg,var(--palme-dark),var(--palme-blue));color:#fff;clip-path:polygon(3.4% 0,95.5% 0,100% 50%,95.5% 100%,3.4% 100%,0 50%)}.palme-principle--yellow .palme-principle__inner{background:var(--palme-yellow);color:var(--palme-dark)}.palme-principle--gold .palme-principle__inner{background:linear-gradient(135deg,#f5c518,#e6a900);color:var(--palme-dark)}.palme-principle--light-blue .palme-principle__inner{background:linear-gradient(135deg,#164db7,#4a8dff)}.palme-principle__visual img{width:190px;height:190px;object-fit:cover;clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%)}.palme-principle__content h3{font:700 36px/1.05 Poppins,sans-serif}.palme-principle__content p{line-height:1.65}.palme-principle__logo{width:100px;max-height:100px;object-fit:contain}
@keyframes palmeMarquee{to{transform:translateX(-50%)}}
@media(max-width:1024px){.palme-products__grid{grid-template-columns:repeat(2,1fr)}.palme-categories__grid{grid-template-columns:repeat(3,1fr)}.palme-brands__grid{grid-template-columns:repeat(3,1fr)}.palme-values-grid__items{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.palme-core-wrap{width:min(calc(100% - 28px),var(--palme-max-width))}.palme-section-head{grid-template-columns:1fr;gap:16px}.palme-products{padding:25px 14px}.palme-products__grid,.palme-categories__grid,.palme-brands__grid,.palme-values-grid__items{grid-template-columns:1fr}.palme-product-card{height:285px}.palme-modal{padding:10px}.palme-modal__panel{width:calc(100vw - 20px);height:calc(100dvh - 20px);grid-template-columns:1fr;grid-template-rows:220px 1fr}.palme-modal__info{padding:28px 20px}.palme-modal__spec{grid-template-columns:1fr}.palme-modal__actions{grid-template-columns:1fr}.palme-locator__grid,.palme-iso__grid{grid-template-columns:1fr}.palme-locator__map{min-height:480px}.palme-iso__certificate{height:520px}.palme-iso__principles{height:auto;flex-direction:column}.palme-iso__principle{flex:none!important;width:100%;min-height:85px}.palme-iso__compact{height:auto;flex-direction:row}.palme-iso__compact h3{writing-mode:initial;transform:none;font-size:22px}.palme-principle{position:relative;top:auto}.palme-principle__inner{grid-template-columns:1fr;clip-path:none;border-radius:18px}.palme-principle__visual img{width:120px;height:120px}.palme-principle__logo{position:absolute;right:24px;top:24px;width:70px}}


/* =========================================================
   PALME MODAL V3 — diseño original del catálogo
========================================================= */
#pfModalV3{
  --pf-blue-dark:var(--palme-dark,#001789);
  --pf-blue:var(--palme-blue,#002aff);
  --pf-yellow:var(--palme-yellow,#FFED00);
  --pf-white:#ffffff;
  --pf-text:#172033;
  --pf-muted:#667085;
  --pf-border:#e8ebf2;
  --pf-light:#f5f7ff;
  --pf-whatsapp:#25D366;
}
#pfModalV3 *,#pfModalV3 *::before,#pfModalV3 *::after{box-sizing:border-box}
#pfModalV3 button,#pfModalV3 a{font-family:'Montserrat',sans-serif}
#pfModalV3.pf-modal-v3{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;font-family:'Montserrat',sans-serif}
#pfModalV3.pf-modal-v3.active{display:flex}
#pfModalV3 .pf-modal-backdrop{position:absolute;inset:0;background:rgba(55,58,66,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:pfBackdropIn .3s ease both}
#pfModalV3 .pf-modal-panel{position:relative;z-index:2;width:min(960px,calc(100vw - 48px));height:min(620px,calc(100vh - 48px));max-height:620px;display:grid;grid-template-columns:42% 58%;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.36);animation:pfModalIn .45s cubic-bezier(.2,.8,.2,1) both}
#pfModalV3 .pf-modal-panel::before{content:"";position:absolute;top:0;left:0;right:0;z-index:8;height:6px;background:linear-gradient(90deg,var(--pf-blue-dark),var(--pf-blue) 72%,var(--pf-yellow) 72%)}
#pfModalV3 .pf-modal-close{position:absolute;top:20px;right:20px;z-index:20;width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,23,137,.88);color:#fff;font-size:28px;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.18);transition:background .3s ease,color .3s ease,transform .3s ease}
#pfModalV3 .pf-modal-close:hover{transform:rotate(90deg);background:var(--pf-yellow);color:var(--pf-blue-dark)}
#pfModalV3 .pf-modal-close:focus-visible{outline:3px solid var(--pf-yellow);outline-offset:3px}
#pfModalV3 .pf-modal-visual{position:relative;min-height:0;height:100%;overflow:hidden;background-color:var(--pf-blue-dark);background-position:center;background-size:cover;background-repeat:no-repeat}
#pfModalV3 .pf-modal-visual::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 30% 20%,rgba(0,42,255,.08),transparent 38%)}
#pfModalV3 .pf-modal-visual-overlay{position:absolute;inset:0;z-index:2}
#pfModalV3 .pf-modal-slider{position:absolute;inset:0;z-index:3;overflow:hidden}
#pfModalV3 .pf-modal-slides{width:100%;height:100%;display:flex;transform:translate3d(0,0,0);transition:transform .48s cubic-bezier(.2,.75,.2,1);will-change:transform}
#pfModalV3 .pf-modal-slide{flex:0 0 100%;width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}
#pfModalV3 .pf-slider-arrow{position:absolute;top:50%;z-index:7;width:42px;height:42px;display:grid;place-items:center;margin:0;padding:0 0 3px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(0,23,137,.78);color:#fff;font-size:30px;font-weight:300;line-height:1;cursor:pointer;transform:translateY(-50%);box-shadow:0 9px 24px rgba(0,0,0,.18);transition:transform .25s ease,background .25s ease,color .25s ease}
#pfModalV3 .pf-slider-arrow:hover{transform:translateY(-50%) scale(1.06);background:var(--pf-yellow);color:var(--pf-blue-dark)}
#pfModalV3 .pf-slider-arrow--prev{left:16px} #pfModalV3 .pf-slider-arrow--next{right:16px}
#pfModalV3 .pf-slider-dots{position:absolute;left:50%;bottom:20px;z-index:7;display:flex;align-items:center;justify-content:center;gap:7px;transform:translateX(-50%)}
#pfModalV3 .pf-slider-dot{width:8px;height:8px;margin:0;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s ease,background .25s ease}
#pfModalV3 .pf-slider-dot.is-active{width:25px;background:var(--pf-yellow)}
#pfModalV3 .pf-slider-counter{position:absolute;right:16px;bottom:15px;z-index:7;min-width:44px;padding:6px 9px;border-radius:999px;background:rgba(0,23,137,.78);color:#fff;font-size:10px;font-weight:700;text-align:center}
#pfModalV3 .pf-modal-slider.is-single .pf-slider-arrow,#pfModalV3 .pf-modal-slider.is-single .pf-slider-dots,#pfModalV3 .pf-modal-slider.is-single .pf-slider-counter{display:none}
#pfModalV3 .pf-modal-info{position:relative;min-width:0;height:100%;max-height:none;overflow-y:auto;padding:38px 34px 30px;background:#fff;color:var(--pf-text);scrollbar-width:thin;scrollbar-color:var(--pf-blue) #edf0f8}
#pfModalV3 .pf-modal-info::-webkit-scrollbar{width:8px}#pfModalV3 .pf-modal-info::-webkit-scrollbar-track{background:#edf0f8}#pfModalV3 .pf-modal-info::-webkit-scrollbar-thumb{border-radius:20px;background:var(--pf-blue)}
#pfModalV3 .pf-modal-info h2{margin:0 0 18px;padding-right:35px;color:var(--pf-blue-dark);font-family:'Poppins',sans-serif;font-size:clamp(32px,3.2vw,44px);font-weight:700;line-height:1.02;letter-spacing:-1.6px}
#pfModalV3 .pf-modal-description{margin:0 0 20px;color:var(--pf-muted);font-family:'Montserrat',sans-serif;font-size:15px;font-weight:400;line-height:1.65}
#pfModalV3 .pf-specifications{margin-top:6px}#pfModalV3 .pf-specifications h3{margin:0 0 14px;color:var(--pf-blue-dark);font-family:'Poppins',sans-serif;font-size:18px;font-weight:700;line-height:1.3}
#pfModalV3 .pf-spec-list{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 18px;overflow:hidden;border:1px solid var(--pf-border);border-radius:12px;background:#fff}
#pfModalV3 .pf-spec-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);border-bottom:1px solid var(--pf-border);font-family:'Montserrat',sans-serif}#pfModalV3 .pf-spec-row:last-child{border-bottom:0}
#pfModalV3 .pf-spec-label,#pfModalV3 .pf-spec-value{min-width:0;padding:11px 14px;font-size:13px;line-height:1.45}
#pfModalV3 .pf-spec-label{display:flex;align-items:center;background:var(--pf-light);color:var(--pf-blue-dark);font-weight:700}
#pfModalV3 .pf-spec-value{display:flex;align-items:center;color:#4e586d;font-weight:500}#pfModalV3 .pf-spec-value a{color:var(--pf-blue);font-weight:700}
#pfModalV3 .pf-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
#pfModalV3 .pf-button{min-height:55px;display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 16px;border-radius:8px;text-align:center;text-decoration:none!important;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;line-height:1.2;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease}
#pfModalV3 .pf-button:hover{transform:translateY(-3px)}
#pfModalV3 .pf-button-main{background:var(--pf-yellow);color:var(--pf-blue-dark);box-shadow:0 10px 24px rgba(245,197,24,.25)}
#pfModalV3 .pf-button-main:hover{background:var(--pf-blue);color:#fff;box-shadow:0 14px 30px rgba(0,42,255,.25)}
#pfModalV3 .pf-button-whatsapp{border:1px solid var(--pf-blue-dark);background:#fff;color:var(--pf-blue-dark)}
#pfModalV3 .pf-button-whatsapp:hover{border-color:var(--pf-whatsapp);background:var(--pf-whatsapp);color:#fff;box-shadow:0 14px 30px rgba(37,211,102,.2)}
#pfModalV3 .pf-button-site{grid-column:1/-1;background:var(--pf-blue);color:#fff}
#pfModalV3 .pf-button.is-disabled{opacity:.5;pointer-events:none;filter:grayscale(.35)}
#pfModalV3 .pf-button-icon{width:18px;height:18px;flex:0 0 18px;background:currentColor}
#pfModalV3 .pf-icon-document{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 15h6'/%3E%3Cpath d='M9 18h6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 15h6'/%3E%3Cpath d='M9 18h6'/%3E%3C/svg%3E") center/contain no-repeat}
#pfModalV3 .pf-icon-whatsapp{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'%3E%3Cpath d='M20.52 3.48A11.86 11.86 0 0 0 12.07 0C5.47 0 .1 5.37.1 11.98c0 2.11.55 4.17 1.6 5.98L0 24l6.2-1.63a11.94 11.94 0 0 0 5.87 1.5h.01c6.6 0 11.97-5.37 11.97-11.98a11.9 11.9 0 0 0-3.53-8.41ZM12.08 21.84h-.01a9.9 9.9 0 0 1-5.05-1.38l-.36-.21-3.68.96.98-3.58-.23-.37a9.9 9.9 0 0 1-1.51-5.28c0-5.47 4.45-9.92 9.93-9.92a9.86 9.86 0 0 1 7.02 2.91 9.86 9.86 0 0 1 2.9 7.02c0 5.47-4.45 9.85-9.99 9.85Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'%3E%3Cpath d='M20.52 3.48A11.86 11.86 0 0 0 12.07 0C5.47 0 .1 5.37.1 11.98c0 2.11.55 4.17 1.6 5.98L0 24l6.2-1.63a11.94 11.94 0 0 0 5.87 1.5h.01c6.6 0 11.97-5.37 11.97-11.98a11.9 11.9 0 0 1-3.53-8.41Z'/%3E%3C/svg%3E") center/contain no-repeat}
@keyframes pfBackdropIn{from{opacity:0}to{opacity:1}}@keyframes pfModalIn{from{opacity:0;transform:translateY(30px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1024px){#pfModalV3 .pf-modal-panel{width:min(900px,calc(100vw - 32px));height:min(600px,calc(100vh - 32px));grid-template-columns:40% 60%}#pfModalV3 .pf-modal-info{padding:34px 28px 28px}}
@media(max-width:767px){
  #pfModalV3.pf-modal-v3{align-items:center;padding:10px;overflow:hidden}
  #pfModalV3 .pf-modal-panel{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);grid-template-columns:1fr;grid-template-rows:220px minmax(0,1fr);margin:0;border-radius:13px;overflow:hidden}
  #pfModalV3 .pf-modal-close{position:absolute;top:14px;right:14px;width:42px;height:42px}
  #pfModalV3 .pf-modal-visual{min-height:0;height:220px;border-radius:13px 13px 0 0}
  #pfModalV3 .pf-modal-info{height:100%;max-height:none;overflow-y:auto;padding:28px 20px 24px;border-radius:0 0 13px 13px}
  #pfModalV3 .pf-modal-info h2{padding-right:0;font-size:34px;letter-spacing:-1px}
  #pfModalV3 .pf-modal-description{font-size:14px;line-height:1.7}
  #pfModalV3 .pf-spec-row{grid-template-columns:1fr}
  #pfModalV3 .pf-spec-label{padding-bottom:6px}#pfModalV3 .pf-spec-value{padding-top:6px}
  #pfModalV3 .pf-modal-actions{grid-template-columns:1fr}
  #pfModalV3 .pf-modal-slide{position:relative;overflow:hidden;background-color:var(--pf-blue-dark);background-size:0 0;background-repeat:no-repeat;background-position:center}
  #pfModalV3 .pf-modal-slide::before{content:"";position:absolute;inset:-22px;z-index:0;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(18px) brightness(.52) saturate(.9);transform:scale(1.12);opacity:.82;pointer-events:none}
  #pfModalV3 .pf-modal-slide::after{content:"";position:absolute;inset:0;z-index:1;background-image:inherit;background-size:contain;background-position:center;background-repeat:no-repeat;pointer-events:none}
  #pfModalV3 .pf-slider-arrow,#pfModalV3 .pf-slider-dots,#pfModalV3 .pf-slider-counter{z-index:8}
}
@media(prefers-reduced-motion:reduce){#pfModalV3 .pf-button,#pfModalV3 .pf-modal-panel,#pfModalV3 .pf-modal-backdrop{animation:none!important;transition:none!important}}


/* =========================================================
   PRODUCTOS V3 — réplica del código final original
========================================================= */
#pfProductsV3,
#pfModalV3{
  --pf-blue-dark:var(--palme-dark,#001789);
  --pf-blue:var(--palme-blue,#002AFF);
  --pf-yellow:var(--palme-yellow,#FFED00);
  --pf-white:#FFFFFF;
  --pf-text:#172033;
  --pf-muted:#667085;
  --pf-border:#e8ebf2;
  --pf-light:#f5f7ff;
  --pf-whatsapp:#25D366;
}
#pfProductsV3 *,#pfProductsV3 *::before,#pfProductsV3 *::after,
#pfModalV3 *,#pfModalV3 *::before,#pfModalV3 *::after{box-sizing:border-box}
#pfProductsV3 button,#pfModalV3 button,#pfModalV3 a{font-family:'Montserrat',sans-serif}

#pfProductsV3.pf-products-v3{width:100%;padding:40px 20px;background:#fff;font-family:'Montserrat',sans-serif}
#pfProductsV3 .pf-products-grid{width:100%;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
#pfProductsV3 .pf-product-card{position:relative;display:block;width:100%;min-width:0;height:440px;margin:0;padding:0;overflow:hidden;border:0;border-radius:2px;background:var(--pf-blue-dark);box-shadow:0 16px 42px rgba(0,23,137,.13);cursor:pointer;isolation:isolate;text-align:left;text-decoration:none!important;transition:transform .4s ease,box-shadow .4s ease}
#pfProductsV3 .pf-product-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,23,137,.22)}
#pfProductsV3 .pf-product-card:focus-visible{outline:4px solid rgba(245,197,24,.55);outline-offset:4px}
#pfProductsV3 .pf-product-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.001);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease}
#pfProductsV3 .pf-product-card:hover .pf-product-bg{transform:scale(1.09);filter:saturate(1.08)}
#pfProductsV3 .pf-product-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(0,23,137,0) 74%,rgba(0,23,137,.94) 86%,rgba(0,23,137,.99) 100%)}
#pfProductsV3 .pf-product-line{position:absolute;left:0;right:0;bottom:0;z-index:2;height:5px;background:linear-gradient(90deg,var(--pf-yellow) 0 24%,var(--pf-blue) 24% 100%);transform:scaleX(.24);transform-origin:left;transition:transform .55s ease}
#pfProductsV3 .pf-product-card:hover .pf-product-line{transform:scaleX(1)}
#pfProductsV3 .pf-product-content{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:26px 86px 30px 26px}
#pfProductsV3 .pf-product-card h3{margin:0;color:#fff;font-family:'Poppins',sans-serif;font-size:23px;font-weight:600;line-height:1.08;letter-spacing:-.5px}
#pfProductsV3 .pf-product-arrow{position:absolute;right:22px;bottom:25px;z-index:4;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pf-yellow);color:var(--pf-blue-dark);font-family:'Montserrat',sans-serif;font-size:30px;font-weight:400;line-height:1;transition:transform .4s ease,background .3s ease,color .3s ease}
#pfProductsV3 .pf-product-card:hover .pf-product-arrow{transform:rotate(45deg);background:#fff;color:var(--pf-blue)}

#pfModalV3.pf-modal-v3{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;font-family:'Montserrat',sans-serif}
#pfModalV3.pf-modal-v3.active{display:flex}
#pfModalV3 .pf-modal-backdrop{position:absolute;inset:0;background:rgba(55,58,66,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:pfBackdropIn .3s ease both}
#pfModalV3 .pf-modal-panel{position:relative;z-index:2;width:min(960px,calc(100vw - 48px));height:min(620px,calc(100vh - 48px));max-height:620px;display:grid;grid-template-columns:42% 58%;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.36);animation:pfModalIn .45s cubic-bezier(.2,.8,.2,1) both}
#pfModalV3 .pf-modal-panel::before{content:"";position:absolute;top:0;left:0;right:0;z-index:8;height:6px;background:linear-gradient(90deg,var(--pf-blue-dark),var(--pf-blue) 72%,var(--pf-yellow) 72%)}
#pfModalV3 .pf-modal-close{position:absolute;top:20px;right:20px;z-index:20;width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,23,137,.88);color:#fff;font-size:28px;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.18);transition:background .3s ease,color .3s ease,transform .3s ease}
#pfModalV3 .pf-modal-close:hover{transform:rotate(90deg);background:var(--pf-yellow);color:var(--pf-blue-dark)}
#pfModalV3 .pf-modal-visual{position:relative;min-height:0;height:100%;overflow:hidden;background-color:var(--pf-blue-dark);background-position:center;background-size:cover;background-repeat:no-repeat}
#pfModalV3 .pf-modal-visual::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 30% 20%,rgba(0,42,255,.08),transparent 38%)}
#pfModalV3 .pf-modal-visual-overlay{position:absolute;inset:0;z-index:2}
#pfModalV3 .pf-modal-slider{position:absolute;inset:0;z-index:3;overflow:hidden}
#pfModalV3 .pf-modal-slides{width:100%;height:100%;display:flex;transform:translate3d(0,0,0);transition:transform .48s cubic-bezier(.2,.75,.2,1);will-change:transform}
#pfModalV3 .pf-modal-slide{flex:0 0 100%;width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}
#pfModalV3 .pf-slider-arrow{position:absolute;top:50%;z-index:7;width:42px;height:42px;display:grid;place-items:center;margin:0;padding:0 0 3px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(0,23,137,.78);color:#fff;font-size:30px;font-weight:300;line-height:1;cursor:pointer;transform:translateY(-50%);box-shadow:0 9px 24px rgba(0,0,0,.18);transition:transform .25s ease,background .25s ease,color .25s ease}
#pfModalV3 .pf-slider-arrow:hover{transform:translateY(-50%) scale(1.06);background:var(--pf-yellow);color:var(--pf-blue-dark)}
#pfModalV3 .pf-slider-arrow--prev{left:16px}#pfModalV3 .pf-slider-arrow--next{right:16px}
#pfModalV3 .pf-slider-dots{position:absolute;left:50%;bottom:20px;z-index:7;display:flex;align-items:center;justify-content:center;gap:7px;transform:translateX(-50%)}
#pfModalV3 .pf-slider-dot{width:8px;height:8px;margin:0;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s ease,background .25s ease}
#pfModalV3 .pf-slider-dot.is-active{width:25px;background:var(--pf-yellow)}
#pfModalV3 .pf-slider-counter{position:absolute;right:16px;bottom:15px;z-index:7;min-width:44px;padding:6px 9px;border-radius:999px;background:rgba(0,23,137,.78);color:#fff;font-size:10px;font-weight:700;text-align:center}
#pfModalV3 .pf-modal-slider.is-single .pf-slider-arrow,#pfModalV3 .pf-modal-slider.is-single .pf-slider-dots,#pfModalV3 .pf-modal-slider.is-single .pf-slider-counter{display:none}
#pfModalV3 .pf-modal-info{position:relative;min-width:0;height:100%;max-height:none;overflow-y:auto;padding:38px 34px 30px;background:#fff;color:var(--pf-text);scrollbar-width:thin;scrollbar-color:var(--pf-blue) #edf0f8}
#pfModalV3 .pf-modal-info h2{margin:0 0 18px;padding-right:35px;color:var(--pf-blue-dark);font-family:'Poppins',sans-serif;font-size:clamp(32px,3.2vw,44px);font-weight:700;line-height:1.02;letter-spacing:-1.6px}
#pfModalV3 .pf-modal-description{margin:0 0 20px;color:var(--pf-muted);font-family:'Montserrat',sans-serif;font-size:15px;font-weight:400;line-height:1.65}
#pfModalV3 .pf-specifications{margin-top:6px}#pfModalV3 .pf-specifications h3{margin:0 0 14px;color:var(--pf-blue-dark);font-family:'Poppins',sans-serif;font-size:18px;font-weight:700;line-height:1.3}
#pfModalV3 .pf-spec-list{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 18px;overflow:hidden;border:1px solid var(--pf-border);border-radius:12px;background:#fff}
#pfModalV3 .pf-spec-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);border-bottom:1px solid var(--pf-border);font-family:'Montserrat',sans-serif}
#pfModalV3 .pf-spec-row:last-child{border-bottom:0}
#pfModalV3 .pf-spec-label,#pfModalV3 .pf-spec-value{min-width:0;padding:11px 14px;font-size:13px;line-height:1.45}
#pfModalV3 .pf-spec-label{display:flex;align-items:center;background:var(--pf-light);color:var(--pf-blue-dark);font-weight:700}
#pfModalV3 .pf-spec-value{display:flex;align-items:center;color:#4e586d;font-weight:500}
#pfModalV3 .pf-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
#pfModalV3 .pf-button{min-height:55px;display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 16px;border-radius:8px;text-align:center;text-decoration:none!important;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;line-height:1.2;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease}
#pfModalV3 .pf-button:hover{transform:translateY(-3px)}
#pfModalV3 .pf-button-main{background:var(--pf-yellow);color:var(--pf-blue-dark);box-shadow:0 10px 24px rgba(245,197,24,.25)}
#pfModalV3 .pf-button-main:hover{background:var(--pf-blue);color:#fff;box-shadow:0 14px 30px rgba(0,42,255,.25)}
#pfModalV3 .pf-button-whatsapp{border:1px solid var(--pf-blue-dark);background:#fff;color:var(--pf-blue-dark)}
#pfModalV3 .pf-button-whatsapp:hover{border-color:var(--pf-whatsapp);background:var(--pf-whatsapp);color:#fff;box-shadow:0 14px 30px rgba(37,211,102,.2)}
#pfModalV3 .pf-button-site{grid-column:1/-1;background:var(--pf-blue);color:#fff}
#pfModalV3 .pf-button.is-disabled{opacity:.5;pointer-events:none;filter:grayscale(.35)}
@keyframes pfBackdropIn{from{opacity:0}to{opacity:1}}@keyframes pfModalIn{from{opacity:0;transform:translateY(30px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:1024px){
  #pfProductsV3 .pf-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  #pfProductsV3 .pf-product-card{height:370px}
  #pfModalV3 .pf-modal-panel{width:min(900px,calc(100vw - 32px));height:min(600px,calc(100vh - 32px));grid-template-columns:40% 60%}
  #pfModalV3 .pf-modal-info{padding:34px 28px 28px}
}
@media(max-width:767px){
  #pfProductsV3.pf-products-v3{padding:25px 14px}
  #pfProductsV3 .pf-products-grid{grid-template-columns:1fr;gap:40px}
  #pfProductsV3 .pf-product-card{height:285px;border-radius:8px}
  #pfProductsV3 .pf-product-content{padding:22px 75px 24px 20px}
  #pfProductsV3 .pf-product-card h3{font-size:25px}
  #pfProductsV3 .pf-product-arrow{right:17px;bottom:20px;width:44px;height:44px;font-size:26px}

  #pfModalV3.pf-modal-v3{align-items:center;padding:10px;overflow:hidden}
  #pfModalV3 .pf-modal-panel{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);grid-template-columns:1fr;grid-template-rows:220px minmax(0,1fr);margin:0;border-radius:13px;overflow:hidden}
  #pfModalV3 .pf-modal-close{position:absolute;top:14px;right:14px;width:42px;height:42px}
  #pfModalV3 .pf-modal-visual{min-height:0;height:220px;border-radius:13px 13px 0 0}
  #pfModalV3 .pf-modal-info{height:100%;max-height:none;overflow-y:auto;padding:28px 20px 24px;border-radius:0 0 13px 13px}
  #pfModalV3 .pf-modal-info h2{padding-right:0;font-size:34px;letter-spacing:-1px}
  #pfModalV3 .pf-modal-description{font-size:14px;line-height:1.7}
  #pfModalV3 .pf-spec-row{grid-template-columns:1fr}
  #pfModalV3 .pf-spec-label{padding-bottom:6px}
  #pfModalV3 .pf-spec-value{padding-top:6px}
  #pfModalV3 .pf-modal-actions{grid-template-columns:1fr}
  #pfModalV3 .pf-modal-slide{position:relative;overflow:hidden;background-color:var(--pf-blue-dark);background-size:0 0;background-repeat:no-repeat;background-position:center}
  #pfModalV3 .pf-modal-slide::before{content:"";position:absolute;inset:-22px;z-index:0;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(18px) brightness(.52) saturate(.9);transform:scale(1.12);opacity:.82;pointer-events:none}
  #pfModalV3 .pf-modal-slide::after{content:"";position:absolute;inset:0;z-index:1;background-image:inherit;background-size:contain;background-position:center;background-repeat:no-repeat;pointer-events:none}
  #pfModalV3 .pf-slider-arrow,#pfModalV3 .pf-slider-dots,#pfModalV3 .pf-slider-counter{z-index:8}
}


/* =========================================================
   PALME HERO — animación original
========================================================= */
.palme-hero{
  position:relative;
  width:100%;
  min-height:260px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:58px max(20px,calc((100vw - 1240px)/2));
  background:var(--palme-dark,#001789);
  color:#fff;
  font-family:'Montserrat',sans-serif;
}
.palme-hero__inner{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto}
.palme-hero__dots{position:absolute;z-index:1;width:70px;height:70px;opacity:.55;background-image:radial-gradient(rgba(0,42,255,.9) 2.4px,transparent 2.4px);background-size:12px 12px;will-change:transform}
.palme-hero__dots--tl{top:14px;left:14px}
.palme-hero__dots--br{right:14px;bottom:10px;background-image:radial-gradient(rgba(255,237,0,.8) 2.4px,transparent 2.4px)}
.palme-hero__crumb{margin:0 0 12px;color:#D6E6FF;font-family:'Montserrat',sans-serif;font-size:clamp(12px,1.4vw,14px);font-weight:600;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.palme-hero__title{margin:0;color:#fff;font-family:'Poppins',sans-serif;font-size:clamp(38px,6vw,64px);font-weight:700;line-height:1.05;letter-spacing:-.035em;opacity:0;transform:translateY(12px);transition:opacity .6s ease .1s,transform .6s cubic-bezier(.16,1,.3,1) .1s}
.palme-hero__accent{position:relative;display:inline-block}
.palme-hero__underline{position:absolute;left:0;bottom:-5px;width:0;height:4px;border-radius:999px;background:linear-gradient(90deg,#F5C518 0%,#FFE16A 100%);box-shadow:0 3px 12px rgba(245,197,24,.28);transition:width .7s cubic-bezier(.16,1,.3,1) .45s}
.palme-hero.is-visible .palme-hero__crumb,.palme-hero.is-visible .palme-hero__title{opacity:1;transform:translateY(0)}
.palme-hero.is-visible .palme-hero__underline{width:100%}

/* =========================================================
   PRODUCT CARDS — SIN DEGRADADO
   La imagen termina arriba de un pie azul sólido.
========================================================= */
#pfProductsV3 .pf-product-card{background:var(--pf-blue-dark)}
#pfProductsV3 .pf-product-bg{
  inset:0 0 82px 0;
  height:calc(100% - 82px);
}
#pfProductsV3 .pf-product-overlay{display:none!important;background:none!important}
#pfProductsV3 .pf-product-content{
  left:0;right:0;bottom:0;
  min-height:82px;
  display:flex;
  align-items:center;
  padding:17px 82px 17px 26px;
  background:var(--pf-blue-dark);
}
#pfProductsV3 .pf-product-arrow{right:22px;bottom:20px}
#pfProductsV3 .pf-product-line{z-index:5}

/* Nunca mostrar Visitar sitio si el producto no lo habilita */
#pfModalV3 .pf-btn-site.is-hidden,
#pfModalV3 .pf-button-site.is-hidden{display:none!important}

@media(max-width:767px){
  .palme-hero{min-height:215px;padding:48px 22px}
  .palme-hero__title{font-size:clamp(36px,11vw,52px)}
  #pfProductsV3 .pf-product-bg{inset:0 0 78px 0;height:calc(100% - 78px)}
  #pfProductsV3 .pf-product-content{min-height:78px;padding:16px 68px 16px 20px}
  #pfProductsV3 .pf-product-arrow{right:17px;bottom:18px}
}
@media(prefers-reduced-motion:reduce){
  .palme-hero__crumb,.palme-hero__title,.palme-hero__underline,.palme-hero__dots{transition:none!important;animation:none!important}
  .palme-hero__crumb,.palme-hero__title{opacity:1!important;transform:none!important}
  .palme-hero__underline{width:100%!important}
}


/* WhatsApp icon refinado */
#pfModalV3 .pf-whatsapp-svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:block;
  color:currentColor;
  transform:translateY(.2px);
  transition:transform .25s ease;
}
#pfModalV3 .pf-button-whatsapp{
  gap:10px;
}
#pfModalV3 .pf-button-whatsapp:hover .pf-whatsapp-svg{
  transform:translateY(.2px) scale(1.07);
}
@media(max-width:767px){
  #pfModalV3 .pf-whatsapp-svg{
    width:21px;
    height:21px;
    flex-basis:21px;
  }
}


/* PDF principal opcional + enlaces de fichas dentro de especificaciones */
#pfModalV3 .pf-btn-pdf.is-hidden{
  display:none!important;
}
#pfModalV3 .pf-spec-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--pf-blue);
  font-weight:700;
  text-decoration:none!important;
  transition:color .2s ease,transform .2s ease;
}
#pfModalV3 .pf-spec-link:hover{
  color:var(--pf-blue-dark);
  transform:translateX(2px);
}
#pfModalV3 .pf-spec-link span{
  font-size:11px;
  line-height:1;
}


/* =========================================================
   TARJETAS CON ENLACE — reutilizable
   Misma estética de productos, sin modal.
========================================================= */
.pf-link-cards{
  --pf-blue-dark:#001789;
  --pf-blue:#002AFF;
  --pf-yellow:#FFED00;
  --pf-link-columns:3;
  width:100%;
  padding:40px 20px;
  background:#fff;
  font-family:'Montserrat',sans-serif;
}
.pf-link-cards *,
.pf-link-cards *::before,
.pf-link-cards *::after{box-sizing:border-box}

.pf-link-cards__grid{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(var(--pf-link-columns),minmax(0,1fr));
  gap:28px;
}

.pf-link-card{
  position:relative;
  display:block;
  width:100%;
  height:440px;
  min-width:0;
  overflow:hidden;
  border:0;
  border-radius:2px;
  background:var(--pf-blue-dark);
  box-shadow:0 16px 42px rgba(0,23,137,.13);
  isolation:isolate;
  text-decoration:none!important;
  transition:transform .4s ease,box-shadow .4s ease;
}
.pf-link-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(0,23,137,.22);
}
.pf-link-card:focus-visible{
  outline:4px solid rgba(255,237,0,.55);
  outline-offset:4px;
}

.pf-link-card__image{
  position:absolute;
  inset:0 0 82px 0;
  z-index:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.001);
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.pf-link-card:hover .pf-link-card__image{
  transform:scale(1.09);
  filter:saturate(1.08);
}

.pf-link-card__content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  min-height:82px;
  display:flex;
  align-items:center;
  padding:17px 82px 17px 26px;
  background:var(--pf-blue-dark);
}
.pf-link-card h3{
  margin:0;
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-size:23px;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.5px;
}

.pf-link-card__arrow{
  position:absolute;
  right:22px;
  bottom:20px;
  z-index:4;
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--pf-yellow);
  color:var(--pf-blue-dark);
  font-size:30px;
  line-height:1;
  transition:transform .4s ease,background .3s ease,color .3s ease;
}
.pf-link-card:hover .pf-link-card__arrow{
  transform:rotate(45deg);
  background:#fff;
  color:var(--pf-blue);
}
.pf-link-card__line{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:5;
  height:5px;
  background:linear-gradient(90deg,var(--pf-yellow) 0 24%,var(--pf-blue) 24% 100%);
  transform:scaleX(.24);
  transform-origin:left;
  transition:transform .55s ease;
}
.pf-link-card:hover .pf-link-card__line{transform:scaleX(1)}

@media(max-width:1024px){
  .pf-link-cards__grid{grid-template-columns:repeat(min(var(--pf-link-columns),2),minmax(0,1fr))}
  .pf-link-card{height:370px}
}
@media(max-width:767px){
  .pf-link-cards{padding:25px 14px}
  .pf-link-cards__grid{grid-template-columns:1fr;gap:17px}
  .pf-link-card{height:285px;border-radius:8px}
  .pf-link-card__image{inset:0 0 78px 0}
  .pf-link-card__content{min-height:78px;padding:16px 68px 16px 20px}
  .pf-link-card h3{font-size:25px}
  .pf-link-card__arrow{right:17px;bottom:18px;width:44px;height:44px;font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  .pf-link-card,
  .pf-link-card__image,
  .pf-link-card__arrow,
  .pf-link-card__line{
    animation:none!important;
    transition:none!important;
  }
}


/* =========================================================
   MARCAS — diseño original
========================================================= */
.palme-portfolio{
  --palme-dark:#001789;
  --palme-blue:#002AFF;
  --palme-yellow:#FFED00;
  --palme-black:#0A0A0A;
  --palme-muted:#69738A;
  --palme-border:#E2E7F1;
  --palme-surface:#F6F8FC;
  --palme-brand-columns:4;
  width:100%;
  padding:clamp(58px,7vw,94px) 20px;
  background:#fff;
  font-family:"Montserrat",sans-serif;
}
.palme-portfolio,
.palme-portfolio *,
.palme-portfolio *::before,
.palme-portfolio *::after{
  box-sizing:border-box;
  text-decoration:none;
}
.palme-portfolio__container{
  width:100%;
  max-width:1280px;
  margin:0 auto;
}
.palme-portfolio__grid{
  display:grid;
  grid-template-columns:repeat(var(--palme-brand-columns),minmax(0,1fr));
  gap:18px;
}
.palme-portfolio__card{
  position:relative;
  min-width:0;
  height:210px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--palme-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 36px rgba(0,23,137,.07);
  color:inherit;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.palme-portfolio__card:visited{color:inherit}
.palme-portfolio__card:hover{
  transform:translateY(-6px);
  border-color:rgba(0,42,255,.3);
  box-shadow:0 24px 52px rgba(0,23,137,.14);
}
.palme-portfolio__card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:3;
  height:4px;
  background:linear-gradient(90deg,var(--palme-blue) 0 76%,var(--palme-yellow) 76% 100%);
}
.palme-portfolio__logo-area{
  flex:1;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 20px 14px;
  background:linear-gradient(145deg,#fff 0%,var(--palme-surface) 100%);
}
.palme-portfolio__logo{
  width:auto;
  max-width:78%;
  max-height:92px;
  display:block;
  object-fit:contain;
  object-position:center;
  transition:transform .35s ease;
}
.palme-portfolio__card:hover .palme-portfolio__logo{transform:scale(1.045)}
.palme-portfolio__info{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 15px;
  border-top:1px solid var(--palme-border);
  background:#fff;
}
.palme-portfolio__info h3{
  min-width:0;
  margin:0;
  color:var(--palme-dark);
  font-family:"Poppins",sans-serif;
  font-size:13px;
  font-weight:600;
  line-height:1.3;
}
.palme-portfolio__info span{
  flex:0 0 auto;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--palme-dark);
  background:#F1F4FA;
  font-size:14px;
  font-weight:700;
  line-height:1;
  transition:transform .25s ease,color .25s ease,background .25s ease;
}
.palme-portfolio__card:hover .palme-portfolio__info span{
  transform:translateX(3px);
  color:#fff;
  background:var(--palme-blue);
}
.palme-portfolio__registered{
  margin-top:34px;
  padding-top:26px;
  border-top:1px solid var(--palme-border);
}
.palme-portfolio__registered-label{
  display:block;
  margin-bottom:14px;
  color:var(--palme-dark);
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.palme-portfolio__registered-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.palme-portfolio__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 15px;
  border:1px solid var(--palme-border);
  border-radius:999px;
  background:#fff;
  color:var(--palme-dark);
  box-shadow:0 6px 16px rgba(0,23,137,.04);
  font-family:"Poppins",sans-serif;
  font-size:10px;
  font-weight:600;
  line-height:1.2;
  transition:transform .25s ease,color .25s ease,background .25s ease,border-color .25s ease;
}
.palme-portfolio__tag:hover{
  transform:translateY(-2px);
  border-color:var(--palme-blue);
  background:var(--palme-blue);
  color:#fff;
}
@media(max-width:980px){
  .palme-portfolio__grid{grid-template-columns:repeat(min(var(--palme-brand-columns),3),minmax(0,1fr))}
}
@media(max-width:760px){
  .palme-portfolio__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .palme-portfolio__card{height:190px}
  .palme-portfolio__logo{max-width:82%;max-height:78px}
}
@media(max-width:560px){
  .palme-portfolio{padding:56px 14px}
  .palme-portfolio__grid{grid-template-columns:1fr;gap:12px}
  .palme-portfolio__card{height:180px;border-radius:15px}
  .palme-portfolio__logo-area{padding:20px 18px 10px}
  .palme-portfolio__logo{max-width:84%;max-height:88px}
  .palme-portfolio__info{min-height:52px;padding:10px 13px}
  .palme-portfolio__info h3{font-size:12px}
  .palme-portfolio__registered{margin-top:25px}
  .palme-portfolio__tag{min-height:38px;padding:8px 13px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .palme-portfolio__card,
  .palme-portfolio__logo,
  .palme-portfolio__tag{transition:none}
}


/* =========================================================
   ISO 9001 — réplica del código original
========================================================= */
.palme-iso{
  --palme-blue-dark:#001789;--palme-blue:#002AFF;--palme-yellow:#FFED00;--palme-bg:#F5F7FF;
  width:100%;padding-bottom:70px;overflow:hidden;background:var(--palme-bg);font-family:"Montserrat",sans-serif;
}
.palme-iso *,.palme-iso-lightbox *{box-sizing:border-box}
.palme-iso__container{width:100%;max-width:1240px;margin:0 auto}
.palme-iso__content{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.55fr);gap:28px;align-items:stretch}
.palme-iso__certificate-panel{height:650px;min-width:0;overflow:hidden}
.palme-iso__certificate-button{position:relative;width:100%;height:100%;display:block;margin:0;padding:0;overflow:hidden;border:0;background:transparent;cursor:zoom-in}
.palme-iso__certificate-button img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;transition:transform .38s ease}
.palme-iso__certificate-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;color:#fff;background:rgba(0,23,137,.68);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.palme-iso__zoom-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:var(--palme-blue-dark);background:var(--palme-yellow);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.palme-iso__zoom-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.palme-iso__certificate-overlay>span:last-child{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.palme-iso__certificate-button:hover img,.palme-iso__certificate-button:focus-visible img{transform:scale(1.025)}
.palme-iso__certificate-button:hover .palme-iso__certificate-overlay,.palme-iso__certificate-button:focus-visible .palme-iso__certificate-overlay{opacity:1;visibility:visible}

.palme-iso__principles{min-width:0;height:650px;display:flex;gap:10px}
.palme-iso__principle{position:relative;flex:0 0 145px;width:145px;min-width:145px;height:100%;overflow:hidden;border-radius:20px;background:var(--palme-blue-dark);box-shadow:0 18px 44px rgba(0,23,137,.13);cursor:pointer;isolation:isolate;outline:none;transition:flex .62s cubic-bezier(.2,.72,.25,1),width .62s cubic-bezier(.2,.72,.25,1),min-width .62s cubic-bezier(.2,.72,.25,1),box-shadow .3s ease}
.palme-iso__principle:hover,.palme-iso__principle:focus-visible,.palme-iso__principle.is-active{flex:3 1 0;width:auto;min-width:0;box-shadow:0 28px 62px rgba(0,23,137,.22)}
.palme-iso__principle-bg{position:absolute;inset:0;z-index:0}
.palme-iso__principle-bg--mission{background:linear-gradient(145deg,#001789,#002AFF)}
.palme-iso__principle-bg--vision{background:linear-gradient(145deg,#002AFF,#4B97FF)}
.palme-iso__principle-bg--policy{background:var(--palme-yellow)}
.palme-iso__principle::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 44%,rgba(0,0,0,.14))}
.palme-iso__principle--yellow::after{background:linear-gradient(180deg,transparent 44%,rgba(0,23,137,.07))}
.palme-iso__principle-compact{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:28px 18px;opacity:1;visibility:visible;transition:opacity .22s ease,visibility .22s ease}
.palme-iso__principle-compact h3{margin:0;color:#fff;font-family:"Poppins",sans-serif;font-size:25px;font-weight:700;line-height:1.04;letter-spacing:-.8px;overflow-wrap:anywhere}
.palme-iso__principle-plus{position:absolute;top:18px;left:18px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--palme-blue-dark);background:var(--palme-yellow);font-size:22px;font-weight:500;line-height:1}
.palme-iso__principle--yellow .palme-iso__principle-compact h3{color:var(--palme-blue-dark)}
.palme-iso__principle--yellow .palme-iso__principle-plus{color:#fff;background:var(--palme-blue-dark)}
.palme-iso__principle:hover .palme-iso__principle-compact,.palme-iso__principle:focus-visible .palme-iso__principle-compact,.palme-iso__principle.is-active .palme-iso__principle-compact{opacity:0;visibility:hidden}
.palme-iso__principle-expanded{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-start;padding:32px 28px;color:#fff;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .34s ease .10s,visibility .34s ease .10s,transform .34s ease .10s}
.palme-iso__principle:hover .palme-iso__principle-expanded,.palme-iso__principle:focus-visible .palme-iso__principle-expanded,.palme-iso__principle.is-active .palme-iso__principle-expanded{opacity:1;visibility:visible;transform:translateY(0)}
.palme-iso__principle-expanded h3{margin:0 0 18px;color:#fff;font-family:"Poppins",sans-serif;font-size:35px;font-weight:700;line-height:1;letter-spacing:-1.5px}
.palme-iso__principle-expanded p{width:100%;max-width:100%;margin:0;color:rgba(255,255,255,.96);font-family:"Montserrat",sans-serif;font-size:16px;line-height:1.72}
.palme-iso__principle--yellow .palme-iso__principle-expanded h3,.palme-iso__principle--yellow .palme-iso__principle-expanded p{color:var(--palme-blue-dark)}

.palme-iso-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;font-family:"Montserrat",sans-serif}
.palme-iso-lightbox.is-open{display:flex}
.palme-iso-lightbox__backdrop{position:absolute;inset:0;background:rgba(32,35,43,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:palmeIsoFadeIn .25s ease both}
.palme-iso-lightbox__dialog{position:relative;z-index:2;height:min(92vh,900px);overflow:hidden;border-radius:18px;animation:palmeIsoZoomIn .35s cubic-bezier(.2,.75,.2,1) both}
.palme-iso-lightbox__close{position:absolute;top:14px;right:14px;z-index:4;width:44px;height:44px;display:grid;place-items:center;margin:0;padding:0 0 3px;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fff;background:rgba(0,23,137,.9);font-size:29px;font-weight:300;line-height:1;cursor:pointer}
.palme-iso-lightbox__image-area{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;background:#E9EBF0}
.palme-iso-lightbox__image-area img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.2))}
@keyframes palmeIsoFadeIn{from{opacity:0}to{opacity:1}}
@keyframes palmeIsoZoomIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(min-width:1081px) and (max-width:1240px){
  .palme-iso__content{grid-template-columns:minmax(350px,.9fr) minmax(0,1.6fr)}
  .palme-iso__principle{flex-basis:120px;width:120px;min-width:120px}
  .palme-iso__principle-expanded h3{font-size:36px}
  .palme-iso__principle-expanded p{font-size:15px}
}
@media(max-width:1080px){
  .palme-iso__content{grid-template-columns:1fr}
  .palme-iso__certificate-panel{width:100%;max-width:760px;height:520px;margin:0 auto}
  .palme-iso__principles{height:560px}
  .palme-iso__principle{flex-basis:150px;width:150px;min-width:150px}
}
@media(max-width:767px){
  .palme-iso{padding:64px 14px}
  .palme-iso__content{gap:16px}
  .palme-iso__certificate-panel{max-width:none;height:470px}
  .palme-iso__certificate-overlay{display:none}
  .palme-iso__principles{height:auto;display:grid;grid-template-columns:1fr;gap:12px}
  .palme-iso__principle,.palme-iso__principle:hover,.palme-iso__principle:focus-visible,.palme-iso__principle.is-active{width:100%;min-width:0;height:104px;flex:none;transition:height .48s ease}
  .palme-iso__principle.is-active{height:470px}
  .palme-iso__principle-compact{justify-content:center;padding:18px 62px 18px 20px}
  .palme-iso__principle-compact h3{font-size:26px}
  .palme-iso__principle-plus{top:50%;right:17px;left:auto;transform:translateY(-50%)}
  .palme-iso__principle-expanded{padding:28px 22px}
  .palme-iso__principle-expanded h3{font-size:25px;line-height:1.02}
  .palme-iso__principle-expanded p{font-size:16px;line-height:1.68}
  .palme-iso-lightbox{padding:10px}
  .palme-iso-lightbox__dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:13px}
}


/* ===== 1.2.19 MAPA ORIGINAL ===== */
.palme-locator{
  width:100%;
  padding:80px 20px;
  font-family:"Poppins", sans-serif;
}

.palme-locator-head{
  max-width:1180px;
  margin:0 auto 34px;
}

.palme-locator-head span{
  color:#002AFF;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:15px;
}

.palme-locator-head h2{
  margin:10px 0 12px;
  font-weight: 700;
  font-size:42px;
  line-height:1;
  text-transform:uppercase;
  color:#0A0A0A;
}

.palme-locator-head p{
  max-width:620px;
  margin:0;
  color:#0A0A0A;
  line-height:1.6;
}

.palme-locator-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 390px;
  gap:24px;
  align-items:stretch;
}

.palme-mexico-map{
  width:100%;
  min-height:640px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.13);
  background:#dfe7ef;
}

.palme-branch-panel{
  background:#001789;
  color:#fff;
  border-radius:12px;
  padding:30px;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}

.palme-panel-label{
  color:var(--palme-locator-yellow,#FFED00);
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:1.7px;
  font-size:12px;
}

.palme-branch-panel h3{
  margin:10px 0 22px;
  font-size:30px;
  line-height:1;
  text-transform:uppercase;
  color:var(--palme-locator-yellow,#FFED00);
}

.palme-empty{
  color:rgba(255,255,255,.68);
  line-height:1.6;
}

.palme-branch-card{
  padding:18px;
  border-radius:14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:14px;
}

.palme-branch-card h4{
  margin:0 0 8px;
  color:#fff;
  font-size:18px;
}

.palme-branch-card p{
  margin:0 0 14px;
  color:rgba(255,255,255,.72);
  line-height:1.5;
  font-size:14px;
}

.palme-branch-card a{
  display:inline-flex;
  padding:10px 14px;
  background:var(--palme-locator-yellow,#FFED00);
  color:#001789;
  text-decoration:none;
  border-radius:6px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}

.palme-pin{
  width:28px !important;
  height:28px !important;
}

.palme-pin span{
  width:28px;
  height:28px;
  display:block;
  background:var(--palme-locator-yellow,#FFED00);
  border:6px solid #002aff;
  border-radius:50%;
  box-shadow:0 8px 24px rgba(0, 23, 137, 1);
  animation:palmePulse 1.8s infinite;
}

.palme-branch-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.palme-view-map{
  display:inline-flex;
  width:max-content;
  padding:10px 14px;
  background:var(--palme-locator-yellow,#FFED00);
  color:#002aff;
  border:0;
  border-radius:6px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  text-decoration:underline;
  cursor:pointer;
}

.palme-branch-card a{
  width:max-content;
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

.palme-map-embed{
  display:none;
  margin-top:18px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
}

.palme-map-embed.active{
  display:block;
  animation:palmeMapIn .35s ease both;
}

.palme-map-embed iframe{
  width:100%;
  height:260px;
  border:0;
  display:block;
}

@keyframes palmeMapIn{
  from{
    opacity:0;
    transform:translateY(12px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
@keyframes palmePulse{
  0%{box-shadow:0 0 0 0 rgba(0, 23, 137, 1)}
  70%{box-shadow:0 0 0 16px rgba(0,66,137,0)}
  100%{box-shadow:0 0 0 0 rgba(0,66,137,0)}
}

/* =========================================================
   CORRECCIÓN DE ALTURA Y SCROLL DEL PANEL
========================================================= */

.palme-locator-grid{
  height:640px;
  align-items:stretch;
}

/* El mapa conserva siempre la misma altura */
.palme-mexico-map{
  height:100%;
  min-height:0;
  align-self:stretch;
}

/* Solo el panel derecho tendrá scroll */
.palme-branch-panel{
  height:100%;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#ffed00 rgba(255,255,255,.12);
}

/* Scroll personalizado en Chrome, Edge y Safari */
.palme-branch-panel::-webkit-scrollbar{
  width:8px;
}

.palme-branch-panel::-webkit-scrollbar-track{
  margin:14px 0;
  border-radius:20px;
  background:rgba(255,255,255,.10);
}

.palme-branch-panel::-webkit-scrollbar-thumb{
  border:2px solid #001789;
  border-radius:20px;
  background:#ffed00;
}

.palme-branch-panel::-webkit-scrollbar-thumb:hover{
  background:#ffffff;
}

@media(max-width:900px){
  .palme-locator{
    padding:55px 14px;
  }

  .palme-locator-head h2{
    font-size:32px;
  }

  .palme-locator-grid{
    grid-template-columns:1fr;
  }

  .palme-mexico-map{
    min-height:460px;
  }

  .palme-branch-panel{
    padding:24px;
  }
}

/* ===== 1.2.19 PRINCIPIOS HOME ORIGINAL ===== */
:root{
  --palme-dark:#001789;
  --palme-blue:#002AFF;
  --palme-yellow:#FFED00;
  --palme-gold:#F5C518;
  --palme-light:#F4F7FF;
  --palme-black:#0A0A0A;
  --palme-muted:#677086;
  --palme-sticky-top:24px;
  --palme-card-gap:18px;
}

.palme-values,
.palme-values *,
.palme-values *::before,
.palme-values *::after{
  box-sizing:border-box;
}

.palme-values{
  position:relative;
  width:100%;
  overflow:clip;
  isolation:isolate;
  padding:clamp(64px,7vw,92px) clamp(18px,5vw,72px) 130px;
  background:
    linear-gradient(
      180deg,
      #FFFFFF 0%,
      #F4F7FF 26%,
      #F4F7FF 84%,
      #FFFFFF 100%
    );
  font-family:"Montserrat",sans-serif;
}


/* =========================
   MARQUEE DE FONDO
========================= */

.palme-values__marquee{
  position:absolute;
  top:58px;
  left:0;
  z-index:0;
  width:100%;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
}

.palme-values__marquee-track{
  width:max-content;
  display:flex;
  will-change:transform;
  animation:palmeValuesMarquee 34s linear infinite;
}

.palme-values__marquee-group{
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:clamp(55px,7vw,115px);
  padding-right:clamp(55px,7vw,115px);
}

.palme-values__marquee span{
  white-space:nowrap;
  color:rgba(0,42,255,.045);
  font-family:"Poppins",sans-serif;
  font-size:clamp(88px,12vw,170px);
  font-weight:700;
  line-height:.86;
  text-transform:uppercase;
}

@keyframes palmeValuesMarquee{
  from{
    transform:translate3d(0,0,0);
  }
  to{
    transform:translate3d(-50%,0,0);
  }
}


/* =========================
   INTRO
========================= */

.palme-values__intro{
  position:relative;
  z-index:2;
  width:min(100%,1120px);
  margin:0 auto 56px;
}

.palme-values__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  color:var(--palme-blue);
  font-family:"Poppins",sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.palme-values__eyebrow::before{
  content:"";
  width:36px;
  height:3px;
  border-radius:999px;
  background:var(--palme-yellow);
}

.palme-values__intro h2{
  max-width:850px;
  margin:0 0 18px;
  color:var(--palme-black);
  font-family:"Poppins",sans-serif;
  font-size:clamp(38px,4.5vw,58px);
  font-weight:700;
  line-height:1.03;
  letter-spacing:-1.5px;
}

.palme-values__intro h2 span{
  position:relative;
  display:inline-block;
  color:var(--palme-blue);
}

.palme-values__intro h2 span::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:5px;
  border-radius:999px;
  background:var(--palme-yellow);
}

.palme-values__intro p{
  max-width:700px;
  margin:0;
  color:var(--palme-muted);
  font-size:16px;
  line-height:1.7;
}


/* =========================
   STACK
========================= */

.palme-values__stack{
  position:relative;
  z-index:2;
  width:min(100%,1120px);
  margin:0 auto;
}

.palme-values__card{
  --card-bg:linear-gradient(135deg,#001789,#002AFF);
  --card-accent:#FFED00;
  --card-text:#FFFFFF;
  --card-muted:rgba(255,255,255,.88);

  position:sticky;

  top:calc(
    var(--palme-sticky-top) +
    (var(--card-index,0) * var(--palme-card-gap))
  );

  min-height:360px;
  margin-bottom:64px;

  transform:
    translate3d(0,var(--card-translate,0px),0)
    scale(var(--card-scale,1));

  transform-origin:center top;
  will-change:transform;
}

.palme-values__card:last-child{
  margin-bottom:0;
}

.palme-values__card-inner{
  position:relative;
  min-height:360px;
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 128px;
  align-items:center;
  gap:28px;
  overflow:hidden;
  padding:30px 38px 30px 28px;
  color:var(--card-text);
  background:var(--card-bg);

  clip-path:
    polygon(
      3.4% 0,
      95.5% 0,
      100% 50%,
      95.5% 100%,
      3.4% 100%,
      0 50%
    );

  box-shadow:0 24px 62px rgba(0,23,137,.18);
}

.palme-values__card-inner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
  background:rgba(0,12,35,var(--card-overlay,0));
}

.palme-values__card-inner::after{
  content:"";
  position:absolute;
  left:28%;
  bottom:24px;
  width:120px;
  height:3px;
  border-radius:999px;
  background:var(--card-accent);
  opacity:.7;
}


/* =========================
   COLORES
========================= */

.palme-values__card--yellow{
  --card-bg:linear-gradient(135deg,#FFF600,#FFED00);
  --card-accent:#001789;
  --card-text:#001789;
  --card-muted:rgba(0,23,137,.82);
}

.palme-values__card--gold{
  --card-bg:linear-gradient(135deg,#F5C518,#E6A900);
  --card-accent:#001789;
  --card-text:#001789;
  --card-muted:rgba(0,23,137,.82);
}

.palme-values__card--blue{
  --card-bg:linear-gradient(135deg,#001789,#002AFF);
  --card-accent:#FFED00;
}

.palme-values__card--light-blue{
  --card-bg:linear-gradient(135deg,#164DB7,#4A8DFF);
  --card-accent:#FFED00;
}


/* =========================
   FOTO HEXAGONAL
========================= */

.palme-values__visual{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
}

.palme-values__hex-frame{
  width:200px;
  aspect-ratio:1;
  padding:8px;
  background:var(--card-accent);

  clip-path:
    polygon(
      25% 6.7%,
      75% 6.7%,
      100% 50%,
      75% 93.3%,
      25% 93.3%,
      0 50%
    );
}

.palme-values__hex-frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  clip-path:inherit;

  transform:
    translate3d(0,var(--image-shift,0px),0)
    scale(1.06);

  will-change:transform;
}


/* =========================
   CONTENIDO
========================= */

.palme-values__content{
  position:relative;
  z-index:3;
  min-width:0;
}

.palme-values__top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

.palme-values__index{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--palme-dark);
  font-family:"Poppins",sans-serif;
  font-size:11px;
  font-weight:700;
}

.palme-values__card--blue .palme-values__index,
.palme-values__card--light-blue .palme-values__index{
  color:var(--palme-dark);
  background:var(--palme-yellow);
}

.palme-values__label{
  color:var(--card-accent);
  font-family:"Poppins",sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
}

.palme-values__card--yellow .palme-values__label,
.palme-values__card--gold .palme-values__label{
  color:var(--palme-dark);
}

.palme-values__card h3{
  max-width:610px;
  margin:0 0 14px;
  color:var(--card-text);
  font-family:"Poppins",sans-serif;
  font-size:clamp(25px,3vw,38px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.8px;
  text-transform:uppercase;
}

.palme-values__card p{
  max-width:620px;
  margin:0;
  color:var(--card-muted);
  font-size:16px;
  line-height:1.62;
}

.palme-values__footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid currentColor;
  color:var(--card-text);
  opacity:.72;
  font-family:"Poppins",sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}


/* =========================
   LOGO DERECHO
========================= */

.palme-values__brand-mark{
  position:relative;
  z-index:3;
  width:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  padding:16px;
  border-radius:22px;
  animation:palmeLogoFloat 5.5s ease-in-out infinite;
}

.palme-values__card--yellow .palme-values__brand-mark,
.palme-values__card--gold .palme-values__brand-mark{
  border-color:rgba(0,23,137,.14);
}

.palme-values__brand-logo{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.08));
  transform:rotate(-1.5deg);
  transition:transform .35s ease,opacity .35s ease;
}

.palme-values__card:hover .palme-values__brand-logo{
  transform:rotate(1.5deg) scale(1.035);
}

@keyframes palmeLogoFloat{
  0%,100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-5px);
  }
}


/* =========================
   TABLET
========================= */

@media(max-width:960px){

  .palme-values__card-inner{
    grid-template-columns:160px minmax(0,1fr) 92px;
    gap:20px;
    padding:26px 30px 26px 24px;
  }

  .palme-values__hex-frame{
    width:140px;
  }

}


/* =========================
   MÓVIL
========================= */

@media(max-width:780px){

  :root{
    --palme-sticky-top:12px;
    --palme-card-gap:10px;
  }

  .palme-values{
    padding:56px 12px 90px;
  }

  .palme-values__marquee{
    top:40px;
  }

  .palme-values__marquee span{
    font-size:clamp(72px,24vw,120px);
  }

  .palme-values__intro{
    margin-bottom:42px;
  }

  .palme-values__intro h2{
    font-size:clamp(36px,10.5vw,50px);
  }

  .palme-values__intro p{
    font-size:14px;
  }

  .palme-values__card{
    min-height:0;
    margin-bottom:46px;
  }

  .palme-values__card-inner{
    min-height:0;
    grid-template-columns:1fr;
    gap:17px;
    padding:24px 28px 30px;

    clip-path:
      polygon(
        5% 0,
        95% 0,
        100% 4%,
        100% 96%,
        95% 100%,
        5% 100%,
        0 96%,
        0 4%
      );
  }

  .palme-values__visual{
    justify-content:flex-start;
  }

  .palme-values__hex-frame{
    width:118px;
  }

  .palme-values__brand-mark{
    position:absolute;
    top:22px;
    right:24px;
    width:76px;
    height:76px;
    padding:11px;
    border-radius:16px;
  }

  .palme-values__top{
    margin-bottom:12px;
  }

  .palme-values__label{
    font-size:12px;
  }

  .palme-values__card h3{
    font-size:clamp(27px,8.2vw,38px);
  }

  .palme-values__card p{
    font-size:13px;
  }

  .palme-values__footer{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  .palme-values__card-inner::after{
    left:28px;
    bottom:16px;
    width:84px;
  }

}


/* =========================
   REDUCED MOTION
========================= */

@media(prefers-reduced-motion:reduce){

  .palme-values__marquee-track,
  .palme-values__brand-mark{
    animation:none !important;
  }

  .palme-values__card,
  .palme-values__hex-frame img{
    transform:none !important;
  }

}

/* ===== 1.2.19 CATEGORÍAS HOME ORIGINAL ===== */
#pfCategories{
  --pf-blue-dark:#001789;
  --pf-blue:#002AFF;
  --pf-yellow:#FFED00;
  --pf-white:#FFFFFF;
  --pf-black:#0A0A0A;
  --pf-muted:#687188;
}

#pfCategories,
#pfCategories *,
#pfCategories *::before,
#pfCategories *::after{
  box-sizing:border-box;
}

.pf-categories{
  width:100%;
  padding:clamp(60px,7vw,96px) 20px;
  background:#FFFFFF;
  font-family:"Montserrat",sans-serif;
}

.pf-categories__header{
  width:100%;
  max-width:1240px;
  margin:0 auto 34px;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(280px,.7fr);
  gap:40px;
  align-items:end;
}

.pf-categories__header h2{
  margin:0;
  color:var(--pf-black);
  font-family:"Poppins",sans-serif;
  font-size:clamp(36px,4.6vw,56px);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-1.6px;
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity .65s ease,
    transform .65s cubic-bezier(.16,1,.3,1);
}

.pf-categories.is-visible .pf-categories__header h2{
  opacity:1;
  transform:translateY(0);
}

.pf-categories__header h2 span{
  position:relative;
  display:inline-block;
  color:var(--pf-blue);
}

.pf-categories__header h2 span::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:100%;
  height:5px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      var(--pf-yellow) 0%,
      #FFF27A 100%
    );
  box-shadow:0 4px 14px rgba(255,237,0,.24);
  transform:scaleX(0);
  transform-origin:left;
  transition:
    transform .8s cubic-bezier(.16,1,.3,1) .35s;
}

.pf-categories.is-visible .pf-categories__header h2 span::after{
  transform:scaleX(1);
}

.pf-categories__header p{
  margin:0;
  color:var(--pf-muted);
  font-size:15px;
  line-height:1.75;
  opacity:0;
  transform:translateY(12px);
  transition:
    opacity .65s ease .12s,
    transform .65s cubic-bezier(.16,1,.3,1) .12s;
}

.pf-categories.is-visible .pf-categories__header p{
  opacity:1;
  transform:translateY(0);
}

.pf-grid{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

.pf-card{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  height:310px;
  overflow:hidden;
  border-radius:18px;
  background:var(--pf-blue-dark);
  box-shadow:0 14px 34px rgba(0,23,137,.12);
  isolation:isolate;
  text-decoration:none !important;
  animation:pfFadeUp .7s ease both;
  transition:
    transform .38s ease,
    box-shadow .38s ease;
}

.pf-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 52px rgba(0,23,137,.22);
}

.pf-card:focus-visible{
  outline:4px solid rgba(255,237,0,.55);
  outline-offset:4px;
}

.pf-card img{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:82px;
  z-index:0;
  width:100%;
  height:calc(100% - 82px);
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.001);
  transition:
    transform .8s cubic-bezier(.2,.7,.2,1),
    filter .45s ease;
}

.pf-card:hover img{
  transform:scale(1.075);
  filter:saturate(1.06) contrast(1.02);
}

.pf-overlay{
  display:none;
}


.pf-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  min-height:82px;
  display:flex;
  align-items:center;
  padding:17px 72px 17px 20px;
  background:var(--pf-blue-dark);
}


.pf-card h3{
  margin:0;
  color:#fff;
  font-family:"Poppins",sans-serif;
  font-size:clamp(18px,1.5vw,23px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.45px;
  text-shadow:none;
  transition:transform .35s ease;
}

.pf-card:hover h3{
  transform:translateY(-3px);
}

.pf-card-arrow{
  position:absolute;
  right:17px;
  bottom:20px;
  z-index:4;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--pf-yellow);
  color:var(--pf-blue-dark);
  font-family:"Montserrat",sans-serif;
  font-size:27px;
  font-weight:400;
  line-height:1;
  transition:
    transform .35s ease,
    background .3s ease,
    color .3s ease;
}

.pf-card:hover .pf-card-arrow{
  transform:rotate(90deg);
  background:#fff;
  color:var(--pf-blue);
}

.pf-card-line{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  height:5px;
  background:
    linear-gradient(
      90deg,
      var(--pf-yellow) 0 25%,
      var(--pf-blue) 25% 100%
    );
  transform:scaleX(.25);
  transform-origin:left;
  transition:transform .5s ease;
}

.pf-card:hover .pf-card-line{
  transform:scaleX(1);
}

@keyframes pfFadeUp{
  from{
    opacity:0;
    transform:translateY(22px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.pf-card:nth-child(2){animation-delay:.04s}
.pf-card:nth-child(3){animation-delay:.08s}
.pf-card:nth-child(4){animation-delay:.12s}
.pf-card:nth-child(5){animation-delay:.16s}
.pf-card:nth-child(6){animation-delay:.20s}
.pf-card:nth-child(7){animation-delay:.24s}
.pf-card:nth-child(8){animation-delay:.28s}
.pf-card:nth-child(9){animation-delay:.32s}
.pf-card:nth-child(10){animation-delay:.36s}

/* Laptop */
@media(max-width:1180px){
  .pf-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .pf-card{
    height:330px;
  }
}

/* Tablet */
@media(max-width:900px){
  .pf-categories__header{
    grid-template-columns:1fr;
    gap:16px;
  }

  .pf-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .pf-card{
    height:350px;
  }

  .pf-card h3{
    font-size:26px;
  }
}

/* Móvil */
@media(max-width:600px){
  .pf-categories{
    padding:56px 14px;
  }

  .pf-categories__header{
    margin-bottom:28px;
  }

  .pf-categories__header h2{
    font-size:37px;
    letter-spacing:-1px;
  }

  .pf-categories__header p{
    font-size:14px;
  }

  .pf-grid{
    grid-template-columns:1fr;
    gap:15px;
  }

  .pf-card{
    height:285px;
    border-radius:15px;
  }

  .pf-card img{
    bottom:78px;
    height:calc(100% - 78px);
  }

  .pf-card-content{
    min-height:78px;
    padding:16px 67px 16px 19px;
  }

  .pf-card h3{
    font-size:25px;
  }

  .pf-card-arrow{
    right:16px;
    bottom:18px;
    width:42px;
    height:42px;
    font-size:27px;
  }
}

@media(prefers-reduced-motion:reduce){
  .pf-categories__header h2,
  .pf-categories__header h2 span::after,
  .pf-categories__header p,
  .pf-card,
  .pf-card img,
  .pf-card h3,
  .pf-card-arrow,
  .pf-card-line{
    animation:none !important;
    transition:none !important;
  }

  .pf-categories__header h2,
  .pf-categories__header p{
    opacity:1 !important;
    transform:none !important;
  }

  .pf-categories__header h2 span::after{
    transform:scaleX(1) !important;
  }
}

/* ===== 1.2.20 VALORES EXACTOS (aislado de Principios) ===== */
/* =====================================================
   VARIABLES
===================================================== */

.palme-company-values{
  --pv-blue-dark:#001789;
  --pv-blue:#002AFF;
  --pv-yellow:#FFED00;
  --pv-text:#172033;
  --pv-muted:#667085;
  --pv-border:#E5EAF3;
  --pv-bg:#F5F7FF;
}


/* =====================================================
   RESET LOCAL
===================================================== */

.palme-company-values,
.palme-company-values *,
.palme-company-values *::before,
.palme-company-values *::after{
  box-sizing:border-box;
}


/* =====================================================
   SECCIÓN
===================================================== */

.palme-company-values{
  position:relative;
  width:100%;
  padding:clamp(75px,8vw,120px) 20px;
  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7f9ff 100%
    );

  font-family:"Montserrat",sans-serif;
}


.palme-company-values__container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
}


/* =====================================================
   HEADER
===================================================== */

.palme-company-values__header{
  max-width:680px;
  margin:0 auto 52px;
  text-align:center;
}


.palme-company-values__eyebrow{
  display:block;
  margin-bottom:11px;

  color:var(--pv-blue);

  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
}


.palme-company-values__header h2{
  margin:0;

  color:var(--pv-text);

  font-family:"Poppins",sans-serif;
  font-size:clamp(38px,5vw,58px);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-2px;
}


.palme-company-values__header h2 strong{
  position:relative;
  display:inline-block;

  color:var(--pv-blue);
  font-weight:700;
}


.palme-company-values__header h2 strong::after{
  content:"";

  position:absolute;

  left:4%;
  right:4%;
  bottom:-8px;

  height:5px;

  border-radius:999px;

  background:var(--pv-yellow);

  transform:scaleX(.55);
  transform-origin:left;

  transition:transform .6s ease;
}


.palme-company-values:hover
.palme-company-values__header h2 strong::after{
  transform:scaleX(1);
}


.palme-company-values__header p{
  max-width:560px;
  margin:24px auto 0;

  color:var(--pv-muted);

  font-size:15px;
  line-height:1.75;
}


/* =====================================================
   GRID
===================================================== */

.palme-company-values__grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:18px;
}


/* =====================================================
   CARD
===================================================== */

.palme-value-card{
  position:relative;

  min-width:0;
  min-height:430px;

  display:flex;
  flex-direction:column;

  padding:28px 24px 30px;

  overflow:hidden;

  border:1px solid var(--pv-border);
  border-radius:18px;

  background:#fff;

  box-shadow:
    0 14px 36px rgba(0,23,137,.06);

  transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}


.palme-value-card:hover{
  transform:translateY(-8px);

  border-color:rgba(0,42,255,.28);

  box-shadow:
    0 25px 55px rgba(0,23,137,.14);
}


/* línea superior */

.palme-value-card__line{
  position:absolute;

  top:0;
  left:0;
  right:0;

  height:5px;

  background:
    linear-gradient(
      90deg,
      var(--pv-blue-dark) 0 62%,
      var(--pv-yellow) 62% 100%
    );

  transform:scaleX(.42);
  transform-origin:left;

  transition:transform .55s ease;
}


.palme-value-card:hover
.palme-value-card__line{
  transform:scaleX(1);
}


/* =====================================================
   PARTE SUPERIOR
===================================================== */

.palme-value-card__top{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin-bottom:25px;
}


/* número */

.palme-value-card__number{
  width:48px;
  height:48px;

  flex:0 0 48px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--pv-blue-dark);
  color:#fff;

  font-family:"Poppins",sans-serif;
  font-size:15px;
  font-weight:600;

  transition:
    background .35s ease,
    color .35s ease,
    transform .35s ease;
}


.palme-value-card:hover
.palme-value-card__number{
  transform:rotate(-8deg);

  background:var(--pv-yellow);
  color:var(--pv-blue-dark);
}


/* =====================================================
   ICONO
===================================================== */

.palme-value-card__icon{
  width:58px;
  height:58px;

  display:grid;
  place-items:center;

  color:var(--pv-blue-dark);
}


.palme-value-card__icon svg{
  width:48px;
  height:48px;

  fill:none;

  stroke:currentColor;
  stroke-width:2;

  stroke-linecap:round;
  stroke-linejoin:round;

  transition:
    transform .4s ease,
    color .4s ease;
}


.palme-value-card:hover
.palme-value-card__icon svg{
  transform:scale(1.08);

  color:var(--pv-blue);
}


/* =====================================================
   TEXTO
===================================================== */

.palme-value-card h3{
  margin:0 0 17px;

  color:var(--pv-blue-dark);

  font-family:"Poppins",sans-serif;
  font-size:19px;
  font-weight:600;
  line-height:1.22;
  letter-spacing:-.45px;
}


.palme-value-card p{
  margin:0;

  color:var(--pv-muted);

  font-size:13px;
  font-weight:400;
  line-height:1.72;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1024px){

  .palme-company-values__grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:18px;
  }

  .palme-value-card{
    min-height:360px;
  }

}


/* =====================================================
   MÓVIL
===================================================== */

@media(max-width:600px){

  .palme-company-values{
    padding:65px 14px;
  }


  .palme-company-values__header{
    margin-bottom:38px;
  }


  .palme-company-values__header h2{
    font-size:38px;
    letter-spacing:-1.3px;
  }


  .palme-company-values__header p{
    font-size:14px;
  }


  .palme-company-values__grid{
    grid-template-columns:1fr;
    gap:14px;
  }


  .palme-value-card{
    min-height:auto;

    padding:
      25px 21px
      27px;

    border-radius:15px;
  }


  .palme-value-card__top{
    margin-bottom:20px;
  }


  .palme-value-card__number{
    width:44px;
    height:44px;

    flex-basis:44px;

    font-size:14px;
  }


  .palme-value-card__icon{
    width:50px;
    height:50px;
  }


  .palme-value-card__icon svg{
    width:43px;
    height:43px;
  }


  .palme-value-card h3{
    font-size:19px;
  }


  .palme-value-card p{
    font-size:14px;
    line-height:1.7;
  }

}


/* =====================================================
   MOVIMIENTO REDUCIDO
===================================================== */

@media(prefers-reduced-motion:reduce){

  .palme-value-card,
  .palme-value-card__line,
  .palme-value-card__number,
  .palme-value-card__icon svg,
  .palme-company-values__header h2 strong::after{
    transition:none !important;
  }

}

/* ===== 1.2.20 AJUSTES DE FIDELIDAD / COLISIONES ELEMENTOR ===== */

/* Categorías: Elementor/theme no debe recolorear el título */
.elementor-widget-palme_categories .pf-categories__header h2,
.pf-categories .pf-categories__header h2{
  color:#0A0A0A !important;
  font-family:"Poppins",sans-serif !important;
  font-weight:700 !important;
}
.elementor-widget-palme_categories .pf-categories__header h2 span,
.pf-categories .pf-categories__header h2 span{
  color:#002AFF !important;
}

/* Tarjetas exactamente con franja azul inferior del código */
.elementor-widget-palme_categories .pf-card-content,
.pf-categories .pf-card-content{
  background:#001789 !important;
}
.elementor-widget-palme_categories .pf-card h3,
.pf-categories .pf-card h3{
  color:#fff !important;
  font-family:"Poppins",sans-serif !important;
  font-weight:600 !important;
}

/* Principios: proteger el diseño sticky de estilos genéricos de Elementor */
.elementor-widget-palme_principles .palme-values{
  --palme-dark:#001789;
  --palme-blue:#002AFF;
  --palme-yellow:#FFED00;
  --palme-gold:#F5C518;
  --palme-light:#F4F7FF;
  --palme-black:#0A0A0A;
  --palme-muted:#677086;
}
.elementor-widget-palme_principles .palme-values__card h3{
  font-family:"Poppins",sans-serif !important;
  font-weight:700 !important;
}
.elementor-widget-palme_principles .palme-values__card p{
  font-family:"Montserrat",sans-serif !important;
}

/* Sucursales: el texto solicitado queda visualmente en minúsculas */
.palme-branch-panel [data-palme-state-title]{
  text-transform:none !important;
}

/* Mejor responsive del mapa */
@media(max-width:900px){
  .palme-locator{
    padding:56px 16px !important;
  }
  .palme-locator-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .palme-mexico-map{
    min-height:500px !important;
  }
  .palme-branch-panel{
    padding:24px !important;
  }
}
@media(max-width:600px){
  .palme-locator{
    padding:42px 12px !important;
  }
  .palme-locator-grid{
    display:flex !important;
    flex-direction:column !important;
  }
  .palme-mexico-map{
    min-height:390px !important;
    height:58vh !important;
    max-height:500px !important;
    border-radius:10px !important;
  }
  .palme-branch-panel{
    width:100% !important;
    padding:20px 16px !important;
    border-radius:10px !important;
  }
  .palme-branch-panel h3{
    margin:8px 0 18px !important;
    font-size:24px !important;
    line-height:1.12 !important;
    text-transform:none !important;
  }
  .palme-branch-card{
    padding:16px !important;
  }
  .palme-view-map,
  .palme-branch-card > a{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .palme-map-embed iframe{
    min-height:280px !important;
  }
}


/* ===== 1.2.22 VALORES — CÓDIGO ORIGINAL EXACTO ===== */
/* =====================================================
   VARIABLES
===================================================== */

.palme-company-values{
  --pv-blue-dark:#001789;
  --pv-blue:#002AFF;
  --pv-yellow:#FFED00;
  --pv-text:#172033;
  --pv-muted:#667085;
  --pv-border:#E5EAF3;
  --pv-bg:#F5F7FF;
}


/* =====================================================
   RESET LOCAL
===================================================== */

.palme-company-values,
.palme-company-values *,
.palme-company-values *::before,
.palme-company-values *::after{
  box-sizing:border-box;
}


/* =====================================================
   SECCIÓN
===================================================== */

.palme-company-values{
  position:relative;
  width:100%;
  padding:clamp(75px,8vw,120px) 20px;
  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7f9ff 100%
    );

  font-family:"Montserrat",sans-serif;
}


.palme-values__container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
}


/* =====================================================
   HEADER
===================================================== */

.palme-values__header{
  max-width:680px;
  margin:0 auto 52px;
  text-align:center;
}


.palme-values__eyebrow{
  display:block;
  margin-bottom:11px;

  color:var(--pv-blue);

  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
}


.palme-values__header h2{
  margin:0;

  color:var(--pv-text);

  font-family:"Poppins",sans-serif;
  font-size:clamp(38px,5vw,58px);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-2px;
}


.palme-values__header h2 strong{
  position:relative;
  display:inline-block;

  color:var(--pv-blue);
  font-weight:700;
}


.palme-values__header h2 strong::after{
  content:"";

  position:absolute;

  left:4%;
  right:4%;
  bottom:-8px;

  height:5px;

  border-radius:999px;

  background:var(--pv-yellow);

  transform:scaleX(.55);
  transform-origin:left;

  transition:transform .6s ease;
}


.palme-company-values:hover
.palme-values__header h2 strong::after{
  transform:scaleX(1);
}


.palme-values__header p{
  max-width:560px;
  margin:24px auto 0;

  color:var(--pv-muted);

  font-size:15px;
  line-height:1.75;
}


/* =====================================================
   GRID
===================================================== */

.palme-values__grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:18px;
}


/* =====================================================
   CARD
===================================================== */

.palme-value-card{
  position:relative;

  min-width:0;
  min-height:430px;

  display:flex;
  flex-direction:column;

  padding:28px 24px 30px;

  overflow:hidden;

  border:1px solid var(--pv-border);
  border-radius:18px;

  background:#fff;

  box-shadow:
    0 14px 36px rgba(0,23,137,.06);

  transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}


.palme-value-card:hover{
  transform:translateY(-8px);

  border-color:rgba(0,42,255,.28);

  box-shadow:
    0 25px 55px rgba(0,23,137,.14);
}


/* línea superior */

.palme-value-card__line{
  position:absolute;

  top:0;
  left:0;
  right:0;

  height:5px;

  background:
    linear-gradient(
      90deg,
      var(--pv-blue-dark) 0 62%,
      var(--pv-yellow) 62% 100%
    );

  transform:scaleX(.42);
  transform-origin:left;

  transition:transform .55s ease;
}


.palme-value-card:hover
.palme-value-card__line{
  transform:scaleX(1);
}


/* =====================================================
   PARTE SUPERIOR
===================================================== */

.palme-value-card__top{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin-bottom:25px;
}


/* número */

.palme-value-card__number{
  width:48px;
  height:48px;

  flex:0 0 48px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--pv-blue-dark);
  color:#fff;

  font-family:"Poppins",sans-serif;
  font-size:15px;
  font-weight:600;

  transition:
    background .35s ease,
    color .35s ease,
    transform .35s ease;
}


.palme-value-card:hover
.palme-value-card__number{
  transform:rotate(-8deg);

  background:var(--pv-yellow);
  color:var(--pv-blue-dark);
}


/* =====================================================
   ICONO
===================================================== */

.palme-value-card__icon{
  width:58px;
  height:58px;

  display:grid;
  place-items:center;

  color:var(--pv-blue-dark);
}


.palme-value-card__icon svg{
  width:48px;
  height:48px;

  fill:none;

  stroke:currentColor;
  stroke-width:2;

  stroke-linecap:round;
  stroke-linejoin:round;

  transition:
    transform .4s ease,
    color .4s ease;
}


.palme-value-card:hover
.palme-value-card__icon svg{
  transform:scale(1.08);

  color:var(--pv-blue);
}


/* =====================================================
   TEXTO
===================================================== */

.palme-value-card h3{
  margin:0 0 17px;

  color:var(--pv-blue-dark);

  font-family:"Poppins",sans-serif;
  font-size:19px;
  font-weight:600;
  line-height:1.22;
  letter-spacing:-.45px;
}


.palme-value-card p{
  margin:0;

  color:var(--pv-muted);

  font-size:13px;
  font-weight:400;
  line-height:1.72;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1024px){

  .palme-values__grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:18px;
  }

  .palme-value-card{
    min-height:360px;
  }

}


/* =====================================================
   MÓVIL
===================================================== */

@media(max-width:600px){

  .palme-company-values{
    padding:65px 14px;
  }


  .palme-values__header{
    margin-bottom:38px;
  }


  .palme-values__header h2{
    font-size:38px;
    letter-spacing:-1.3px;
  }


  .palme-values__header p{
    font-size:14px;
  }


  .palme-values__grid{
    grid-template-columns:1fr;
    gap:14px;
  }


  .palme-value-card{
    min-height:auto;

    padding:
      25px 21px
      27px;

    border-radius:15px;
  }


  .palme-value-card__top{
    margin-bottom:20px;
  }


  .palme-value-card__number{
    width:44px;
    height:44px;

    flex-basis:44px;

    font-size:14px;
  }


  .palme-value-card__icon{
    width:50px;
    height:50px;
  }


  .palme-value-card__icon svg{
    width:43px;
    height:43px;
  }


  .palme-value-card h3{
    font-size:19px;
  }


  .palme-value-card p{
    font-size:14px;
    line-height:1.7;
  }

}


/* =====================================================
   MOVIMIENTO REDUCIDO
===================================================== */

@media(prefers-reduced-motion:reduce){

  .palme-value-card,
  .palme-value-card__line,
  .palme-value-card__number,
  .palme-value-card__icon svg,
  .palme-values__header h2 strong::after{
    transition:none !important;
  }

}

/* =========================================================
   1.2.22 — HOME: fidelidad visual y estabilidad
========================================================= */

/* --- CATEGORÍAS: el código original manda sobre Elementor/Astra --- */
.elementor-widget-palme_categories .pf-categories{
  padding:clamp(60px,7vw,96px) 20px !important;
  background:#fff !important;
  font-family:"Montserrat",sans-serif !important;
}
.elementor-widget-palme_categories .pf-categories__header{
  max-width:1240px !important;
  margin:0 auto 34px !important;
  grid-template-columns:minmax(0,.85fr) minmax(280px,.7fr) !important;
  gap:40px !important;
  align-items:end !important;
}
.elementor-widget-palme_categories .pf-categories__header h2{
  margin:0 !important;
  color:#0A0A0A !important;
  font-family:"Poppins",sans-serif !important;
  font-size:clamp(36px,4.6vw,56px) !important;
  font-weight:700 !important;
  line-height:1.04 !important;
  letter-spacing:-1.6px !important;
}
.elementor-widget-palme_categories .pf-categories__header h2 span{
  color:#002AFF !important;
}
.elementor-widget-palme_categories .pf-categories__header p{
  color:#687188 !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important;
  line-height:1.75 !important;
}
.elementor-widget-palme_categories .pf-grid{
  max-width:1240px !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
}
.elementor-widget-palme_categories .pf-card{
  height:310px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#001789 !important;
}
.elementor-widget-palme_categories .pf-card img{
  inset:0 0 82px 0 !important;
  width:100% !important;
  height:calc(100% - 82px) !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
}
.elementor-widget-palme_categories .pf-card-content{
  min-height:82px !important;
  padding:17px 72px 17px 20px !important;
  background:#001789 !important;
}
.elementor-widget-palme_categories .pf-card h3{
  color:#fff !important;
  font-family:"Poppins",sans-serif !important;
  font-size:clamp(18px,1.5vw,23px) !important;
  font-weight:600 !important;
  line-height:1.08 !important;
  letter-spacing:-.45px !important;
}
.elementor-widget-palme_categories .pf-card-arrow{
  right:17px !important;
  bottom:20px !important;
  width:42px !important;
  height:42px !important;
  background:#FFED00 !important;
  color:#001789 !important;
}

/* --- PRINCIPIOS: mantener las fotos cuadradas y SIN deformación/parallax --- */
.elementor-widget-palme_principles .palme-values__hex-frame{
  width:200px !important;
  height:200px !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 200px !important;
  overflow:hidden !important;
}
.elementor-widget-palme_principles .palme-values__hex-frame img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:none !important;
  will-change:auto !important;
}
.elementor-widget-palme_principles .palme-values__card-inner{
  min-height:360px !important;
}
.elementor-widget-palme_principles .palme-values__visual{
  width:210px !important;
  min-width:210px !important;
}
.elementor-widget-palme_principles .palme-values__brand-logo{
  object-fit:contain !important;
  transform:none;
}

/* --- SUCURSALES: responsive sólido --- */
.palme-branch-panel [data-palme-state-title]{
  text-transform:none !important;
}

@media(max-width:1180px){
  .elementor-widget-palme_categories .pf-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  .elementor-widget-palme_categories .pf-card{
    height:330px !important;
  }
}

@media(max-width:900px){
  .elementor-widget-palme_categories .pf-categories__header{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .elementor-widget-palme_categories .pf-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }
  .elementor-widget-palme_categories .pf-card{
    height:350px !important;
  }

  .palme-locator-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .palme-mexico-map{
    width:100% !important;
    min-height:500px !important;
  }
  .palme-branch-panel{
    width:100% !important;
    min-width:0 !important;
  }
}

@media(max-width:767px){
  .elementor-widget-palme_principles .palme-values__hex-frame{
    width:150px !important;
    height:150px !important;
    flex-basis:150px !important;
  }
  .elementor-widget-palme_principles .palme-values__visual{
    width:160px !important;
    min-width:160px !important;
  }
}

@media(max-width:600px){
  .elementor-widget-palme_categories .pf-categories{
    padding:56px 14px !important;
  }
  .elementor-widget-palme_categories .pf-categories__header{
    margin-bottom:28px !important;
  }
  .elementor-widget-palme_categories .pf-categories__header h2{
    font-size:37px !important;
    letter-spacing:-1px !important;
  }
  .elementor-widget-palme_categories .pf-grid{
    grid-template-columns:1fr !important;
    gap:15px !important;
  }
  .elementor-widget-palme_categories .pf-card{
    height:285px !important;
    border-radius:15px !important;
  }
  .elementor-widget-palme_categories .pf-card img{
    inset:0 0 78px 0 !important;
    height:calc(100% - 78px) !important;
  }
  .elementor-widget-palme_categories .pf-card-content{
    min-height:78px !important;
    padding:16px 67px 16px 19px !important;
  }
  .elementor-widget-palme_categories .pf-card h3{
    font-size:25px !important;
  }

  .palme-locator{
    padding:42px 12px !important;
  }
  .palme-mexico-map{
    height:420px !important;
    min-height:420px !important;
    max-height:420px !important;
  }
  .palme-branch-panel{
    padding:20px 16px !important;
  }
  .palme-branch-panel h3{
    font-size:24px !important;
    line-height:1.12 !important;
    text-transform:none !important;
  }
}
