/* KEYSMAN.ES · CSS GLOBAL ÚNICO
   Core compartido + páginas migradas, aisladas por clase de body.
   Páginas actuales: Copias de Llaves + Amaestramientos.
*/

:root{
  --yellow:#F1B636;
  --yellow-hover:#e0a525;
  --navy:#0f172a;
  --navy-deep:#0a0f1d;
  --wa:#25D366;
  --text:#1e293b;
  --muted:#475569;
  --soft:#f8fafc;
  --line:#e2e8f0;
  --yellow-line:#fde68a;
  --yellow-soft:#fffbeb;
  --container:min(1320px,calc(100% - 40px));
  --shadow:0 10px 28px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:var(--container);margin-inline:auto}
.skip-link{position:fixed;top:-60px;left:16px;z-index:9999;background:#fff;color:#111;padding:10px 14px;border-radius:6px}
.skip-link:focus{top:16px}

/* Header — same approved Keysman/Copiallave language */
.topbar{background:var(--navy-deep);color:#cbd5e1;font-size:.78rem}
.topbar__inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.topbar__inner>div{display:flex;gap:9px}
.topbar a:hover{color:var(--yellow)}
.header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 15px rgba(0,0,0,.04)}
.header__inner{min-height:80px;display:flex;align-items:center;gap:24px}
.header__logo{flex:0 0 auto}
.header__logo img{width:225px}
.header__menu{margin-left:auto;display:flex;align-items:center;gap:4px;color:#334155;font-family:"Rajdhani",Arial,sans-serif;font-weight:700}
.header__menu>a,.dropdown>button{padding:8px 9px;border:0;background:none;color:#334155;font-weight:700;font-size:.95rem;white-space:nowrap}
.header__menu>a:hover,.dropdown>button:hover,.header__menu [aria-current="page"]{color:#8a6100}
.dropdown{position:relative}
.dropdown>button{display:flex;gap:5px;align-items:center;cursor:pointer}
.dropdown__menu{position:absolute;top:calc(100% + 18px);left:0;min-width:245px;padding:9px 0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.dropdown:hover .dropdown__menu,.dropdown:focus-within .dropdown__menu,.dropdown.is-open .dropdown__menu{opacity:1;visibility:visible;transform:none}
.dropdown__menu a{display:block;padding:9px 14px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.87rem;font-weight:600;color:#334155}
.dropdown__menu a:hover,.dropdown__menu a[aria-current="page"]{background:var(--yellow-soft);color:#815a00}
.header__phone{margin-left:4px;border:1px solid #cbd5e1;background:#f1f5f9;border-radius:20px;padding:7px 14px;font-family:"Rajdhani",Arial,sans-serif;font-weight:700;color:var(--navy);white-space:nowrap}
.header__cta{margin-left:5px!important}
.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{width:20px;height:2px;background:var(--navy)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:6px;border:1px solid transparent;font-weight:700;font-size:.93rem;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn--yellow{background:var(--yellow);color:#111;box-shadow:0 4px 12px rgba(241,182,54,.28)}
.btn--yellow:hover{background:var(--yellow-hover)}
.btn--whatsapp{background:var(--wa);color:#052e16;box-shadow:0 4px 12px rgba(37,211,102,.24)}
.btn--ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.42)}

/* CTA & footer */
.final-cta{padding:54px 0;background:linear-gradient(135deg,var(--navy-deep),var(--navy));border-top:4px solid var(--yellow)}
.final-cta__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:45px}
.final-cta__inner>div:first-child>span{color:var(--yellow);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.77rem}
.final-cta h2{font-size:clamp(1.9rem,3.5vw,2.55rem);line-height:1.1;color:#fff;margin:6px 0 10px}
.final-cta p{margin:0;color:#aebbd0}
.final-cta__actions{display:flex;gap:10px;flex-wrap:wrap}

.footer{padding:58px 0 20px;background:var(--navy-deep);color:#94a3b8;border-top:1px solid rgba(255,255,255,.06)}
.footer__grid{display:grid;grid-template-columns:1.5fr .7fr .7fr .9fr;gap:45px}
.footer__brand img{width:220px;margin-bottom:16px}
.footer__brand p{max-width:390px;margin:0}
.footer h2{font-family:"Rajdhani",Arial,sans-serif;color:#fff;text-transform:uppercase;letter-spacing:1px;font-size:.88rem;margin:0 0 12px}
.footer a{display:block;padding:3px 0;color:#9ba8ba;font-size:.84rem}
.footer a:hover{color:var(--yellow)}
.footer p{font-size:.84rem}
.footer__bottom{margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;font-size:.73rem}
.footer__bottom>div{display:flex;gap:15px}
.footer__bottom a{padding:0}

.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:900;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#052e16;font-weight:700;font-size:.74rem;box-shadow:0 6px 18px rgba(37,211,102,.35)}


@media(max-width:1180px){
  .header__phone{display:none}
  .header__menu{gap:1px}
  .header__menu>a,.dropdown>button{font-size:.9rem;padding-inline:7px}
}
@media(max-width:920px){
  :root{--container:min(100% - 30px,1320px)}
  .topbar{display:none}
  .header__inner{min-height:70px}
  .header__logo img{width:190px}
  .menu-toggle{display:flex}
  .header__menu{display:none;position:absolute;top:70px;left:15px;right:15px;margin:0;padding:10px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
  .header__menu.is-open{display:flex}
  .header__menu>a,.dropdown>button{width:100%;text-align:left;padding:11px}
  .dropdown>button{justify-content:space-between}
  .dropdown__menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 5px 12px}
  .dropdown.is-open .dropdown__menu{display:block}
  .header__cta{margin-left:0!important}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}
@media(max-width:600px){
  .footer__grid{grid-template-columns:1fr}
  .footer__brand{grid-column:auto}
  .footer__bottom{flex-direction:column}
  .footer__bottom>div{flex-wrap:wrap}
}


/* Accessibility + interaction hardening */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b77900;outline-offset:3px;border-radius:4px}
.menu-toggle{cursor:pointer}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* ==========================================================
   KEYSMAN · COMPONENTES COMPARTIDOS
   ========================================================== */
.eyebrow,.section-kicker{
  color:var(--yellow);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.25px;
  font-size:.82rem
}
.btn--outline{
  background:#fff;
  border-color:#cbd5e1;
  color:var(--navy)
}
.btn--outline:hover{
  border-color:var(--yellow);
  background:var(--yellow-soft)
}

/* Contacto especializado reutilizable */
.systems-contact{
  scroll-margin-top:110px;
  padding:54px 0;
  background:#f8fafc;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.systems-contact__card{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:50px;
  padding:36px 40px;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--yellow);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(15,23,42,.06)
}
.systems-contact__content{max-width:760px}
.systems-contact__content h2{
  margin:6px 0 10px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(1.8rem,3vw,2.35rem);
  font-weight:700;
  line-height:1.1
}
.systems-contact__content>p{
  margin:0 0 22px;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.65
}
.systems-contact__profile{display:flex;align-items:center;gap:14px}
.systems-contact__avatar{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:var(--navy);border:2px solid var(--yellow);color:var(--yellow);
  font-family:"Rajdhani",Arial,sans-serif;font-size:.95rem;font-weight:700
}
.systems-contact__profile strong{display:block;color:var(--text);font-size:.94rem}
.systems-contact__profile a{display:inline-block;margin-top:2px;color:#8a6100;font-size:.9rem;font-weight:700}
.systems-contact__profile a:hover{color:#805900}
.systems-contact__actions{display:flex;flex-direction:column;gap:10px;min-width:220px}
.systems-contact__actions .btn{width:100%}
@media(max-width:820px){
  .systems-contact__card{grid-template-columns:1fr;gap:26px;padding:28px 24px}
  .systems-contact__actions{width:100%}
}


/* ===== PÁGINA: COPIAS DE LLAVES ===== */
/* Hero — Copiallave composition, Keysman tone */
body.page-copias-llaves .hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:88px 20px}
body.page-copias-llaves .hero__media{position:absolute;inset:0;background:url("/assets/img/keysman/keysman-gestion-llaves-empresas.webp") center/cover no-repeat;transform:scale(1.02)}
body.page-copias-llaves .hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,29,.83),rgba(15,23,42,.90))}
body.page-copias-llaves .hero__content{position:relative;z-index:2;max-width:1000px;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center}
body.page-copias-llaves .hero__brand{margin-bottom:18px;padding:11px 18px;border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(0,0,0,.18)}
body.page-copias-llaves .hero__brand img{width:240px}
body.page-copias-llaves .section-title>span{color:var(--yellow);font-weight:700;text-transform:uppercase;letter-spacing:1.25px;font-size:.82rem}
body.page-copias-llaves .hero h1,body.page-copias-llaves .section-title h2,body.page-copias-llaves .project-strip h2,body.page-copias-llaves .process h2,body.page-copias-llaves .split-section h2,body.page-copias-llaves .retail-bridge h2,body.page-copias-llaves .final-cta h2{
  font-family:"Rajdhani",Arial,sans-serif;font-weight:700
}
body.page-copias-llaves .hero h1{margin:12px auto 14px;max-width:970px;font-size:clamp(2.25rem,5vw,3.45rem);line-height:1.08;text-shadow:0 2px 6px rgba(0,0,0,.38)}
body.page-copias-llaves .hero p{max-width:800px;margin:0 auto 28px;color:#d5dde8;font-size:1.06rem;font-weight:600}
body.page-copias-llaves .hero__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
body.page-copias-llaves .hero__meta{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;color:#e2e8f0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px}
body.page-copias-llaves .hero__meta span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--yellow);vertical-align:1px}

/* Copiallave-like service strip */
body.page-copias-llaves .quick-strip{background:#fff;border-bottom:1px solid var(--line)}
body.page-copias-llaves .quick-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
body.page-copias-llaves .quick-strip article{min-height:100px;padding:20px 22px;display:flex;align-items:center;gap:13px;border-right:1px solid var(--line)}
body.page-copias-llaves .quick-strip article:last-child{border-right:0}
body.page-copias-llaves .quick-icon,body.page-copias-llaves .card-icon,body.page-copias-llaves .step-number{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--yellow-soft);border:1px solid var(--yellow-line);color:#815900;font-family:"Rajdhani",Arial,sans-serif;font-weight:700}
body.page-copias-llaves .quick-strip strong,body.page-copias-llaves .quick-strip small{display:block}
body.page-copias-llaves .quick-strip strong{font-size:.93rem;color:var(--navy)}
body.page-copias-llaves .quick-strip small{margin-top:2px;color:#64748b;font-size:.78rem}

/* Sections */
body.page-copias-llaves .section{padding:68px 0}
body.page-copias-llaves .section--white{background:#fff}
body.page-copias-llaves .section--soft{background:var(--soft)}
body.page-copias-llaves .section--dark{background:linear-gradient(135deg,var(--navy-deep),#1e293b);color:#fff}
body.page-copias-llaves .section-title{text-align:center;max-width:900px;margin:0 auto 42px}
body.page-copias-llaves .section-title h2{margin:6px auto 12px;color:var(--navy);font-size:clamp(1.9rem,3.5vw,2.55rem);line-height:1.12}
body.page-copias-llaves .section-title p{margin:0 auto;max-width:790px;color:var(--muted);font-size:.98rem}

/* Bento cards — visually much closer to Copiallave */
body.page-copias-llaves .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.page-copias-llaves .bento-card{position:relative;min-height:290px;padding:28px 25px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 4px 14px rgba(15,23,42,.04);transition:.2s ease}
body.page-copias-llaves .bento-card:hover{transform:translateY(-3px);border-color:var(--yellow-line);box-shadow:0 8px 24px rgba(15,23,42,.08)}
body.page-copias-llaves .bento-card .card-icon{margin-bottom:36px}
body.page-copias-llaves .bento-card h3{font-family:"Rajdhani",Arial,sans-serif;margin:0 0 9px;font-size:1.3rem;color:var(--navy)}
body.page-copias-llaves .bento-card p{margin:0 0 32px;color:var(--muted);font-size:.92rem}
body.page-copias-llaves .bento-card a{position:absolute;bottom:24px;left:25px;font-weight:700;color:#805900;font-size:.87rem}
body.page-copias-llaves .bento-card--highlight{background:var(--yellow-soft);border:2px solid var(--yellow-line)}

/* Two-step strip mirroring Copiallave WhatsApp block but more corporate */
body.page-copias-llaves .project-strip{padding:54px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.page-copias-llaves .project-strip__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
body.page-copias-llaves .project-strip__intro .pill{display:inline-flex;padding:4px 12px;border-radius:20px;background:rgba(241,182,54,.12);color:#8a6100;border:1px solid var(--yellow-line);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px}
body.page-copias-llaves .project-strip h2{font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.15;color:var(--navy);margin:10px 0 12px}
body.page-copias-llaves .project-strip__intro p{margin:0;color:var(--muted)}
body.page-copias-llaves .project-steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.page-copias-llaves .project-steps article{height:100%;padding:24px 20px;text-align:center;border:1px solid #cbd5e1;border-radius:10px;background:var(--soft)}
body.page-copias-llaves .project-steps article:last-child{border-color:var(--yellow-line);background:#fff}
body.page-copias-llaves .step-number{margin:0 auto 14px}
body.page-copias-llaves .step-number--dark{background:var(--navy);border-color:var(--navy);color:var(--yellow)}
body.page-copias-llaves .project-steps h3{font-family:"Rajdhani",Arial,sans-serif;color:var(--navy);font-size:1.15rem;margin:0 0 7px}
body.page-copias-llaves .project-steps p{margin:0;color:#64748b;font-size:.86rem}

/* Catalog */
body.page-copias-llaves .catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
body.page-copias-llaves .catalog-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px rgba(15,23,42,.04)}
body.page-copias-llaves .catalog-card img{width:100%;height:245px;object-fit:cover}
body.page-copias-llaves .catalog-card__body{padding:25px}
body.page-copias-llaves .catalog-card__body>span{color:#9a6b00;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.76rem}
body.page-copias-llaves .catalog-card h3{font-family:"Rajdhani",Arial,sans-serif;font-size:1.45rem;color:var(--navy);margin:5px 0 10px}
body.page-copias-llaves .catalog-card p{margin:0;color:var(--muted);font-size:.94rem}
body.page-copias-llaves .catalog-card--text{min-height:270px;display:flex;align-items:center}
body.page-copias-llaves .catalog-card ul{list-style:none;padding:14px 0 0;margin:0;color:#334155;font-size:.86rem}
body.page-copias-llaves .catalog-card li{margin:5px 0}
body.page-copias-llaves .catalog-card li::before{content:"✓";color:#8a6100;font-weight:700;margin-right:8px}
body.page-copias-llaves .sector-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
body.page-copias-llaves .sector-mini-grid article{padding:23px;background:#fff;border:1px solid var(--line);border-radius:10px}
body.page-copias-llaves .sector-mini-grid strong{font-family:"Rajdhani",Arial,sans-serif;color:var(--navy);font-size:1.08rem}
body.page-copias-llaves .sector-mini-grid p{margin:7px 0 0;color:var(--muted);font-size:.88rem}

/* Process */
body.page-copias-llaves .process{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}
body.page-copias-llaves .process__intro h2{font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.06;margin:8px 0 14px;color:#fff}
body.page-copias-llaves .process__intro p{color:#b8c4d5;margin:0 0 24px}
body.page-copias-llaves .process__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.13)}
body.page-copias-llaves .process__list li{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.13)}
body.page-copias-llaves .process__list>li>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--yellow);border:1px solid rgba(241,182,54,.45);font-family:"Rajdhani",Arial,sans-serif;font-weight:700}
body.page-copias-llaves .process__list h3{font-family:"Rajdhani",Arial,sans-serif;color:#fff;font-size:1.15rem;margin:0 0 4px}
body.page-copias-llaves .process__list p{margin:0;color:#aebbd0;font-size:.89rem}

/* Split security */
body.page-copias-llaves .split-section{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}
body.page-copias-llaves .split-section h2{font-size:clamp(2rem,3.5vw,2.7rem);line-height:1.1;color:var(--navy);margin:7px 0 14px}
body.page-copias-llaves .split-section__copy>p{color:var(--muted)}
body.page-copias-llaves .split-section__image{padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 25px rgba(15,23,42,.08)}
body.page-copias-llaves .split-section__image img{width:100%;border-radius:8px;aspect-ratio:1.05/1;object-fit:cover}
body.page-copias-llaves .check-list{list-style:none;padding:0;margin:22px 0}
body.page-copias-llaves .check-list li{padding:7px 0;color:#334155}
body.page-copias-llaves .check-list li::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:var(--yellow-soft);border:1px solid var(--yellow-line);color:#815900;font-size:.7rem;font-weight:700}
body.page-copias-llaves .tag-links{display:flex;flex-wrap:wrap;gap:8px}
body.page-copias-llaves .tag-links a{padding:7px 11px;border:1px solid var(--line);border-radius:20px;background:#fff;color:#596579;font-size:.77rem;font-weight:700}
body.page-copias-llaves .tag-links a:hover{border-color:var(--yellow)}

/* Retail bridge */
body.page-copias-llaves .retail-bridge{padding:48px 0;background:#fff}
body.page-copias-llaves .retail-bridge__inner{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;padding:32px 34px;background:var(--yellow-soft);border:1px solid var(--yellow-line);border-radius:10px}
body.page-copias-llaves .retail-bridge h2{font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.12;margin:6px 0 9px;color:var(--navy)}
body.page-copias-llaves .retail-bridge p{margin:0;color:var(--muted)}

/* FAQ, copied in spirit from Copiallave */
body.page-copias-llaves .faq{max-width:1000px;margin:0 auto}
body.page-copias-llaves .faq details{margin-bottom:13px}
body.page-copias-llaves .faq summary{list-style:none;cursor:pointer;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--navy);font-weight:700}
body.page-copias-llaves .faq summary::-webkit-details-marker{display:none}
body.page-copias-llaves .faq summary::after{content:"+";float:right;color:#8c6200;font-size:1.25rem;line-height:1}
body.page-copias-llaves .faq details[open] summary::after{content:"−"}
body.page-copias-llaves .faq details p{margin:0;padding:15px 20px;color:var(--muted);font-size:.92rem}

/* Final CTA */
body.page-copias-llaves .final-cta{padding:54px 0;background:linear-gradient(135deg,var(--navy-deep),var(--navy));border-top:4px solid var(--yellow)}
body.page-copias-llaves .final-cta__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:45px}
body.page-copias-llaves .final-cta__inner>div:first-child>span{color:var(--yellow);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.78rem}
body.page-copias-llaves .final-cta h2{font-size:clamp(1.9rem,3.5vw,2.55rem);line-height:1.1;color:#fff;margin:6px 0 10px}
body.page-copias-llaves .final-cta p{margin:0;color:#aebbd0}
body.page-copias-llaves .final-cta__actions{display:flex;gap:10px;flex-wrap:wrap}


@media(max-width:920px){
  body.page-copias-llaves .hero{min-height:auto;padding:70px 15px}
  body.page-copias-llaves .hero__brand img{width:210px}
  body.page-copias-llaves .quick-strip__grid{grid-template-columns:1fr 1fr}
  body.page-copias-llaves .quick-strip article:nth-child(2){border-right:0}
  body.page-copias-llaves .quick-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  body.page-copias-llaves .services-grid{grid-template-columns:1fr 1fr}
  body.page-copias-llaves .project-strip__grid,body.page-copias-llaves .process,body.page-copias-llaves .split-section{grid-template-columns:1fr}
  body.page-copias-llaves .catalog-grid{grid-template-columns:1fr 1fr}
  body.page-copias-llaves .sector-mini-grid{grid-template-columns:1fr}
  body.page-copias-llaves .final-cta__inner{grid-template-columns:1fr}
}
@media(max-width:600px){
  body.page-copias-llaves .hero h1{font-size:clamp(2rem,10vw,2.8rem)}
  body.page-copias-llaves .hero p{font-size:.96rem}
  body.page-copias-llaves .hero__actions{width:100%;flex-direction:column}
  body.page-copias-llaves .hero__actions .btn{width:100%}
  body.page-copias-llaves .hero__meta{gap:8px 15px}
  body.page-copias-llaves .quick-strip__grid,body.page-copias-llaves .services-grid,body.page-copias-llaves .project-steps,body.page-copias-llaves .catalog-grid{grid-template-columns:1fr}
  body.page-copias-llaves .quick-strip article{border-right:0;border-bottom:1px solid var(--line)}
  body.page-copias-llaves .quick-strip article:last-child{border-bottom:0}
  body.page-copias-llaves .section{padding:54px 0}
  body.page-copias-llaves .section-title{margin-bottom:30px}
  body.page-copias-llaves .bento-card{min-height:260px}
  body.page-copias-llaves .catalog-card img{height:220px}
  body.page-copias-llaves .retail-bridge__inner{grid-template-columns:1fr;padding:26px 22px}
  body.page-copias-llaves .final-cta__actions{flex-direction:column}
  body.page-copias-llaves .final-cta__actions .btn{width:100%}
}




/* ==========================================================
   PRE-FOOTER · SEPARACIÓN CLARA
   Franja clara entre la CTA oscura y el footer oscuro.
   ========================================================== */
body.page-copias-llaves .pre-footer-divider{
  position:relative;
  z-index:2;
  padding:30px 0;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border-top:1px solid #e8edf3;
  border-bottom:1px solid #e2e8f0;
}
body.page-copias-llaves .pre-footer-divider__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #e2e8f0;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
body.page-copias-llaves .pre-footer-divider__grid>div{
  min-height:112px;
  padding:18px 20px;
  border-right:1px solid #edf0f4;
}
body.page-copias-llaves .pre-footer-divider__grid>div:last-child{
  border-right:0;
}
body.page-copias-llaves .pre-footer-divider span,body.page-copias-llaves .pre-footer-divider strong,body.page-copias-llaves .pre-footer-divider small{
  display:block;
}
body.page-copias-llaves .pre-footer-divider span{
  margin-bottom:5px;
  color:#b47b00;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.78rem;
  font-weight:700;
}
body.page-copias-llaves .pre-footer-divider strong{
  color:#1e293b;
  font-size:.76rem;
}
body.page-copias-llaves .pre-footer-divider small{
  margin-top:5px;
  color:#64748b;
  font-size:.65rem;
  line-height:1.5;
}

@media(max-width:920px){
  body.page-copias-llaves .pre-footer-divider__grid{
    grid-template-columns:1fr 1fr;
  }
  body.page-copias-llaves .pre-footer-divider__grid>div:nth-child(2){
    border-right:0;
  }
  body.page-copias-llaves .pre-footer-divider__grid>div:nth-child(-n+2){
    border-bottom:1px solid #edf0f4;
  }
}
@media(max-width:600px){
  body.page-copias-llaves .pre-footer-divider{
    padding:22px 0;
  }
  body.page-copias-llaves .pre-footer-divider__grid{
    grid-template-columns:1fr;
  }
  body.page-copias-llaves .pre-footer-divider__grid>div{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid #edf0f4;
  }
  body.page-copias-llaves .pre-footer-divider__grid>div:last-child{
    border-bottom:0;
  }
}


/* ==========================================================
   V8 · ACCESIBILIDAD / LIGHTHOUSE SIN ALTERAR LA COMPOSICIÓN
   ========================================================== */
/* Amarillo corporativo como acento; oro oscuro para texto sobre fondos claros. */
body.page-copias-llaves .section-kicker,body.page-copias-llaves .section-title>span{color:#8a6100}
body.page-copias-llaves .hero .eyebrow,body.page-copias-llaves .section--dark .eyebrow{color:var(--yellow)}

/* Estados de navegación legibles sobre blanco. */
body.page-copias-llaves .header__menu>a:hover,body.page-copias-llaves .dropdown>button:hover,body.page-copias-llaves .header__menu [aria-current="page"]{color:#805900}
body.page-copias-llaves .systems-contact__profile a:hover{color:#805900}

/* WhatsApp conserva el verde corporativo, con texto AA/AAA legible. */
body.page-copias-llaves .btn--whatsapp,body.page-copias-llaves .whatsapp-float{color:#063b1f}
body.page-copias-llaves .btn--whatsapp:hover{background:#20c85f}

/* El índice del pre-footer supera contraste AA. */
body.page-copias-llaves .pre-footer-divider span{color:#8a6100}

/* Foco de teclado claro en fondos claros y oscuros. */
body.page-copias-llaves a:focus-visible,body.page-copias-llaves button:focus-visible,body.page-copias-llaves summary:focus-visible{
  outline:3px solid #2563eb;
  outline-offset:3px;
  border-radius:4px
}

/* Respeta usuarios que reducen movimiento. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.page-copias-llaves *,body.page-copias-llaves *::before,body.page-copias-llaves *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  body.page-copias-llaves .btn:hover,body.page-copias-llaves .bento-card:hover{transform:none}
}


/* ===== PÁGINA: AMAESTRAMIENTOS ===== */
/* Hero */
body.page-amaestramientos .hero{position:relative;overflow:hidden;padding:78px 0;background:
radial-gradient(circle at 70% 15%,rgba(241,182,54,.08),transparent 28%),
linear-gradient(135deg,#0a0f1d 0%,#0f172a 64%,#1e293b 100%);border-bottom:4px solid var(--yellow)}
body.page-amaestramientos .hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to right,transparent,black 55%)}
body.page-amaestramientos .hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,29,.22),transparent 60%)}
body.page-amaestramientos .hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center}
body.page-amaestramientos .hero h1,body.page-amaestramientos .section-title h2,body.page-amaestramientos .difference-box h3,body.page-amaestramientos .process h2,body.page-amaestramientos .sector-image-strip h3,body.page-amaestramientos .split-section h2,body.page-amaestramientos .systems-contact h2,body.page-amaestramientos .final-cta h2{font-family:"Rajdhani",Arial,sans-serif;font-weight:700}
body.page-amaestramientos .hero h1{margin:10px 0 16px;max-width:760px;color:#fff;font-size:clamp(2.45rem,4.6vw,3.65rem);line-height:1.02}
body.page-amaestramientos .hero__copy>p{max-width:700px;margin:0 0 28px;color:#ccd6e4;font-size:1.05rem}
body.page-amaestramientos .hero__actions{display:flex;gap:12px;flex-wrap:wrap}
body.page-amaestramientos .hero__meta{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);display:flex;flex-wrap:wrap;gap:10px 24px;color:#dbe3ef;font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px}
body.page-amaestramientos .hero__meta span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--yellow);vertical-align:1px}

/* Masterplan visual */
body.page-amaestramientos .masterplan{position:relative;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.22)}
body.page-amaestramientos .masterplan__head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.11)}
body.page-amaestramientos .masterplan__head span,body.page-amaestramientos .masterplan__head strong{display:block}
body.page-amaestramientos .masterplan__head span{color:#92a1b5;font-size:.68rem;text-transform:uppercase;letter-spacing:.8px}
body.page-amaestramientos .masterplan__head strong{color:#fff;font-family:"Rajdhani",Arial,sans-serif;font-size:1.05rem}
body.page-amaestramientos .masterplan__tree{position:relative;padding:28px 8px 16px}
body.page-amaestramientos .node{position:relative;z-index:2;padding:13px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#142033}
body.page-amaestramientos .node>span,body.page-amaestramientos .node>strong,body.page-amaestramientos .node>small{display:block}
body.page-amaestramientos .node>span{color:var(--yellow);font-family:"Rajdhani",Arial,sans-serif;font-size:.7rem;font-weight:700}
body.page-amaestramientos .node>strong{margin-top:1px;color:#fff;font-size:.82rem}
body.page-amaestramientos .node>small{margin-top:2px;color:#94a3b8;font-size:.65rem}
body.page-amaestramientos .node--gmk{width:220px;margin:0 auto;text-align:center;border-color:rgba(241,182,54,.45);box-shadow:0 0 0 1px rgba(241,182,54,.08)}
body.page-amaestramientos .masterplan__branches{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:46px}
body.page-amaestramientos .branch{position:relative}
body.page-amaestramientos .branch::before{content:"";position:absolute;top:-24px;left:50%;width:1px;height:24px;background:rgba(241,182,54,.36)}
body.page-amaestramientos .tree-line--v1{position:absolute;top:104px;left:50%;width:1px;height:22px;background:rgba(241,182,54,.36)}
body.page-amaestramientos .tree-line--h{position:absolute;top:126px;left:25%;right:25%;height:1px;background:rgba(241,182,54,.36)}
body.page-amaestramientos .node--mk{text-align:center}
body.page-amaestramientos .branch__doors{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
body.page-amaestramientos .branch__doors span{height:34px;display:grid;place-items:center;border-radius:5px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);color:#bdc8d8;font-size:.66rem;font-weight:700}
body.page-amaestramientos .masterplan__foot{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.11);color:#9dabbf;font-size:.66rem}
body.page-amaestramientos .status-dot{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px rgba(241,182,54,.09)}

/* Quick strip */
body.page-amaestramientos .quick-strip{background:#fff;border-bottom:1px solid var(--line)}
body.page-amaestramientos .quick-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
body.page-amaestramientos .quick-strip article{min-height:100px;padding:20px 22px;display:flex;align-items:center;gap:13px;border-right:1px solid var(--line)}
body.page-amaestramientos .quick-strip article:last-child{border-right:0}
body.page-amaestramientos .quick-icon,body.page-amaestramientos .concept-card__number{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--yellow-soft);border:1px solid var(--yellow-line);color:#815900;font-family:"Rajdhani",Arial,sans-serif;font-weight:700}
body.page-amaestramientos .quick-strip strong,body.page-amaestramientos .quick-strip small{display:block}
body.page-amaestramientos .quick-strip strong{font-size:.93rem;color:var(--navy)}
body.page-amaestramientos .quick-strip small{margin-top:2px;color:#64748b;font-size:.77rem}

/* Sections */
body.page-amaestramientos .section{padding:70px 0}
body.page-amaestramientos .section--white{background:#fff}
body.page-amaestramientos .section--soft{background:var(--soft)}
body.page-amaestramientos .section--dark{background:linear-gradient(135deg,var(--navy-deep),#1e293b);color:#fff}
body.page-amaestramientos .section-title{text-align:center;max-width:920px;margin:0 auto 42px}
body.page-amaestramientos .section-title h2{margin:6px auto 12px;color:var(--navy);font-size:clamp(1.95rem,3.5vw,2.6rem);line-height:1.1}
body.page-amaestramientos .section-title p{margin:0 auto;max-width:810px;color:var(--muted);font-size:.96rem}

body.page-amaestramientos .concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.page-amaestramientos .concept-card{padding:27px 25px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.04)}
body.page-amaestramientos .concept-card--highlight{background:var(--yellow-soft);border:2px solid var(--yellow-line)}
body.page-amaestramientos .concept-card__number{margin-bottom:28px}
body.page-amaestramientos .concept-card h3{font-family:"Rajdhani",Arial,sans-serif;margin:0 0 8px;color:var(--navy);font-size:1.35rem}
body.page-amaestramientos .concept-card p{min-height:68px;margin:0;color:var(--muted);font-size:.9rem}
body.page-amaestramientos .access-demo{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:20px;padding-top:17px;border-top:1px solid #edf0f4}
body.page-amaestramientos .access-demo span{height:34px;display:grid;place-items:center;border-radius:5px;background:#f1f5f9;border:1px solid #e2e8f0;color:#94a3b8;font-size:.69rem;font-weight:700}
body.page-amaestramientos .access-demo span.is-open{background:#0f172a;border-color:#0f172a;color:var(--yellow)}

body.page-amaestramientos .difference-box{display:grid;grid-template-columns:.8fr 1.2fr auto;gap:35px;align-items:center;margin-top:26px;padding:26px 28px;background:#f8fafc;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:9px}
body.page-amaestramientos .difference-box h3{margin:5px 0 0;color:var(--navy);font-size:1.35rem}
body.page-amaestramientos .difference-box p{margin:0;color:var(--muted);font-size:.86rem}
body.page-amaestramientos .difference-box a{white-space:nowrap;color:#805900;font-size:.8rem;font-weight:700}

/* Levels */
body.page-amaestramientos .levels{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
body.page-amaestramientos .levels article{position:relative;min-height:245px;padding:24px 21px;background:#fff;border:1px solid var(--line);border-radius:10px}
body.page-amaestramientos .level-badge{display:inline-flex;padding:4px 9px;border-radius:20px;background:var(--yellow-soft);border:1px solid var(--yellow-line);color:#815900;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
body.page-amaestramientos .level-badge--dark{background:var(--navy);border-color:var(--navy);color:var(--yellow)}
body.page-amaestramientos .levels h3{font-family:"Rajdhani",Arial,sans-serif;margin:17px 0 8px;color:var(--navy);font-size:1.35rem}
body.page-amaestramientos .levels p{margin:0;color:var(--muted);font-size:.84rem}
body.page-amaestramientos .levels article>span:last-child{position:absolute;bottom:22px;left:21px;color:#8a6100;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}

/* Process */
body.page-amaestramientos .process{display:grid;grid-template-columns:.86fr 1.14fr;gap:65px;align-items:start}
body.page-amaestramientos .process__intro h2{font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.06;margin:8px 0 14px;color:#fff}
body.page-amaestramientos .process__intro p{color:#b8c4d5;margin:0 0 24px}
body.page-amaestramientos .process__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.13)}
body.page-amaestramientos .process__list li{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.13)}
body.page-amaestramientos .process__list>li>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--yellow);border:1px solid rgba(241,182,54,.45);font-family:"Rajdhani",Arial,sans-serif;font-weight:700}
body.page-amaestramientos .process__list h3{font-family:"Rajdhani",Arial,sans-serif;color:#fff;font-size:1.15rem;margin:0 0 4px}
body.page-amaestramientos .process__list p{margin:0;color:#aebbd0;font-size:.88rem}

/* Sectors */
body.page-amaestramientos .sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
body.page-amaestramientos .sector-card{min-height:220px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px rgba(15,23,42,.035)}
body.page-amaestramientos .sector-card>span{color:#986a00;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px}
body.page-amaestramientos .sector-card h3{font-family:"Rajdhani",Arial,sans-serif;margin:8px 0 9px;color:var(--navy);font-size:1.3rem}
body.page-amaestramientos .sector-card p{margin:0;color:var(--muted);font-size:.84rem}
body.page-amaestramientos .sector-image-strip{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:center;margin-top:25px;padding:10px;background:var(--soft);border:1px solid var(--line);border-radius:12px}
body.page-amaestramientos .sector-image-strip img{width:100%;height:270px;object-fit:cover;border-radius:8px}
body.page-amaestramientos .sector-image-strip>div{padding:20px 30px 20px 8px}
body.page-amaestramientos .sector-image-strip h3{margin:6px 0 9px;color:var(--navy);font-size:1.65rem;line-height:1.1}
body.page-amaestramientos .sector-image-strip p{margin:0;color:var(--muted);font-size:.89rem}

/* Protected systems */
body.page-amaestramientos .split-section{display:grid;grid-template-columns:1.12fr .88fr;gap:55px;align-items:center}
body.page-amaestramientos .split-section h2{font-size:clamp(2rem,3.5vw,2.7rem);line-height:1.1;color:var(--navy);margin:7px 0 14px}
body.page-amaestramientos .split-section__copy>p{color:var(--muted)}
body.page-amaestramientos .split-section__image{padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 25px rgba(15,23,42,.08)}
body.page-amaestramientos .split-section__image img{width:100%;border-radius:8px;aspect-ratio:1.06/1;object-fit:cover}
body.page-amaestramientos .check-list{list-style:none;padding:0;margin:22px 0}
body.page-amaestramientos .check-list li{padding:7px 0;color:#334155}
body.page-amaestramientos .check-list li::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:var(--yellow-soft);border:1px solid var(--yellow-line);color:#815900;font-size:.7rem;font-weight:700}
body.page-amaestramientos .tag-links{display:flex;flex-wrap:wrap;gap:8px}
body.page-amaestramientos .tag-links a{padding:7px 11px;border:1px solid var(--line);border-radius:20px;background:#fff;color:#596579;font-size:.76rem;font-weight:700}
body.page-amaestramientos .tag-links a:hover{border-color:var(--yellow)}

/* Contact */
body.page-amaestramientos .systems-contact{scroll-margin-top:110px;padding:54px 0;background:#f8fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.page-amaestramientos .systems-contact__card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px;padding:36px 40px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
body.page-amaestramientos .systems-contact__content{max-width:760px}
body.page-amaestramientos .systems-contact h2{margin:6px 0 10px;color:var(--navy);font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.1}
body.page-amaestramientos .systems-contact__content>p{margin:0 0 22px;color:var(--muted);font-size:.94rem}
body.page-amaestramientos .systems-contact__profile{display:flex;align-items:center;gap:14px}
body.page-amaestramientos .systems-contact__avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--navy);border:2px solid var(--yellow);color:var(--yellow);font-family:"Rajdhani",Arial,sans-serif;font-size:.95rem;font-weight:700}
body.page-amaestramientos .systems-contact__profile strong,body.page-amaestramientos .systems-contact__profile a{display:block}
body.page-amaestramientos .systems-contact__profile strong{color:var(--text);font-size:.9rem}
body.page-amaestramientos .systems-contact__profile a{margin-top:2px;color:#8a6100;font-size:.86rem;font-weight:700}
body.page-amaestramientos .systems-contact__actions{display:flex;flex-direction:column;gap:10px;min-width:220px}
body.page-amaestramientos .systems-contact__actions .btn{width:100%}

/* FAQ */
body.page-amaestramientos .faq{max-width:1000px;margin:0 auto}
body.page-amaestramientos .faq details{margin-bottom:13px}
body.page-amaestramientos .faq summary{list-style:none;cursor:pointer;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--navy);font-weight:700}
body.page-amaestramientos .faq summary::-webkit-details-marker{display:none}
body.page-amaestramientos .faq summary::after{content:"+";float:right;color:#8c6200;font-size:1.25rem;line-height:1}
body.page-amaestramientos .faq details[open] summary::after{content:"−"}
body.page-amaestramientos .faq details p{margin:0;padding:15px 20px;color:var(--muted);font-size:.9rem}


@media(max-width:1180px){
  body.page-amaestramientos .hero__grid{gap:40px}
  body.page-amaestramientos .sector-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:920px){
  body.page-amaestramientos .hero{padding:62px 0}
  body.page-amaestramientos .hero__grid,body.page-amaestramientos .process,body.page-amaestramientos .split-section,body.page-amaestramientos .sector-image-strip{grid-template-columns:1fr}
  body.page-amaestramientos .hero__copy{text-align:center}
    body.page-amaestramientos .hero__copy>p{margin-inline:auto}
  body.page-amaestramientos .hero__actions,body.page-amaestramientos .hero__meta{justify-content:center}
  body.page-amaestramientos .masterplan{max-width:650px;margin:0 auto;width:100%}
  body.page-amaestramientos .quick-strip__grid{grid-template-columns:1fr 1fr}
  body.page-amaestramientos .quick-strip article:nth-child(2){border-right:0}
  body.page-amaestramientos .quick-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  body.page-amaestramientos .concept-grid{grid-template-columns:1fr}
  body.page-amaestramientos .concept-card p{min-height:auto}
  body.page-amaestramientos .difference-box{grid-template-columns:1fr}
  body.page-amaestramientos .difference-box a{white-space:normal}
  body.page-amaestramientos .levels{grid-template-columns:1fr 1fr}
  body.page-amaestramientos .sector-image-strip>div{padding:15px 20px 25px}
  body.page-amaestramientos .systems-contact__card{grid-template-columns:1fr}
  body.page-amaestramientos .final-cta__inner{grid-template-columns:1fr}
}
@media(max-width:600px){
  body.page-amaestramientos .hero h1{font-size:clamp(2.1rem,10vw,2.9rem)}
  body.page-amaestramientos .hero__copy>p{font-size:.95rem}
  body.page-amaestramientos .hero__actions{width:100%;flex-direction:column}
  body.page-amaestramientos .hero__actions .btn{width:100%}
  body.page-amaestramientos .masterplan{padding:17px}
  body.page-amaestramientos .masterplan__head{align-items:start;flex-direction:column;gap:2px}
  body.page-amaestramientos .masterplan__branches{grid-template-columns:1fr;gap:18px;margin-top:34px}
  body.page-amaestramientos .tree-line--h,body.page-amaestramientos .tree-line--v1,body.page-amaestramientos .branch::before{display:none}
  body.page-amaestramientos .quick-strip__grid,body.page-amaestramientos .levels,body.page-amaestramientos .sector-grid{grid-template-columns:1fr}
  body.page-amaestramientos .quick-strip article{border-right:0;border-bottom:1px solid var(--line)}
  body.page-amaestramientos .quick-strip article:last-child{border-bottom:0}
  body.page-amaestramientos .section{padding:54px 0}
  body.page-amaestramientos .sector-image-strip img{height:220px}
  body.page-amaestramientos .systems-contact__card{gap:26px;padding:28px 24px}
  body.page-amaestramientos .systems-contact__actions{width:100%}
  body.page-amaestramientos .final-cta__actions{flex-direction:column}
  body.page-amaestramientos .final-cta__actions .btn{width:100%}
}


/* ==========================================================
   AMAESTRAMIENTOS · HEADER COMPACTO
   Solo afecta a esta página. No modifica el header del resto
   de keysman.es aunque comparta keysman-core.css.
   ========================================================== */
body.page-amaestramientos .header__inner{
  min-height:68px;
  gap:20px;
}
body.page-amaestramientos .header__logo img{
  width:198px;
}
body.page-amaestramientos .header__menu>a,body.page-amaestramientos .dropdown>button{
  padding:6px 8px;
  font-size:.91rem;
}
body.page-amaestramientos .header__phone{
  padding:5px 12px;
}
body.page-amaestramientos .header__cta{
  min-height:38px;
  padding:7px 16px;
}

@media(max-width:920px){
  body.page-amaestramientos .header__inner{
    min-height:62px;
  }
  body.page-amaestramientos .header__logo img{
    width:175px;
  }
  body.page-amaestramientos .header__menu{
    top:62px;
  }
}


/* Lighthouse / UX refinements */
body.page-amaestramientos #concepto,body.page-amaestramientos #niveles,body.page-amaestramientos #proceso,body.page-amaestramientos #sectores,body.page-amaestramientos #seguridad,body.page-amaestramientos #contacto-sistemas{scroll-margin-top:92px}
body.page-amaestramientos .faq summary:focus-visible{outline:3px solid #b77900;outline-offset:3px}

/* Light transition between dark CTA and dark footer */
body.page-amaestramientos .pre-footer-divider{padding:28px 0;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);border-top:1px solid #e8edf3;border-bottom:1px solid #e2e8f0}
body.page-amaestramientos .pre-footer-divider__grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.04)}
body.page-amaestramientos .pre-footer-divider__grid>div{min-height:94px;padding:16px 19px;border-right:1px solid #edf0f4}
body.page-amaestramientos .pre-footer-divider__grid>div:last-child{border-right:0}
body.page-amaestramientos .pre-footer-divider span,body.page-amaestramientos .pre-footer-divider strong,body.page-amaestramientos .pre-footer-divider small{display:block}
body.page-amaestramientos .pre-footer-divider span{margin-bottom:4px;color:#8a6100;font-family:"Rajdhani",Arial,sans-serif;font-size:.74rem;font-weight:700}
body.page-amaestramientos .pre-footer-divider strong{color:#1e293b;font-size:.76rem}
body.page-amaestramientos .pre-footer-divider small{margin-top:4px;color:#64748b;font-size:.64rem;line-height:1.45}
@media(max-width:920px){body.page-amaestramientos .pre-footer-divider__grid{grid-template-columns:1fr 1fr}body.page-amaestramientos .pre-footer-divider__grid>div:nth-child(2){border-right:0}body.page-amaestramientos .pre-footer-divider__grid>div:nth-child(-n+2){border-bottom:1px solid #edf0f4}}
@media(max-width:600px){body.page-amaestramientos .pre-footer-divider{padding:22px 0}body.page-amaestramientos .pre-footer-divider__grid{grid-template-columns:1fr}body.page-amaestramientos .pre-footer-divider__grid>div{min-height:auto;border-right:0;border-bottom:1px solid #edf0f4}body.page-amaestramientos .pre-footer-divider__grid>div:last-child{border-bottom:0}}


/* Amaestramientos · hero limpio sin segundo logo/pastilla */
body.page-amaestramientos .hero__copy>.eyebrow{
  display:inline-block;
  margin-bottom:2px
}


/* ==========================================================
   KEYSMAN · PRIMITIVAS REUTILIZABLES PARA NUEVAS PÁGINAS
   ========================================================== */
.ks-section{padding:70px 0}
.ks-section--white{background:#fff}
.ks-section--soft{background:var(--soft)}
.ks-section--dark{background:linear-gradient(135deg,var(--navy-deep),#1e293b);color:#fff}
.ks-section-title{text-align:center;max-width:920px;margin:0 auto 42px}
.ks-section-title>span{
  display:inline-block;
  color:#8a6100;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.1px;
  font-size:.76rem
}
.ks-section-title h2{
  margin:6px auto 12px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(1.95rem,3.5vw,2.65rem);
  font-weight:700;
  line-height:1.08
}
.ks-section-title p{margin:0 auto;max-width:820px;color:var(--muted);font-size:.96rem;line-height:1.68}
.ks-faq{max-width:1000px;margin:0 auto}
.ks-faq details{margin-bottom:13px}
.ks-faq summary{
  list-style:none;
  cursor:pointer;
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--navy);
  font-weight:700
}
.ks-faq summary::-webkit-details-marker{display:none}
.ks-faq summary::after{content:"+";float:right;color:#8a6100;font-size:1.25rem;line-height:1}
.ks-faq details[open] summary::after{content:"−"}
.ks-faq details p{margin:0;padding:15px 20px;color:var(--muted);font-size:.9rem;line-height:1.65}
.ks-faq summary:focus-visible{outline:3px solid #b77900;outline-offset:3px}
.ks-pre-footer{
  padding:28px 0;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  border-top:1px solid #e8edf3;
  border-bottom:1px solid #e2e8f0
}
.ks-pre-footer__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.04)
}
.ks-pre-footer__grid>div{min-height:94px;padding:16px 19px;border-right:1px solid #edf0f4}
.ks-pre-footer__grid>div:last-child{border-right:0}
.ks-pre-footer span,.ks-pre-footer strong,.ks-pre-footer small{display:block}
.ks-pre-footer span{
  margin-bottom:4px;
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.74rem;
  font-weight:700
}
.ks-pre-footer strong{color:#1e293b;font-size:.76rem}
.ks-pre-footer small{margin-top:4px;color:#64748b;font-size:.64rem;line-height:1.45}
@media(max-width:920px){
  .ks-pre-footer__grid{grid-template-columns:1fr 1fr}
  .ks-pre-footer__grid>div:nth-child(2){border-right:0}
  .ks-pre-footer__grid>div:nth-child(-n+2){border-bottom:1px solid #edf0f4}
}
@media(max-width:600px){
  .ks-section{padding:54px 0}
  .ks-pre-footer{padding:22px 0}
  .ks-pre-footer__grid{grid-template-columns:1fr}
  .ks-pre-footer__grid>div{min-height:auto;border-right:0;border-bottom:1px solid #edf0f4}
  .ks-pre-footer__grid>div:last-child{border-bottom:0}
}

/* ==========================================================
   PÁGINA · IGUALAMIENTO DE BOMBINES
   body.page-igualamiento
   ========================================================== */
body.page-igualamiento .equal-hero{
  position:relative;
  overflow:hidden;
  padding:78px 0;
  background:
    radial-gradient(circle at 80% 18%,rgba(241,182,54,.14),transparent 25%),
    linear-gradient(135deg,#0a0f1d 0%,#0f172a 64%,#17233c 100%);
  color:#fff
}
body.page-igualamiento .equal-hero__grid-bg{
  position:absolute;
  inset:0;
  opacity:.52;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to right,transparent 7%,black 70%)
}
body.page-igualamiento .equal-hero__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:70px;
  align-items:center
}
body.page-igualamiento .equal-hero h1,
body.page-igualamiento .compatibility h2,
body.page-igualamiento .compare-card h3,
body.page-igualamiento .equal-process h2,
body.page-igualamiento .security-split h2,
body.page-igualamiento .use-grid h3{
  font-family:"Rajdhani",Arial,sans-serif;
  font-weight:700
}
body.page-igualamiento .equal-hero h1{
  margin:10px 0 16px;
  max-width:760px;
  color:#fff;
  font-size:clamp(2.45rem,4.7vw,3.72rem);
  line-height:1.01
}
body.page-igualamiento .equal-hero__copy>p{
  max-width:720px;
  margin:0 0 28px;
  color:#ccd6e4;
  font-size:1.04rem;
  line-height:1.7
}
body.page-igualamiento .equal-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
body.page-igualamiento .equal-hero__meta{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.13);
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  color:#dbe3ef;
  font-size:.77rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.7px
}
body.page-igualamiento .equal-hero__meta span::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:8px;
  border-radius:50%;
  background:var(--yellow);
  vertical-align:1px
}
body.page-igualamiento .same-key{
  position:relative;
  padding:28px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  backdrop-filter:blur(6px)
}
body.page-igualamiento .same-key__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.12)
}
body.page-igualamiento .same-key__head span{
  color:#aebbd0;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.75px
}
body.page-igualamiento .same-key__head strong{
  color:var(--yellow);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.15rem
}
body.page-igualamiento .same-key__key{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:28px auto 10px
}
body.page-igualamiento .same-key__key svg{
  width:142px;
  height:auto;
  fill:none;
  stroke:var(--yellow);
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 6px 14px rgba(241,182,54,.15))
}
body.page-igualamiento .same-key__key span{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(241,182,54,.12);
  border:1px solid rgba(241,182,54,.3);
  color:#fde68a;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.55px
}
body.page-igualamiento .same-key__line{
  width:1px;
  height:26px;
  margin:0 auto;
  background:linear-gradient(var(--yellow),rgba(241,182,54,.18))
}
body.page-igualamiento .same-key__doors{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  padding-top:16px
}
body.page-igualamiento .same-key__doors::before{
  content:"";
  position:absolute;
  left:12.5%;
  right:12.5%;
  top:0;
  height:1px;
  background:rgba(241,182,54,.55)
}
body.page-igualamiento .same-key__doors>div{
  position:relative;
  min-height:112px;
  padding:16px 10px 13px;
  text-align:center;
  border-radius:8px;
  background:#fff;
  border-top:3px solid var(--yellow)
}
body.page-igualamiento .same-key__doors>div::before{
  content:"";
  position:absolute;
  top:-17px;
  left:50%;
  width:1px;
  height:14px;
  background:rgba(241,182,54,.55)
}
body.page-igualamiento .same-key__doors span,
body.page-igualamiento .same-key__doors strong,
body.page-igualamiento .same-key__doors small{display:block}
body.page-igualamiento .same-key__doors span{color:#9a6a00;font-size:.65rem;font-weight:700}
body.page-igualamiento .same-key__doors strong{margin:7px 0 4px;color:var(--navy);font-size:.72rem}
body.page-igualamiento .same-key__doors small{color:#64748b;font-size:.62rem}
body.page-igualamiento .same-key__note{
  margin-top:18px;
  padding:13px 15px;
  border-radius:8px;
  background:rgba(241,182,54,.09);
  border:1px solid rgba(241,182,54,.22)
}
body.page-igualamiento .same-key__note strong,
body.page-igualamiento .same-key__note span{display:block}
body.page-igualamiento .same-key__note strong{color:#fde68a;font-size:.78rem}
body.page-igualamiento .same-key__note span{margin-top:3px;color:#cbd5e1;font-size:.7rem}

body.page-igualamiento .equal-quick{background:#fff;border-bottom:1px solid var(--line)}
body.page-igualamiento .equal-quick__grid{display:grid;grid-template-columns:repeat(4,1fr)}
body.page-igualamiento .equal-quick article{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:88px;
  padding:16px 20px;
  border-right:1px solid var(--line)
}
body.page-igualamiento .equal-quick article:last-child{border-right:0}
body.page-igualamiento .equal-quick article>span{
  display:grid;
  place-items:center;
  width:34px;height:34px;flex:0 0 auto;
  border-radius:50%;
  background:var(--yellow-soft);
  border:1px solid var(--yellow-border);
  color:#855d00;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.72rem;
  font-weight:700
}
body.page-igualamiento .equal-quick strong,
body.page-igualamiento .equal-quick small{display:block}
body.page-igualamiento .equal-quick strong{color:var(--navy);font-size:.78rem}
body.page-igualamiento .equal-quick small{margin-top:2px;color:#64748b;font-size:.65rem;line-height:1.35}

body.page-igualamiento .equal-card-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}
body.page-igualamiento .equal-card{
  min-height:230px;
  padding:25px 23px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04)
}
body.page-igualamiento .equal-card--accent{
  background:linear-gradient(145deg,#fffbeb,#fff);
  border-color:#f0d48a
}
body.page-igualamiento .equal-card__number{
  display:inline-block;
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.78rem;
  font-weight:700
}
body.page-igualamiento .equal-card h3{
  margin:18px 0 8px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.25rem
}
body.page-igualamiento .equal-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.65}

body.page-igualamiento .compatibility{
  display:grid;
  grid-template-columns:1.14fr .86fr;
  gap:56px;
  align-items:start
}
body.page-igualamiento .compatibility__copy h2{
  margin:7px 0 13px;
  color:var(--navy);
  font-size:clamp(2rem,3.6vw,2.75rem);
  line-height:1.08
}
body.page-igualamiento .compatibility__copy>p{margin:0 0 28px;color:var(--muted);line-height:1.7}
body.page-igualamiento .compatibility__checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.page-igualamiento .compatibility__checks>div{
  display:flex;
  gap:11px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff
}
body.page-igualamiento .compatibility__checks span{
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.72rem;
  font-weight:700
}
body.page-igualamiento .compatibility__checks p{margin:0;color:#64748b;font-size:.78rem;line-height:1.55}
body.page-igualamiento .compatibility__checks strong{display:block;margin-bottom:3px;color:#334155;font-size:.77rem}
body.page-igualamiento .compatibility__panel{
  padding:30px;
  border-radius:12px;
  background:linear-gradient(145deg,#0f172a,#18243d);
  color:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.13)
}
body.page-igualamiento .compatibility__panel>span{
  color:var(--yellow);
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.9px
}
body.page-igualamiento .compatibility__panel h3{
  margin:7px 0 18px;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.75rem;
  line-height:1.05
}
body.page-igualamiento .compatibility__panel ul{margin:0 0 22px;padding:0;list-style:none}
body.page-igualamiento .compatibility__panel li{
  position:relative;
  padding:10px 0 10px 21px;
  border-bottom:1px solid rgba(255,255,255,.09);
  color:#d7dfeb;
  font-size:.82rem
}
body.page-igualamiento .compatibility__panel li::before{
  content:"";
  position:absolute;
  left:0;top:16px;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--yellow)
}
body.page-igualamiento .compatibility__panel a{color:#fde68a;font-weight:700;font-size:.82rem}

body.page-igualamiento .compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
body.page-igualamiento .compare-card{
  position:relative;
  min-height:360px;
  padding:34px;
  border-radius:12px;
  overflow:hidden
}
body.page-igualamiento .compare-card>span{
  display:inline-block;
  margin-bottom:10px;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px
}
body.page-igualamiento .compare-card h3{margin:0 0 10px;font-size:2rem;line-height:1.04}
body.page-igualamiento .compare-card p{margin:0 0 20px;font-size:.88rem;line-height:1.65}
body.page-igualamiento .compare-card ul{margin:0;padding:0;list-style:none}
body.page-igualamiento .compare-card li{position:relative;padding:8px 0 8px 21px;font-size:.82rem}
body.page-igualamiento .compare-card li::before{content:"✓";position:absolute;left:0;font-weight:700}
body.page-igualamiento .compare-card--yellow{
  background:linear-gradient(145deg,#f1b636,#f8c956);
  color:#251b06
}
body.page-igualamiento .compare-card--yellow>span{color:#6b4b00}
body.page-igualamiento .compare-card--yellow h3{color:#172033}
body.page-igualamiento .compare-card--yellow p{color:#5d4b1e}
body.page-igualamiento .compare-card--dark{
  background:linear-gradient(145deg,#0a0f1d,#17233c);
  color:#fff
}
body.page-igualamiento .compare-card--dark>span{color:var(--yellow)}
body.page-igualamiento .compare-card--dark h3{color:#fff}
body.page-igualamiento .compare-card--dark p,
body.page-igualamiento .compare-card--dark li{color:#cbd5e1}
body.page-igualamiento .compare-card--dark a{
  display:inline-block;
  margin-top:19px;
  color:#fde68a;
  font-size:.82rem;
  font-weight:700
}

body.page-igualamiento .equal-process{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:70px;
  align-items:start
}
body.page-igualamiento .equal-process h2{
  margin:8px 0 13px;
  color:#fff;
  font-size:clamp(2rem,3.6vw,2.75rem);
  line-height:1.06
}
body.page-igualamiento .equal-process__intro p{margin:0 0 25px;color:#bdc8d8;line-height:1.7}
body.page-igualamiento .equal-process__list{margin:0;padding:0;list-style:none}
body.page-igualamiento .equal-process__list li{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.1)
}
body.page-igualamiento .equal-process__list li:first-child{padding-top:0}
body.page-igualamiento .equal-process__list li>span{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  background:rgba(241,182,54,.1);
  border:1px solid rgba(241,182,54,.28);
  color:var(--yellow);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.78rem;
  font-weight:700
}
body.page-igualamiento .equal-process__list h3{
  margin:0 0 4px;
  color:#fff;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.05rem
}
body.page-igualamiento .equal-process__list p{margin:0;color:#aebbd0;font-size:.8rem;line-height:1.55}

body.page-igualamiento .security-split{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:58px;
  align-items:center
}
body.page-igualamiento .security-split h2{
  margin:7px 0 14px;
  color:var(--navy);
  font-size:clamp(2rem,3.6vw,2.7rem);
  line-height:1.07
}
body.page-igualamiento .security-split p{color:var(--muted);line-height:1.7}
body.page-igualamiento .security-split__image{
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--line);
  background:#f8fafc;
  box-shadow:0 12px 32px rgba(15,23,42,.07)
}
body.page-igualamiento .security-split__image img{display:block;width:100%;height:auto}
body.page-igualamiento .tag-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
body.page-igualamiento .tag-links a{
  padding:8px 11px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #dbe3eb;
  color:#334155;
  font-size:.72rem;
  font-weight:700
}
body.page-igualamiento .tag-links a:hover{border-color:#d3a32e;background:#fffbeb;color:#6f4d00}

body.page-igualamiento .use-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
body.page-igualamiento .use-grid article{
  min-height:220px;
  padding:23px 21px;
  border-radius:10px;
  background:#fff;
  border:1px solid var(--line)
}
body.page-igualamiento .use-grid article>span{color:#8a6100;font-size:.7rem;font-weight:700}
body.page-igualamiento .use-grid h3{margin:16px 0 8px;color:var(--navy);font-size:1.22rem}
body.page-igualamiento .use-grid p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.62}
body.page-igualamiento .use-grid a{display:inline-block;margin-top:12px;color:#805900;font-size:.75rem;font-weight:700}

body.page-igualamiento .final-cta h2{font-family:"Rajdhani",Arial,sans-serif;font-weight:700}
body.page-igualamiento .systems-contact__content h2{font-family:"Rajdhani",Arial,sans-serif;font-weight:700}

@media(max-width:1080px){
  body.page-igualamiento .equal-hero__grid{gap:38px}
  body.page-igualamiento .same-key__doors{grid-template-columns:1fr 1fr}
  body.page-igualamiento .same-key__doors::before,
  body.page-igualamiento .same-key__doors>div::before{display:none}
  body.page-igualamiento .equal-card-grid,
  body.page-igualamiento .use-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:920px){
  body.page-igualamiento .equal-hero{padding:62px 0}
  body.page-igualamiento .equal-hero__grid,
  body.page-igualamiento .compatibility,
  body.page-igualamiento .equal-process,
  body.page-igualamiento .security-split{grid-template-columns:1fr}
  body.page-igualamiento .equal-hero__copy{text-align:center}
  body.page-igualamiento .equal-hero__copy>p{margin-inline:auto}
  body.page-igualamiento .equal-hero__actions,
  body.page-igualamiento .equal-hero__meta{justify-content:center}
  body.page-igualamiento .same-key{max-width:680px;margin:0 auto;width:100%}
  body.page-igualamiento .equal-quick__grid{grid-template-columns:1fr 1fr}
  body.page-igualamiento .equal-quick article:nth-child(2){border-right:0}
  body.page-igualamiento .equal-quick article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  body.page-igualamiento .compare-grid{grid-template-columns:1fr}
  body.page-igualamiento .compatibility__panel{max-width:680px;width:100%}
}
@media(max-width:600px){
  body.page-igualamiento .equal-hero h1{font-size:clamp(2.05rem,10vw,2.85rem)}
  body.page-igualamiento .equal-hero__copy>p{font-size:.94rem}
  body.page-igualamiento .equal-hero__actions{width:100%;flex-direction:column}
  body.page-igualamiento .equal-hero__actions .btn{width:100%}
  body.page-igualamiento .same-key{padding:20px}
  body.page-igualamiento .same-key__head{align-items:flex-start;flex-direction:column;gap:5px}
  body.page-igualamiento .same-key__key{flex-direction:column;gap:8px}
  body.page-igualamiento .same-key__doors{grid-template-columns:1fr 1fr}
  body.page-igualamiento .same-key__doors>div{min-height:96px}
  body.page-igualamiento .equal-quick__grid,
  body.page-igualamiento .equal-card-grid,
  body.page-igualamiento .compatibility__checks,
  body.page-igualamiento .use-grid{grid-template-columns:1fr}
  body.page-igualamiento .equal-quick article{
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  body.page-igualamiento .equal-quick article:last-child{border-bottom:0}
  body.page-igualamiento .equal-card{min-height:auto}
  body.page-igualamiento .compare-card{min-height:auto;padding:28px 24px}
  body.page-igualamiento .compatibility__panel{padding:25px 22px}
  body.page-igualamiento .final-cta__inner{grid-template-columns:1fr}
  body.page-igualamiento .final-cta__actions{flex-direction:column}
  body.page-igualamiento .final-cta__actions .btn{width:100%}
  body.page-igualamiento .systems-contact__card{grid-template-columns:1fr;gap:26px;padding:28px 24px}
  body.page-igualamiento .systems-contact__actions{width:100%}
}


/* ==========================================================
   IGUALAMIENTO · SHOWCASE VISUAL COMPACTO
   ========================================================== */
body.page-igualamiento .equal-showcase{
  padding:72px 0;
  background:
    radial-gradient(circle at 92% 8%,rgba(241,182,54,.09),transparent 24%),
    #f8fafc
}
body.page-igualamiento .equal-showcase__title{
  margin-bottom:34px
}
body.page-igualamiento .equal-showcase__stack{
  display:grid;
  gap:18px;
  max-width:1120px;
  margin:0 auto
}
body.page-igualamiento .equal-showcase__item{
  display:grid;
  grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);
  align-items:stretch;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.055)
}
body.page-igualamiento .equal-showcase__item--reverse{
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)
}
body.page-igualamiento .equal-showcase__item--reverse .equal-showcase__media{
  order:2
}
body.page-igualamiento .equal-showcase__item--reverse .equal-showcase__copy{
  order:1
}
body.page-igualamiento .equal-showcase__media{
  position:relative;
  min-height:300px;
  overflow:hidden;
  background:#0f172a
}
body.page-igualamiento .equal-showcase__media::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  pointer-events:none
}
body.page-igualamiento .equal-showcase__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:300px;
  max-height:340px;
  object-fit:cover
}
body.page-igualamiento .equal-showcase__badge{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:2;
  padding:7px 10px;
  border:1px solid rgba(241,182,54,.34);
  border-radius:999px;
  background:rgba(10,15,29,.88);
  color:#fde68a;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.55px;
  text-transform:uppercase;
  backdrop-filter:blur(8px)
}
body.page-igualamiento .equal-showcase__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 38px
}
body.page-igualamiento .equal-showcase__eyebrow{
  color:#8a6100;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.85px;
  text-transform:uppercase
}
body.page-igualamiento .equal-showcase__copy h3{
  margin:8px 0 12px;
  max-width:640px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(1.55rem,2.6vw,2.15rem);
  font-weight:700;
  line-height:1.08
}
body.page-igualamiento .equal-showcase__copy p{
  margin:0;
  max-width:650px;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.67
}
body.page-igualamiento .equal-showcase__copy ul{
  display:grid;
  gap:7px;
  margin:18px 0 0;
  padding:0;
  list-style:none
}
body.page-igualamiento .equal-showcase__copy li{
  position:relative;
  padding-left:20px;
  color:#475569;
  font-size:.78rem;
  line-height:1.5
}
body.page-igualamiento .equal-showcase__copy li::before{
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--yellow)
}
body.page-igualamiento .equal-showcase__linkrow{
  margin-top:20px
}
body.page-igualamiento .equal-showcase__linkrow a{
  color:#805900;
  font-size:.78rem;
  font-weight:700
}
body.page-igualamiento .equal-showcase__linkrow a:hover{
  color:#5f4300
}
@media(max-width:920px){
  body.page-igualamiento .equal-showcase__item,
  body.page-igualamiento .equal-showcase__item--reverse{
    grid-template-columns:1fr
  }
  body.page-igualamiento .equal-showcase__item--reverse .equal-showcase__media,
  body.page-igualamiento .equal-showcase__item--reverse .equal-showcase__copy{
    order:initial
  }
  body.page-igualamiento .equal-showcase__media{
    min-height:0
  }
  body.page-igualamiento .equal-showcase__media img{
    min-height:0;
    max-height:none;
    aspect-ratio:16/9
  }
}
@media(max-width:600px){
  body.page-igualamiento .equal-showcase{
    padding:54px 0
  }
  body.page-igualamiento .equal-showcase__copy{
    padding:26px 22px
  }
  body.page-igualamiento .equal-showcase__media img{
    aspect-ratio:4/3
  }
}


/* ==========================================================
   PÁGINA · COMUNIDADES DE PROPIETARIOS
   body.page-comunidades
   ========================================================== */
body.page-comunidades .community-hero{
  position:relative;
  overflow:hidden;
  padding:78px 0;
  color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(241,182,54,.15),transparent 25%),
    linear-gradient(135deg,#0a0f1d 0%,#0f172a 66%,#1a2945 100%)
}
body.page-comunidades .community-hero__pattern{
  position:absolute;
  inset:0;
  opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to right,transparent 6%,black 76%)
}
body.page-comunidades .community-hero__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.03fr .97fr;
  gap:64px;
  align-items:center
}
body.page-comunidades .community-hero h1,
body.page-comunidades .community-admin h2,
body.page-comunidades .community-systems h2,
body.page-comunidades .community-security h2,
body.page-comunidades .community-services h3,
body.page-comunidades .community-key-plan h3,
body.page-comunidades .community-issues h3{
  font-family:"Rajdhani",Arial,sans-serif;
  font-weight:700
}
body.page-comunidades .community-hero h1{
  margin:10px 0 16px;
  max-width:760px;
  color:#fff;
  font-size:clamp(2.4rem,4.7vw,3.7rem);
  line-height:1.01
}
body.page-comunidades .community-hero__copy>p{
  max-width:760px;
  margin:0 0 28px;
  color:#ccd6e4;
  font-size:1.03rem;
  line-height:1.7
}
body.page-comunidades .community-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px
}
body.page-comunidades .community-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#dbe3ef;
  font-size:.74rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.65px
}
body.page-comunidades .community-hero__meta span::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;
  margin-right:8px;
  border-radius:50%;
  background:var(--yellow);
  vertical-align:1px
}

/* Hero técnico de comunidad */
body.page-comunidades .community-system{
  padding:26px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(255,255,255,.055);
  box-shadow:0 24px 70px rgba(0,0,0,.23);
  backdrop-filter:blur(6px)
}
body.page-comunidades .community-system__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding-bottom:17px;
  border-bottom:1px solid rgba(255,255,255,.1)
}
body.page-comunidades .community-system__head span,
body.page-comunidades .community-system__head strong{display:block}
body.page-comunidades .community-system__head>div>span{
  color:#aebbd0;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.75px
}
body.page-comunidades .community-system__head strong{
  margin-top:3px;
  color:#fff;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.18rem
}
body.page-comunidades .community-system__status{
  padding:6px 9px;
  border:1px solid rgba(241,182,54,.28);
  border-radius:999px;
  background:rgba(241,182,54,.1);
  color:#fde68a;
  font-size:.62rem;
  font-weight:700;
  text-transform:uppercase
}
body.page-comunidades .community-system__building{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:18px
}
body.page-comunidades .community-system__door{
  min-height:114px;
  padding:17px 15px;
  border-radius:8px;
  background:#fff;
  border-top:3px solid var(--yellow)
}
body.page-comunidades .community-system__door span,
body.page-comunidades .community-system__door strong,
body.page-comunidades .community-system__door small{display:block}
body.page-comunidades .community-system__door span{
  color:#916400;
  font-size:.63rem;
  font-weight:700
}
body.page-comunidades .community-system__door strong{
  margin:10px 0 3px;
  color:var(--navy);
  font-size:.78rem
}
body.page-comunidades .community-system__door small{
  color:#64748b;
  font-size:.64rem;
  line-height:1.4
}
body.page-comunidades .community-system__footer{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:16px
}
body.page-comunidades .community-system__footer>div{
  padding:11px 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:7px;
  background:rgba(255,255,255,.035)
}
body.page-comunidades .community-system__footer span,
body.page-comunidades .community-system__footer strong,
body.page-comunidades .community-system__footer small{display:block}
body.page-comunidades .community-system__footer span{
  color:var(--yellow);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.64rem;
  font-weight:700
}
body.page-comunidades .community-system__footer strong{
  margin-top:3px;
  color:#fff;
  font-size:.67rem
}
body.page-comunidades .community-system__footer small{
  margin-top:2px;
  color:#9facbe;
  font-size:.58rem
}

/* Quick strip */
body.page-comunidades .community-quick{
  background:#fff;
  border-bottom:1px solid var(--line)
}
body.page-comunidades .community-quick__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr)
}
body.page-comunidades .community-quick article{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:88px;
  padding:16px 20px;
  border-right:1px solid var(--line)
}
body.page-comunidades .community-quick article:last-child{border-right:0}
body.page-comunidades .community-quick article>span{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--yellow-soft);
  border:1px solid var(--yellow-line);
  color:#855d00;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.7rem;
  font-weight:700
}
body.page-comunidades .community-quick strong,
body.page-comunidades .community-quick small{display:block}
body.page-comunidades .community-quick strong{
  color:var(--navy);
  font-size:.78rem
}
body.page-comunidades .community-quick small{
  margin-top:2px;
  color:#64748b;
  font-size:.64rem;
  line-height:1.35
}

/* Servicios */
body.page-comunidades .community-services{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px
}
body.page-comunidades .community-services article{
  min-height:245px;
  padding:25px 23px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04)
}
body.page-comunidades .community-services__featured{
  background:linear-gradient(145deg,#0f172a,#1a2842)!important;
  border-color:#243653!important;
  color:#fff
}
body.page-comunidades .community-services__num{
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.72rem;
  font-weight:700
}
body.page-comunidades .community-services__featured .community-services__num{color:var(--yellow)}
body.page-comunidades .community-services h3{
  margin:18px 0 8px;
  color:var(--navy);
  font-size:1.26rem
}
body.page-comunidades .community-services__featured h3{color:#fff}
body.page-comunidades .community-services p{
  margin:0;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.63
}
body.page-comunidades .community-services__featured p{color:#cbd5e1}
body.page-comunidades .community-services a{
  display:inline-block;
  margin-top:14px;
  color:#805900;
  font-size:.74rem;
  font-weight:700
}
body.page-comunidades .community-services__links{
  display:flex;
  flex-wrap:wrap;
  gap:7px
}
body.page-comunidades .community-services__featured strong{
  display:block;
  margin-top:16px;
  color:#fde68a;
  font-size:.73rem
}

/* Administradores */
body.page-comunidades .community-admin{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:56px;
  align-items:center
}
body.page-comunidades .community-admin__image{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0f172a;
  box-shadow:0 14px 34px rgba(15,23,42,.08)
}
body.page-comunidades .community-admin__image img{
  width:100%;
  height:auto;
  aspect-ratio:1.35/1;
  object-fit:cover
}
body.page-comunidades .community-admin__image>span{
  position:absolute;
  left:16px;
  bottom:16px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(10,15,29,.88);
  border:1px solid rgba(241,182,54,.28);
  color:#fde68a;
  font-size:.64rem;
  font-weight:700
}
body.page-comunidades .community-admin h2{
  margin:7px 0 13px;
  color:var(--navy);
  font-size:clamp(2rem,3.6vw,2.75rem);
  line-height:1.07
}
body.page-comunidades .community-admin__copy>p{
  margin:0 0 24px;
  color:var(--muted);
  line-height:1.7
}
body.page-comunidades .community-admin__points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}
body.page-comunidades .community-admin__points>div{
  display:flex;
  gap:11px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff
}
body.page-comunidades .community-admin__points span{
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.7rem;
  font-weight:700
}
body.page-comunidades .community-admin__points p{
  margin:0;
  color:#64748b;
  font-size:.75rem;
  line-height:1.48
}
body.page-comunidades .community-admin__points strong{
  display:block;
  margin-bottom:2px;
  color:#334155;
  font-size:.75rem
}

/* Plan de cambio */
body.page-comunidades .community-key-plan{
  border-top:1px solid #edf0f4
}
body.page-comunidades .community-key-plan__flow{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  max-width:1180px;
  margin:0 auto
}
body.page-comunidades .community-key-plan__flow article{
  min-height:250px;
  padding:24px 21px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff
}
body.page-comunidades .community-key-plan__important{
  background:linear-gradient(145deg,#fffbeb,#fff)!important;
  border-color:#efcf7a!important;
  box-shadow:0 10px 26px rgba(241,182,54,.1)
}
body.page-comunidades .community-key-plan__flow article>span{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:#f8fafc;
  border:1px solid #dbe3eb;
  color:#805900;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.7rem;
  font-weight:700
}
body.page-comunidades .community-key-plan__important>span{
  background:var(--yellow);
  border-color:var(--yellow);
  color:#111
}
body.page-comunidades .community-key-plan h3{
  margin:18px 0 8px;
  color:var(--navy);
  font-size:1.18rem
}
body.page-comunidades .community-key-plan__flow p{
  margin:0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.62
}
body.page-comunidades .community-key-plan__note{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  max-width:920px;
  margin:22px auto 0;
  padding:17px 19px;
  border-left:4px solid var(--yellow);
  border-radius:8px;
  background:#0f172a;
  color:#fff
}
body.page-comunidades .community-key-plan__icon{
  width:40px;height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(241,182,54,.12);
  border:1px solid rgba(241,182,54,.3);
  color:var(--yellow);
  font-weight:700
}
body.page-comunidades .community-key-plan__note strong,
body.page-comunidades .community-key-plan__note span{display:block}
body.page-comunidades .community-key-plan__note strong{
  color:#fff;
  font-size:.8rem
}
body.page-comunidades .community-key-plan__note span{
  margin-top:3px;
  color:#cbd5e1;
  font-size:.72rem;
  line-height:1.5
}

/* Sistemas */
body.page-comunidades .community-systems{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:64px;
  align-items:center
}
body.page-comunidades .community-systems h2{
  margin:8px 0 13px;
  color:#fff;
  font-size:clamp(2rem,3.6vw,2.78rem);
  line-height:1.06
}
body.page-comunidades .community-systems__copy>p{
  margin:0 0 24px;
  color:#bdc8d8;
  line-height:1.68
}
body.page-comunidades .community-systems__cards{
  display:grid;
  gap:8px
}
body.page-comunidades .community-systems__cards a{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:0 12px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  background:rgba(255,255,255,.035)
}
body.page-comunidades .community-systems__cards a:hover{
  border-color:rgba(241,182,54,.32);
  background:rgba(241,182,54,.055)
}
body.page-comunidades .community-systems__cards span{
  grid-row:1/3;
  color:var(--yellow);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.68rem;
  font-weight:700
}
body.page-comunidades .community-systems__cards strong{
  color:#fff;
  font-size:.76rem
}
body.page-comunidades .community-systems__cards small{
  margin-top:2px;
  color:#aebbd0;
  font-size:.65rem
}
body.page-comunidades .community-systems__image{
  max-width:520px;
  justify-self:end;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 18px 42px rgba(0,0,0,.18)
}
body.page-comunidades .community-systems__image img{width:100%;height:auto}

/* Incidencias */
body.page-comunidades .community-issues{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px
}
body.page-comunidades .community-issues article{
  min-height:190px;
  padding:21px 20px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff
}
body.page-comunidades .community-issues article>span{
  color:#8a6100;
  font-size:.66rem;
  font-weight:700
}
body.page-comunidades .community-issues h3{
  margin:14px 0 7px;
  color:var(--navy);
  font-size:1.1rem
}
body.page-comunidades .community-issues p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.58
}

/* Seguridad */
body.page-comunidades .community-security{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:58px;
  align-items:center
}
body.page-comunidades .community-security h2{
  margin:7px 0 14px;
  color:var(--navy);
  font-size:clamp(2rem,3.6vw,2.65rem);
  line-height:1.07
}
body.page-comunidades .community-security p{
  color:var(--muted);
  line-height:1.7
}
body.page-comunidades .community-security__image{
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 12px 32px rgba(15,23,42,.07)
}
body.page-comunidades .community-security__image img{width:100%;height:auto}

body.page-comunidades .final-cta h2,
body.page-comunidades .systems-contact__content h2{
  font-family:"Rajdhani",Arial,sans-serif;
  font-weight:700
}

/* Responsive */
@media(max-width:1080px){
  body.page-comunidades .community-hero__grid{gap:38px}
  body.page-comunidades .community-services{grid-template-columns:1fr 1fr}
  body.page-comunidades .community-key-plan__flow{grid-template-columns:1fr 1fr}
}
@media(max-width:920px){
  body.page-comunidades .community-hero{padding:62px 0}
  body.page-comunidades .community-hero__grid,
  body.page-comunidades .community-admin,
  body.page-comunidades .community-systems,
  body.page-comunidades .community-security{
    grid-template-columns:1fr
  }
  body.page-comunidades .community-hero__copy{text-align:center}
  body.page-comunidades .community-hero__copy>p{margin-inline:auto}
  body.page-comunidades .community-hero__actions,
  body.page-comunidades .community-hero__meta{justify-content:center}
  body.page-comunidades .community-system{
    max-width:680px;
    width:100%;
    margin:0 auto
  }
  body.page-comunidades .community-quick__grid{grid-template-columns:1fr 1fr}
  body.page-comunidades .community-quick article:nth-child(2){border-right:0}
  body.page-comunidades .community-quick article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  body.page-comunidades .community-systems__image{justify-self:start}
  body.page-comunidades .community-issues{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  body.page-comunidades .community-hero h1{font-size:clamp(2.05rem,10vw,2.85rem)}
  body.page-comunidades .community-hero__copy>p{font-size:.94rem}
  body.page-comunidades .community-hero__actions{width:100%;flex-direction:column}
  body.page-comunidades .community-hero__actions .btn{width:100%}
  body.page-comunidades .community-system{padding:20px}
  body.page-comunidades .community-system__head{flex-direction:column;gap:8px}
  body.page-comunidades .community-system__building{grid-template-columns:1fr}
  body.page-comunidades .community-system__footer{grid-template-columns:1fr}
  body.page-comunidades .community-quick__grid,
  body.page-comunidades .community-services,
  body.page-comunidades .community-admin__points,
  body.page-comunidades .community-key-plan__flow,
  body.page-comunidades .community-issues{
    grid-template-columns:1fr
  }
  body.page-comunidades .community-quick article{
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  body.page-comunidades .community-quick article:last-child{border-bottom:0}
  body.page-comunidades .community-services article,
  body.page-comunidades .community-key-plan__flow article,
  body.page-comunidades .community-issues article{min-height:auto}
}


/* ==========================================================
   COMUNIDADES V2 · DISEÑO BASADO EN REFERENCIA VISUAL
   Mantiene el sistema global Keysman
   ========================================================== */
body.page-comunidades-v2 .community-ref-hero{
  background:#fff;
  border-bottom:1px solid #e7ecf2
}
body.page-comunidades-v2 .community-ref-hero__grid{
  display:grid;
  grid-template-columns:1.03fr .97fr;
  min-height:560px
}
body.page-comunidades-v2 .community-ref-hero__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:58px 54px 48px 0
}
body.page-comunidades-v2 .community-ref-hero__copy .eyebrow{
  color:#916400
}
body.page-comunidades-v2 .community-ref-hero h1{
  margin:10px 0 16px;
  max-width:720px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(2.55rem,4.4vw,3.85rem);
  line-height:1;
  font-weight:700
}
body.page-comunidades-v2 .community-ref-hero__copy>p{
  max-width:700px;
  margin:0 0 26px;
  color:#475569;
  font-size:1rem;
  line-height:1.68
}
body.page-comunidades-v2 .community-ref-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px
}
body.page-comunidades-v2 .community-ref-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid #e5eaf0
}
body.page-comunidades-v2 .community-ref-benefits>div{
  position:relative;
  padding-left:40px
}
body.page-comunidades-v2 .community-ref-benefits span{
  position:absolute;
  left:0;top:0;
  display:grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  background:#fffbeb;
  border:1px solid #f3d98e;
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-weight:700;
  font-size:.66rem
}
body.page-comunidades-v2 .community-ref-benefits strong,
body.page-comunidades-v2 .community-ref-benefits small{display:block}
body.page-comunidades-v2 .community-ref-benefits strong{
  color:#263449;
  font-size:.73rem
}
body.page-comunidades-v2 .community-ref-benefits small{
  margin-top:2px;
  color:#64748b;
  font-size:.63rem;
  line-height:1.35
}
body.page-comunidades-v2 .community-ref-hero__media{
  position:relative;
  min-height:560px;
  overflow:hidden
}
body.page-comunidades-v2 .community-ref-hero__media::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:120px;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0))
}
body.page-comunidades-v2 .community-ref-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover
}
body.page-comunidades-v2 .community-ref-hero__card{
  position:absolute;
  z-index:2;
  right:24px;
  bottom:28px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  width:min(330px,calc(100% - 48px));
  padding:20px;
  border-radius:11px;
  background:rgba(15,23,42,.94);
  color:#fff;
  box-shadow:0 18px 36px rgba(15,23,42,.22)
}
body.page-comunidades-v2 .community-ref-hero__card>span{
  display:grid;
  place-items:center;
  width:40px;height:40px;
  border-radius:50%;
  background:rgba(241,182,54,.12);
  border:1px solid rgba(241,182,54,.36);
  color:var(--yellow);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.78rem;
  font-weight:700
}
body.page-comunidades-v2 .community-ref-hero__card strong,
body.page-comunidades-v2 .community-ref-hero__card small{display:block}
body.page-comunidades-v2 .community-ref-hero__card strong{
  font-size:.88rem;
  line-height:1.35
}
body.page-comunidades-v2 .community-ref-hero__card small{
  margin-top:5px;
  color:#cbd5e1;
  font-size:.68rem;
  line-height:1.45
}

/* Especialistas */
body.page-comunidades-v2 .community-ref-specialists{
  display:grid;
  grid-template-columns:.94fr 1.06fr;
  gap:58px;
  align-items:center
}
body.page-comunidades-v2 .community-ref-specialists__media{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(15,23,42,.07)
}
body.page-comunidades-v2 .community-ref-specialists__media img{
  display:block;
  width:100%;
  height:auto
}
body.page-comunidades-v2 .community-ref-specialists__card{
  position:absolute;
  right:18px;
  bottom:18px;
  display:grid;
  grid-template-columns:36px 1fr;
  gap:12px;
  width:min(280px,calc(100% - 36px));
  padding:16px;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:9px;
  box-shadow:0 12px 28px rgba(15,23,42,.12)
}
body.page-comunidades-v2 .community-ref-specialists__card>span{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:#fffbeb;
  border:1px solid #f5d98b;
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-weight:700
}
body.page-comunidades-v2 .community-ref-specialists__card strong,
body.page-comunidades-v2 .community-ref-specialists__card small{display:block}
body.page-comunidades-v2 .community-ref-specialists__card strong{
  color:var(--navy);
  font-size:.78rem
}
body.page-comunidades-v2 .community-ref-specialists__card small{
  margin-top:3px;
  color:#64748b;
  font-size:.63rem;
  line-height:1.42
}
body.page-comunidades-v2 .community-ref-specialists__copy h2{
  margin:6px 0 14px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(2rem,3.6vw,2.8rem);
  line-height:1.05
}
body.page-comunidades-v2 .community-ref-specialists__copy p{
  margin:0 0 13px;
  color:var(--muted);
  line-height:1.67
}
body.page-comunidades-v2 .community-ref-checks{
  display:grid;
  gap:8px;
  margin:20px 0 0;
  padding:0;
  list-style:none
}
body.page-comunidades-v2 .community-ref-checks li{
  position:relative;
  padding-left:24px;
  color:#475569;
  font-size:.8rem
}
body.page-comunidades-v2 .community-ref-checks li::before{
  content:"✓";
  position:absolute;
  left:0;top:-1px;
  display:grid;
  place-items:center;
  width:17px;height:17px;
  border-radius:50%;
  background:var(--yellow);
  color:#172033;
  font-size:.65rem;
  font-weight:700
}

/* Servicios estilo card referencia */
body.page-comunidades-v2 .community-ref-services{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px
}
body.page-comunidades-v2 .community-ref-services article{
  overflow:hidden;
  min-height:285px;
  border:1px solid #e3e8ee;
  border-radius:9px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04)
}
body.page-comunidades-v2 .community-ref-services__visual{
  height:105px;
  display:flex;
  align-items:flex-end;
  padding:14px;
  background:
    linear-gradient(135deg,#eef2f6,#dce4ec);
  color:#0f172a;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.55rem;
  font-weight:700;
  border-bottom:1px solid #e3e8ee
}
body.page-comunidades-v2 .community-ref-services__visual--cylinder{
  background:linear-gradient(135deg,#edf1f5,#c9d2dc)
}
body.page-comunidades-v2 .community-ref-services__visual--master{
  background:linear-gradient(135deg,#f7f2e6,#e8d7a7)
}
body.page-comunidades-v2 .community-ref-services__visual--access{
  background:linear-gradient(135deg,#e8edf3,#c8d3df)
}
body.page-comunidades-v2 .community-ref-services__visual--closer{
  background:linear-gradient(135deg,#f1f4f7,#d5dde6)
}
body.page-comunidades-v2 .community-ref-services__visual--electric{
  background:linear-gradient(135deg,#ebeef1,#c7cdd5)
}
body.page-comunidades-v2 .community-ref-services h3{
  margin:17px 16px 8px;
  min-height:40px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.03rem;
  line-height:1.1
}
body.page-comunidades-v2 .community-ref-services p{
  margin:0 16px;
  color:#64748b;
  font-size:.72rem;
  line-height:1.5
}
body.page-comunidades-v2 .community-ref-services a{
  display:inline-block;
  margin:15px 16px 18px;
  color:#805900;
  font-size:.7rem;
  font-weight:700
}

/* Proceso oscuro */
body.page-comunidades-v2 .community-ref-process{
  padding:64px 0;
  background:
    radial-gradient(circle at 80% 10%,rgba(241,182,54,.1),transparent 28%),
    linear-gradient(135deg,#0a0f1d,#0f172a 68%,#1c2b49);
  color:#fff
}
body.page-comunidades-v2 .community-ref-process__head{
  max-width:830px;
  margin:0 auto 34px;
  text-align:center
}
body.page-comunidades-v2 .community-ref-process__head>span{
  color:var(--yellow);
  font-size:.7rem;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:1px
}
body.page-comunidades-v2 .community-ref-process__head h2{
  margin:7px 0 10px;
  color:#fff;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(2rem,3.8vw,2.8rem);
  line-height:1.05
}
body.page-comunidades-v2 .community-ref-process__head p{
  margin:0;
  color:#bac6d7
}
body.page-comunidades-v2 .community-ref-process__steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}
body.page-comunidades-v2 .community-ref-process__steps article{
  position:relative;
  padding-top:48px;
  text-align:center
}
body.page-comunidades-v2 .community-ref-process__steps article:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18px;
  left:67%;
  width:66%;
  height:1px;
  background:linear-gradient(90deg,rgba(241,182,54,.65),rgba(241,182,54,.15))
}
body.page-comunidades-v2 .community-ref-process__steps span{
  position:absolute;
  top:0;left:50%;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  width:36px;height:36px;
  border-radius:50%;
  background:var(--yellow);
  color:#172033;
  font-family:"Rajdhani",Arial,sans-serif;
  font-weight:700;
  font-size:.7rem
}
body.page-comunidades-v2 .community-ref-process__steps h3{
  margin:8px 0 7px;
  color:#fff;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1rem
}
body.page-comunidades-v2 .community-ref-process__steps p{
  margin:0 auto;
  max-width:220px;
  color:#aebbd0;
  font-size:.71rem;
  line-height:1.5
}
body.page-comunidades-v2 .community-ref-process__notice{
  max-width:850px;
  margin:32px auto 0;
  padding:15px 18px;
  border:1px solid rgba(241,182,54,.22);
  border-radius:8px;
  background:rgba(241,182,54,.07);
  text-align:center
}
body.page-comunidades-v2 .community-ref-process__notice strong,
body.page-comunidades-v2 .community-ref-process__notice span{display:block}
body.page-comunidades-v2 .community-ref-process__notice strong{
  color:#fde68a;
  font-size:.76rem
}
body.page-comunidades-v2 .community-ref-process__notice span{
  margin-top:3px;
  color:#cbd5e1;
  font-size:.69rem
}

/* Administradores */
body.page-comunidades-v2 .community-ref-admin{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:58px;
  align-items:center
}
body.page-comunidades-v2 .community-ref-admin__copy h2,
body.page-comunidades-v2 .community-ref-security__copy h2{
  margin:7px 0 14px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(2rem,3.6vw,2.7rem);
  line-height:1.06
}
body.page-comunidades-v2 .community-ref-admin__copy>p,
body.page-comunidades-v2 .community-ref-security__copy>p{
  color:var(--muted);
  line-height:1.67
}
body.page-comunidades-v2 .community-ref-admin__copy .btn{margin-top:22px}
body.page-comunidades-v2 .community-ref-admin__media{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--line);
  background:#0f172a;
  box-shadow:0 14px 34px rgba(15,23,42,.07)
}
body.page-comunidades-v2 .community-ref-admin__media img{
  display:block;
  width:100%;
  height:auto
}
body.page-comunidades-v2 .community-ref-admin__card{
  position:absolute;
  right:18px;
  bottom:18px;
  display:grid;
  grid-template-columns:36px 1fr;
  gap:10px;
  width:min(280px,calc(100% - 36px));
  padding:15px;
  background:#fff;
  border-radius:9px;
  box-shadow:0 12px 28px rgba(15,23,42,.14)
}
body.page-comunidades-v2 .community-ref-admin__card>span{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:#fffbeb;
  border:1px solid #f3d98e;
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-weight:700
}
body.page-comunidades-v2 .community-ref-admin__card strong,
body.page-comunidades-v2 .community-ref-admin__card small{display:block}
body.page-comunidades-v2 .community-ref-admin__card strong{
  color:var(--navy);
  font-size:.75rem
}
body.page-comunidades-v2 .community-ref-admin__card small{
  margin-top:3px;
  color:#64748b;
  font-size:.62rem;
  line-height:1.4
}

/* Seguridad */
body.page-comunidades-v2 .community-ref-security{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:58px;
  align-items:center
}
body.page-comunidades-v2 .community-ref-security__media{
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.06)
}
body.page-comunidades-v2 .community-ref-security__media img{
  display:block;
  width:100%;
  height:auto
}

/* CTA final estilo referencia, integrado con sistema */
body.page-comunidades-v2 .community-ref-cta{
  padding:34px 0;
  background:linear-gradient(135deg,#0f172a,#1a2946);
  color:#fff
}
body.page-comunidades-v2 .community-ref-cta__inner{
  display:grid;
  grid-template-columns:1fr auto;
  gap:36px;
  align-items:center
}
body.page-comunidades-v2 .community-ref-cta span{
  color:var(--yellow);
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.9px
}
body.page-comunidades-v2 .community-ref-cta h2{
  margin:6px 0 4px;
  color:#fff;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.9rem
}
body.page-comunidades-v2 .community-ref-cta p{
  margin:0;
  color:#cbd5e1;
  font-size:.8rem
}
body.page-comunidades-v2 .community-ref-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px
}

/* Responsive */
@media(max-width:1080px){
  body.page-comunidades-v2 .community-ref-services{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:920px){
  body.page-comunidades-v2 .community-ref-hero__grid,
  body.page-comunidades-v2 .community-ref-specialists,
  body.page-comunidades-v2 .community-ref-admin,
  body.page-comunidades-v2 .community-ref-security{
    grid-template-columns:1fr
  }
  body.page-comunidades-v2 .community-ref-hero__copy{
    padding:48px 0 34px
  }
  body.page-comunidades-v2 .community-ref-hero__media{
    min-height:420px
  }
  body.page-comunidades-v2 .community-ref-hero__media::before{display:none}
  body.page-comunidades-v2 .community-ref-process__steps{
    grid-template-columns:1fr 1fr;
    gap:30px 18px
  }
  body.page-comunidades-v2 .community-ref-process__steps article::after{display:none!important}
  body.page-comunidades-v2 .community-ref-cta__inner{
    grid-template-columns:1fr
  }
}
@media(max-width:650px){
  body.page-comunidades-v2 .community-ref-hero h1{
    font-size:clamp(2.1rem,10vw,2.9rem)
  }
  body.page-comunidades-v2 .community-ref-benefits{
    grid-template-columns:1fr
  }
  body.page-comunidades-v2 .community-ref-hero__actions{
    flex-direction:column
  }
  body.page-comunidades-v2 .community-ref-hero__actions .btn{
    width:100%
  }
  body.page-comunidades-v2 .community-ref-services{
    grid-template-columns:1fr
  }
  body.page-comunidades-v2 .community-ref-services article{
    min-height:auto
  }
  body.page-comunidades-v2 .community-ref-process__steps{
    grid-template-columns:1fr
  }
  body.page-comunidades-v2 .community-ref-specialists__card,
  body.page-comunidades-v2 .community-ref-admin__card{
    position:static;
    width:auto;
    border-radius:0;
    box-shadow:none;
    border-left:0;
    border-right:0;
    border-bottom:0
  }
  body.page-comunidades-v2 .community-ref-cta__actions{
    flex-direction:column
  }
  body.page-comunidades-v2 .community-ref-cta__actions .btn{
    width:100%
  }
}


/* ==========================================================
   COMUNIDADES V2.1 · SERVICIOS CON FOTOS
   ========================================================== */
body.page-comunidades-v2 .community-ref-services--photos{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px
}
body.page-comunidades-v2 .community-ref-services--photos article{
  overflow:hidden;
  min-height:355px;
  border:1px solid #e3e8ee;
  border-radius:9px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
  display:flex;
  flex-direction:column
}
body.page-comunidades-v2 .community-ref-services__photo{
  aspect-ratio:1.6/1;
  overflow:hidden;
  border-bottom:1px solid #e3e8ee;
  background:#edf2f7
}
body.page-comunidades-v2 .community-ref-services__photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease
}
body.page-comunidades-v2 .community-ref-services--photos article:hover .community-ref-services__photo img{
  transform:scale(1.03)
}
body.page-comunidades-v2 .community-ref-services__body{
  position:relative;
  flex:1 1 auto;
  padding:17px 16px 18px
}
body.page-comunidades-v2 .community-ref-services__id{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fffbeb;
  border:1px solid #f3d98e;
  color:#8a6100;
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:.68rem;
  font-weight:700
}
body.page-comunidades-v2 .community-ref-services--photos h3{
  margin:12px 0 8px;
  min-height:42px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:1.02rem;
  line-height:1.1
}
body.page-comunidades-v2 .community-ref-services--photos p{
  margin:0;
  color:#64748b;
  font-size:.72rem;
  line-height:1.52
}
body.page-comunidades-v2 .community-ref-services--photos a{
  display:inline-block;
  margin-top:16px;
  color:#805900;
  font-size:.7rem;
  font-weight:700
}
@media(max-width:1080px){
  body.page-comunidades-v2 .community-ref-services--photos{
    grid-template-columns:repeat(3,1fr)
  }
}
@media(max-width:760px){
  body.page-comunidades-v2 .community-ref-services--photos{
    grid-template-columns:1fr 1fr
  }
}
@media(max-width:650px){
  body.page-comunidades-v2 .community-ref-services--photos{
    grid-template-columns:1fr
  }
  body.page-comunidades-v2 .community-ref-services--photos article{
    min-height:auto
  }
}


/* ==========================================================
   COMUNIDADES V2.2 · MARCAS Y FABRICANTES
   ========================================================== */
body.page-comunidades-v2 .community-brands{
  padding:62px 0;
  background:#fff;
  border-top:1px solid #edf0f4;
  border-bottom:1px solid #e8edf3
}
body.page-comunidades-v2 .community-brands__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:40px;
  align-items:end;
  margin-bottom:28px
}
body.page-comunidades-v2 .community-brands__head h2{
  margin:7px 0 11px;
  max-width:820px;
  color:var(--navy);
  font-family:"Rajdhani",Arial,sans-serif;
  font-size:clamp(1.95rem,3.5vw,2.65rem);
  font-weight:700;
  line-height:1.06
}
body.page-comunidades-v2 .community-brands__head p{
  max-width:860px;
  margin:0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.65
}
body.page-comunidades-v2 .community-brands__note{
  padding:16px 17px;
  border:1px solid #e2e8f0;
  border-left:3px solid var(--yellow);
  border-radius:8px;
  background:#f8fafc
}
body.page-comunidades-v2 .community-brands__note span,
body.page-comunidades-v2 .community-brands__note strong{display:block}
body.page-comunidades-v2 .community-brands__note span{
  color:#8a6100;
  font-size:.61rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.75px
}
body.page-comunidades-v2 .community-brands__note strong{
  margin-top:4px;
  color:#334155;
  font-size:.72rem;
  line-height:1.4
}

body.page-comunidades-v2 .community-brands__grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px
}
body.page-comunidades-v2 .brand-tile{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:112px;
  padding:16px;
  overflow:hidden;
  border:1px solid #e5eaf0;
  border-radius:9px;
  background:#fff;
  box-shadow:0 6px 16px rgba(15,23,42,.025);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease
}
body.page-comunidades-v2 .brand-tile:hover{
  transform:translateY(-2px);
  border-color:#dbc170;
  box-shadow:0 10px 24px rgba(15,23,42,.06)
}
body.page-comunidades-v2 .brand-tile img{
  position:relative;
  z-index:2;
  display:block;
  width:auto;
  max-width:88%;
  max-height:64px;
  object-fit:contain;
  filter:saturate(.9);
  mix-blend-mode:multiply
}
body.page-comunidades-v2 .brand-tile__fallback{
  position:absolute;
  inset:16px;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center
}
body.page-comunidades-v2 .brand-tile__permission{
  position:absolute;
  left:9px;
  right:9px;
  bottom:7px;
  color:#94a3b8;
  font-size:.5rem;
  line-height:1.1;
  text-align:center
}

/* Fallbacks / marcas sin archivo gráfico local */
body.page-comunidades-v2 .brand-mark{
  font-family:Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1
}
body.page-comunidades-v2 .brand-mark--dom{
  width:84px;
  height:54px;
  color:#fff;
  background:#e60032;
  border-radius:4px;
  font-size:1.65rem
}
body.page-comunidades-v2 .brand-mark--mcm{
  color:#bfc6cf;
  font-size:2.05rem;
  text-transform:lowercase;
  border-bottom:8px solid #eba91f;
  padding:0 4px 5px
}
body.page-comunidades-v2 .brand-mark--telesco{
  display:flex;
  align-items:center;
  gap:6px;
  color:#15191e;
  font-size:1.15rem;
  letter-spacing:-.035em
}
body.page-comunidades-v2 .brand-mark--telesco span{
  display:grid;
  place-items:center;
  width:22px;height:22px;
  border-radius:50%;
  border:2px solid #454b52;
  color:#454b52;
  font-size:.48rem;
  letter-spacing:-.08em
}
body.page-comunidades-v2 .brand-mark--ucem{
  padding:11px 17px;
  color:#fff;
  background:#0a0a0a;
  clip-path:polygon(14% 0,86% 0,100% 50%,86% 100%,14% 100%,0 50%);
  font-size:1.34rem;
  letter-spacing:.02em
}
body.page-comunidades-v2 .brand-mark--viro{
  color:#14578f;
  font-size:2rem;
  font-style:italic
}
body.page-comunidades-v2 .brand-mark--openers{
  text-align:center;
  letter-spacing:0
}
body.page-comunidades-v2 .brand-mark--openers strong,
body.page-comunidades-v2 .brand-mark--openers span{display:block}
body.page-comunidades-v2 .brand-mark--openers strong{
  color:#151d29;
  font-size:1rem;
  letter-spacing:.07em
}
body.page-comunidades-v2 .brand-mark--openers span{
  margin-top:2px;
  color:#6b7480;
  font-size:.78rem;
  letter-spacing:.08em
}
body.page-comunidades-v2 .brand-mark--yale{
  display:grid;
  place-items:center;
  width:66px;height:66px;
  border-radius:50%;
  background:#ffd900;
  color:#0d0d0d;
  font-size:1.26rem;
  letter-spacing:-.07em
}
body.page-comunidades-v2 .brand-mark--lince{
  display:flex;
  align-items:center;
  gap:8px;
  color:#111;
  font-size:1.65rem
}
body.page-comunidades-v2 .brand-mark--lince span{
  width:35px;height:35px;
  border-radius:50%;
  background:#cf111b
}
body.page-comunidades-v2 .brand-mark--dictator{
  position:relative;
  color:#e85f18;
  font-size:1.28rem;
  letter-spacing:.02em
}
body.page-comunidades-v2 .brand-mark--dictator::before{
  content:"";
  display:inline-block;
  width:18px;height:20px;
  margin-right:5px;
  background:repeating-linear-gradient(to bottom,#e85f18 0 2px,transparent 2px 4px);
  vertical-align:-3px
}
body.page-comunidades-v2 .brand-mark--tesa{
  text-align:center;
  letter-spacing:0
}
body.page-comunidades-v2 .brand-mark--tesa strong{
  display:block;
  padding:7px 18px;
  background:linear-gradient(135deg,#7cc1ef,#1170ba);
  color:#fff;
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:.03em
}
body.page-comunidades-v2 .brand-mark--tesa span{
  display:block;
  margin-top:5px;
  color:#101010;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.04em
}
body.page-comunidades-v2 .brand-mark--cisa{
  display:flex;
  align-items:center;
  gap:8px;
  letter-spacing:0
}
body.page-comunidades-v2 .brand-mark--cisa>span{
  position:relative;
  width:31px;height:24px;
  background:
    linear-gradient(135deg,transparent 0 17%,#e52329 18% 37%,transparent 38% 46%,#e52329 47% 66%,transparent 67% 75%,#e52329 76% 95%,transparent 96%)
}
body.page-comunidades-v2 .brand-mark--cisa strong{
  color:#18181b;
  font-size:1.5rem;
  font-weight:900
}

body.page-comunidades-v2 .community-brands__foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #edf0f4
}
body.page-comunidades-v2 .community-brands__foot p{
  max-width:850px;
  margin:0;
  color:#64748b;
  font-size:.72rem;
  line-height:1.55
}
body.page-comunidades-v2 .community-brands__foot a{
  flex:0 0 auto;
  color:#805900;
  font-size:.73rem;
  font-weight:700
}
@media(max-width:1080px){
  body.page-comunidades-v2 .community-brands__grid{
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
}
@media(max-width:820px){
  body.page-comunidades-v2 .community-brands__head{
    grid-template-columns:1fr
  }
  body.page-comunidades-v2 .community-brands__note{
    max-width:440px
  }
  body.page-comunidades-v2 .community-brands__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  body.page-comunidades-v2 .community-brands__foot{
    align-items:flex-start;
    flex-direction:column
  }
}
@media(max-width:540px){
  body.page-comunidades-v2 .community-brands{
    padding:50px 0
  }
  body.page-comunidades-v2 .community-brands__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  body.page-comunidades-v2 .brand-tile{
    min-height:96px;
    padding:12px
  }
}


/* ==========================================================
   COMUNIDADES V2.3 · MARCAS SIN LOGOS
   ========================================================== */
body.page-comunidades-v2 .community-brands--clean .community-brands__grid,
body.page-comunidades-v2 .community-brands--clean .brand-tile{
  display:none!important
}
body.page-comunidades-v2 .community-brands__names{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px
}
body.page-comunidades-v2 .community-brands__names span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 13px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#334155;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.02em
}
body.page-comunidades-v2 .community-brands__names span:hover{
  border-color:#d8bf77;
  background:#fffbeb;
  color:#6f4d00
}
@media(max-width:540px){
  body.page-comunidades-v2 .community-brands__names{
    gap:7px
  }
  body.page-comunidades-v2 .community-brands__names span{
    min-height:34px;
    padding:7px 11px;
    font-size:.68rem
  }
}

/* ==========================================================
   KEYSMAN · MENÚ PREMIUM V3
   Añadir al FINAL de /assets/css/keysman.css
   Compatible con el menú compartido /includes/menu.php
   ========================================================== */

.header{
  backdrop-filter:saturate(150%) blur(12px);
  background:rgba(255,255,255,.97);
}

.header__inner{
  min-height:82px;
  gap:20px;
}

.header__logo img{
  transition:transform .2s ease,opacity .2s ease;
}

.header__logo:hover img{
  transform:translateY(-1px);
}

.header__menu.km-menu{
  gap:2px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight:750;
}

.km-menu__toplink,
.km-menu__trigger{
  position:relative;
  min-height:46px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px!important;
  border-radius:10px;
  color:#334155!important;
  font-size:.86rem!important;
  font-weight:750!important;
  letter-spacing:-.01em;
  transition:
    color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.km-menu__toplink::after,
.km-menu__trigger::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:var(--yellow);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

.km-menu__toplink:hover,
.km-menu__trigger:hover,
.km-menu__toplink[aria-current="page"],
.km-menu__trigger.is-current,
.km-dropdown.is-current>.km-menu__trigger{
  color:#6f4d00!important;
  background:#fffbeb!important;
}

.km-menu__toplink:hover::after,
.km-menu__trigger:hover::after,
.km-menu__toplink[aria-current="page"]::after,
.km-menu__trigger.is-current::after,
.km-dropdown.is-current>.km-menu__trigger::after{
  transform:scaleX(1);
}

.km-menu__chevron{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}

.km-dropdown:hover>.km-menu__trigger .km-menu__chevron,
.km-dropdown:focus-within>.km-menu__trigger .km-menu__chevron,
.km-dropdown.is-open>.km-menu__trigger .km-menu__chevron{
  transform:rotate(180deg);
}

/* Mega menus */
.header__menu .km-mega{
  top:calc(100% + 13px);
  padding:0;
  overflow:hidden;
  border:1px solid #dfe6ee;
  border-radius:18px;
  background:#fff;
  box-shadow:
    0 26px 70px rgba(15,23,42,.16),
    0 8px 22px rgba(15,23,42,.08);
}

.header__menu .km-mega::before{
  content:"";
  position:absolute;
  top:-8px;
  width:16px;
  height:16px;
  border-left:1px solid #dfe6ee;
  border-top:1px solid #dfe6ee;
  background:#fff;
  transform:rotate(45deg);
}

.km-dropdown--services .km-mega{
  left:-175px;
  width:min(860px,calc(100vw - 40px));
}

.km-dropdown--services .km-mega::before{
  left:238px;
}

.km-dropdown--zones .km-mega{
  left:-240px;
  width:min(740px,calc(100vw - 40px));
}

.km-dropdown--zones .km-mega::before{
  left:286px;
}

.km-dropdown--brands .km-mega{
  left:auto;
  right:-115px;
  width:min(470px,calc(100vw - 40px));
}

.km-dropdown--brands .km-mega::before{
  right:155px;
}

.km-mega__top{
  min-height:86px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:20px 24px;
  background:
    radial-gradient(circle at 92% 15%,rgba(241,182,54,.14),transparent 30%),
    linear-gradient(180deg,#fff,#fbfcfe);
  border-bottom:1px solid #e9edf2;
}

.km-mega__top>div{
  min-width:0;
}

.km-mega__eyebrow{
  display:block;
  margin-bottom:4px;
  color:#9a6a00;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.km-mega__top strong{
  display:block;
  max-width:560px;
  color:#0f172a;
  font-size:.93rem;
  line-height:1.3;
  letter-spacing:-.015em;
}

.km-mega__all{
  flex:0 0 auto;
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  padding:9px 11px!important;
  border-radius:8px;
  background:#0f172a;
  color:#fff!important;
  font-size:.65rem!important;
  font-weight:800!important;
  white-space:nowrap;
}

.km-mega__all:hover{
  background:#172640!important;
  color:#f1b636!important;
}

.km-mega__content{
  display:grid;
  grid-template-columns:1fr 1fr 230px;
  gap:0;
  align-items:stretch;
}

.km-mega__group{
  padding:22px 18px 20px;
}

.km-mega__group+.km-mega__group{
  border-left:1px solid #edf0f3;
}

.km-mega__group-title{
  display:block;
  margin:0 8px 12px;
  color:#8793a3;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.header__menu .km-mega__item{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:11px;
  align-items:center;
  min-height:66px;
  margin:2px 0;
  padding:9px 10px!important;
  border-radius:10px;
  color:#334155!important;
  background:transparent!important;
  transition:
    background .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.header__menu .km-mega__item:hover,
.header__menu .km-mega__item[aria-current="page"]{
  background:#fff9e9!important;
  color:#0f172a!important;
  transform:translateX(2px);
  box-shadow:inset 0 0 0 1px rgba(241,182,54,.24);
}

.km-mega__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #e1e7ed;
  border-radius:10px;
  background:#f8fafc;
  color:#56657a;
  transition:
    background .15s ease,
    color .15s ease,
    border-color .15s ease;
}

.km-mega__item:hover .km-mega__icon,
.km-mega__item[aria-current="page"] .km-mega__icon{
  border-color:#eed48a;
  background:#f1b636;
  color:#0f172a;
}

.km-mega__icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.km-mega__item>span:last-child{
  min-width:0;
}

.km-mega__item strong,
.km-mega__item small{
  display:block;
}

.km-mega__item strong{
  color:#172033;
  font-size:.74rem;
  line-height:1.25;
}

.km-mega__item small{
  margin-top:3px;
  overflow:hidden;
  color:#7a8797;
  font-size:.59rem;
  font-weight:500;
  line-height:1.38;
  text-overflow:ellipsis;
}

.km-mega__promo{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:100%;
  padding:24px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(241,182,54,.16),transparent 28%),
    linear-gradient(150deg,#0a0f1d,#0f172a);
}

.km-mega__promo-tag{
  color:#f1b636;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.km-mega__promo strong{
  margin-top:11px;
  color:#fff;
  font-size:1.05rem;
  line-height:1.17;
  letter-spacing:-.02em;
}

.km-mega__promo p{
  margin:10px 0 18px;
  color:#aebbd0;
  font-size:.64rem;
  line-height:1.55;
}

.km-mega__promo a{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  align-self:flex-start;
  padding:0!important;
  color:#f1b636!important;
  background:none!important;
  font-size:.64rem!important;
  font-weight:850!important;
}

/* Zonas */
.km-zones{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  padding:18px;
}

.header__menu .km-zone{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:center;
  min-height:78px;
  padding:13px!important;
  border:1px solid #e4e9ef;
  border-radius:11px;
  background:#fff!important;
  color:#334155!important;
  transition:
    border-color .15s ease,
    background .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.header__menu .km-zone:hover,
.header__menu .km-zone[aria-current="page"]{
  transform:translateY(-2px);
  border-color:#e4be5c;
  background:#fffaf0!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.km-zone--primary{
  background:
    linear-gradient(145deg,#fffaf0,#fff)!important;
}

.km-zone__pin{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#f3f5f7;
  color:#7c8797;
  font-size:.54rem;
  font-weight:900;
}

.km-zone:hover .km-zone__pin,
.km-zone[aria-current="page"] .km-zone__pin{
  background:#f1b636;
  color:#0f172a;
}

.km-zone strong,
.km-zone small{
  display:block;
}

.km-zone strong{
  color:#172033;
  font-size:.72rem;
}

.km-zone small{
  margin-top:2px;
  color:#7a8797;
  font-size:.57rem;
  font-weight:500;
  line-height:1.35;
}

.km-zones__footer{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 20px;
  border-top:1px solid #e9edf2;
  background:#f8fafc;
  color:#64748b;
  font-size:.6rem;
}

.km-zones__footer strong{
  color:#334155;
}

.km-zones__footer a{
  flex:0 0 auto;
  padding:0!important;
  background:none!important;
  color:#8a6000!important;
  font-size:.61rem!important;
  font-weight:850!important;
}

/* Marcas */
.km-mega--brands{
  padding-bottom:15px!important;
}

.km-brand-card{
  display:block!important;
  margin:15px;
  padding:20px!important;
  border:1px solid #dfe5eb;
  border-radius:14px;
  background:
    radial-gradient(circle at 94% 8%,rgba(241,182,54,.15),transparent 30%),
    linear-gradient(145deg,#0a0f1d,#0f172a)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(15,23,42,.10);
  transition:transform .17s ease,box-shadow .17s ease;
}

.km-brand-card:hover{
  transform:translateY(-2px);
  box-shadow:0 17px 38px rgba(15,23,42,.17);
}

.km-brand-card__badge{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:#f1b636;
  color:#0f172a;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.07em;
}

.km-brand-card>strong{
  display:block;
  margin-top:18px;
  max-width:330px;
  color:#fff;
  font-size:1.02rem;
  line-height:1.2;
}

.km-brand-card>p{
  margin:8px 0 15px;
  max-width:360px;
  color:#aebbd0;
  font-size:.64rem;
  line-height:1.5;
}

.km-brand-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.km-brand-card__meta>span{
  padding:4px 7px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  color:#ccd5e2;
  font-size:.52rem;
}

.km-brand-card__link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#f1b636;
  font-size:.61rem;
  font-weight:850;
}

.km-brands__note{
  padding:0 20px;
  color:#7b8797;
  font-size:.57rem;
  line-height:1.45;
}

/* Acciones */
.km-menu__actions{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:4px;
}

.km-menu__wa{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#25D366;
  color:#06391c;
  box-shadow:0 5px 14px rgba(37,211,102,.22);
  transition:transform .18s ease,box-shadow .18s ease;
}

.km-menu__wa:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(37,211,102,.30);
}

.km-menu__wa svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.km-menu__phone{
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:11px!important;
  font-size:.76rem!important;
  font-weight:850!important;
  box-shadow:0 5px 14px rgba(241,182,54,.20)!important;
}

.km-menu__phone-icon{
  display:grid;
  place-items:center;
}

.km-menu__phone-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Mobile contact block hidden on desktop */
.km-mobile-contact{
  display:none;
}

/* Botón hamburguesa premium */
.menu-toggle{
  position:relative;
  overflow:hidden;
  border-radius:11px;
  background:#fff;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.menu-toggle:hover{
  border-color:#e4bd55;
  background:#fffaf0;
}

.menu-toggle span{
  border-radius:99px;
  transition:transform .2s ease,opacity .18s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* Desktop refinements */
@media(max-width:1240px) and (min-width:921px){
  .km-menu__toplink,
  .km-menu__trigger{
    padding-inline:9px!important;
    font-size:.8rem!important;
  }

  .km-menu__wa{
    display:none;
  }

  .km-menu__phone{
    padding-inline:12px!important;
  }

  .km-dropdown--services .km-mega{
    left:-210px;
  }

  .km-dropdown--zones .km-mega{
    left:-285px;
  }
}

/* MOBILE */
@media(max-width:920px){
  .header{
    backdrop-filter:none;
    background:#fff;
  }

  .header__menu.km-menu{
    top:72px;
    left:12px;
    right:12px;
    max-height:calc(100dvh - 86px);
    overflow:auto;
    gap:3px;
    padding:10px;
    border-radius:16px;
    border:1px solid #dfe5eb;
    box-shadow:0 24px 60px rgba(15,23,42,.18);
    overscroll-behavior:contain;
  }

  .km-menu__toplink,
  .km-menu__trigger{
    min-height:48px;
    justify-content:space-between;
    width:100%;
    padding:0 13px!important;
    border-radius:9px;
    font-size:.82rem!important;
  }

  .km-menu__toplink::after,
  .km-menu__trigger::after{
    display:none;
  }

  .km-menu__toplink[aria-current="page"],
  .km-menu__trigger.is-current,
  .km-dropdown.is-current>.km-menu__trigger{
    background:#fff9e8!important;
    box-shadow:inset 3px 0 0 #f1b636;
  }

  .header__menu .km-mega{
    position:static;
    width:auto!important;
    margin:2px 0 6px;
    border:0;
    border-radius:10px;
    background:#f8fafc;
    box-shadow:none;
    transform:none;
    overflow:hidden;
  }

  .header__menu .km-mega::before{
    display:none;
  }

  .km-dropdown--services .km-mega,
  .km-dropdown--zones .km-mega,
  .km-dropdown--brands .km-mega{
    left:auto;
    right:auto;
  }

  .km-mega__top{
    min-height:auto;
    padding:14px;
    background:#f3f6f9;
  }

  .km-mega__top strong{
    font-size:.75rem;
  }

  .km-mega__eyebrow{
    font-size:.5rem;
  }

  .km-mega__all{
    display:none!important;
  }

  .km-mega__content{
    grid-template-columns:1fr;
  }

  .km-mega__group{
    padding:8px;
  }

  .km-mega__group+.km-mega__group{
    border-left:0;
    border-top:1px solid #e2e8f0;
  }

  .km-mega__group-title{
    margin:7px 8px 6px;
    font-size:.5rem;
  }

  .header__menu .km-mega__item{
    min-height:58px;
    grid-template-columns:34px 1fr;
    padding:8px!important;
  }

  .km-mega__icon{
    width:32px;
    height:32px;
    border-radius:8px;
  }

  .km-mega__icon svg{
    width:17px;
    height:17px;
  }

  .km-mega__item strong{
    font-size:.7rem;
  }

  .km-mega__item small{
    font-size:.56rem;
  }

  .km-mega__promo{
    min-height:auto;
    margin:6px;
    padding:17px;
    border-radius:10px;
  }

  .km-mega__promo strong{
    font-size:.88rem;
  }

  .km-zones{
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding:10px;
  }

  .header__menu .km-zone{
    min-height:67px;
    padding:10px!important;
  }

  .km-zones__footer{
    display:block;
    padding:12px 14px;
  }

  .km-zones__footer a{
    display:block!important;
    margin-top:5px;
  }

  .km-brand-card{
    margin:10px;
    padding:17px!important;
  }

  .km-brands__note{
    padding:0 14px 13px;
  }

  .km-menu__actions{
    display:none;
  }

  .km-mobile-contact{
    display:block;
    margin-top:5px;
    padding:14px;
    border-radius:11px;
    background:
      radial-gradient(circle at 92% 12%,rgba(241,182,54,.13),transparent 30%),
      #0f172a;
  }

  .km-mobile-contact__info span,
  .km-mobile-contact__info small{
    display:block;
  }

  .km-mobile-contact__info span{
    color:#fff;
    font-size:.68rem;
    font-weight:800;
  }

  .km-mobile-contact__info small{
    margin-top:2px;
    color:#9eacc0;
    font-size:.57rem;
  }

  .km-mobile-contact__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:11px;
  }

  .km-mobile-contact__actions a{
    display:grid!important;
    place-items:center;
    min-height:40px;
    padding:0 10px!important;
    border-radius:8px;
    background:#f1b636!important;
    color:#111827!important;
    font-size:.65rem!important;
    font-weight:900!important;
  }

  .km-mobile-contact__actions a.is-wa{
    background:#25D366!important;
    color:#06391c!important;
  }
}

@media(max-width:560px){
  .km-zones{
    grid-template-columns:1fr;
  }

  .km-mega__top{
    display:block;
  }
}

/* Accesibilidad */
.km-menu a:focus-visible,
.km-menu button:focus-visible{
  outline:3px solid #b77900;
  outline-offset:2px;
}

@media(prefers-reduced-motion:reduce){
  .km-menu *,
  .menu-toggle span{
    transition:none!important;
  }
}

/* ==========================================================
   KEYSMAN · MENÚ PREMIUM V3.1 · NORMALIZACIÓN GLOBAL
   Corrige diferencias entre keysman-core.css y keysman.css.
   ========================================================== */

@media(min-width:921px){
  .header .header__inner{
    min-height:82px!important;
  }

  .header .header__menu.km-menu{
    display:flex!important;
    position:static!important;
    inset:auto!important;
    margin-left:auto!important;
    padding:0!important;
    flex-direction:row!important;
    align-items:center!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .header .header__menu.km-menu>.dropdown{
    position:relative!important;
  }

  .header .header__menu.km-menu .dropdown__menu.km-mega{
    display:block!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
  }

  .header .header__menu.km-menu .dropdown:hover>.dropdown__menu.km-mega,
  .header .header__menu.km-menu .dropdown:focus-within>.dropdown__menu.km-mega,
  .header .header__menu.km-menu .dropdown.is-open>.dropdown__menu.km-mega{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .header .menu-toggle{
    display:none!important;
  }
}

@media(max-width:920px){
  .header .menu-toggle{
    display:flex!important;
  }

  .header .header__menu.km-menu{
    display:none!important;
    position:absolute!important;
    top:72px!important;
    left:12px!important;
    right:12px!important;
    margin:0!important;
    padding:10px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    overflow:auto!important;
    border:1px solid #dfe5eb!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 24px 60px rgba(15,23,42,.18)!important;
  }

  .header .header__menu.km-menu.is-open{
    display:flex!important;
  }

  .header .header__menu.km-menu .dropdown__menu.km-mega{
    position:static!important;
    display:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .header .header__menu.km-menu .dropdown.is-open>.dropdown__menu.km-mega{
    display:block!important;
  }
}

/* ==========================================================
   KEYSMAN · FOOTER PREMIUM V1
   Añadir al FINAL de /assets/css/keysman.css
   ========================================================== */

.km-footer{
  --kmf-deep:#080d18;
  --kmf-navy:#0f172a;
  --kmf-navy2:#121e33;
  --kmf-yellow:#f1b636;
  --kmf-yellow2:#e0a525;
  --kmf-text:#d6deea;
  --kmf-muted:#8f9caf;
  --kmf-line:rgba(255,255,255,.09);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* CTA superior */
.km-footer__cta{
  padding:54px 0;
  border-top:1px solid #efd17b;
  background:
    radial-gradient(circle at 85% 10%,rgba(241,182,54,.20),transparent 25%),
    linear-gradient(135deg,#fff8df,#fff2c8);
}

.km-footer__cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:52px;
  align-items:center;
}

.km-footer__eyebrow{
  display:block;
  color:#906300;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.km-footer__cta-copy h2{
  max-width:820px;
  margin:8px 0 10px;
  color:#0f172a;
  font-size:clamp(1.8rem,3.4vw,2.85rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.km-footer__cta-copy p{
  max-width:760px;
  margin:0;
  color:#665d4b;
  font-size:.83rem;
  line-height:1.7;
}

.km-footer__cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  justify-content:flex-end;
}

.km-footer__btn{
  min-height:45px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 17px;
  border-radius:10px;
  font-size:.7rem;
  font-weight:900;
  text-decoration:none;
  transition:
    transform .17s ease,
    box-shadow .17s ease,
    background .17s ease;
}

.km-footer__btn:hover{
  transform:translateY(-2px);
}

.km-footer__btn--primary{
  background:#0f172a;
  color:#fff;
  box-shadow:0 7px 18px rgba(15,23,42,.16);
}

.km-footer__btn--primary:hover{
  background:#17243b;
  color:#f1b636;
}

.km-footer__btn--wa{
  background:#25D366;
  color:#06391c;
  box-shadow:0 7px 18px rgba(37,211,102,.18);
}

.km-footer__btn--wa svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Cuerpo */
.km-footer__main{
  position:relative;
  overflow:hidden;
  padding:62px 0 0;
  color:var(--kmf-text);
  background:
    radial-gradient(circle at 10% 0%,rgba(241,182,54,.08),transparent 20%),
    radial-gradient(circle at 95% 75%,rgba(56,88,135,.10),transparent 25%),
    linear-gradient(145deg,var(--kmf-deep),var(--kmf-navy) 62%,#101b2f);
}

.km-footer__main::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,#000,transparent 75%);
}

.km-footer__main>.container{
  position:relative;
  z-index:1;
}

.km-footer__top-grid{
  display:grid;
  grid-template-columns:1.55fr .9fr .9fr .9fr;
  gap:46px;
  padding-bottom:45px;
}

.km-footer__brand{
  max-width:400px;
}

.km-footer__logo{
  display:inline-flex;
  align-items:center;
}

.km-footer__logo img{
  width:min(280px,100%);
  height:auto;
}

.km-footer__brand>p{
  max-width:390px;
  margin:20px 0 0;
  color:#9eabbc;
  font-size:.75rem;
  line-height:1.7;
}

.km-footer__brand-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:22px;
}

.km-footer__brand-meta span{
  padding:6px 9px;
  border:1px solid var(--kmf-line);
  border-radius:999px;
  color:#aab6c5;
  background:rgba(255,255,255,.025);
  font-size:.56rem;
  font-weight:700;
}

.km-footer__title{
  display:block;
  margin-bottom:15px;
  color:#f1b636;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.km-footer__nav{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.km-footer__nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:3px 0;
  color:#a9b5c4;
  font-size:.68rem;
  font-weight:600;
  line-height:1.35;
  text-decoration:none;
  transition:
    color .15s ease,
    transform .15s ease;
}

.km-footer__nav a::before{
  content:"";
  width:0;
  height:1px;
  margin-right:0;
  background:#f1b636;
  transition:width .15s ease,margin-right .15s ease;
}

.km-footer__nav a:hover{
  color:#fff;
  transform:translateX(2px);
}

.km-footer__nav a:hover::before{
  width:12px;
  margin-right:7px;
}

/* Contacto */
.km-footer__contact-grid{
  display:grid;
  grid-template-columns:1.25fr .9fr 1fr;
  gap:12px;
  padding:14px 0 42px;
  border-top:1px solid var(--kmf-line);
}

.km-footer__store,
.km-footer__schedule,
.km-footer__contact{
  min-height:210px;
  padding:25px;
  border:1px solid var(--kmf-line);
  border-radius:14px;
  background:rgba(255,255,255,.028);
  backdrop-filter:blur(8px);
}

.km-footer__store-head{
  display:flex;
  gap:13px;
  align-items:center;
}

.km-footer__store-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:11px;
  background:#f1b636;
  color:#0f172a;
}

.km-footer__store-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.km-footer__store .km-footer__eyebrow{
  color:#f1b636;
  font-size:.52rem;
}

.km-footer__store h3{
  margin:4px 0 0;
  color:#fff;
  font-size:1.05rem;
}

.km-footer__store address{
  margin:19px 0 0;
  color:#aab5c4;
  font-size:.7rem;
  font-style:normal;
  line-height:1.6;
}

.km-footer__map-link{
  display:inline-flex;
  gap:7px;
  align-items:center;
  margin-top:17px;
  color:#f1b636;
  font-size:.64rem;
  font-weight:850;
  text-decoration:none;
}

.km-footer__schedule-row{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.km-footer__schedule-row span{
  color:#8998ab;
  font-size:.63rem;
}

.km-footer__schedule-row strong{
  color:#e3e9f0;
  font-size:.67rem;
}

.km-footer__schedule p{
  margin:17px 0 0;
  color:#7f8da0;
  font-size:.6rem;
  line-height:1.55;
}

.km-footer__contact{
  display:flex;
  flex-direction:column;
}

.km-footer__contact-row{
  display:grid;
  grid-template-columns:39px 1fr;
  gap:11px;
  align-items:center;
  min-height:62px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  text-decoration:none;
}

.km-footer__contact-row:last-child{
  border-bottom:0;
}

.km-footer__contact-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--kmf-line);
  border-radius:9px;
  background:rgba(255,255,255,.035);
  color:#f1b636;
  transition:background .15s ease,color .15s ease;
}

.km-footer__contact-row:hover .km-footer__contact-icon{
  background:#f1b636;
  color:#0f172a;
}

.km-footer__contact-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.km-footer__contact-row small,
.km-footer__contact-row strong{
  display:block;
}

.km-footer__contact-row small{
  color:#7e8da1;
  font-size:.54rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.km-footer__contact-row strong{
  margin-top:3px;
  color:#e8edf3;
  font-size:.7rem;
}

/* Ecosistema */
.km-footer__ecosystem{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:42px;
  align-items:center;
  padding:27px 0;
  border-top:1px solid var(--kmf-line);
}

.km-footer__ecosystem>div:first-child p{
  max-width:480px;
  margin:6px 0 0;
  color:#8290a2;
  font-size:.61rem;
  line-height:1.55;
}

.km-footer__ecosystem-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}

.km-footer__ecosystem-links a{
  min-height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:13px;
  border:1px solid var(--kmf-line);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  text-decoration:none;
  transition:
    border-color .15s ease,
    background .15s ease,
    transform .15s ease;
}

.km-footer__ecosystem-links a:hover{
  transform:translateY(-2px);
  border-color:rgba(241,182,54,.34);
  background:rgba(241,182,54,.05);
}

.km-footer__ecosystem-links a.is-current{
  border-color:rgba(241,182,54,.30);
  background:rgba(241,182,54,.07);
}

.km-footer__ecosystem-links span{
  color:#f1b636;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.06em;
}

.km-footer__ecosystem-links small{
  margin-top:4px;
  color:#8c99ab;
  font-size:.56rem;
  line-height:1.35;
}

/* Legal */
.km-footer__bottom{
  min-height:74px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  border-top:1px solid var(--kmf-line);
}

.km-footer__copyright{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  color:#68778b;
  font-size:.58rem;
}

.km-footer__legal{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}

.km-footer__legal a{
  color:#7d8b9e;
  font-size:.58rem;
  text-decoration:none;
  transition:color .15s ease;
}

.km-footer__legal a:hover{
  color:#f1b636;
}

/* Accesibilidad */
.km-footer a:focus-visible{
  outline:3px solid #f1b636;
  outline-offset:3px;
  border-radius:4px;
}

/* Responsive */
@media(max-width:1050px){
  .km-footer__top-grid{
    grid-template-columns:1.4fr 1fr 1fr;
  }

  .km-footer__brand{
    grid-column:1/-1;
    max-width:none;
    padding-bottom:10px;
  }

  .km-footer__contact-grid{
    grid-template-columns:1fr 1fr;
  }

  .km-footer__store{
    grid-column:1/-1;
  }

  .km-footer__ecosystem{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media(max-width:760px){
  .km-footer__cta{
    padding:42px 0;
  }

  .km-footer__cta-inner{
    grid-template-columns:1fr;
    gap:25px;
  }

  .km-footer__cta-actions{
    justify-content:flex-start;
  }

  .km-footer__main{
    padding-top:44px;
  }

  .km-footer__top-grid{
    grid-template-columns:1fr 1fr;
    gap:30px 22px;
  }

  .km-footer__brand{
    grid-column:1/-1;
  }

  .km-footer__contact-grid{
    grid-template-columns:1fr;
  }

  .km-footer__store{
    grid-column:auto;
  }

  .km-footer__ecosystem-links{
    grid-template-columns:1fr;
  }

  .km-footer__bottom{
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    padding:20px 0;
  }
}

@media(max-width:520px){
  .km-footer__top-grid{
    grid-template-columns:1fr;
  }

  .km-footer__brand{
    grid-column:auto;
  }

  .km-footer__brand-meta{
    display:block;
  }

  .km-footer__brand-meta span{
    display:inline-flex;
    margin:0 5px 5px 0;
  }

  .km-footer__cta-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .km-footer__btn{
    width:100%;
  }

  .km-footer__store,
  .km-footer__schedule,
  .km-footer__contact{
    padding:20px;
  }

  .km-footer__schedule-row{
    display:block;
  }

  .km-footer__schedule-row strong{
    display:block;
    margin-top:4px;
  }

  .km-footer__legal{
    gap:11px 15px;
  }
}

@media(prefers-reduced-motion:reduce){
  .km-footer *{
    transition:none!important;
  }
}

/* ==========================================================
   KEYSMAN · FOOTER PREMIUM V1.1 · NORMALIZACIÓN GLOBAL
   Igualación visual entre keysman.css y keysman-core.css.
   ========================================================== */

.km-footer{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  clear:both!important;
}

.km-footer *,
.km-footer *::before,
.km-footer *::after{
  box-sizing:border-box!important;
}

.km-footer .container{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}

.km-footer a{
  text-decoration:none!important;
}

.km-footer img{
  display:block!important;
  max-width:100%!important;
  height:auto!important;
}

.km-footer h2,
.km-footer h3,
.km-footer p,
.km-footer address{
  margin-top:0;
}

.km-footer__main,
.km-footer__cta{
  width:100%!important;
}

@media(max-width:760px){
  .km-footer .container{
    width:min(100% - 24px,1180px)!important;
  }
}
