:root{
  --green:#43c713;
  --green-dark:#2ea004;
  --ink:#22124a;
  --text:#343434;
  --muted:#777;
  --light:#f6f8f7;
  --soft:#eef4f1;
  --dark:#2d2f2f;
  --line:#e8ecea;
  --white:#fff;
  --shadow:0 18px 45px rgba(0,0,0,.10);
  --radius:22px;
}

/* SOCIAL FINAL: barra superior y footer con colores de marca */
.top-right .social-mark{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px;
  height:22px;
  border-radius:50%;
  color:#fff !important;
  font-weight:900;
  line-height:1;
  transition:opacity .2s ease,transform .2s ease !important;
}

.top-right .social-mark:hover,
.footer .socials a.social-mark:hover,
footer .socials a.social-mark:hover{
  opacity:.85;
  transform:translateY(-1px);
}

.top-right .social-facebook,
.footer .socials a.social-facebook,
footer .socials a.social-facebook,
.socials a.social-facebook[href*="facebook"],
.socials a.social-facebook{
  background:#1877F2 !important;
  color:#fff !important;
}

.top-right .social-instagram,
.footer .socials a.social-instagram,
footer .socials a.social-instagram,
.socials a.social-instagram[href*="instagram"],
.socials a.social-instagram{
  background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
  color:#fff !important;
}

.top-right .social-youtube,
.footer .socials a.social-youtube,
footer .socials a.social-youtube,
.socials a.social-youtube[href*="youtube"],
.socials a.social-youtube[href*="youtu.be"],
.socials a.social-youtube{
  background:#FF0000 !important;
  color:#fff !important;
}

.top-right .social-whatsapp,
.footer .socials a.social-whatsapp,
footer .socials a.social-whatsapp,
.socials a.social-whatsapp[href*="whatsapp"],
.socials a.social-whatsapp[href*="wa.me"]{
  background:#25D366 !important;
  color:#fff !important;
}

.top-right .social-linkedin,
.footer .socials a.social-linkedin,
footer .socials a.social-linkedin,
.socials a.social-linkedin[href*="linkedin"]{
  background:#0A66C2 !important;
  color:#fff !important;
}

.top-right .social-twitter,
.top-right .social-x,
.footer .socials a.social-twitter,
footer .socials a.social-twitter,
.footer .socials a.social-x,
footer .socials a.social-x,
.socials a.social-twitter[href*="twitter"],
.socials a.social-x[href*="x.com"]{
  background:#000 !important;
  color:#fff !important;
}

/* FIX FINAL: botones sociales con color de marca real */
.footer .socials a.social-mark,
footer .socials a.social-mark,
.socials a.social-mark{
  color:#fff !important;
  border:0 !important;
}

.footer .socials a.social-facebook,
footer .socials a.social-facebook,
.socials a.social-facebook[href*="facebook"],
.socials a.social-facebook{
  background:#1877F2 !important;
  color:#fff !important;
}

.footer .socials a.social-instagram,
footer .socials a.social-instagram,
.socials a.social-instagram[href*="instagram"],
.socials a.social-instagram{
  background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
  color:#fff !important;
}

.footer .socials a.social-youtube,
footer .socials a.social-youtube,
.socials a.social-youtube[href*="youtube"],
.socials a.social-youtube[href*="youtu.be"],
.socials a.social-youtube{
  background:#FF0000 !important;
  color:#fff !important;
}

.footer .socials a.social-whatsapp,
footer .socials a.social-whatsapp,
.socials a.social-whatsapp[href*="whatsapp"],
.socials a.social-whatsapp[href*="wa.me"]{
  background:#25D366 !important;
  color:#fff !important;
}

.footer .socials a.social-linkedin,
footer .socials a.social-linkedin,
.socials a.social-linkedin[href*="linkedin"]{
  background:#0A66C2 !important;
  color:#fff !important;
}

.footer .socials a.social-twitter,
footer .socials a.social-twitter,
.footer .socials a.social-x,
footer .socials a.social-x,
.socials a.social-twitter[href*="twitter"],
.socials a.social-x[href*="x.com"]{
  background:#000000 !important;
  color:#fff !important;
}

.footer .socials a.social-mark:hover,
footer .socials a.social-mark:hover,
.socials a.social-mark:hover{
  color:#fff !important;
  opacity:.85;
  transform:translateY(-1px);
}

/* La franja superior usa color de marca sin forzar círculos */
.top-right .social-facebook{color:#1877F2 !important;}
.top-right .social-instagram{color:#E4405F !important;}
.top-right .social-youtube{color:#FF0000 !important;}
.top-right .social-whatsapp{color:#25D366 !important;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
video,iframe{max-width:100%;height:auto}
html,body{max-width:100%;overflow-x:clip}
.topbar{
  background:#f7f8f7;
  color:#4b4b4b;
  font-size:13px;
  border-bottom:1px solid #ececec;
}
.wrap{width:min(1180px,92%);margin:auto}
.topbar .wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:38px;
  gap:20px;
}
.top-left,.top-right{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.green{color:var(--green-dark);font-weight:700}
.header{
  position:sticky;
  top:0;
  z-index:50;
  background:white;
  border-bottom:1px solid #eee;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:86px;
}
.logo{
  width:96px;
  height:70px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo svg{width:82px}
.menu{
  display:flex;
  align-items:center;
  gap:0;
}
.menu a{
  padding:31px 22px;
  font-size:14px;
  border-left:1px solid #f0f0f0;
  color:#333;
}
.menu a:hover,.menu a.active{
  color:var(--green-dark);
  background:#fafafa;
}
.client-btn{
  background:#f7f7f7;
  padding:31px 26px!important;
}
.burger{display:none;background:none;border:0;font-size:28px;color:var(--ink)}
.hero{
  min-height:620px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(115deg,#f7e3bd 0%,#e9f4f3 70%);
}
.hero .wrap{
  min-height:620px;
  display:grid;
  grid-template-columns:360px 1fr;
  gap:40px;
  align-items:center;
}
.hero h1{
  color:var(--ink);
  font-size:54px;
  line-height:1.08;
  margin:0 0 22px;
  letter-spacing:-1px;
}
.hero p{font-size:18px;color:#31245b;margin:0 0 26px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 34px;
  background:var(--green);
  color:white;
  font-weight:800;
  border-radius:999px;
  box-shadow:0 14px 25px rgba(67,199,19,.28);
}
.btn.dark{background:#2d2f2f;border-radius:5px;box-shadow:none}
.hero-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.property-card{
  min-height:340px;
  border-radius:2px;
  overflow:hidden;
  position:relative;
  background:linear-gradient(140deg,#8bbf92,#315e48);
  box-shadow:var(--shadow);
}
.property-card:nth-child(2){background:linear-gradient(140deg,#d0a06f,#346f52)}
.property-card:nth-child(3){background:linear-gradient(140deg,#7bb7df,#3d4855)}
.property-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.05));
}
.property-card .card-text{
  position:absolute;
  z-index:2;
  left:24px;
  right:20px;
  bottom:22px;
  color:white;
}
.property-card h3{font-size:31px;margin:0;line-height:1}
.property-card small{color:#c8ffbd;text-transform:uppercase;font-weight:800;font-size:12px}
.section{padding:92px 0}
.section.soft{background:var(--light)}
.kicker{
  color:var(--green-dark);
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:12px;
}
.title{
  font-size:42px;
  line-height:1.15;
  color:#333;
  margin:0 0 26px;
  letter-spacing:-.7px;
}
.title.big{font-size:52px;color:var(--ink)}
.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
.panel{
  background:#fff;
  padding:42px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.fake-photo{
  min-height:390px;
  border-radius:8px;
  background:linear-gradient(135deg,#d6e6f0,#88a97a 55%,#4c624c);
  position:relative;
  overflow:hidden;
}
.fake-photo.alt{background:linear-gradient(135deg,#f7d7b0,#78b4a6,#334d59)}
.fake-photo.hotel{background:linear-gradient(135deg,#eee7d3,#94bddd,#6f8c64)}
.fake-photo.dark{background:linear-gradient(135deg,#424b55,#8e9b76,#252525)}
.fake-photo:before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  right:-70px;
  top:-50px;
}
.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.service-box{
  background:white;
  padding:38px 32px;
  min-height:170px;
  border-radius:4px;
  box-shadow:0 8px 25px rgba(0,0,0,.05);
  border:1px solid #f1f1f1;
  transition:.2s;
}
.service-box:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.service-box .icon{
  width:52px;height:52px;border-radius:4px;background:#e5f45d;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:28px;font-size:25px;color:#6c7b00;
}
.service-box h3{font-size:22px;line-height:1.25;margin:0;color:#333}
.cards-small{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}
.mini-card{
  background:white;
  border:1px solid #f0f0f0;
  border-radius:8px;
  padding:26px 22px;
  min-height:145px;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.mini-card .service-icon{
  width:50px;
  height:50px;
  border-radius:12px;
  background:#f3f5f7;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
  margin-bottom:18px;
  box-shadow:inset 0 0 0 1px rgba(27,40,30,.05);
}
.mini-card b{display:block;margin-bottom:10px;color:#222}
.mini-card span{font-size:14px;color:#777;line-height:1.45;display:block}
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.portfolio-item{
  background:white;
  border-radius:8px;
  overflow:hidden;
  border:1px solid #eee;
  box-shadow:0 12px 32px rgba(0,0,0,.06);
}
.portfolio-img{
  height:210px;
  background:linear-gradient(135deg,#b9d9ec,#49734f);
}
.portfolio-item:nth-child(2) .portfolio-img{background:linear-gradient(135deg,#cbd8e5,#6a8f58)}
.portfolio-item:nth-child(3) .portfolio-img{background:linear-gradient(135deg,#d9c4a2,#4b5048)}
.portfolio-item:nth-child(4) .portfolio-img{background:linear-gradient(135deg,#a1c7e9,#5c7b48)}
.portfolio-item:nth-child(5) .portfolio-img{background:linear-gradient(135deg,#b7b7b7,#556070)}
.portfolio-item:nth-child(6) .portfolio-img{background:linear-gradient(135deg,#d6b37a,#7b3c2c)}
.portfolio-body{padding:20px}
.portfolio-body h3{margin:0 0 8px}
.dark-band{
  background:#2d2f2f;
  color:white;
  padding:85px 0;
}
.dark-band .title{color:white}
.features{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
}
.feature h3{color:var(--green);font-size:23px;line-height:1.2}
.feature p{color:#d7d7d7}
.cta{
  padding:80px 0;
  background:white;
}
.cta .wrap{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:45px;
  align-items:center;
}
.contact-strip{
  background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.62)),linear-gradient(135deg,#698567,#2d2f2f);
  color:white;
  padding:55px 0;
}
.contact-strip .wrap{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}
.contact-strip small{display:block;color:#d7ee6a;font-size:13px;margin-bottom:4px}
.contact-strip b{font-size:24px}
.footer{
  background:#686c6b;
  color:white;
  padding:70px 0 25px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:55px;
}
.footer h3{margin:0 0 18px}
.footer p,.footer li,.footer a{color:#f4f4f4;font-size:14px}
.footer ul{padding:0;margin:0;list-style:none}
.footer li{margin-bottom:10px}
.footer-certification-card{
  min-height:148px;
  border-radius:16px;
  background:#fff;
  padding:22px 26px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 16px 34px rgba(0,0,0,.14);
}
.footer-certification-card img{
  width:100%;
  max-width:240px;
  height:auto;
  max-height:112px;
  object-fit:contain;
  display:block;
}
.allies-section{
  --allies-visible:5;
  background:#fff;
  padding:42px 0 34px;
  border-top:1px solid #ececec;
}
.allies-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.allies-title{
  margin:0;
  color:#4a4a4a;
  font-size:20px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.allies-controls{
  display:flex;
  align-items:center;
  gap:10px;
}
.allies-arrow{
  appearance:none;
  border:1px solid #d8d8d8;
  background:#fff;
  color:#666;
  display:block;
  width:36px;
  height:36px;
  border-radius:50%;
  position:relative;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.allies-arrow:hover{
  background:#f5f5f5;
  border-color:#bdbdbd;
}
.allies-arrow:focus-visible{
  outline:2px solid rgba(111,149,77,.45);
  outline-offset:2px;
}
.allies-arrow:active{
  transform:scale(.96);
}
.allies-arrow span::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:9px;
  height:9px;
  border-top:2px solid #666;
  border-right:2px solid #666;
  transform:rotate(225deg);
}
.allies-arrow-next span::before{
  transform:rotate(45deg);
}
.allies-slider{
  position:relative;
  overflow:hidden;
  width:100%;
}
.allies-track{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  will-change:transform;
}
.allies-slide{
  flex:0 0 calc(100% / var(--allies-visible));
  margin:0;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:10px 12px;
}
.allies-slide img{
  max-width:min(170px,100%);
  max-height:84px;
  width:100%;
  height:84px;
  object-fit:contain;
  display:block;
}
.socials{display:flex;gap:12px;margin-top:20px}
.socials a{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--green);font-weight:900;
}
.copy{
  border-top:1px solid rgba(255,255,255,.18);
  margin-top:48px;
  padding-top:20px;
  font-size:13px;
  color:#e8e8e8;
}
.page-hero{
  min-height:380px;
  display:flex;
  align-items:center;
  text-align:center;
  background:linear-gradient(rgba(255,255,255,.76),rgba(255,255,255,.76)),linear-gradient(135deg,#d7e8ef,#c5d093);
}
.page-hero h1{
  font-size:58px;
  margin:0;
  color:#444;
}
.content-block{max-width:900px;margin:auto}
.list-clean{padding-left:18px}
.list-clean li{margin-bottom:9px}
.notice{
  padding:24px;
  background:#f6faf0;
  border-left:5px solid var(--green);
  margin:28px 0;
}
.form{
  display:grid;
  gap:16px;
}
.form input,.form textarea{
  width:100%;
  border:1px solid #ddd;
  min-height:50px;
  padding:12px 15px;
  border-radius:8px;
  font:inherit;
}
.form textarea{min-height:145px}
.whatsapp{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:80;
  width:58px;height:58px;border-radius:50%;
  background:#25d366;color:white;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
  box-shadow:0 15px 30px rgba(0,0,0,.25);
}
@media(max-width:980px){
  .topbar .wrap{justify-content:center}
  .burger{display:block}
  .menu{
    position:absolute;
    left:0;right:0;top:86px;
    background:white;
    display:none;
    flex-direction:column;
    border-top:1px solid #eee;
  }
  .menu.open{display:flex}
  .menu a{width:100%;padding:16px 22px;text-align:center}
  .hero .wrap,.grid-2,.cta .wrap{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero .wrap{padding:70px 0}
  .hero-cards,.service-grid,.portfolio-grid,.contact-strip .wrap,.footer-grid{grid-template-columns:1fr}
  .cards-small{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .top-left,.top-right{justify-content:center;gap:8px}
  .allies-head{align-items:flex-start}
  .allies-slide{min-height:76px}
  .allies-slide img{max-width:138px;max-height:66px;height:66px}
  .hero h1,.title.big,.page-hero h1{font-size:38px}
  .title{font-size:32px}
  .cards-small,.features{grid-template-columns:1fr}
  .section{padding:64px 0}
}

/* ===== MEJORAS FRONT NEI ===== */

.hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(67,199,19,.22), transparent 28%),
    radial-gradient(circle at 12% 80%, rgba(34,18,74,.12), transparent 32%),
    linear-gradient(115deg,#f8e6c3 0%,#edf8f7 68%);
}

.hero:before{
  content:"";
  position:absolute;
  inset:auto -120px -160px auto;
  width:440px;
  height:440px;
  border-radius:50%;
  background:rgba(67,199,19,.16);
}

.hero h1{
  max-width:440px;
}

.property-card{
  isolation:isolate;
}

.property-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(255,255,255,.16),transparent 42%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px);
  z-index:1;
}

.property-card:nth-child(1){
  background:
    linear-gradient(to top,rgba(0,0,0,.25),transparent),
    url('/assets/img/condominio-1.svg') center/cover no-repeat;
}
.property-card:nth-child(2){
  background:
    linear-gradient(to top,rgba(0,0,0,.25),transparent),
    url('/assets/img/hotel-1.svg') center/cover no-repeat;
}
.property-card:nth-child(3){
  background:
    linear-gradient(to top,rgba(0,0,0,.25),transparent),
    url('/assets/img/comercial-1.svg') center/cover no-repeat;
}

.fake-photo{
  background:url('/assets/img/nei-photo-1.svg') center/cover no-repeat;
}
.fake-photo.alt{
  background:url('/assets/img/nei-photo-2.svg') center/cover no-repeat;
}
.fake-photo.hotel{
  background:url('/assets/img/hotel-1.svg') center/cover no-repeat;
}
.fake-photo.dark{
  background:url('/assets/img/condominio-2.svg') center/cover no-repeat;
}

.page-hero{
  position:relative;
  overflow:hidden;
  min-height:420px;
  background:
    linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72)),
    url('/assets/img/page-hero.svg') center/cover no-repeat;
}

.page-hero:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-90px;
  width:680px;
  height:180px;
  transform:translateX(-50%);
  background:rgba(67,199,19,.14);
  border-radius:50%;
}

.page-hero h1{
  position:relative;
  z-index:2;
  letter-spacing:-1px;
}

.section-head{
  max-width:760px;
  margin:0 auto 50px;
  text-align:center;
}

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

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

.stat{
  background:white;
  padding:30px;
  border-radius:18px;
  box-shadow:0 12px 32px rgba(0,0,0,.06);
  border:1px solid #edf0ee;
  text-align:center;
}

.stat strong{
  display:block;
  color:var(--ink);
  font-size:38px;
  line-height:1;
}

.stat span{
  display:block;
  color:#777;
  font-size:14px;
  margin-top:8px;
}

.process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  counter-reset:step;
}

.process-card{
  background:#fff;
  padding:34px 28px;
  border-radius:18px;
  border:1px solid #eef0ee;
  box-shadow:0 14px 35px rgba(0,0,0,.05);
  position:relative;
}

.process-card:before{
  counter-increment:step;
  content:"0" counter(step);
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#e5f45d;
  color:#22124a;
  font-weight:900;
  margin-bottom:22px;
}

.process-card h3{
  margin:0 0 10px;
  font-size:21px;
  color:#333;
}

.process-card p{
  margin:0;
  color:#747474;
  font-size:15px;
}

.quote-box{
  background:#fff;
  border:18px solid #d8f05b;
  padding:48px;
  border-radius:8px;
  position:relative;
  box-shadow:0 18px 45px rgba(0,0,0,.06);
}

.quote-box:after{
  content:"”";
  position:absolute;
  right:35px;
  bottom:-22px;
  font-size:150px;
  color:rgba(34,18,74,.08);
  line-height:1;
}

.quote-box h3{
  text-align:center;
  margin-top:0;
  color:#333;
}

.quote-box p{
  max-width:680px;
  margin:auto;
  text-align:center;
}

.gallery-strip{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:20px;
  margin-top:35px;
}

.gallery-strip .g{
  min-height:230px;
  border-radius:18px;
  background:url('/assets/img/condominio-1.svg') center/cover no-repeat;
  box-shadow:var(--shadow);
}

.gallery-strip .g:nth-child(2){background-image:url('/assets/img/nei-photo-1.svg')}
.gallery-strip .g:nth-child(3){background-image:url('/assets/img/comercial-1.svg')}

.portfolio-img{
  background:url('/assets/img/condominio-1.svg') center/cover no-repeat;
}

.portfolio-item:nth-child(2) .portfolio-img{background-image:url('/assets/img/condominio-2.svg')}
.portfolio-item:nth-child(3) .portfolio-img{background-image:url('/assets/img/nei-photo-1.svg')}
.portfolio-item:nth-child(4) .portfolio-img{background-image:url('/assets/img/hotel-1.svg')}
.portfolio-item:nth-child(5) .portfolio-img{background-image:url('/assets/img/comercial-1.svg')}
.portfolio-item:nth-child(6) .portfolio-img{background-image:url('/assets/img/nei-photo-2.svg')}
.portfolio-item:nth-child(7) .portfolio-img{background-image:url('/assets/img/page-hero.svg')}

.portfolio-item:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 50px rgba(0,0,0,.12);
}

.portfolio-item{
  transition:.22s;
}

.service-detail{
  padding:38px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.055);
  border:1px solid #edf0ee;
}

.service-detail h2{
  margin-top:0;
}

.check-list{
  list-style:none;
  padding:0;
  margin:22px 0 0;
}

.check-list li{
  padding-left:30px;
  position:relative;
  margin-bottom:12px;
}

.check-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--green-dark);
  font-weight:900;
}

.contact-card{
  background:#fff;
  border-radius:22px;
  padding:34px;
  box-shadow:var(--shadow);
  border:1px solid #eef0ee;
}

.contact-line{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:18px 0;
  border-bottom:1px solid #eee;
}

.contact-line:last-child{
  border-bottom:0;
}

.contact-ico{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#e5f45d;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#22124a;
  font-weight:900;
  flex:0 0 auto;
}

@media(max-width:980px){
  .stats,.process{
    grid-template-columns:repeat(2,1fr);
  }
  .gallery-strip{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .stats,.process{
    grid-template-columns:1fr;
  }
  .quote-box{
    padding:30px 22px;
    border-width:10px;
  }
}


/* ===== IMÁGENES REALES NEI ===== */

.property-card:nth-child(1){
  background:
    linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.08)),
    url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;
}

.property-card:nth-child(2){
  background:
    linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.08)),
    url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;
}

.property-card:nth-child(3){
  background:
    linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.08)),
    url('/assets/img/real/comercial-liberia.jpeg') center/cover no-repeat !important;
}

.fake-photo{
  background:url('/assets/img/real/terraza-proyecto.jpeg') center/cover no-repeat !important;
}

.fake-photo.alt{
  background:url('/assets/img/real/casa-condominio.png') center/cover no-repeat !important;
}

.fake-photo.hotel{
  background:url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;
}

.fake-photo.dark{
  background:url('/assets/img/real/bodegas-comercial.png') center/cover no-repeat !important;
}

.page-hero{
  background:
    linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72)),
    url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;
}

.gallery-strip .g:nth-child(1){
  background:url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;
}

.gallery-strip .g:nth-child(2){
  background:url('/assets/img/real/casa-condominio.png') center/cover no-repeat !important;
}

.gallery-strip .g:nth-child(3){
  background:url('/assets/img/real/bodegas-comercial.png') center/cover no-repeat !important;
}

.portfolio-item:nth-child(1) .portfolio-img,
.portfolio-grid .portfolio-img:nth-child(1){
  background:url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;
}

.portfolio-item:nth-child(2) .portfolio-img,
.portfolio-grid .portfolio-img:nth-child(2){
  background:url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;
}

.portfolio-item:nth-child(3) .portfolio-img,
.portfolio-grid .portfolio-img:nth-child(3){
  background:url('/assets/img/real/casa-condominio.png') center/cover no-repeat !important;
}

.portfolio-item:nth-child(4) .portfolio-img,
.portfolio-grid .portfolio-img:nth-child(4){
  background:url('/assets/img/real/terraza-proyecto.jpeg') center/cover no-repeat !important;
}

.portfolio-item:nth-child(5) .portfolio-img,
.portfolio-grid .portfolio-img:nth-child(5){
  background:url('/assets/img/real/bodegas-comercial.png') center/cover no-repeat !important;
}

.portfolio-item:nth-child(6) .portfolio-img,
.portfolio-grid .portfolio-img:nth-child(6){
  background:url('/assets/img/real/playa-aerea.png') center/cover no-repeat !important;
}

.portfolio-item:nth-child(7) .portfolio-img,
.portfolio-grid .portfolio-img:nth-child(7){
  background:url('/assets/img/real/permacultura-san-mateo.jpeg') center/cover no-repeat !important;
}

.contact-strip{
  background:
    linear-gradient(rgba(0,0,0,.68),rgba(0,0,0,.68)),
    url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;
}


/* ===== HERO SLIDER PREMIUM FOTO / VIDEO ===== */

.hero{
  min-height:620px;
  position:relative;
  overflow:hidden;
  background:#111;
}

.hero-slider{
  position:relative;
  min-height:620px;
  isolation:isolate;
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transform:scale(1.035);
  transition:opacity 1.25s ease, transform 2.4s ease;
  overflow:hidden;
}

.hero-slide.active{
  opacity:1;
  pointer-events:auto;
  transform:scale(1);
  z-index:2;
}

.hero-bg,
.hero-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.08);
  transition:transform 7.2s ease;
}

.hero-slide.active .hero-bg,
.hero-slide.active .hero-bg-video{
  transform:scale(1.01);
}

.hero-slide:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.68) 36%,rgba(255,255,255,.18) 68%,rgba(0,0,0,.2) 100%),
    radial-gradient(circle at 78% 22%,rgba(67,199,19,.25),transparent 30%);
  z-index:1;
}

.hero-slide:after{
  content:"";
  position:absolute;
  inset:-80px;
  background:
    linear-gradient(115deg,transparent 0 35%,rgba(216,240,91,.20) 35% 48%,transparent 48% 100%);
  z-index:2;
  transform:translateX(-18%);
  opacity:.55;
  animation:heroLightMove 8s ease-in-out infinite alternate;
}

@keyframes heroLightMove{
  from{transform:translateX(-18%) rotate(0deg)}
  to{transform:translateX(8%) rotate(2deg)}
}

.hero-slide .wrap{
  position:relative;
  z-index:5;
  min-height:620px;
  display:grid;
  grid-template-columns:360px 1fr;
  gap:40px;
  align-items:center;
}

.hero-copy{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .85s ease .28s, transform .85s ease .28s;
}

.hero-slide.active .hero-copy{
  opacity:1;
  transform:translateY(0);
}

.hero-copy h1{
  color:var(--ink);
  font-size:54px;
  line-height:1.08;
  margin:0 0 22px;
  letter-spacing:-1px;
  max-width:440px;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
}

.hero-copy h1.hero-title-two-lines{
  max-width:560px;
  line-height:1.12;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.hero-title,
.hero-content h1{
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
}

.hero-copy p{
  font-size:18px;
  color:#31245b;
  margin:0 0 26px;
}

.hero-slide .btn{
  transform:translateY(16px);
  opacity:0;
  transition:opacity .8s ease .58s, transform .8s ease .58s;
}

.hero-slide.active .btn{
  opacity:1;
  transform:translateY(0);
}

.hero-slide .hero-cards{
  opacity:0;
  transform:translateX(34px);
  transition:opacity .9s ease .45s, transform .9s ease .45s;
}

.hero-slide.active .hero-cards{
  opacity:1;
  transform:translateX(0);
}

.hero-slide .property-card{
  animation:none;
}

.hero-slide.active .property-card{
  animation:cardFloat 5.5s ease-in-out infinite;
}

.hero-slide.active .property-card:nth-child(2){
  animation-delay:.45s;
}

.hero-slide.active .property-card:nth-child(3){
  animation-delay:.9s;
}

@keyframes cardFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-9px)}
}

.hero-dots{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  z-index:20;
  display:flex;
  gap:10px;
}

.hero-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  border:0;
  background:rgba(34,18,74,.28);
  cursor:pointer;
  transition:.25s;
}

.hero-dot.active{
  width:34px;
  border-radius:999px;
  background:var(--green);
}

.hero-progress{
  position:absolute;
  left:0;
  bottom:0;
  height:4px;
  width:0%;
  z-index:25;
  background:var(--green);
}

.hero-progress.run{
  animation:heroProgress 7s linear forwards;
}

@keyframes heroProgress{
  from{width:0%}
  to{width:100%}
}

/* ===== VIDEO SECTIONS ===== */

.video-feature{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  min-height:420px;
  box-shadow:var(--shadow);
  background:#1f2522;
  isolation:isolate;
}

.video-feature video,
.video-feature .video-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
}

.video-feature:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25),rgba(0,0,0,.55)),
    radial-gradient(circle at 85% 20%,rgba(67,199,19,.28),transparent 28%);
}

.video-feature-content{
  position:relative;
  z-index:4;
  color:#fff;
  max-width:580px;
  padding:60px;
}

.video-feature-content h2{
  font-size:42px;
  line-height:1.1;
  margin:0 0 18px;
}

.video-feature-content p{
  color:#f2f2f2;
  font-size:17px;
}

.video-feature-content .btn{
  margin-top:12px;
}

.video-feature.video-feature-static{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

/* ===== CONTACTO PROFESIONAL ===== */

.form-card{
  background:#fff;
  border-radius:24px;
  padding:34px;
  box-shadow:var(--shadow);
  border:1px solid #eef0ee;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.form select,
.form input,
.form textarea{
  background:#fff;
}

.form select{
  width:100%;
  border:1px solid #ddd;
  min-height:50px;
  padding:12px 15px;
  border-radius:8px;
  font:inherit;
  color:#555;
}

.form .full{
  grid-column:1 / -1;
}

.form-note{
  font-size:13px;
  color:#777;
  line-height:1.45;
}

.checkbox-line{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:13px;
  color:#555;
}

.checkbox-line input{
  width:auto;
  min-height:auto;
  margin-top:4px;
}

@media(max-width:980px){
  .hero-slide .wrap{
    grid-template-columns:1fr;
    padding:70px 0;
  }
  .hero-slider,
  .hero-slide .wrap{
    min-height:760px;
  }
}

@media(max-width:620px){
  .hero-copy h1{
    font-size:38px;
  }

  .hero-copy h1.hero-title-two-lines{
    font-size:34px;
    line-height:1.08;
    max-width:100%;
  }

  .hero-slider,
  .hero-slide .wrap{
    min-height:860px;
  }

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

  .video-feature-content{
    padding:38px 26px;
  }

  .video-feature-content h2{
    font-size:32px;
  }
}


/* ===== AJUSTES HERO CARDS + HOVER ===== */

/* Desktop: hacer las 3 fotos más altas */
@media(min-width:981px){
  .hero-cards{
    align-items:stretch;
  }

  .property-card{
    min-height:430px !important;
  }
}

/* Quitar movimiento continuo incómodo */
.hero-slide.active .property-card{
  animation:none !important;
}

/* Hover elegante con mouse */
.property-card{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    filter .28s ease;
  cursor:pointer;
}

.property-card:hover{
  transform:translateY(-10px) scale(1.018);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
  filter:saturate(1.08) contrast(1.04);
}

.property-card:hover:after{
  background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.12));
}

.property-card .card-text{
  transition:transform .28s ease;
}

.property-card:hover .card-text{
  transform:translateY(-8px);
}

/* Mantener entrada animada, pero no movimiento infinito */
.hero-slide .hero-cards{
  transition:opacity .9s ease .45s, transform .9s ease .45s;
}

.hero-slide .property-card[style*="--card-image"]{
  background:var(--card-image) center/cover no-repeat !important;
}

.hero-slide .property-card[style*="--card-image"]::before{
  content:none;
  background:none;
}

.hero-slide .property-card[style*="--card-image"]::after{
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(to top,rgba(0,0,0,.62) 0%,rgba(0,0,0,.34) 36%,rgba(0,0,0,.12) 62%,rgba(0,0,0,0) 100%);
}

.hero-slide .property-card[style*="--card-image"] .card-text{
  text-shadow:0 3px 14px rgba(0,0,0,.34);
}

/* ===== MEGA MENU CON FOTOS ===== */

.header{
  z-index:200;
}

.menu{
  position:relative;
}

.has-mega{
  position:relative;
}

.mega-menu{
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%) translateY(14px);
  width:min(980px,calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  background:#fff;
  border:1px solid #ececec;
  box-shadow:0 25px 70px rgba(0,0,0,.16);
  border-radius:0 0 24px 24px;
  padding:24px;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.25s ease;
}

.services-mega{
  left:0;
  right:auto;
  transform:translateY(14px);
}

.portfolio-mega{
  left:auto;
  right:0;
  transform:translateY(14px);
}

.has-mega:hover .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.mega-title{
  font-size:13px;
  color:var(--green-dark);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.mega-menu h3{
  margin:0 0 12px;
  font-size:24px;
  color:var(--ink);
}

.mega-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.mega-links a{
  padding:13px 14px !important;
  border:1px solid #f0f0f0 !important;
  border-radius:12px;
  background:#fafafa;
  font-size:13px;
  color:#333;
}

.mega-links a:hover{
  background:#f2ffe9;
  color:var(--green-dark);
}

.mega-photos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mega-photo{
  min-height:132px;
  border-radius:16px;
  overflow:hidden;
  position:relative;
  background:center/cover no-repeat;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.mega-photo:nth-child(1){
  background-image:url('/assets/img/real/condominio-heredia.jpeg');
}

.mega-photo:nth-child(2){
  background-image:url('/assets/img/real/condominio-tamarindo.jpeg');
}

.mega-photo:nth-child(3){
  background-image:url('/assets/img/real/bodegas-comercial.png');
}

.mega-photo:nth-child(4){
  background-image:url('/assets/img/real/casa-condominio.png');
}

.mega-photo span{
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  color:white;
  font-weight:900;
  font-size:13px;
  text-shadow:0 2px 8px rgba(0,0,0,.7);
}

.mega-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.62),transparent);
}

/* Responsive: mega menú se vuelve normal */
@media(max-width:980px){
  .has-mega{
    width:100%;
  }

  .mega-menu{
    position:static;
    transform:none;
    width:100%;
    display:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    box-shadow:none;
    border-radius:0;
    border:0;
    padding:15px;
    grid-template-columns:1fr;
  }

  .has-mega:hover .mega-menu{
    display:grid;
    transform:none;
  }

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

  .mega-photos{
    grid-template-columns:1fr 1fr;
  }
}

/* ===== AGENDA DE CITAS ===== */

.appointment-section{
  background:
    radial-gradient(circle at 18% 20%,rgba(216,240,91,.28),transparent 28%),
    linear-gradient(135deg,#f6f8f5,#eef7f1);
}

.appointment-box{
  background:#fff;
  border-radius:30px;
  box-shadow:0 26px 80px rgba(0,0,0,.10);
  border:1px solid #edf0ee;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1.1fr;
}

.appointment-info{
  padding:48px;
  background:
    linear-gradient(rgba(34,18,74,.78),rgba(34,18,74,.78)),
    url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat;
  color:white;
}

.appointment-info h2{
  font-size:42px;
  line-height:1.08;
  margin:0 0 18px;
}

.appointment-info p{
  color:#f1f1f1;
}

.appointment-list{
  margin:28px 0 0;
  padding:0;
  list-style:none;
}

.appointment-list li{
  padding:12px 0 12px 34px;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.appointment-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:12px;
  color:#d8f05b;
  font-weight:900;
}

.appointment-form{
  padding:42px;
}

.appointment-form .form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.appointment-form input,
.appointment-form select,
.appointment-form textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #ddd;
  border-radius:10px;
  font:inherit;
}

.appointment-form textarea{
  min-height:120px;
}

.appointment-form .full{
  grid-column:1 / -1;
}

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

  .appointment-form .form-grid{
    grid-template-columns:1fr;
  }
}

/* ===== CONTACTO MÁS PROFESIONAL ===== */

.contact-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:28px;
}

.contact-option{
  background:#fff;
  padding:24px;
  border:1px solid #edf0ee;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(0,0,0,.06);
}

.contact-option strong{
  display:block;
  color:var(--ink);
  font-size:18px;
  margin-bottom:8px;
}

.contact-option span{
  color:#777;
  font-size:14px;
}

@media(max-width:760px){
  .contact-options{
    grid-template-columns:1fr;
  }
}


/* ===== MEGA MENU PORTAFOLIO ===== */

.mega-menu.portfolio-mega{
  grid-template-columns:minmax(0,.96fr) minmax(280px,1.04fr);
  width:min(1050px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
}

.portfolio-mega-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
}

.portfolio-mega-list a{
  padding:14px !important;
  border:1px solid #f0f0f0 !important;
  border-radius:13px;
  background:#fafafa;
  display:flex;
  flex-direction:column;
  gap:3px;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
  min-width:0;
}

.portfolio-mega-list a strong{
  color:#22124a;
  font-size:14px;
}

.portfolio-mega-list a span{
  color:#777;
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.portfolio-mega-list a:hover{
  background:#f3ffe9;
}

.portfolio-mega-list a.is-active{
  background:#f3ffe9;
  border-color:#bfe39f !important;
  transform:translateY(-1px);
}

.portfolio-mega-gallery{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(220px,.82fr);
  gap:12px;
  min-width:0;
}

.portfolio-mega-main,
.portfolio-mega-small{
  border-radius:18px;
  overflow:hidden;
  position:relative;
  background:center/cover no-repeat;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.portfolio-mega-main{
  min-height:292px;
  background-image:url('/assets/img/portafolio/original-nei/the-point/01.jpeg');
}

.portfolio-mega-smalls{
  display:grid;
  gap:12px;
  min-width:0;
}

.portfolio-mega-small{
  min-height:90px;
}

.portfolio-mega-small:nth-child(1){
  background-image:url('/assets/img/portafolio/original-nei/the-point/02.jpeg');
}

.portfolio-mega-small:nth-child(2){
  background-image:url('/assets/img/portafolio/original-nei/the-point/03.jpeg');
}

.portfolio-mega-small:nth-child(3){
  background-image:url('/assets/img/portafolio/original-nei/the-point/04.jpeg');
}

.portfolio-mega-main:after,
.portfolio-mega-small:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.68),transparent);
}

.portfolio-mega-main span,
.portfolio-mega-small span{
  position:absolute;
  z-index:2;
  left:16px;
  right:16px;
  bottom:14px;
  color:#fff;
  font-weight:900;
  font-size:14px;
  text-shadow:0 2px 8px rgba(0,0,0,.65);
}

.portfolio-mega-main span{
  font-size:21px;
}

.portfolio-mega-main,
.portfolio-mega-small{
  transition:background-image .18s ease,transform .18s ease,box-shadow .18s ease;
}

@media(max-width:980px){
  .mega-menu.portfolio-mega{
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
  }

  .portfolio-mega-list{
    grid-template-columns:1fr;
  }

  .portfolio-mega-gallery{
    grid-template-columns:1fr;
  }

  .portfolio-mega-main{
    min-height:190px;
  }
}

@media(max-width:1200px){
  .mega-menu.portfolio-mega{
    grid-template-columns:minmax(0,1fr);
    width:min(920px,calc(100vw - 24px));
    max-width:calc(100vw - 24px);
    padding:20px;
    gap:18px;
  }

  .portfolio-mega-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .portfolio-mega-gallery{
    grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);
  }
}


/* ===== MEGA MENU SERVICIOS PREMIUM COMO PORTAFOLIO ===== */

.mega-menu.services-mega{
  grid-template-columns:minmax(0,.96fr) minmax(280px,1.04fr);
  width:min(1050px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
}

.services-mega-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
}

.services-mega-list a{
  padding:14px !important;
  border:1px solid #f0f0f0 !important;
  border-radius:13px;
  background:#fafafa;
  display:flex;
  flex-direction:column;
  gap:3px;
  transition:.22s ease;
  position:relative;
  overflow:hidden;
  min-width:0;
}

.services-mega-list a:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(67,199,19,.12),transparent);
  transform:translateX(-100%);
  transition:.28s ease;
}

.services-mega-list a:hover:before{
  transform:translateX(0);
}

.services-mega-list a strong{
  color:#22124a;
  font-size:14px;
  position:relative;
  z-index:2;
}

.services-mega-list a span{
  color:#777;
  font-size:12px;
  line-height:1.35;
  position:relative;
  z-index:2;
  overflow-wrap:anywhere;
}

.services-mega-list a:hover{
  background:#f3ffe9;
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.services-mega-gallery{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(220px,.82fr);
  gap:12px;
  min-width:0;
}

.services-mega-main,
.services-mega-small{
  border-radius:18px;
  overflow:hidden;
  position:relative;
  background:center/cover no-repeat;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
  transition:.28s ease;
}

.services-mega-main{
  min-height:292px;
  background-image:url('/assets/img/real/condominio-heredia.jpeg');
}

.services-mega-smalls{
  display:grid;
  gap:12px;
  min-width:0;
}

.services-mega-small{
  min-height:90px;
}

.services-mega-small:nth-child(1){
  background-image:url('/assets/img/real/condominio-tamarindo.jpeg');
}

.services-mega-small:nth-child(2){
  background-image:url('/assets/img/real/bodegas-comercial.png');
}

.services-mega-small:nth-child(3){
  background-image:url('/assets/img/real/casa-condominio.png');
}

.services-mega-main:after,
.services-mega-small:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.70),rgba(0,0,0,.10));
  transition:.28s ease;
}

.services-mega-main:hover,
.services-mega-small:hover{
  transform:translateY(-4px) scale(1.015);
  box-shadow:0 18px 44px rgba(0,0,0,.20);
}

.services-mega-main:hover:after,
.services-mega-small:hover:after{
  background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08));
}

.services-mega-main span,
.services-mega-small span{
  position:absolute;
  z-index:2;
  left:16px;
  right:16px;
  bottom:14px;
  color:#fff;
  font-weight:900;
  font-size:14px;
  text-shadow:0 2px 8px rgba(0,0,0,.65);
}

.services-mega-main span{
  font-size:21px;
}

.services-mega-main small,
.services-mega-small small{
  display:block;
  color:#d8f05b;
  font-size:11px;
  text-transform:uppercase;
  margin-top:3px;
}

@media(max-width:980px){
  .mega-menu.services-mega{
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
  }

  .services-mega-list{
    grid-template-columns:1fr;
  }

  .services-mega-gallery{
    grid-template-columns:1fr;
  }

  .services-mega-main{
    min-height:190px;
  }
}

@media(max-width:1200px){
  .mega-menu.services-mega{
    grid-template-columns:minmax(0,1fr);
    width:min(920px,calc(100vw - 24px));
    max-width:calc(100vw - 24px);
    padding:20px;
    gap:18px;
  }

  .services-mega-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .services-mega-gallery{
    grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);
  }
}


#condominios,
#hoteles,
#propiedades,
#facility,
#legales{
  scroll-margin-top:130px;
}


/* =========================================================
   HERO PRO - PORTAFOLIO DETALLE
   Solo para /portafolio/{slug}
   Diseño distinto al home, delgado y premium
========================================================= */

.portfolio-hero-pro{
  position:relative !important;
  min-height:320px !important;
  height:320px !important;
  padding:0 !important;
  margin:0 0 34px !important;
  overflow:hidden !important;
  background:none !important;
  border-bottom:1px solid rgba(34,18,74,.08);
}

.portfolio-hero-pro .wrap{
  max-width:1180px;
}

.ph-slides{
  position:absolute;
  inset:0;
  z-index:1;
}

.ph-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.02);
  transition:
    opacity .9s ease,
    visibility .9s ease,
    transform 1.2s ease;
}

.ph-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}

.ph-media{
  position:absolute;
  inset:0;
  background-position:center center;
  background-size:cover;
  transform:scale(1.04);
  transition:transform 6s ease;
}

.ph-slide.is-active .ph-media{
  transform:scale(1.10);
}

.ph-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.70) 34%, rgba(255,255,255,.14) 70%, rgba(255,255,255,.10) 100%),
    linear-gradient(135deg, rgba(34,18,74,.22) 0%, rgba(67,199,19,.12) 100%);
}

.ph-accent-a,
.ph-accent-b{
  position:absolute;
  border-radius:999px;
  filter:blur(0px);
  z-index:2;
  pointer-events:none;
}

.ph-accent-a{
  width:280px;
  height:280px;
  right:-80px;
  top:-90px;
  background:radial-gradient(circle, rgba(67,199,19,.22) 0%, rgba(67,199,19,0) 68%);
}

.ph-accent-b{
  width:360px;
  height:360px;
  left:-110px;
  bottom:-170px;
  background:radial-gradient(circle, rgba(34,18,74,.16) 0%, rgba(34,18,74,0) 70%);
}

.ph-shell{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) 360px;
  gap:28px;
  align-items:center;
  height:100%;
  padding:34px 26px;
}

.ph-copy{
  max-width:680px;
}

.ph-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(34,18,74,.08);
  color:#2ea004;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}

.ph-kicker i{
  width:9px;
  height:9px;
  border-radius:50%;
  background:linear-gradient(135deg,#43c713,#2ea004);
  display:inline-block;
}

.ph-title{
  margin:0 0 10px !important;
  font-size:56px !important;
  line-height:1.02 !important;
  color:#22124a !important;
  letter-spacing:-.03em;
}

.ph-desc{
  margin:0;
  max-width:640px;
  color:#4c4c58;
  font-size:16px;
  line-height:1.6;
}

.ph-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.ph-btn-alt{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:0 20px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  border:1px solid rgba(34,18,74,.12);
  background:rgba(255,255,255,.80);
  color:#22124a;
  backdrop-filter:blur(10px);
  transition:.25s ease;
}

.ph-btn-alt:hover{
  transform:translateY(-2px);
  border-color:rgba(67,199,19,.5);
  box-shadow:0 16px 35px rgba(34,18,74,.10);
}

.ph-panel{
  position:relative;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
  padding:20px;
  border-radius:26px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 20px 60px rgba(34,18,74,.13);
  backdrop-filter:blur(16px);
  overflow:hidden;
}

.ph-panel:before{
  content:"";
  position:absolute;
  inset:auto -40px -50px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(67,199,19,.16) 0%, rgba(67,199,19,0) 68%);
}

.ph-panel-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.ph-counter{
  color:#22124a;
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ph-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#22124a,#382070);
  color:#fff;
  font-size:12px;
  font-weight:800;
}

.ph-feature{
  position:relative;
  z-index:2;
  display:grid;
  gap:12px;
}

.ph-feature-card{
  padding:14px 14px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(34,18,74,.08);
  box-shadow:0 8px 22px rgba(34,18,74,.06);
  transition:.25s ease;
}

.ph-feature-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(34,18,74,.10);
}

.ph-feature-card small{
  display:block;
  margin-bottom:4px;
  color:#43c713;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.ph-feature-card strong{
  display:block;
  color:#22124a;
  font-size:15px;
  line-height:1.35;
}

.ph-dots{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:6px;
}

.ph-dot{
  appearance:none;
  border:0;
  padding:0;
  width:48px;
  height:6px;
  border-radius:999px;
  background:rgba(34,18,74,.14);
  cursor:pointer;
  transition:.25s ease;
}

.ph-dot.is-active{
  background:linear-gradient(90deg,#43c713,#22124a);
  transform:scaleX(1.04);
}

.ph-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:rgba(34,18,74,.05);
  z-index:4;
}

.ph-progress-bar{
  width:0%;
  height:100%;
  background:linear-gradient(90deg,#43c713 0%, #22124a 100%);
  transition:width 5.5s linear;
}

.ph-progress-bar.is-running{
  width:100%;
}

@media (max-width: 1100px){
  .ph-shell{
    grid-template-columns:1fr 320px;
  }
  .ph-title{
    font-size:48px !important;
  }
}

@media (max-width: 980px){
  .portfolio-hero-pro{
    min-height:420px !important;
    height:auto !important;
  }

  .ph-shell{
    grid-template-columns:1fr;
    padding:28px 18px;
    min-height:420px;
  }

  .ph-title{
    font-size:40px !important;
  }

  .ph-panel{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .portfolio-hero-pro{
    min-height:440px !important;
  }

  .ph-shell{
    min-height:440px;
  }

  .ph-title{
    font-size:34px !important;
  }

  .ph-desc{
    font-size:14px;
  }

  .ph-actions{
    gap:10px;
  }

  .ph-dot{
    width:36px;
  }
}


/* =========================================================
   PORTAFOLIO HERO V2 - LIMPIO PREMIUM
========================================================= */

.portfolio-hero-pro{
  position:relative !important;
  min-height:360px !important;
  height:360px !important;
  margin:0 0 52px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#111 !important;
  border:0 !important;
}

.portfolio-hero-pro .wrap{
  max-width:1180px;
}

.ph-slides{
  position:absolute;
  inset:0;
  z-index:1;
}

.ph-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1s ease, visibility 1s ease;
}

.ph-slide.is-active{
  opacity:1;
  visibility:visible;
}

.ph-media{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  transition:transform 7s ease;
}

.ph-slide.is-active .ph-media{
  transform:scale(1.10);
}

.ph-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,8,16,.78) 0%, rgba(7,8,16,.56) 38%, rgba(7,8,16,.18) 72%, rgba(7,8,16,.55) 100%),
    linear-gradient(0deg, rgba(34,18,74,.55), rgba(34,18,74,.06));
}

.ph-shell{
  position:relative;
  z-index:5;
  height:360px;
  display:flex;
  align-items:center;
  padding:0 26px;
}

.ph-copy{
  width:min(720px,100%);
  color:white;
}

.ph-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  margin-bottom:18px;
  border-radius:999px;
  background:rgba(67,199,19,.16);
  border:1px solid rgba(67,199,19,.38);
  color:#dfffd7;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}

.ph-kicker i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#43c713;
  box-shadow:0 0 0 6px rgba(67,199,19,.15);
}

.ph-title{
  margin:0 0 13px !important;
  color:#fff !important;
  font-size:62px !important;
  line-height:1 !important;
  letter-spacing:-.045em;
  text-shadow:0 16px 45px rgba(0,0,0,.28);
}

.ph-desc{
  margin:0;
  max-width:620px;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.58;
}

.ph-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px;
}

.ph-actions .btn{
  min-height:46px;
}

.ph-btn-alt{
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-weight:800;
  backdrop-filter:blur(8px);
  transition:.25s ease;
}

.ph-btn-alt:hover{
  background:rgba(255,255,255,.22);
  transform:translateY(-2px);
}

.ph-panel{
  position:absolute;
  z-index:7;
  left:50%;
  bottom:-35px;
  transform:translateX(-50%);
  width:min(980px,90%);
  min-height:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:0;
  background:transparent;
  box-shadow:none;
  border:0;
  backdrop-filter:none;
}

.ph-panel:before,
.ph-panel-top,
.ph-progress{
  display:none !important;
}

.ph-feature{
  display:contents;
}

.ph-feature-card{
  padding:22px 24px;
  min-height:96px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(34,18,74,.08);
  box-shadow:0 18px 48px rgba(34,18,74,.12);
  transition:.25s ease;
}

.ph-feature-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 70px rgba(34,18,74,.18);
  border-color:rgba(67,199,19,.38);
}

.ph-feature-card small{
  display:block;
  margin-bottom:5px;
  color:#2ea004;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.ph-feature-card strong{
  color:#22124a;
  font-size:16px;
  line-height:1.35;
}

.ph-dots{
  position:absolute;
  right:30px;
  bottom:30px;
  z-index:9;
  display:flex;
  gap:9px;
  margin:0;
}

.ph-dot{
  width:38px;
  height:5px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.36);
  cursor:pointer;
  transition:.25s ease;
}

.ph-dot.is-active{
  width:62px;
  background:#43c713;
}

.ph-accent-a,
.ph-accent-b{
  display:none !important;
}

/* compensar tarjetas flotantes */
.portfolio-hero-pro + .section{
  padding-top:70px !important;
}

@media(max-width:980px){
  .portfolio-hero-pro{
    height:auto !important;
    min-height:520px !important;
    margin-bottom:40px !important;
  }

  .ph-shell{
    height:auto;
    min-height:380px;
    padding:54px 18px 150px;
  }

  .ph-title{
    font-size:42px !important;
  }

  .ph-panel{
    bottom:24px;
    grid-template-columns:1fr;
    width:92%;
  }

  .ph-feature-card{
    min-height:auto;
    padding:16px 18px;
  }

  .ph-dots{
    right:24px;
    bottom:auto;
    top:24px;
  }

  .portfolio-hero-pro + .section{
    padding-top:45px !important;
  }
}

@media(max-width:560px){
  .ph-title{
    font-size:34px !important;
  }

  .ph-desc{
    font-size:14px;
  }

  .ph-shell{
    padding-bottom:175px;
  }
}


/* =========================================================
   LIMPIEZA HERO PORTAFOLIO + BOTONES
========================================================= */

/* Quitar las tarjetas blancas flotantes del hero detalle portafolio */
.portfolio-hero-pro .ph-panel,
.portfolio-hero-pro .ph-feature,
.portfolio-hero-pro .ph-feature-card,
.portfolio-hero-pro .ph-panel-top,
.portfolio-hero-pro .ph-progress{
  display:none !important;
}

/* El hero ya no necesita espacio extra por las tarjetas */
.portfolio-hero-pro{
  margin-bottom:34px !important;
}

.portfolio-hero-pro + .section{
  padding-top:55px !important;
}

/* Evitar bordes azules/focus feos en botones verdes y enlaces */
.btn,
button,
a,
.hero-dot,
.ph-dot{
  outline:none !important;
  -webkit-tap-highlight-color:transparent !important;
}

.btn:focus,
.btn:focus-visible,
.btn:active,
button:focus,
button:focus-visible,
button:active,
a:focus,
a:focus-visible,
a:active,
.hero-dot:focus,
.hero-dot:focus-visible,
.ph-dot:focus,
.ph-dot:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}

/* Mantener hover bonito sin borde azul */
.btn:hover{
  filter:brightness(1.04);
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(67,199,19,.25) !important;
}

.btn.dark:hover{
  box-shadow:0 16px 34px rgba(34,18,74,.24) !important;
}

/* Quitar color azul de selección accidental dentro del hero */
.portfolio-hero-pro,
.portfolio-hero-pro *{
  user-select:none;
}

/* Botones del hero portafolio más limpios */
.portfolio-hero-pro .ph-actions .btn{
  border:0 !important;
  outline:0 !important;
}

.portfolio-hero-pro .ph-btn-alt{
  border-color:rgba(255,255,255,.28) !important;
  outline:0 !important;
}

/* Ajustar dots para que no parezcan línea azul */
.portfolio-hero-pro .ph-dot{
  background:rgba(255,255,255,.34) !important;
}

.portfolio-hero-pro .ph-dot.is-active{
  background:#43c713 !important;
}

/* En móvil también sin espacio de tarjetas */
@media(max-width:980px){
  .portfolio-hero-pro{
    min-height:390px !important;
    margin-bottom:28px !important;
  }

  .ph-shell{
    padding-bottom:54px !important;
  }

  .portfolio-hero-pro + .section{
    padding-top:42px !important;
  }
}


/* =========================================================
   LIMPIEZA GLOBAL: SIN GLOW / SIN BRILLOS / SIN HALOS
========================================================= */

/* Quitar sombras globales fuertes */
*{
  text-shadow:none !important;
}

:root{
  --shadow:none !important;
}

/* Quitar glow/blur/halos de elementos decorativos */
.hero:before,
.hero-slide:after,
.ph-accent-a,
.ph-accent-b,
.page-hero:after,
.service-box:before,
.appointment-info:before,
.video-feature:before{
  filter:none !important;
  box-shadow:none !important;
}

/* Quitar box-shadows generales */
.header,
.property-card,
.service-box,
.portfolio-item,
.panel,
.stat,
.process-card,
.quote-box,
.video-feature,
.contact-card,
.form-card,
.contact-option,
.appointment-box,
.mega-menu,
.mega-photo,
.portfolio-mega-main,
.portfolio-mega-small,
.services-mega-main,
.services-mega-small,
.ph-feature-card,
.ph-panel,
.btn,
.btn.dark,
.whatsapp,
.socials a{
  box-shadow:none !important;
}

/* Quitar glow de hover */
.property-card:hover,
.service-box:hover,
.portfolio-item:hover,
.contact-option:hover,
.contact-card:hover,
.form-card:hover,
.process-card:hover,
.stat:hover,
.mega-photo:hover,
.portfolio-mega-main:hover,
.portfolio-mega-small:hover,
.services-mega-main:hover,
.services-mega-small:hover,
.ph-feature-card:hover,
.btn:hover,
.btn.dark:hover{
  box-shadow:none !important;
  filter:none !important;
}

/* Quitar blur visual/transparencias tipo glass */
.mega-menu,
.ph-panel,
.ph-kicker,
.ph-btn-alt,
.form-card,
.contact-card,
.appointment-box{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Quitar halos radiales decorativos */
.hero{
  background:
    linear-gradient(115deg,#f8e6c3 0%,#edf8f7 68%) !important;
}

.section:has(.service-grid){
  background:#fff !important;
}

.appointment-section{
  background:#f6f8f5 !important;
}

/* Mantener botones limpios, sin borde azul ni glow */
.btn,
button,
a,
input,
select,
textarea{
  outline:none !important;
  box-shadow:none !important;
}

.btn:focus,
.btn:focus-visible,
.btn:active,
button:focus,
button:focus-visible,
button:active,
a:focus,
a:focus-visible,
a:active,
input:focus,
select:focus,
textarea:focus{
  outline:none !important;
  box-shadow:none !important;
}

/* Botones verdes planos */
.btn{
  background:#43c713 !important;
  border:0 !important;
}

.btn.dark{
  background:#22124a !important;
  border:0 !important;
}

/* Íconos sin glow */
.service-box .icon,
.process-card:before,
.contact-ico,
.socials a{
  box-shadow:none !important;
}

/* Cards limpias con borde sutil */
.service-box,
.portfolio-item,
.panel,
.stat,
.process-card,
.contact-card,
.form-card,
.contact-option,
.appointment-box,
.mini-card{
  border:1px solid #e8ecea !important;
}

/* Hero portafolio limpio sin glow */
.portfolio-hero-pro .ph-media,
.portfolio-hero-pro .ph-slide,
.portfolio-hero-pro .ph-copy,
.portfolio-hero-pro .ph-title,
.portfolio-hero-pro .ph-desc,
.portfolio-hero-pro .ph-kicker,
.portfolio-hero-pro .ph-actions,
.portfolio-hero-pro .ph-btn-alt{
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
}

.portfolio-hero-pro .ph-kicker{
  background:#43c713 !important;
  border:0 !important;
  color:#fff !important;
}

.portfolio-hero-pro .ph-kicker i{
  background:#fff !important;
  box-shadow:none !important;
}

.portfolio-hero-pro .ph-btn-alt{
  background:#ffffff !important;
  color:#22124a !important;
  border:0 !important;
}

/* WhatsApp sin sombra */
.whatsapp{
  box-shadow:none !important;
  border:0 !important;
}

/* Mega menú limpio */
.mega-menu{
  box-shadow:none !important;
  border:1px solid #e8ecea !important;
  border-top:4px solid #43c713 !important;
}


/* =========================================================
   PORTAFOLIO DETALLE - SECCIÓN PROYECTO MEJORADA
========================================================= */

.portfolio-detail-wrap{
  width:min(1180px,92%);
  margin:auto;
}

.portfolio-detail-section{
  padding:58px 0 80px !important;
  background:#fff;
}

.portfolio-gallery-pro{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:46px;
}

.portfolio-gallery-pro .portfolio-img{
  height:190px;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  border:1px solid #e8ecea;
  transition:transform .25s ease, border-color .25s ease;
}

.portfolio-gallery-pro .portfolio-img:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.42),rgba(0,0,0,0));
  opacity:0;
  transition:opacity .25s ease;
  z-index:2;
}

.portfolio-gallery-pro .portfolio-img:after{
  content:"";
  position:absolute;
  left:18px;
  bottom:14px;
  z-index:3;
  color:#fff;
  font-size:13px;
  font-weight:900;
  opacity:0;
  transform:translateY(8px);
  transition:.25s ease;
}

.portfolio-gallery-pro .portfolio-img:hover{
  transform:translateY(-5px);
  border-color:#43c713;
}

.portfolio-gallery-pro .portfolio-img:hover:before,
.portfolio-gallery-pro .portfolio-img:hover:after{
  opacity:1;
  transform:translateY(0);
}

.portfolio-gallery-pro .portfolio-img:nth-child(1){
  grid-column:span 2;
  height:260px;
}

.portfolio-project-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:38px;
  align-items:start;
}

.project-copy-card{
  border:1px solid #e8ecea;
  border-radius:24px;
  padding:34px;
  background:#fff;
}

.project-copy-card .kicker{
  margin-bottom:10px;
}

.project-copy-card h2{
  color:#22124a;
  font-size:36px;
  line-height:1.08;
  margin:0 0 18px;
}

.project-copy-card p{
  color:#4b4b4b;
  font-size:16px;
  line-height:1.75;
}

.project-copy-card p:last-child{
  margin-bottom:0;
}

.project-info-panel{
  border-radius:24px;
  border:1px solid #e8ecea;
  background:#f8faf8;
  overflow:hidden;
}

.project-info-header{
  background:#22124a;
  color:#fff;
  padding:24px 28px;
}

.project-info-header small{
  display:block;
  color:#43c713;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  margin-bottom:6px;
}

.project-info-header h3{
  margin:0;
  font-size:26px;
  line-height:1.1;
}

.project-info-list{
  padding:22px;
  display:grid;
  gap:14px;
}

.project-info-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border-radius:16px;
  background:#fff;
  border:1px solid #edf0ee;
  transition:.22s ease;
}

.project-info-item:hover{
  transform:translateY(-3px);
  border-color:#43c713;
}

.project-info-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  background:#43c713;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  flex:0 0 auto;
}

.project-info-item small{
  display:block;
  color:#2ea004;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:3px;
}

.project-info-item strong{
  display:block;
  color:#22124a;
  font-size:15px;
  line-height:1.35;
}

.project-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.project-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:#f2f0fb;
  color:#22124a;
  border:1px solid #e4e0f5;
  font-size:13px;
  font-weight:800;
}

.project-badge i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#43c713;
  display:block;
}

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

.project-outline-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid #22124a;
  color:#22124a;
  font-weight:900;
  background:#fff;
  transition:.22s ease;
}

.project-outline-btn:hover{
  background:#22124a;
  color:#fff;
}

.property-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:42px 0 0;
}

.metric-card{
  background:#fff;
  border:1px solid #e8ecea;
  border-radius:18px;
  padding:22px 18px;
  text-align:center;
  transition:.22s ease;
}

.metric-card:hover{
  transform:translateY(-4px);
  border-color:#43c713;
}

.metric-card span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#22124a;
  color:#fff;
  margin:0 auto 12px;
  font-weight:900;
}

.metric-card strong{
  display:block;
  color:#22124a;
  font-size:18px;
  line-height:1.2;
}

.metric-card small{
  display:block;
  margin-top:5px;
  color:#777;
  font-size:12px;
}

@media(max-width:980px){
  .portfolio-gallery-pro{
    grid-template-columns:1fr 1fr;
  }

  .portfolio-gallery-pro .portfolio-img:nth-child(1){
    grid-column:span 2;
  }

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

  .property-metrics{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:560px){
  .portfolio-gallery-pro{
    grid-template-columns:1fr;
  }

  .portfolio-gallery-pro .portfolio-img:nth-child(1){
    grid-column:span 1;
  }

  .portfolio-gallery-pro .portfolio-img{
    height:210px;
  }

  .project-copy-card{
    padding:24px;
  }

  .project-copy-card h2{
    font-size:30px;
  }

  .property-metrics{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   FIX: FOTOS REALES EN DETALLE DE PORTAFOLIO
   Evita que agarre los SVG viejos
========================================================= */

.portfolio-gallery-pro .portfolio-img:nth-child(1){
  background:
    linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),
    url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;
}

.portfolio-gallery-pro .portfolio-img:nth-child(2){
  background:
    linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),
    url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;
}

.portfolio-gallery-pro .portfolio-img:nth-child(3){
  background:
    linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),
    url('/assets/img/real/casa-condominio.png') center/cover no-repeat !important;
}

.portfolio-gallery-pro .portfolio-img:nth-child(4){
  background:
    linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),
    url('/assets/img/real/terraza-proyecto.jpeg') center/cover no-repeat !important;
}

.portfolio-gallery-pro .portfolio-img:nth-child(5){
  background:
    linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),
    url('/assets/img/real/bodegas-comercial.png') center/cover no-repeat !important;
}

.portfolio-gallery-pro .portfolio-img:nth-child(6){
  background:
    linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),
    url('/assets/img/real/playa-aerea.png') center/cover no-repeat !important;
}

/* Más altura y presentación limpia */
.portfolio-gallery-pro .portfolio-img{
  background-size:cover !important;
  background-position:center !important;
  border-radius:16px !important;
  border:1px solid #e8ecea !important;
}

/* Quitar cualquier SVG viejo que intente entrar */
.portfolio-gallery-pro .portfolio-img{
  background-color:#f4f4f4;
}


/* FIX FINAL PORTAFOLIO DETALLE */
.portfolio-detail-hero{
  min-height:300px !important;
  display:flex !important;
  align-items:center !important;
  text-align:left !important;
  background:
    linear-gradient(90deg,rgba(7,8,16,.72),rgba(7,8,16,.46),rgba(7,8,16,.16)),
    url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;
}

.portfolio-detail-hero .wrap{
  min-height:300px;
  display:flex;
  align-items:center;
}

.portfolio-detail-hero h1{
  color:#fff !important;
  font-size:56px !important;
  margin:0 0 12px !important;
}

.portfolio-detail-hero p{
  max-width:720px;
  color:#fff !important;
  font-size:17px;
}

.portfolio-detail-hero .kicker{
  display:inline-block;
  background:#43c713;
  color:#fff !important;
  padding:7px 14px;
  border-radius:999px;
  margin-bottom:12px;
}

.portfolio-gallery-pro .portfolio-img:nth-child(1){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(2){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(3){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/casa-condominio.png') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(4){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/terraza-proyecto.jpeg') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(5){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/bodegas-comercial.png') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(6){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/playa-aerea.png') center/cover no-repeat !important;}


/* FIX REAL PORTFOLIO DETAIL */
.portfolio-detail-hero{
  min-height:300px !important;
  text-align:left !important;
  display:flex !important;
  align-items:center !important;
  background:
    linear-gradient(90deg,rgba(7,8,16,.74),rgba(7,8,16,.46),rgba(7,8,16,.16)),
    url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;
}

.portfolio-detail-hero .wrap{
  min-height:300px !important;
  display:flex !important;
  align-items:center !important;
}

.portfolio-detail-hero h1{
  color:#fff !important;
  font-size:56px !important;
  margin:0 0 12px !important;
}

.portfolio-detail-hero p{
  max-width:760px !important;
  color:#fff !important;
  font-size:17px !important;
}

.portfolio-detail-hero .kicker{
  display:inline-block !important;
  background:#43c713 !important;
  color:#fff !important;
  padding:7px 14px !important;
  border-radius:999px !important;
  margin-bottom:12px !important;
}

.portfolio-gallery-pro .portfolio-img:nth-child(1){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(2){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/condominio-tamarindo.jpeg') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(3){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/casa-condominio.png') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(4){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/terraza-proyecto.jpeg') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(5){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/bodegas-comercial.png') center/cover no-repeat !important;}
.portfolio-gallery-pro .portfolio-img:nth-child(6){background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0)),url('/assets/img/real/playa-aerea.png') center/cover no-repeat !important;}


/* =========================================================
   NOSOTROS PRO - HERO SLIDER + SECCIONES PROFESIONALES
   Sin glow, sin sombras fuertes, colores NEI verde/azul
========================================================= */

body.nosotros-pro{
  background:#fff;
}

/* HERO NOSOTROS */
.about-hero-slider{
  position:relative !important;
  min-height:390px !important;
  height:390px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#111 !important;
  text-align:left !important;
  display:block !important;
}

.about-hero-slider .about-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .9s ease, visibility .9s ease;
}

.about-hero-slider .about-slide.active{
  opacity:1;
  visibility:visible;
}

.about-hero-slider .about-slide-bg{
  position:absolute;
  inset:0;
  background:center/cover no-repeat;
  transform:scale(1.03);
  transition:transform 6.5s ease;
}

.about-hero-slider .about-slide.active .about-slide-bg{
  transform:scale(1.08);
}

.about-hero-slider .about-slide:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.78) 34%,rgba(255,255,255,.35) 68%,rgba(255,255,255,.08) 100%),
    linear-gradient(135deg,rgba(67,199,19,.18),rgba(34,18,74,.12));
}

.about-hero-slider .wrap{
  position:relative;
  z-index:5;
  height:390px;
  display:flex;
  align-items:center;
}

.about-hero-content{
  width:min(680px,92%);
  transform:translateY(20px);
  opacity:0;
  transition:.7s ease;
}

.about-slide.active .about-hero-content{
  transform:translateY(0);
  opacity:1;
}

.about-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:#43c713;
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:16px;
}

.about-hero-kicker i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  display:block;
}

.about-hero-slider h1{
  color:#22124a !important;
  font-size:58px !important;
  line-height:1.02 !important;
  margin:0 0 14px !important;
  letter-spacing:-.04em;
}

.about-hero-slider p{
  color:#353142 !important;
  font-size:18px !important;
  line-height:1.62 !important;
  max-width:620px !important;
  margin:0 0 24px !important;
}

.about-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.about-hero-dots{
  position:absolute;
  z-index:8;
  right:38px;
  bottom:30px;
  display:flex;
  gap:9px;
}

.about-hero-dot{
  width:42px;
  height:5px;
  border:0;
  border-radius:999px;
  background:rgba(34,18,74,.18);
  cursor:pointer;
}

.about-hero-dot.active{
  width:68px;
  background:#43c713;
}

/* SECCIÓN INTRO */
body.nosotros-pro .section:first-of-type{
  position:relative;
  padding-top:80px !important;
}

.about-intro-band{
  width:min(1180px,92%);
  margin:0 auto 42px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.about-mini-stat{
  border:1px solid #e8ecea;
  border-left:4px solid #43c713;
  border-radius:16px;
  padding:20px;
  background:#fff;
  transition:.25s ease;
}

.about-mini-stat:hover{
  transform:translateY(-4px);
  border-color:#43c713;
}

.about-mini-stat strong{
  display:block;
  color:#22124a;
  font-size:22px;
  line-height:1.1;
  margin-bottom:6px;
}

.about-mini-stat span{
  color:#666;
  font-size:13px;
  line-height:1.45;
}

/* MEJORAS GENERALES DE NOSOTROS */
body.nosotros-pro .grid-2{
  gap:48px;
}

body.nosotros-pro .title,
body.nosotros-pro h2,
body.nosotros-pro h3{
  color:#22124a;
}

body.nosotros-pro .kicker{
  color:#2ea004 !important;
  letter-spacing:.08em;
}

body.nosotros-pro .fake-photo,
body.nosotros-pro .fake-photo.alt,
body.nosotros-pro .fake-photo.hotel,
body.nosotros-pro .fake-photo.dark{
  border-radius:18px !important;
  border:1px solid #e8ecea;
  min-height:260px;
  transition:.25s ease;
}

body.nosotros-pro .fake-photo:hover,
body.nosotros-pro .gallery-strip .g:hover{
  transform:translateY(-5px);
  border-color:#43c713;
}

body.nosotros-pro .gallery-strip{
  gap:18px;
}

body.nosotros-pro .gallery-strip .g{
  border-radius:16px;
  border:1px solid #e8ecea;
  overflow:hidden;
  transition:.25s ease;
}

/* MISIÓN / VISIÓN */
body.nosotros-pro .mission,
body.nosotros-pro .vision{
  position:relative;
  border:1px solid #343a39;
}

body.nosotros-pro .mission:before,
body.nosotros-pro .vision:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:#43c713;
}

.about-principles{
  background:#f7faf8;
  border-top:1px solid #e8ecea;
  border-bottom:1px solid #e8ecea;
  padding:78px 0;
}

.about-principles .wrap{
  width:min(1180px,92%);
}

.about-principles-head{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
  margin-bottom:34px;
  align-items:end;
}

.about-principles-head h2{
  margin:0;
  color:#22124a;
  font-size:42px;
  line-height:1.08;
}

.about-principles-head p{
  margin:0;
  color:#555;
  line-height:1.7;
}

.about-principles-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.about-principle-card{
  background:#fff;
  border:1px solid #e8ecea;
  border-radius:20px;
  padding:28px 24px;
  transition:.25s ease;
}

.about-principle-card:hover{
  transform:translateY(-5px);
  border-color:#43c713;
}

.about-principle-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  background:#22124a;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  margin-bottom:20px;
}

.about-principle-card:nth-child(even) .about-principle-icon{
  background:#43c713;
}

.about-principle-card h3{
  margin:0 0 10px;
  color:#22124a;
  font-size:20px;
}

.about-principle-card p{
  margin:0;
  color:#666;
  font-size:14px;
  line-height:1.6;
}

/* TESTIMONIO */
body.nosotros-pro .quote-box{
  border:1px solid #43c713 !important;
  border-left:8px solid #43c713 !important;
  border-radius:18px;
}

/* DETALLES */
body.nosotros-pro .detail-card,
body.nosotros-pro .service-box{
  border:1px solid #e8ecea !important;
  border-top:4px solid #22124a !important;
  border-radius:18px !important;
  transition:.25s ease;
}

body.nosotros-pro .detail-card:hover,
body.nosotros-pro .service-box:hover{
  transform:translateY(-5px);
  border-color:#43c713 !important;
  border-top-color:#43c713 !important;
}

/* BONDADES */
body.nosotros-pro .bondades,
body.nosotros-pro .dark-section{
  background:#262b29 !important;
}

body.nosotros-pro .bondades h2,
body.nosotros-pro .dark-section h2{
  color:#fff !important;
}

body.nosotros-pro .bondades h3,
body.nosotros-pro .dark-section h3{
  color:#43c713 !important;
}

/* REVEAL */
body.nosotros-pro .about-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s ease;
}

body.nosotros-pro .about-reveal.in{
  opacity:1;
  transform:translateY(0);
}

/* SIN GLOW */
body.nosotros-pro *,
body.nosotros-pro *:before,
body.nosotros-pro *:after{
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
}

@media(max-width:980px){
  .about-hero-slider,
  .about-hero-slider .wrap{
    height:auto;
    min-height:470px;
  }

  .about-hero-slider h1{
    font-size:42px !important;
  }

  .about-intro-band,
  .about-principles-grid,
  .about-principles-head{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .about-hero-slider,
  .about-hero-slider .wrap{
    min-height:520px;
  }

  .about-hero-slider h1{
    font-size:34px !important;
  }

  .about-hero-dots{
    left:24px;
    right:auto;
  }

  .about-intro-band,
  .about-principles-grid,
  .about-principles-head{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   NOSOTROS - NUEVO SISTEMA DE TARJETAS
   Estadísticas / Testimonio / Detalles / Bondades
========================================================= */

/* Estadísticas superiores */
body.nosotros-pro .about-intro-band{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important;
  margin:0 auto 54px !important;
}

body.nosotros-pro .about-mini-stat{
  position:relative;
  min-height:170px;
  padding:28px 24px !important;
  border:1px solid #e6ece8 !important;
  border-top:5px solid #43c713 !important;
  border-left:1px solid #e6ece8 !important;
  border-radius:22px !important;
  background:#fff !important;
  overflow:hidden;
  transition:.25s ease;
}

body.nosotros-pro .about-mini-stat:before{
  content:"";
  width:54px;
  height:54px;
  border-radius:17px;
  background:#22124a;
  display:block;
  margin-bottom:22px;
}

body.nosotros-pro .about-mini-stat:nth-child(1):after{content:"18+";}
body.nosotros-pro .about-mini-stat:nth-child(2):after{content:"✓";}
body.nosotros-pro .about-mini-stat:nth-child(3):after{content:"◎";}
body.nosotros-pro .about-mini-stat:nth-child(4):after{content:"✉";}

body.nosotros-pro .about-mini-stat:after{
  position:absolute;
  top:41px;
  left:42px;
  color:#fff;
  font-weight:900;
  font-size:17px;
}

body.nosotros-pro .about-mini-stat:hover{
  transform:translateY(-6px);
  border-color:#43c713 !important;
}

body.nosotros-pro .about-mini-stat strong{
  color:#22124a !important;
  font-size:21px !important;
  line-height:1.15 !important;
  margin-bottom:10px !important;
}

body.nosotros-pro .about-mini-stat span{
  color:#555 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Testimonio */
body.nosotros-pro .quote-box{
  position:relative;
  width:min(960px,92%) !important;
  margin:70px auto !important;
  padding:46px 58px 42px !important;
  border:1px solid #e6ece8 !important;
  border-left:7px solid #43c713 !important;
  border-radius:26px !important;
  background:#fff !important;
  text-align:left !important;
}

body.nosotros-pro .quote-box:before{
  content:"Testimonio";
  display:inline-flex;
  margin-bottom:18px;
  padding:7px 13px;
  border-radius:999px;
  background:#eefbea;
  color:#2ea004;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.nosotros-pro .quote-box:after{
  content:"”";
  position:absolute;
  right:34px;
  bottom:10px;
  color:#43c713;
  font-size:110px;
  line-height:1;
  opacity:.16;
  font-family:Georgia,serif;
}

body.nosotros-pro .quote-box h3,
body.nosotros-pro .quote-box strong{
  color:#22124a !important;
  font-size:20px !important;
}

body.nosotros-pro .quote-box p{
  color:#444 !important;
  font-size:17px !important;
  line-height:1.75 !important;
}

/* Nos fijamos en cada detalle */
body.nosotros-pro .details-grid,
body.nosotros-pro .services-list,
body.nosotros-pro .service-grid{
  gap:18px !important;
}

body.nosotros-pro .detail-card,
body.nosotros-pro .service-box{
  position:relative;
  min-height:185px !important;
  padding:28px 24px !important;
  border:1px solid #e6ece8 !important;
  border-top:5px solid #22124a !important;
  border-radius:22px !important;
  background:#fff !important;
  overflow:hidden;
  transition:.25s ease;
}

body.nosotros-pro .detail-card:before,
body.nosotros-pro .service-box:before{
  content:"";
  display:block;
  width:50px;
  height:50px;
  border-radius:16px;
  background:#43c713;
  margin-bottom:20px;
  opacity:1 !important;
  position:static !important;
}

body.nosotros-pro .detail-card:nth-child(1):after,
body.nosotros-pro .service-box:nth-child(1):after{content:"F";}

body.nosotros-pro .detail-card:nth-child(2):after,
body.nosotros-pro .service-box:nth-child(2):after{content:"L";}

body.nosotros-pro .detail-card:nth-child(3):after,
body.nosotros-pro .service-box:nth-child(3):after{content:"D";}

body.nosotros-pro .detail-card:nth-child(4):after,
body.nosotros-pro .service-box:nth-child(4):after{content:"J";}

body.nosotros-pro .detail-card:after,
body.nosotros-pro .service-box:after{
  position:absolute;
  top:42px;
  left:44px;
  color:#fff;
  font-size:18px;
  font-weight:900;
  opacity:1 !important;
  transform:none !important;
  background:none !important;
}

body.nosotros-pro .detail-card:hover,
body.nosotros-pro .service-box:hover{
  transform:translateY(-6px) !important;
  border-color:#43c713 !important;
  border-top-color:#43c713 !important;
}

body.nosotros-pro .detail-card h3,
body.nosotros-pro .service-box h3{
  color:#22124a !important;
  font-size:21px !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
}

body.nosotros-pro .detail-card p,
body.nosotros-pro .service-box p{
  color:#555 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Bondades */
body.nosotros-pro .bondades,
body.nosotros-pro .dark-section{
  background:#252b29 !important;
  padding:76px 0 !important;
}

body.nosotros-pro .bondades .grid-4,
body.nosotros-pro .dark-section .grid-4,
body.nosotros-pro .bondades-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important;
}

body.nosotros-pro .bondades .grid-4 > *,
body.nosotros-pro .dark-section .grid-4 > *,
body.nosotros-pro .bondades-grid > *{
  min-height:210px;
  padding:28px 24px;
  border:1px solid rgba(255,255,255,.12);
  border-top:5px solid #43c713;
  border-radius:22px;
  background:#fff;
  transition:.25s ease;
}

body.nosotros-pro .bondades .grid-4 > *:hover,
body.nosotros-pro .dark-section .grid-4 > *:hover,
body.nosotros-pro .bondades-grid > *:hover{
  transform:translateY(-6px);
  border-color:#43c713;
}

body.nosotros-pro .bondades .grid-4 h3,
body.nosotros-pro .dark-section .grid-4 h3,
body.nosotros-pro .bondades-grid h3{
  color:#22124a !important;
  font-size:21px !important;
  line-height:1.2 !important;
}

body.nosotros-pro .bondades .grid-4 p,
body.nosotros-pro .dark-section .grid-4 p,
body.nosotros-pro .bondades-grid p{
  color:#555 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

/* Quitar amarillos restantes en Nosotros */
body.nosotros-pro [style*="#d8f05b"],
body.nosotros-pro [style*="yellow"]{
  color:#43c713 !important;
  border-color:#43c713 !important;
}

/* Responsive */
@media(max-width:980px){
  body.nosotros-pro .about-intro-band,
  body.nosotros-pro .bondades .grid-4,
  body.nosotros-pro .dark-section .grid-4,
  body.nosotros-pro .bondades-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:620px){
  body.nosotros-pro .about-intro-band,
  body.nosotros-pro .bondades .grid-4,
  body.nosotros-pro .dark-section .grid-4,
  body.nosotros-pro .bondades-grid{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .quote-box{
    padding:34px 26px !important;
  }
}


/* =========================================================
   NOSOTROS - TARJETAS LIMPIAS SIN BORDE LATERAL / SIN LETRAS
========================================================= */

/* Quitar líneas laterales, superiores, letras y pseudo-iconos anteriores */
body.nosotros-pro .about-mini-stat,
body.nosotros-pro .detail-card,
body.nosotros-pro .service-box,
body.nosotros-pro .about-principle-card,
body.nosotros-pro .quote-box,
body.nosotros-pro .bondades .grid-4 > *,
body.nosotros-pro .dark-section .grid-4 > *,
body.nosotros-pro .bondades-grid > *{
  border:1px solid #e8ecea !important;
  border-left:1px solid #e8ecea !important;
  border-top:1px solid #e8ecea !important;
  border-right:1px solid #e8ecea !important;
  border-bottom:1px solid #e8ecea !important;
  background:#fff !important;
  box-shadow:none !important;
}

/* Apagar los pseudo elementos que metían letras o rayas */
body.nosotros-pro .about-mini-stat:before,
body.nosotros-pro .about-mini-stat:after,
body.nosotros-pro .detail-card:before,
body.nosotros-pro .detail-card:after,
body.nosotros-pro .service-box:before,
body.nosotros-pro .service-box:after,
body.nosotros-pro .quote-box:after{
  display:none !important;
  content:none !important;
}

/* Estadísticas: nuevo estilo limpio */
body.nosotros-pro .about-intro-band{
  grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important;
}

body.nosotros-pro .about-mini-stat{
  position:relative;
  min-height:155px !important;
  padding:30px 24px !important;
  border-radius:22px !important;
  overflow:hidden;
  transition:transform .25s ease, border-color .25s ease, background .25s ease !important;
}

body.nosotros-pro .about-mini-stat:hover{
  transform:translateY(-5px);
  border-color:#43c713 !important;
  background:#f8fff5 !important;
}

body.nosotros-pro .about-mini-stat strong{
  color:#22124a !important;
  font-size:22px !important;
  line-height:1.15 !important;
  margin:0 0 12px !important;
}

body.nosotros-pro .about-mini-stat span{
  color:#555 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

/* Decoración suave sin letra */
body.nosotros-pro .about-mini-stat .clean-mark,
body.nosotros-pro .detail-card .clean-mark,
body.nosotros-pro .service-box .clean-mark,
body.nosotros-pro .about-principle-card .clean-mark{
  position:absolute;
  right:18px;
  top:18px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#eefbea;
  border:1px solid #d8f2d1;
}

/* Detalles: Fumigación / Limpieza / Decoración / Jardinería */
body.nosotros-pro .detail-card,
body.nosotros-pro .service-box.about-detail-card-pro{
  position:relative;
  min-height:165px !important;
  padding:30px 26px !important;
  border-radius:22px !important;
  overflow:hidden;
  transition:transform .25s ease, border-color .25s ease, background .25s ease !important;
}

body.nosotros-pro .detail-card:hover,
body.nosotros-pro .service-box.about-detail-card-pro:hover{
  transform:translateY(-5px) !important;
  border-color:#43c713 !important;
  background:#f8fff5 !important;
}

body.nosotros-pro .detail-card h3,
body.nosotros-pro .service-box.about-detail-card-pro h3{
  color:#22124a !important;
  font-size:21px !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
}

body.nosotros-pro .detail-card p,
body.nosotros-pro .service-box.about-detail-card-pro p{
  color:#555 !important;
  font-size:14px !important;
  line-height:1.6 !important;
  margin:0 !important;
}

/* Quitar iconos verdes cuadrados viejos dentro de service-box en Nosotros */
body.nosotros-pro .service-box .icon{
  display:none !important;
}

/* Testimonio limpio, sin raya lateral */
body.nosotros-pro .quote-box{
  position:relative;
  width:min(960px,92%) !important;
  margin:70px auto !important;
  padding:44px 54px !important;
  border-radius:26px !important;
  text-align:center !important;
  overflow:hidden;
}

body.nosotros-pro .quote-box:before{
  content:"Testimonio" !important;
  display:inline-flex !important;
  margin:0 auto 18px !important;
  padding:7px 14px !important;
  border-radius:999px !important;
  background:#eefbea !important;
  color:#2ea004 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body.nosotros-pro .quote-box h3,
body.nosotros-pro .quote-box strong{
  color:#22124a !important;
}

body.nosotros-pro .quote-box p{
  color:#444 !important;
  font-size:17px !important;
  line-height:1.75 !important;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

/* Principios y bondades: mismo estilo limpio */
body.nosotros-pro .about-principle-card,
body.nosotros-pro .bondades .grid-4 > *,
body.nosotros-pro .dark-section .grid-4 > *,
body.nosotros-pro .bondades-grid > *{
  position:relative;
  border-radius:22px !important;
  padding:30px 26px !important;
  min-height:185px !important;
  transition:transform .25s ease, border-color .25s ease, background .25s ease !important;
}

body.nosotros-pro .about-principle-card:hover,
body.nosotros-pro .bondades .grid-4 > *:hover,
body.nosotros-pro .dark-section .grid-4 > *:hover,
body.nosotros-pro .bondades-grid > *:hover{
  transform:translateY(-5px);
  border-color:#43c713 !important;
  background:#f8fff5 !important;
}

body.nosotros-pro .about-principle-icon{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  background:#eefbea !important;
  color:#2ea004 !important;
  border:1px solid #d8f2d1 !important;
  margin-bottom:18px !important;
}

/* En sección oscura, tarjetas blancas limpias */
body.nosotros-pro .bondades,
body.nosotros-pro .dark-section{
  background:#252b29 !important;
}

body.nosotros-pro .bondades h2,
body.nosotros-pro .dark-section h2{
  color:#fff !important;
}

body.nosotros-pro .bondades .grid-4 h3,
body.nosotros-pro .dark-section .grid-4 h3,
body.nosotros-pro .bondades-grid h3{
  color:#22124a !important;
}

body.nosotros-pro .bondades .grid-4 p,
body.nosotros-pro .dark-section .grid-4 p,
body.nosotros-pro .bondades-grid p{
  color:#555 !important;
}

/* Quitar cualquier borde azul/verde grueso que quedara */
body.nosotros-pro .service-box,
body.nosotros-pro .detail-card,
body.nosotros-pro .about-mini-stat,
body.nosotros-pro .quote-box{
  border-width:1px !important;
}

/* Responsive */
@media(max-width:980px){
  body.nosotros-pro .about-intro-band{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:620px){
  body.nosotros-pro .about-intro-band{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .quote-box{
    padding:34px 24px !important;
  }
}


/* =========================================================
   NOSOTROS - AJUSTE FINAL PREMIUM
========================================================= */
body.nosotros-pro{
  --nei-green:#43c713;
  --nei-green-soft:#eefbe8;
  --nei-blue:#1f3f95;
  --nei-navy:#241b58;
  --nei-dark:#23292e;
  --nei-dark-2:#1d2227;
  --nei-text:#59636e;
  --nei-line:#e7ece9;
  --nei-white:#ffffff;
  --nei-soft:#f7faf8;
}

/* Contenedores generales */
body.nosotros-pro section{
  position:relative;
}

/* Titulares */
body.nosotros-pro h1,
body.nosotros-pro h2,
body.nosotros-pro h3{
  letter-spacing:-0.02em;
}

body.nosotros-pro .section-kicker,
body.nosotros-pro .eyebrow,
body.nosotros-pro .mini-kicker{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:var(--nei-green-soft);
  color:#2ea004;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* =========================================================
   ESTADÍSTICAS SUPERIORES
========================================================= */
body.nosotros-pro .about-intro-band{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:22px !important;
  margin:32px auto 10px !important;
}

body.nosotros-pro .about-mini-stat{
  position:relative;
  min-height:170px !important;
  padding:28px 24px !important;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbf8 100%) !important;
  border:1px solid var(--nei-line) !important;
  border-radius:24px !important;
  box-shadow:0 18px 40px rgba(12,22,34,.06) !important;
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

body.nosotros-pro .about-mini-stat:hover{
  transform:translateY(-6px);
  border-color:#cfe8c8 !important;
  box-shadow:0 24px 50px rgba(12,22,34,.10) !important;
}

body.nosotros-pro .about-mini-stat::before{
  content:"";
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--nei-green-soft),#dff5d4);
  border:1px solid #d0ebc6;
}

body.nosotros-pro .about-mini-stat strong,
body.nosotros-pro .about-mini-stat .stat-value{
  display:block;
  margin:0 0 10px;
  color:var(--nei-navy) !important;
  font-size:34px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
}

body.nosotros-pro .about-mini-stat span,
body.nosotros-pro .about-mini-stat small,
body.nosotros-pro .about-mini-stat p{
  display:block;
  color:var(--nei-text) !important;
  font-size:14px !important;
  line-height:1.65 !important;
  margin:0 !important;
}

/* =========================================================
   BLOQUES PRINCIPALES QUIÉNES SOMOS / MISIÓN / VISIÓN
========================================================= */
body.nosotros-pro .about-main-card,
body.nosotros-pro .mission-card,
body.nosotros-pro .vision-card,
body.nosotros-pro .mision-box,
body.nosotros-pro .vision-box,
body.nosotros-pro .mv-card,
body.nosotros-pro .about-principle-card{
  background:linear-gradient(180deg,#ffffff 0%, #f8fbf8 100%) !important;
  border:1px solid var(--nei-line) !important;
  border-radius:28px !important;
  box-shadow:0 20px 44px rgba(12,22,34,.07) !important;
  padding:34px 30px !important;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

body.nosotros-pro .about-main-card:hover,
body.nosotros-pro .mission-card:hover,
body.nosotros-pro .vision-card:hover,
body.nosotros-pro .mision-box:hover,
body.nosotros-pro .vision-box:hover,
body.nosotros-pro .mv-card:hover,
body.nosotros-pro .about-principle-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 54px rgba(12,22,34,.10) !important;
  border-color:#d2e8cf !important;
}

body.nosotros-pro .mission-card h3,
body.nosotros-pro .vision-card h3,
body.nosotros-pro .mision-box h3,
body.nosotros-pro .vision-box h3,
body.nosotros-pro .mv-card h3,
body.nosotros-pro .about-principle-card h3{
  color:var(--nei-navy) !important;
  font-size:28px !important;
  margin:0 0 14px !important;
}

body.nosotros-pro .mission-card p,
body.nosotros-pro .vision-card p,
body.nosotros-pro .mision-box p,
body.nosotros-pro .vision-box p,
body.nosotros-pro .mv-card p,
body.nosotros-pro .about-principle-card p{
  color:var(--nei-text) !important;
  line-height:1.8 !important;
}

/* =========================================================
   TESTIMONIO
========================================================= */
body.nosotros-pro .quote-box,
body.nosotros-pro .testimonial-card{
  position:relative;
  width:min(100%, 980px) !important;
  margin:70px auto !important;
  padding:42px 50px !important;
  background:linear-gradient(135deg,#ffffff 0%, #f7fbf7 100%) !important;
  border:1px solid #e2ece0 !important;
  border-radius:30px !important;
  box-shadow:0 22px 52px rgba(12,22,34,.08) !important;
  text-align:center !important;
  overflow:hidden;
}

body.nosotros-pro .quote-box::before,
body.nosotros-pro .testimonial-card::before{
  content:"Testimonio";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 18px;
  padding:7px 14px;
  border-radius:999px;
  background:var(--nei-green-soft);
  color:#2ea004;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.nosotros-pro .quote-box::after,
body.nosotros-pro .testimonial-card::after{
  content:"“";
  position:absolute;
  right:36px;
  bottom:24px;
  font-size:92px;
  line-height:1;
  color:rgba(67,199,19,.14);
  font-family:Georgia, serif;
}

body.nosotros-pro .quote-box h3,
body.nosotros-pro .quote-box strong,
body.nosotros-pro .testimonial-card h3,
body.nosotros-pro .testimonial-card strong{
  color:var(--nei-navy) !important;
  font-size:28px !important;
  margin:0 0 14px !important;
}

body.nosotros-pro .quote-box p,
body.nosotros-pro .testimonial-card p{
  color:var(--nei-text) !important;
  font-size:17px !important;
  line-height:1.8 !important;
  max-width:720px;
  margin:0 auto !important;
}

/* =========================================================
   GALERÍA PEQUEÑA
========================================================= */
body.nosotros-pro .about-gallery-strip,
body.nosotros-pro .nosotros-gallery{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:24px auto 42px !important;
}

body.nosotros-pro .about-gallery-strip img,
body.nosotros-pro .nosotros-gallery img{
  width:100% !important;
  height:180px !important;
  object-fit:cover !important;
  border-radius:22px !important;
  border:1px solid var(--nei-line) !important;
  box-shadow:0 14px 34px rgba(12,22,34,.08) !important;
  transition:transform .30s ease, box-shadow .30s ease !important;
}

body.nosotros-pro .about-gallery-strip img:hover,
body.nosotros-pro .nosotros-gallery img:hover{
  transform:translateY(-6px) scale(1.01);
  box-shadow:0 22px 42px rgba(12,22,34,.12) !important;
}

/* =========================================================
   DETALLES - FUMIGACIÓN / LIMPIEZA / ETC
========================================================= */
body.nosotros-pro .detail-card,
body.nosotros-pro .service-box.about-detail-card-pro{
  position:relative;
  min-height:180px !important;
  padding:28px 24px !important;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbf8 100%) !important;
  border:1px solid var(--nei-line) !important;
  border-radius:24px !important;
  box-shadow:0 16px 34px rgba(12,22,34,.06) !important;
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

body.nosotros-pro .detail-card:hover,
body.nosotros-pro .service-box.about-detail-card-pro:hover{
  transform:translateY(-6px);
  border-color:#d3e9cd !important;
  box-shadow:0 24px 46px rgba(12,22,34,.10) !important;
}

body.nosotros-pro .detail-card::before,
body.nosotros-pro .service-box.about-detail-card-pro::before{
  content:"";
  position:absolute;
  top:18px;
  left:18px;
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--nei-green),#79da42);
  box-shadow:0 8px 18px rgba(67,199,19,.18);
}

body.nosotros-pro .detail-card h3,
body.nosotros-pro .service-box.about-detail-card-pro h3{
  color:var(--nei-navy) !important;
  font-size:24px !important;
  margin:52px 0 12px !important;
}

body.nosotros-pro .detail-card p,
body.nosotros-pro .service-box.about-detail-card-pro p{
  color:var(--nei-text) !important;
  font-size:14px !important;
  line-height:1.7 !important;
  margin:0 !important;
}

/* Oculta íconos/letters viejos si quedaron */
body.nosotros-pro .detail-card .icon,
body.nosotros-pro .service-box.about-detail-card-pro .icon,
body.nosotros-pro .about-mini-stat .icon{
  display:none !important;
}

/* =========================================================
   BONDADES - AHORA BONITO Y LEGIBLE
========================================================= */
body.nosotros-pro .bondades,
body.nosotros-pro .dark-section{
  background:
    radial-gradient(circle at top right, rgba(67,199,19,.16), transparent 26%),
    linear-gradient(135deg,#1d2228 0%, #262c31 50%, #1e2328 100%) !important;
  padding:78px 0 !important;
  overflow:hidden;
}

body.nosotros-pro .bondades h2,
body.nosotros-pro .dark-section h2{
  color:#ffffff !important;
  font-size:52px !important;
  line-height:1.05 !important;
  margin:8px 0 18px !important;
}

body.nosotros-pro .bondades .section-kicker,
body.nosotros-pro .dark-section .section-kicker,
body.nosotros-pro .bondades .eyebrow,
body.nosotros-pro .dark-section .eyebrow{
  background:rgba(67,199,19,.14) !important;
  color:#7de24a !important;
}

body.nosotros-pro .bondades .grid-4,
body.nosotros-pro .dark-section .grid-4,
body.nosotros-pro .bondades-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
  margin-top:28px !important;
}

body.nosotros-pro .bondades .grid-4 > *,
body.nosotros-pro .dark-section .grid-4 > *,
body.nosotros-pro .bondades-grid > *{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbf8 100%) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:24px !important;
  padding:28px 24px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.18) !important;
  transition:transform .28s ease, box-shadow .28s ease !important;
}

body.nosotros-pro .bondades .grid-4 > *:hover,
body.nosotros-pro .dark-section .grid-4 > *:hover,
body.nosotros-pro .bondades-grid > *:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 54px rgba(0,0,0,.22) !important;
}

body.nosotros-pro .bondades .grid-4 > *::before,
body.nosotros-pro .dark-section .grid-4 > *::before,
body.nosotros-pro .bondades-grid > *::before{
  content:"";
  display:block;
  width:48px;
  height:6px;
  border-radius:999px;
  margin-bottom:18px;
  background:linear-gradient(90deg,var(--nei-green),#8ce34f);
}

body.nosotros-pro .bondades .grid-4 h3,
body.nosotros-pro .dark-section .grid-4 h3,
body.nosotros-pro .bondades-grid h3{
  color:var(--nei-navy) !important;
  font-size:26px !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
}

body.nosotros-pro .bondades .grid-4 p,
body.nosotros-pro .dark-section .grid-4 p,
body.nosotros-pro .bondades-grid p{
  color:var(--nei-text) !important;
  font-size:15px !important;
  line-height:1.75 !important;
  margin:0 !important;
}

/* =========================================================
   FRANJA DE CONTACTO PRE-FOOTER
========================================================= */
body.nosotros-pro .prefooter-contact,
body.nosotros-pro .contact-band,
body.nosotros-pro .about-contact-band,
body.nosotros-pro .footer-contact-strip{
  padding:38px 0 !important;
  position:relative;
}

body.nosotros-pro .prefooter-contact .grid-3,
body.nosotros-pro .contact-band .grid-3,
body.nosotros-pro .about-contact-band .grid-3,
body.nosotros-pro .footer-contact-strip .grid-3{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

body.nosotros-pro .prefooter-contact .grid-3 > *,
body.nosotros-pro .contact-band .grid-3 > *,
body.nosotros-pro .about-contact-band .grid-3 > *,
body.nosotros-pro .footer-contact-strip .grid-3 > *{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  backdrop-filter:blur(8px);
  border-radius:20px !important;
  padding:22px 24px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.14) !important;
}

body.nosotros-pro .prefooter-contact h4,
body.nosotros-pro .contact-band h4,
body.nosotros-pro .about-contact-band h4,
body.nosotros-pro .footer-contact-strip h4{
  color:#dff8d7 !important;
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  margin:0 0 8px !important;
}

body.nosotros-pro .prefooter-contact p,
body.nosotros-pro .prefooter-contact a,
body.nosotros-pro .contact-band p,
body.nosotros-pro .contact-band a,
body.nosotros-pro .about-contact-band p,
body.nosotros-pro .about-contact-band a,
body.nosotros-pro .footer-contact-strip p,
body.nosotros-pro .footer-contact-strip a{
  color:#ffffff !important;
  font-size:18px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

/* =========================================================
   FOOTER INTERNO
========================================================= */
body.nosotros-pro footer{
  background:#6f7370 !important;
}

body.nosotros-pro footer .footer-inner,
body.nosotros-pro footer .container{
  padding-top:34px;
  padding-bottom:20px;
}

body.nosotros-pro footer h4,
body.nosotros-pro footer .widget-title{
  color:#ffffff !important;
}

body.nosotros-pro footer,
body.nosotros-pro footer p,
body.nosotros-pro footer li,
body.nosotros-pro footer a{
  color:#f0f4f1 !important;
}

body.nosotros-pro footer a:hover{
  color:#b9f285 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1100px){
  body.nosotros-pro .about-intro-band,
  body.nosotros-pro .bondades .grid-4,
  body.nosotros-pro .dark-section .grid-4,
  body.nosotros-pro .bondades-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:900px){
  body.nosotros-pro .about-gallery-strip,
  body.nosotros-pro .nosotros-gallery{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .prefooter-contact .grid-3,
  body.nosotros-pro .contact-band .grid-3,
  body.nosotros-pro .about-contact-band .grid-3,
  body.nosotros-pro .footer-contact-strip .grid-3{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:700px){
  body.nosotros-pro .about-intro-band,
  body.nosotros-pro .bondades .grid-4,
  body.nosotros-pro .dark-section .grid-4,
  body.nosotros-pro .bondades-grid{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .bondades h2,
  body.nosotros-pro .dark-section h2{
    font-size:38px !important;
  }

  body.nosotros-pro .quote-box,
  body.nosotros-pro .testimonial-card{
    padding:34px 24px !important;
  }
}


/* =========================================================
   FIX REAL BONDADES - NOSOTROS
========================================================= */

body.nosotros-pro .bondades-fixed{
  background:
    linear-gradient(135deg,#20262b 0%,#29302f 100%) !important;
  padding:86px 0 !important;
}

body.nosotros-pro .bondades-fixed .wrap{
  width:min(1180px,92%);
  margin:auto;
}

body.nosotros-pro .bondades-fixed .bondades-head{
  max-width:760px;
  margin-bottom:34px;
}

body.nosotros-pro .bondades-fixed .bondades-kicker{
  display:inline-block;
  color:#43c713 !important;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  margin-bottom:12px;
}

body.nosotros-pro .bondades-fixed h2{
  color:#fff !important;
  font-size:48px !important;
  line-height:1.05 !important;
  margin:0 0 14px !important;
}

body.nosotros-pro .bondades-fixed .bondades-intro{
  color:rgba(255,255,255,.78) !important;
  font-size:16px !important;
  line-height:1.7 !important;
  margin:0 !important;
}

body.nosotros-pro .bondades-card-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
}

body.nosotros-pro .bondad-card{
  background:#fff !important;
  border:1px solid #e8ecea !important;
  border-radius:24px !important;
  padding:30px 26px !important;
  min-height:230px !important;
  box-shadow:none !important;
  transition:transform .25s ease, border-color .25s ease, background .25s ease !important;
}

body.nosotros-pro .bondad-card:hover{
  transform:translateY(-6px);
  border-color:#43c713 !important;
  background:#f8fff5 !important;
}

body.nosotros-pro .bondad-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:#eefbea;
  border:1px solid #d9f1d2;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#2ea004;
  font-size:24px;
  margin-bottom:22px;
}

body.nosotros-pro .bondad-card h3{
  color:#22124a !important;
  font-size:22px !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
}

body.nosotros-pro .bondad-card p{
  color:#555 !important;
  font-size:14px !important;
  line-height:1.7 !important;
  margin:0 !important;
}

/* matar el estilo viejo que se veía como texto suelto */
body.nosotros-pro .bondades:not(.bondades-fixed),
body.nosotros-pro .dark-section:not(.bondades-fixed){
  background:#20262b !important;
}

body.nosotros-pro .bondades:not(.bondades-fixed) > .wrap > .grid-4,
body.nosotros-pro .dark-section:not(.bondades-fixed) > .wrap > .grid-4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
}

body.nosotros-pro .bondades:not(.bondades-fixed) > .wrap > .grid-4 > *,
body.nosotros-pro .dark-section:not(.bondades-fixed) > .wrap > .grid-4 > *{
  background:#fff !important;
  border:1px solid #e8ecea !important;
  border-radius:24px !important;
  padding:30px 26px !important;
  color:#555 !important;
}

body.nosotros-pro .bondades:not(.bondades-fixed) h3,
body.nosotros-pro .dark-section:not(.bondades-fixed) h3{
  color:#22124a !important;
}

body.nosotros-pro .bondades:not(.bondades-fixed) p,
body.nosotros-pro .dark-section:not(.bondades-fixed) p{
  color:#555 !important;
}

@media(max-width:1050px){
  body.nosotros-pro .bondades-card-grid,
  body.nosotros-pro .bondades:not(.bondades-fixed) > .wrap > .grid-4,
  body.nosotros-pro .dark-section:not(.bondades-fixed) > .wrap > .grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  body.nosotros-pro .bondades-card-grid,
  body.nosotros-pro .bondades:not(.bondades-fixed) > .wrap > .grid-4,
  body.nosotros-pro .dark-section:not(.bondades-fixed) > .wrap > .grid-4{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .bondades-fixed h2{
    font-size:36px !important;
  }
}


/* =========================================================
   FOOTER CLARO PREMIUM - NEI
========================================================= */

.footer,
footer{
  background:#f6f8f7 !important;
  color:#26302f !important;
  border-top:1px solid #e3e8e5 !important;
  box-shadow:none !important;
}

.footer *,
footer *{
  text-shadow:none !important;
  box-shadow:none !important;
}

.footer .wrap,
footer .wrap{
  color:#26302f !important;
}

/* Quitar fondo gris oscuro anterior */
.footer-main,
.footer-content,
.footer-inner{
  background:transparent !important;
}

/* Logo y nombre */
.footer h3,
.footer h4,
.footer strong,
footer h3,
footer h4,
footer strong{
  color:#22124a !important;
}

/* Texto normal */
.footer p,
.footer li,
.footer span,
.footer small,
footer p,
footer li,
footer span,
footer small{
  color:#4f5a58 !important;
}

/* Links */
.footer a,
footer a{
  color:#26302f !important;
  text-decoration:none !important;
  transition:.2s ease;
}

.footer a:hover,
footer a:hover{
  color:#2ea004 !important;
}

/* Columnas */
.footer-col,
.footer-widget,
footer .footer-col,
footer .footer-widget{
  color:#26302f !important;
}

/* Ítems de contacto */
.footer-contact li,
.footer-menu li,
footer ul li{
  color:#4f5a58 !important;
}

/* Flechitas o bullets */
.footer li::marker,
footer li::marker{
  color:#43c713 !important;
}

/* Redes sociales */
.footer .socials a,
footer .socials a,
.socials a{
  background:#43c713 !important;
  color:#fff !important;
  border:0 !important;
}

.footer .socials a:hover,
footer .socials a:hover,
.socials a:hover{
  background:#22124a !important;
  color:#fff !important;
}

/* Redes sociales: colores originales de marca */
.top-right .social-mark,
.footer .socials .social-mark,
footer .socials .social-mark,
.whatsapp.social-mark{
  transition:opacity .2s ease,transform .2s ease,filter .2s ease;
}

.top-right .social-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}

.top-right .social-mark:hover,
.footer .socials .social-mark:hover,
footer .socials .social-mark:hover,
.whatsapp.social-mark:hover{
  opacity:.85;
  transform:translateY(-1px);
}

.top-right .social-facebook,
.footer .socials .social-facebook,
footer .socials .social-facebook{
  color:#1877F2 !important;
  background:transparent !important;
}

.top-right .social-instagram,
.footer .socials .social-instagram,
footer .socials .social-instagram{
  color:#E4405F !important;
  background:transparent !important;
}

.top-right .social-youtube,
.footer .socials .social-youtube,
footer .socials .social-youtube{
  color:#FF0000 !important;
  background:transparent !important;
}

.footer .socials .social-facebook,
footer .socials .social-facebook{
  color:#fff !important;
  background:#1877F2 !important;
}

.footer .socials .social-instagram,
footer .socials .social-instagram{
  color:#fff !important;
  background:linear-gradient(135deg,#F58529,#DD2A7B,#8134AF,#515BD4) !important;
}

.footer .socials .social-youtube,
footer .socials .social-youtube{
  color:#fff !important;
  background:#FF0000 !important;
}

.footer .socials .social-whatsapp,
footer .socials .social-whatsapp,
.whatsapp.social-mark{
  color:#fff !important;
  background:#25D366 !important;
}

.top-right .social-whatsapp{
  color:#25D366 !important;
  background:transparent !important;
}

/* Franja superior de contacto antes del footer */
.contact-strip,
.footer-contact-strip,
.prefooter-contact,
.contact-band,
.about-contact-band{
  background:
    linear-gradient(90deg,rgba(34,18,74,.78),rgba(34,18,74,.60)),
    url('/assets/img/real/condominio-heredia.jpeg') center/cover no-repeat !important;
  color:#fff !important;
}

.contact-strip *,
.footer-contact-strip *,
.prefooter-contact *,
.contact-band *,
.about-contact-band *{
  color:#fff !important;
}

/* Footer inferior copyright */
.footer-bottom,
.copyright,
footer .copyright,
footer .footer-bottom{
  background:#ffffff !important;
  color:#4f5a58 !important;
  border-top:1px solid #e3e8e5 !important;
  padding:18px 0 !important;
  font-size:13px !important;
  text-align:left !important;
}

.footer-bottom *,
.copyright *,
footer .copyright *,
footer .footer-bottom *{
  color:#4f5a58 !important;
}

/* Logo en footer */
.footer img,
footer img{
  max-height:58px;
  width:auto;
}

/* Separación general */
.footer{
  padding-top:52px !important;
}

/* Forzar Nosotros también claro */
body.nosotros-pro footer,
body.nosotros-pro .footer{
  background:#f6f8f7 !important;
  color:#26302f !important;
}

body.nosotros-pro footer h3,
body.nosotros-pro footer h4,
body.nosotros-pro footer strong,
body.nosotros-pro .footer h3,
body.nosotros-pro .footer h4,
body.nosotros-pro .footer strong{
  color:#22124a !important;
}

body.nosotros-pro footer p,
body.nosotros-pro footer li,
body.nosotros-pro footer span,
body.nosotros-pro footer small,
body.nosotros-pro .footer p,
body.nosotros-pro .footer li,
body.nosotros-pro .footer span,
body.nosotros-pro .footer small{
  color:#4f5a58 !important;
}

body.nosotros-pro footer a,
body.nosotros-pro .footer a{
  color:#26302f !important;
}

body.nosotros-pro footer a:hover,
body.nosotros-pro .footer a:hover{
  color:#2ea004 !important;
}

@media(max-width:780px){
  .footer,
  footer{
    text-align:left !important;
  }

  .footer-bottom,
  .copyright,
  footer .copyright,
  footer .footer-bottom{
    text-align:center !important;
  }
}


/* =========================================================
   NOSOTROS - AJUSTE FINO MINI TARJETAS + MISION/VISION
========================================================= */

/* 4 mini tarjetas superiores */
body.nosotros-pro .about-intro-band,
body.nosotros-pro .about-stats-grid,
body.nosotros-pro .about-mini-stats,
body.nosotros-pro .about-mini-wrap{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
  margin:24px 0 34px !important;
}

body.nosotros-pro .about-mini-stat,
body.nosotros-pro .mini-stat-card,
body.nosotros-pro .stat-card{
  position:relative !important;
  min-height:138px !important;
  padding:16px 16px 14px 16px !important;
  border-radius:20px !important;
  background:#ffffff !important;
  border:1px solid #e3ebe5 !important;
  box-shadow:0 10px 24px rgba(25,38,35,.07) !important;
  overflow:hidden !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.nosotros-pro .about-mini-stat:hover,
body.nosotros-pro .mini-stat-card:hover,
body.nosotros-pro .stat-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 16px 34px rgba(25,38,35,.12) !important;
  border-color:#bfe6b0 !important;
}

body.nosotros-pro .about-mini-stat::before,
body.nosotros-pro .mini-stat-card::before,
body.nosotros-pro .stat-card::before{
  content:"" !important;
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:26px !important;
  height:26px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#43c713,#78df42) !important;
  box-shadow:0 8px 18px rgba(67,199,19,.24) !important;
}

body.nosotros-pro .about-mini-stat h3,
body.nosotros-pro .mini-stat-card h3,
body.nosotros-pro .stat-card h3,
body.nosotros-pro .about-mini-stat strong,
body.nosotros-pro .mini-stat-card strong,
body.nosotros-pro .stat-card strong{
  display:block !important;
  margin:0 34px 8px 0 !important;
  font-size:17px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  color:#22124a !important;
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
}

body.nosotros-pro .about-mini-stat p,
body.nosotros-pro .mini-stat-card p,
body.nosotros-pro .stat-card p,
body.nosotros-pro .about-mini-stat span,
body.nosotros-pro .mini-stat-card span,
body.nosotros-pro .stat-card span,
body.nosotros-pro .about-mini-stat small,
body.nosotros-pro .mini-stat-card small,
body.nosotros-pro .stat-card small{
  display:block !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:#566260 !important;
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
}

/* franjita superior verde */
body.nosotros-pro .about-mini-stat::after,
body.nosotros-pro .mini-stat-card::after,
body.nosotros-pro .stat-card::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:4px !important;
  background:linear-gradient(90deg,#43c713,#8fe35b) !important;
  opacity:.95 !important;
}

/* Misión / Visión */
body.nosotros-pro .about-values,
body.nosotros-pro .mission-vision,
body.nosotros-pro .mission-vision-section,
body.nosotros-pro .about-purpose{
  background:#f5f8f6 !important;
  padding:56px 0 !important;
}

body.nosotros-pro .about-values-grid,
body.nosotros-pro .mission-vision-grid,
body.nosotros-pro .about-purpose-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

body.nosotros-pro .about-mission,
body.nosotros-pro .about-vision,
body.nosotros-pro .mission-card,
body.nosotros-pro .vision-card,
body.nosotros-pro .about-values .card{
  position:relative !important;
  background:#ffffff !important;
  border:1px solid #e3ebe5 !important;
  border-radius:24px !important;
  padding:28px 26px 24px !important;
  min-height:290px !important;
  box-shadow:0 12px 30px rgba(25,38,35,.08) !important;
  color:#30403d !important;
  overflow:hidden !important;
}

body.nosotros-pro .about-mission::before,
body.nosotros-pro .about-vision::before,
body.nosotros-pro .mission-card::before,
body.nosotros-pro .vision-card::before,
body.nosotros-pro .about-values .card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:5px !important;
  background:linear-gradient(90deg,#43c713,#22124a) !important;
}

body.nosotros-pro .about-mission h3,
body.nosotros-pro .about-vision h3,
body.nosotros-pro .mission-card h3,
body.nosotros-pro .vision-card h3,
body.nosotros-pro .about-values .card h3,
body.nosotros-pro .about-mission h4,
body.nosotros-pro .about-vision h4,
body.nosotros-pro .mission-card h4,
body.nosotros-pro .vision-card h4{
  margin:0 0 14px 0 !important;
  font-size:28px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  color:#22124a !important;
  background:transparent !important;
  padding:0 !important;
}

body.nosotros-pro .about-mission p,
body.nosotros-pro .about-vision p,
body.nosotros-pro .mission-card p,
body.nosotros-pro .vision-card p,
body.nosotros-pro .about-values .card p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.78 !important;
  color:#4f5c5a !important;
  background:transparent !important;
  padding:0 !important;
}

/* por si había texto muy claro o escondido */
body.nosotros-pro .about-mission *,
body.nosotros-pro .about-vision *,
body.nosotros-pro .mission-card *,
body.nosotros-pro .vision-card *,
body.nosotros-pro .about-values .card *{
  text-shadow:none !important;
}

/* responsive */
@media (max-width: 980px){
  body.nosotros-pro .about-intro-band,
  body.nosotros-pro .about-stats-grid,
  body.nosotros-pro .about-mini-stats,
  body.nosotros-pro .about-mini-wrap{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body.nosotros-pro .about-values-grid,
  body.nosotros-pro .mission-vision-grid,
  body.nosotros-pro .about-purpose-grid{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 640px){
  body.nosotros-pro .about-intro-band,
  body.nosotros-pro .about-stats-grid,
  body.nosotros-pro .about-mini-stats,
  body.nosotros-pro .about-mini-wrap{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .about-mini-stat,
  body.nosotros-pro .mini-stat-card,
  body.nosotros-pro .stat-card{
    min-height:auto !important;
  }

  body.nosotros-pro .about-mission,
  body.nosotros-pro .about-vision,
  body.nosotros-pro .mission-card,
  body.nosotros-pro .vision-card,
  body.nosotros-pro .about-values .card{
    min-height:auto !important;
  }
}


/* =========================================================
   NOSOTROS - LIMPIEZA FINAL DE BLOQUES ROTOS
========================================================= */

body.nosotros-pro .nei-stats-clean,
body.nosotros-pro .nei-stats-clean * ,
body.nosotros-pro .nei-mv-clean-section,
body.nosotros-pro .nei-mv-clean-section *{
  box-shadow:none;
  text-shadow:none;
  filter:none;
}

/* borrar cualquier fondo gris raro en textos */
body.nosotros-pro .nei-stats-clean h3,
body.nosotros-pro .nei-stats-clean p,
body.nosotros-pro .nei-stats-clean span,
body.nosotros-pro .nei-mv-clean-section h2,
body.nosotros-pro .nei-mv-clean-section h3,
body.nosotros-pro .nei-mv-clean-section p,
body.nosotros-pro .nei-mv-clean-section span{
  background:transparent !important;
}

/* 4 tarjetas pequeñas */
body.nosotros-pro .nei-stats-clean{
  width:min(1040px,92%);
  margin:34px auto 58px !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:14px !important;
}

body.nosotros-pro .nei-stat-clean{
  position:relative;
  min-height:118px;
  padding:18px 16px 16px;
  background:#fff;
  border:1px solid #e4ebe7;
  border-radius:18px;
  overflow:hidden;
  transition:transform .22s ease, border-color .22s ease, background .22s ease;
}

body.nosotros-pro .nei-stat-clean:hover{
  transform:translateY(-4px);
  border-color:#43c713;
  background:#fbfff9;
}

body.nosotros-pro .nei-stat-icon{
  width:28px;
  height:28px;
  border-radius:999px;
  background:#43c713 !important;
  color:#fff !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
  margin-bottom:12px;
}

body.nosotros-pro .nei-stat-clean h3{
  margin:0 0 6px !important;
  color:#22124a !important;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
}

body.nosotros-pro .nei-stat-clean p{
  margin:0 !important;
  color:#5b6663 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
}

/* Misión / Visión */
body.nosotros-pro .nei-mv-clean-section{
  background:#f6f9f7 !important;
  padding:74px 0 !important;
  color:#26302f !important;
}

body.nosotros-pro .nei-mv-clean-section .wrap{
  width:min(1120px,92%);
  margin:auto;
}

body.nosotros-pro .nei-mv-clean-head{
  max-width:720px;
  margin:0 0 32px;
}

body.nosotros-pro .nei-mv-clean-head span{
  display:inline-block;
  color:#2ea004 !important;
  font-size:12px !important;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  margin-bottom:10px;
}

body.nosotros-pro .nei-mv-clean-head h2{
  margin:0 0 12px !important;
  color:#22124a !important;
  font-size:42px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
}

body.nosotros-pro .nei-mv-clean-head p{
  margin:0 !important;
  color:#5b6663 !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

body.nosotros-pro .nei-mv-clean-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

body.nosotros-pro .nei-mv-card{
  background:#fff !important;
  border:1px solid #e4ebe7 !important;
  border-radius:26px;
  padding:34px 32px;
  min-height:310px;
  color:#26302f !important;
  transition:transform .24s ease, border-color .24s ease, background .24s ease;
}

body.nosotros-pro .nei-mv-card:hover{
  transform:translateY(-5px);
  border-color:#43c713 !important;
  background:#fbfff9 !important;
}

body.nosotros-pro .nei-mv-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  background:#22124a !important;
  color:#fff !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  margin-bottom:22px;
}

body.nosotros-pro .nei-mv-card:nth-child(2) .nei-mv-icon{
  background:#43c713 !important;
}

body.nosotros-pro .nei-mv-card h3{
  margin:0 0 14px !important;
  color:#22124a !important;
  font-size:30px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}

body.nosotros-pro .nei-mv-card p{
  margin:0 !important;
  color:#4f5c5a !important;
  font-size:15.5px !important;
  line-height:1.78 !important;
}

/* matar estilos anteriores que contaminan */
body.nosotros-pro .about-mini-stat,
body.nosotros-pro .mini-stat-card,
body.nosotros-pro .stat-card{
  background:#fff;
}

body.nosotros-pro .about-mini-stat strong,
body.nosotros-pro .about-mini-stat span,
body.nosotros-pro .about-mini-stat p{
  background:transparent !important;
}

/* Responsive */
@media(max-width:900px){
  body.nosotros-pro .nei-stats-clean{
    grid-template-columns:repeat(2,1fr) !important;
  }

  body.nosotros-pro .nei-mv-clean-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  body.nosotros-pro .nei-stats-clean{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .nei-mv-clean-head h2{
    font-size:34px !important;
  }

  body.nosotros-pro .nei-mv-card{
    padding:28px 24px;
    min-height:auto;
  }
}


/* =========================================================
   NOSOTROS - tarjetas superiores mas horizontales
========================================================= */

body.nosotros-pro .nei-stats-clean{
  width:min(1180px,94%) !important;
  margin:30px auto 52px !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:16px !important;
}

body.nosotros-pro .nei-stat-clean{
  min-height:96px !important;
  padding:16px 16px 14px !important;
  display:grid !important;
  grid-template-columns:42px 1fr !important;
  grid-template-areas:
    "icon title"
    "icon text" !important;
  column-gap:12px !important;
  align-items:start !important;
  background:#ffffff !important;
  border:1px solid #dfe8e3 !important;
  border-radius:16px !important;
  box-shadow:none !important;
  overflow:hidden !important;
  position:relative !important;
}

/* quitar adornos/puntos anteriores que ensucian */
body.nosotros-pro .nei-stat-clean::before,
body.nosotros-pro .nei-stat-clean::after,
body.nosotros-pro .nei-stat-clean .mini-dot,
body.nosotros-pro .nei-stat-clean .stat-dot{
  display:none !important;
  content:none !important;
}

body.nosotros-pro .nei-stat-clean:hover{
  transform:translateY(-3px) !important;
  border-color:#43c713 !important;
  background:#fbfff9 !important;
}

/* icono visible */
body.nosotros-pro .nei-stat-icon{
  grid-area:icon !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:12px !important;
  background:#22124a !important;
  color:#ffffff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:15px !important;
  font-weight:900 !important;
  margin:0 !important;
  border:2px solid #43c713 !important;
  box-shadow:none !important;
}

body.nosotros-pro .nei-stat-clean h3{
  grid-area:title !important;
  margin:1px 0 5px 0 !important;
  font-size:15px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  color:#22124a !important;
  background:transparent !important;
}

body.nosotros-pro .nei-stat-clean p{
  grid-area:text !important;
  margin:0 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  color:#5d6765 !important;
  background:transparent !important;
}

/* responsive */
@media (max-width: 980px){
  body.nosotros-pro .nei-stats-clean{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media (max-width: 560px){
  body.nosotros-pro .nei-stats-clean{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   NOSOTROS - iconos verdes visibles en tarjetas horizontales
========================================================= */

body.nosotros-pro .nei-stats-clean{
  width:min(1180px,94%) !important;
  margin:30px auto 52px !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:16px !important;
}

body.nosotros-pro .nei-stat-clean{
  min-height:96px !important;
  padding:16px 16px 14px !important;
  display:grid !important;
  grid-template-columns:42px 1fr !important;
  grid-template-areas:
    "icon title"
    "icon text" !important;
  column-gap:12px !important;
  align-items:start !important;
  background:#ffffff !important;
  border:1px solid #dfe8e3 !important;
  border-radius:16px !important;
  box-shadow:none !important;
  overflow:hidden !important;
  position:relative !important;
}

body.nosotros-pro .nei-stat-clean::before,
body.nosotros-pro .nei-stat-clean::after{
  display:none !important;
  content:none !important;
}

body.nosotros-pro .nei-stat-clean:hover{
  transform:translateY(-3px) !important;
  border-color:#43c713 !important;
  background:#fbfff9 !important;
}

body.nosotros-pro .nei-stat-icon{
  grid-area:icon !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:12px !important;
  background:#eef9e9 !important;
  color:#43c713 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:17px !important;
  font-weight:900 !important;
  margin:0 !important;
  border:1.5px solid #43c713 !important;
  box-shadow:none !important;
  line-height:1 !important;
}

/* por si el icono viene dentro de i / svg / span */
body.nosotros-pro .nei-stat-icon i,
body.nosotros-pro .nei-stat-icon svg,
body.nosotros-pro .nei-stat-icon span{
  color:#43c713 !important;
  fill:#43c713 !important;
  stroke:#43c713 !important;
  font-size:16px !important;
  line-height:1 !important;
}

body.nosotros-pro .nei-stat-clean h3{
  grid-area:title !important;
  margin:1px 0 5px 0 !important;
  font-size:15px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  color:#22124a !important;
  background:transparent !important;
}

body.nosotros-pro .nei-stat-clean p{
  grid-area:text !important;
  margin:0 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  color:#5d6765 !important;
  background:transparent !important;
}

@media (max-width: 980px){
  body.nosotros-pro .nei-stats-clean{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media (max-width: 560px){
  body.nosotros-pro .nei-stats-clean{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   NOSOTROS - DETALLES / TARJETAS BONITAS CON ICONO
========================================================= */

body.nosotros-pro .nei-detail-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-top:18px !important;
}

body.nosotros-pro .nei-detail-card{
  position:relative !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfb 100%) !important;
  border:1px solid #e2ece4 !important;
  border-radius:22px !important;
  padding:22px 20px 18px !important;
  min-height:168px !important;
  box-shadow:0 10px 30px rgba(34,18,74,.05) !important;
  overflow:hidden !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.nosotros-pro .nei-detail-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:4px !important;
  background:linear-gradient(90deg,#43c713 0%,#7de35a 100%) !important;
}

body.nosotros-pro .nei-detail-card:hover{
  transform:translateY(-5px) !important;
  border-color:#cfe8d0 !important;
  box-shadow:0 16px 40px rgba(34,18,74,.09) !important;
}

body.nosotros-pro .nei-detail-card .nei-detail-icon{
  width:52px !important;
  height:52px !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(180deg,#effbe9 0%,#e7f8df 100%) !important;
  border:1px solid #cfecc7 !important;
  margin:0 0 16px 0 !important;
  box-shadow:0 8px 18px rgba(67,199,19,.12) !important;
}

body.nosotros-pro .nei-detail-card .nei-detail-icon svg{
  width:24px !important;
  height:24px !important;
  stroke:#43c713 !important;
  fill:none !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

body.nosotros-pro .nei-detail-card h3,
body.nosotros-pro .nei-detail-card h4,
body.nosotros-pro .nei-detail-card strong{
  display:block !important;
  margin:0 0 8px 0 !important;
  color:#22124a !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  background:none !important;
}

body.nosotros-pro .nei-detail-card p,
body.nosotros-pro .nei-detail-card .desc,
body.nosotros-pro .nei-detail-card small{
  display:block !important;
  margin:0 !important;
  color:#66706f !important;
  font-size:14px !important;
  line-height:1.55 !important;
  background:none !important;
}

body.nosotros-pro .nei-detail-card .nei-mini-tag{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 0 12px 0 !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  color:#43c713 !important;
  background:#f3fbef !important;
  border:1px solid #d9efd3 !important;
}

body.nosotros-pro .nei-detail-title{
  margin-bottom:16px !important;
}

body.nosotros-pro .nei-detail-title h2,
body.nosotros-pro .nei-detail-title h3{
  margin-bottom:10px !important;
}

@media (max-width: 1100px){
  body.nosotros-pro .nei-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 640px){
  body.nosotros-pro .nei-detail-grid{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .nei-detail-card{
    min-height:auto !important;
  }
}

/* =========================================================
   NOSOTROS - BLOQUE FINAL "NOS FIJAMOS EN CADA DETALLE"
========================================================= */

body.nosotros-pro .nei-detail-final-section{
  width:min(1180px,92%);
  margin:54px auto 74px !important;
}

body.nosotros-pro .nei-detail-final-head{
  margin-bottom:22px;
}

body.nosotros-pro .nei-detail-final-head span{
  display:inline-block;
  color:#43c713 !important;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  margin-bottom:10px;
}

body.nosotros-pro .nei-detail-final-head h2{
  color:#22124a !important;
  font-size:42px !important;
  line-height:1.08 !important;
  margin:0 !important;
  font-weight:900 !important;
}

body.nosotros-pro .nei-detail-final-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}

body.nosotros-pro .nei-detail-final-card{
  position:relative;
  min-height:210px;
  padding:26px 22px 24px !important;
  border-radius:24px !important;
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fcf7 100%) !important;
  border:1px solid #e2ece4 !important;
  box-shadow:0 14px 34px rgba(34,18,74,.06) !important;
  overflow:hidden;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}

body.nosotros-pro .nei-detail-final-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,#43c713,#22124a);
}

body.nosotros-pro .nei-detail-final-card:hover{
  transform:translateY(-6px);
  border-color:#43c713 !important;
  box-shadow:0 22px 48px rgba(34,18,74,.10) !important;
}

body.nosotros-pro .nei-detail-final-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  background:#eefbea !important;
  border:1px solid #cfecc7 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
}

body.nosotros-pro .nei-detail-final-icon svg{
  width:30px;
  height:30px;
  stroke:#43c713 !important;
  fill:none !important;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.nosotros-pro .nei-detail-final-card h3{
  margin:0 0 10px !important;
  color:#22124a !important;
  font-size:23px !important;
  line-height:1.18 !important;
  font-weight:900 !important;
}

body.nosotros-pro .nei-detail-final-card p{
  margin:0 !important;
  color:#5f6b68 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

body.nosotros-pro .nei-detail-final-card small{
  display:inline-flex;
  margin-bottom:12px;
  padding:6px 10px;
  border-radius:999px;
  background:#f1fbec;
  color:#2ea004;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* esconder el bloque viejo de detalles cuando ya existe el final */
body.nosotros-pro .nei-old-detail-hidden{
  display:none !important;
}

@media(max-width:1050px){
  body.nosotros-pro .nei-detail-final-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  body.nosotros-pro .nei-detail-final-grid{
    grid-template-columns:1fr !important;
  }

  body.nosotros-pro .nei-detail-final-head h2{
    font-size:34px !important;
  }
}


/* =========================================================
   NOSOTROS - tarjetas detalle con mini imagen real
========================================================= */
body.nosotros-pro .nei-detail-final-card{
  position:relative;
  padding:24px 18px 20px !important;
  min-height:230px !important;
  overflow:hidden;
}

body.nosotros-pro .nei-detail-final-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

body.nosotros-pro .nei-detail-final-icon{
  flex:0 0 auto;
  margin-bottom:0 !important;
  position:relative;
  z-index:2;
  background:#eefbea !important;
  border:1px solid #cfecc7 !important;
}

body.nosotros-pro .nei-detail-final-icon svg{
  stroke:#43c713 !important;
}

body.nosotros-pro .nei-detail-final-thumb{
  position:relative;
  width:92px;
  min-width:92px;
  height:66px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid #d8e7d7;
  box-shadow:0 8px 22px rgba(34,18,74,.08);
  background:#f4f7f3;
  z-index:1;
}

body.nosotros-pro .nei-detail-final-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.04);
  transition:transform .35s ease, filter .35s ease, opacity .35s ease;
  filter:saturate(1.02) contrast(1.01);
}

body.nosotros-pro .nei-detail-final-thumb:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,0) 45%),
    linear-gradient(0deg, rgba(34,18,74,.10), rgba(34,18,74,0) 55%);
  z-index:2;
  pointer-events:none;
}

body.nosotros-pro .nei-detail-final-thumb:after{
  content:"";
  position:absolute;
  inset:auto -10px -12px auto;
  width:58px;
  height:58px;
  background:radial-gradient(circle, rgba(67,199,19,.14) 0%, rgba(67,199,19,0) 72%);
  filter:blur(6px);
  z-index:1;
  pointer-events:none;
}

body.nosotros-pro .nei-detail-final-card:hover .nei-detail-final-thumb img{
  transform:scale(1.09);
  filter:saturate(1.08) contrast(1.03);
}

body.nosotros-pro .nei-detail-final-card small{
  margin-bottom:10px !important;
}

body.nosotros-pro .nei-detail-final-card h3{
  font-size:20px !important;
  margin-bottom:8px !important;
}

body.nosotros-pro .nei-detail-final-card p{
  font-size:13.5px !important;
  line-height:1.58 !important;
}

@media(max-width:900px){
  body.nosotros-pro .nei-detail-final-thumb{
    width:82px;
    min-width:82px;
    height:60px;
  }
}

@media(max-width:640px){
  body.nosotros-pro .nei-detail-final-top{
    align-items:center;
  }
}


/* =========================================================
   NOSOTROS - Detalle con foto amplia de fondo difuminada
========================================================= */
body.nosotros-pro .nei-detail-final-section{
  position:relative;
  z-index:2;
}

body.nosotros-pro .nei-detail-final-head{
  margin-bottom:24px;
}

body.nosotros-pro .nei-detail-final-head span{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#43c713;
  margin-bottom:10px;
}

body.nosotros-pro .nei-detail-final-head h2{
  margin:0;
  font-size:54px;
  line-height:1.05;
  color:#24124a;
}

body.nosotros-pro .nei-detail-final-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:22px;
}

body.nosotros-pro .nei-detail-final-card{
  position:relative;
  min-height:270px;
  padding:22px 20px 20px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid #dbe8d9;
  background:#fff;
  box-shadow:0 18px 40px rgba(36,18,74,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  isolation:isolate;
}

body.nosotros-pro .nei-detail-final-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 48px rgba(36,18,74,.10);
  border-color:#bfe6b2;
}

body.nosotros-pro .nei-detail-final-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  z-index:0;
  transform:scale(1.03);
}

body.nosotros-pro .nei-detail-final-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.92) 52%, rgba(255,255,255,.97) 100%),
    linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.62) 100%);
  z-index:1;
}

body.nosotros-pro .nei-detail-final-bg::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:100%;
  backdrop-filter:blur(2.6px);
  -webkit-backdrop-filter:blur(2.6px);
  z-index:2;
}

body.nosotros-pro .nei-detail-final-top,
body.nosotros-pro .nei-detail-final-card small,
body.nosotros-pro .nei-detail-final-card h3,
body.nosotros-pro .nei-detail-final-card p{
  position:relative;
  z-index:3;
}

body.nosotros-pro .nei-detail-final-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}

body.nosotros-pro .nei-detail-final-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  background:#eefbea;
  border:1px solid #cdeabf;
  display:flex;
  align-items:center;
  justify-content:center;
}

body.nosotros-pro .nei-detail-final-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#43c713;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.nosotros-pro .nei-detail-final-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(67,199,19,.10);
  color:#43c713;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

body.nosotros-pro .nei-detail-final-card h3{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.05;
  color:#24124a;
}

body.nosotros-pro .nei-detail-final-card p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:#5d6474;
  max-width:95%;
}

body.nosotros-pro .nei-detail-final-card .nei-detail-final-accent{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#43c713 0%, #24124a 100%);
  z-index:4;
}

@media(max-width:1200px){
  body.nosotros-pro .nei-detail-final-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media(max-width:700px){
  body.nosotros-pro .nei-detail-final-head h2{
    font-size:38px;
  }
  body.nosotros-pro .nei-detail-final-grid{
    grid-template-columns:1fr;
  }
  body.nosotros-pro .nei-detail-final-card{
    min-height:240px;
  }
  body.nosotros-pro .nei-detail-final-card h3{
    font-size:26px;
  }
}


/* =========================================================
   NOSOTROS - imagen real visible de fondo en tarjetas detalle
========================================================= */

body.nosotros-pro .nei-detail-final-card{
  min-height:285px !important;
  padding:24px 22px 22px !important;
  background:#fff !important;
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

body.nosotros-pro .nei-detail-final-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  opacity:1 !important;
  transform:scale(1.04) !important;
  filter:none !important;
}

body.nosotros-pro .nei-detail-final-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 48%, rgba(255,255,255,.58) 100%),
    linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.88) 100%) !important;
}

body.nosotros-pro .nei-detail-final-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  backdrop-filter:blur(1.1px) !important;
  -webkit-backdrop-filter:blur(1.1px) !important;
  background:rgba(255,255,255,.08) !important;
}

body.nosotros-pro .nei-detail-final-card:hover .nei-detail-final-bg{
  transform:scale(1.09) !important;
}

body.nosotros-pro .nei-detail-final-top,
body.nosotros-pro .nei-detail-final-card h3,
body.nosotros-pro .nei-detail-final-card p,
body.nosotros-pro .nei-detail-final-badge{
  position:relative !important;
  z-index:4 !important;
}

body.nosotros-pro .nei-detail-final-icon{
  background:rgba(238,251,234,.92) !important;
  border:1px solid #bfe9b3 !important;
}

body.nosotros-pro .nei-detail-final-card h3{
  color:#22124a !important;
  text-shadow:0 1px 0 rgba(255,255,255,.45) !important;
}

body.nosotros-pro .nei-detail-final-card p{
  color:#384441 !important;
  font-weight:500 !important;
}


/* =========================================================
   NOSOTROS - tarjetas detalle con personas trabajando
========================================================= */

body.nosotros-pro .nei-detail-final-card{
  position:relative !important;
  overflow:hidden !important;
  background:#ffffff !important;
  border:1px solid #dcebd5 !important;
  border-radius:18px !important;
  min-height:188px !important;
  padding:18px 16px 16px !important;
  isolation:isolate !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}

body.nosotros-pro .nei-detail-final-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 16px 34px rgba(34,18,74,.10) !important;
}

body.nosotros-pro .nei-detail-human-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:scale(1.06) !important;
  opacity:1 !important;
}

body.nosotros-pro .nei-detail-human-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.88) 38%, rgba(255,255,255,.72) 70%, rgba(255,255,255,.62) 100%),
    linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.83) 100%) !important;
  z-index:1 !important;
}

body.nosotros-pro .nei-detail-human-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  backdrop-filter:blur(1.6px) !important;
  -webkit-backdrop-filter:blur(1.6px) !important;
  background:rgba(255,255,255,.08) !important;
  z-index:2 !important;
}

body.nosotros-pro .nei-detail-final-card > *{
  position:relative !important;
  z-index:3 !important;
}

body.nosotros-pro .nei-detail-final-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:12px !important;
}

body.nosotros-pro .nei-detail-final-icon{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#eefdEA !important;
  border:1px solid #bde5b4 !important;
  color:#43c713 !important;
}

body.nosotros-pro .nei-detail-final-badge{
  display:inline-flex !important;
  align-items:center !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:#eef9ea !important;
  color:#43c713 !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body.nosotros-pro .nei-detail-final-card h3{
  margin:0 0 8px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  color:#24124a !important;
  font-weight:800 !important;
}

body.nosotros-pro .nei-detail-final-card p{
  margin:0 !important;
  font-size:12.5px !important;
  line-height:1.55 !important;
  color:#4b5563 !important;
  max-width:92% !important;
}


/* =========================================================
   FIX FINAL NOSOTROS - Detalles con foto visible de fondo
   Este bloque manda sobre parches anteriores.
========================================================= */

body.nosotros-pro .nei-detail-final-section{
  width:min(1180px,92%) !important;
  margin:60px auto 78px !important;
}

body.nosotros-pro .nei-detail-final-head{
  margin-bottom:24px !important;
}

body.nosotros-pro .nei-detail-final-head span{
  display:block !important;
  color:#43c713 !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
  margin-bottom:10px !important;
}

body.nosotros-pro .nei-detail-final-head h2{
  color:#22124a !important;
  font-size:44px !important;
  line-height:1.08 !important;
  margin:0 !important;
  font-weight:900 !important;
}

body.nosotros-pro .nei-detail-final-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}

body.nosotros-pro .nei-detail-final-card{
  position:relative !important;
  min-height:240px !important;
  padding:18px 16px 16px !important;
  border-radius:22px !important;
  border:1px solid #d7e9d1 !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 16px 36px rgba(34,18,74,.08) !important;
  isolation:isolate !important;
}

body.nosotros-pro .nei-detail-final-card:hover{
  transform:translateY(-5px) !important;
  border-color:#43c713 !important;
  box-shadow:0 22px 46px rgba(34,18,74,.12) !important;
}

body.nosotros-pro .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-bg{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  z-index:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:none !important;
  transform:scale(1.03) !important;
}

body.nosotros-pro .nei-detail-human-bg::before,
body.nosotros-pro .nei-detail-final-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 46%, rgba(255,255,255,.58) 100%),
    linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.88) 100%) !important;
}

body.nosotros-pro .nei-detail-human-bg::after,
body.nosotros-pro .nei-detail-final-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:rgba(255,255,255,.04) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.nosotros-pro .nei-detail-final-card:hover .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:hover .nei-detail-final-bg{
  transform:scale(1.08) !important;
}

body.nosotros-pro .nei-detail-final-card > *:not(.nei-detail-human-bg):not(.nei-detail-final-bg){
  position:relative !important;
  z-index:5 !important;
}

body.nosotros-pro .nei-detail-final-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:15px !important;
}

body.nosotros-pro .nei-detail-final-icon{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  border-radius:13px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(238,251,234,.96) !important;
  border:1px solid #bde5b4 !important;
  color:#43c713 !important;
}

body.nosotros-pro .nei-detail-final-icon svg{
  width:21px !important;
  height:21px !important;
  stroke:#43c713 !important;
  fill:none !important;
}

body.nosotros-pro .nei-detail-final-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(238,249,234,.96) !important;
  color:#43c713 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body.nosotros-pro .nei-detail-final-card h3{
  margin:0 0 8px !important;
  color:#22124a !important;
  font-size:21px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.75) !important;
}

body.nosotros-pro .nei-detail-final-card p{
  margin:0 !important;
  max-width:96% !important;
  color:#303b3a !important;
  font-size:13.3px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}

@media(max-width:1100px){
  body.nosotros-pro .nei-detail-final-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  body.nosotros-pro .nei-detail-final-grid{
    grid-template-columns:1fr !important;
  }
  body.nosotros-pro .nei-detail-final-card{
    min-height:220px !important;
  }
}


/* =========================================================
   FIX VISIBILIDAD FOTOS - Nos fijamos en cada detalle
   Quita el exceso de blanco y deja ver la persona trabajando
========================================================= */

body.nosotros-pro .nei-detail-final-card{
  min-height:250px !important;
  padding:20px 18px 18px !important;
  background:#fff !important;
  overflow:hidden !important;
}

/* foto más visible */
body.nosotros-pro .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-bg{
  opacity:1 !important;
  filter:none !important;
  transform:scale(1.04) !important;
  background-size:cover !important;
  background-position:center right !important;
}

/* quitar blur y exceso de blanco */
body.nosotros-pro .nei-detail-human-bg::after,
body.nosotros-pro .nei-detail-final-bg::after{
  display:none !important;
  content:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* capa blanca más suave: texto legible pero foto visible */
body.nosotros-pro .nei-detail-human-bg::before,
body.nosotros-pro .nei-detail-final-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.86) 42%,
      rgba(255,255,255,.58) 68%,
      rgba(255,255,255,.22) 100%
    ) !important;
}

/* texto encima */
body.nosotros-pro .nei-detail-final-card > *:not(.nei-detail-human-bg):not(.nei-detail-final-bg){
  position:relative !important;
  z-index:5 !important;
}

/* compactar texto para que deje respirar la foto */
body.nosotros-pro .nei-detail-final-card h3{
  max-width:58% !important;
  font-size:20px !important;
  color:#22124a !important;
  text-shadow:0 1px 0 rgba(255,255,255,.85) !important;
}

body.nosotros-pro .nei-detail-final-card p{
  max-width:60% !important;
  font-size:12.8px !important;
  line-height:1.5 !important;
  color:#263230 !important;
  font-weight:600 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.75) !important;
}

body.nosotros-pro .nei-detail-final-top{
  max-width:100% !important;
}

body.nosotros-pro .nei-detail-final-card:hover .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:hover .nei-detail-final-bg{
  transform:scale(1.10) !important;
}

/* si alguna tarjeta queda muy blanca, esta clase fuerza más visibilidad */
body.nosotros-pro .nei-detail-final-card.force-visible .nei-detail-human-bg::before,
body.nosotros-pro .nei-detail-final-card.force-visible .nei-detail-final-bg::before{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.94) 0%,
      rgba(255,255,255,.78) 40%,
      rgba(255,255,255,.42) 68%,
      rgba(255,255,255,.08) 100%
    ) !important;
}

@media(max-width:700px){
  body.nosotros-pro .nei-detail-final-card h3,
  body.nosotros-pro .nei-detail-final-card p{
    max-width:72% !important;
  }

  body.nosotros-pro .nei-detail-human-bg,
  body.nosotros-pro .nei-detail-final-bg{
    background-position:center right !important;
  }
}


/* =========================================================
   NOSOTROS - TARJETAS "Nos fijamos en cada detalle"
   Fotos con personas trabajando
========================================================= */

body.nosotros-pro .nei-detail-final-card:nth-child(1) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(1) .nei-detail-final-bg{
  background-image:url('../img/detalles-human/fumigacion.jpg') !important;
  background-size:cover !important;
  background-position:center right !important;
  background-repeat:no-repeat !important;
}

body.nosotros-pro .nei-detail-final-card:nth-child(2) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(2) .nei-detail-final-bg{
  background-image:url('../img/detalles-human/limpieza.jpg') !important;
  background-size:cover !important;
  background-position:center right !important;
  background-repeat:no-repeat !important;
}

body.nosotros-pro .nei-detail-final-card:nth-child(3) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(3) .nei-detail-final-bg{
  background-image:url('../img/detalles-human/decoracion.jpg') !important;
  background-size:cover !important;
  background-position:center right !important;
  background-repeat:no-repeat !important;
}

body.nosotros-pro .nei-detail-final-card:nth-child(4) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(4) .nei-detail-final-bg{
  background-image:url('../img/detalles-human/jardineria.jpg') !important;
  background-size:cover !important;
  background-position:center right !important;
  background-repeat:no-repeat !important;
}

/* un poco más visibles */
body.nosotros-pro .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-bg{
  opacity:1 !important;
  filter:none !important;
}

/* overlay más suave para que se vea la persona */
body.nosotros-pro .nei-detail-human-bg::before,
body.nosotros-pro .nei-detail-final-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.95) 0%,
      rgba(255,255,255,.82) 38%,
      rgba(255,255,255,.48) 68%,
      rgba(255,255,255,.10) 100%
    ) !important;
}

body.nosotros-pro .nei-detail-human-bg::after,
body.nosotros-pro .nei-detail-final-bg::after{
  display:none !important;
  content:none !important;
}

/* texto encima */
body.nosotros-pro .nei-detail-final-card > *:not(.nei-detail-human-bg):not(.nei-detail-final-bg){
  position:relative !important;
  z-index:5 !important;
}


/* =========================================================
   SOLO LINKS - fotos personas trabajando en tarjetas detalle
   No cambia estructura ni tamaños
========================================================= */

body.nosotros-pro .nei-detail-final-card:nth-child(1) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(1) .nei-detail-final-bg{
  background-image:url("https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=1400&q=85") !important;
}

body.nosotros-pro .nei-detail-final-card:nth-child(2) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(2) .nei-detail-final-bg{
  background-image:url("https://images.unsplash.com/photo-1527515637462-cff94eecc1ac?auto=format&fit=crop&w=1400&q=85") !important;
}

body.nosotros-pro .nei-detail-final-card:nth-child(3) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(3) .nei-detail-final-bg{
  background-image:url("https://images.unsplash.com/photo-1484154218962-a197022b5858?auto=format&fit=crop&w=1400&q=85") !important;
}

body.nosotros-pro .nei-detail-final-card:nth-child(4) .nei-detail-human-bg,
body.nosotros-pro .nei-detail-final-card:nth-child(4) .nei-detail-final-bg{
  background-image:url("https://images.unsplash.com/photo-1416879595882-3373a0480b5b?auto=format&fit=crop&w=1400&q=85") !important;
}


/* =========================================================
   HERO SLIDES - Servicios / Bienes Raices / Portafolio / Contacto / Proyectos
========================================================= */

.nei-page-hero-slider{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  min-height:300px !important;
  display:flex !important;
  align-items:center !important;
}

.nei-page-hero-slider .nei-hero-bg-layer{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
}

.nei-page-hero-slider .nei-hero-slide-bg{
  position:absolute !important;
  inset:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:0 !important;
  transform:scale(1.04) !important;
  transition:opacity 1.1s ease, transform 5.8s ease !important;
}

.nei-page-hero-slider .nei-hero-slide-bg.is-active{
  opacity:1 !important;
  transform:scale(1.1) !important;
}

.nei-page-hero-slider::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.78) 42%, rgba(255,255,255,.46) 100%),
    linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,.82) 100%) !important;
  pointer-events:none !important;
}

.nei-page-hero-slider > *:not(.nei-hero-bg-layer):not(.nei-hero-dots):not(.nei-hero-extra-content){
  position:relative !important;
  z-index:3 !important;
}

.nei-page-hero-slider .nei-hero-extra-content{
  position:absolute !important;
  z-index:4 !important;
  left:50% !important;
  bottom:34px !important;
  transform:translateX(-50%) !important;
  width:min(1180px,92%) !important;
  pointer-events:none !important;
}

.nei-page-hero-slider .nei-hero-extra-card{
  width:min(440px,92%) !important;
  padding:18px 22px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(67,199,19,.25) !important;
  box-shadow:0 16px 38px rgba(34,18,74,.10) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  opacity:0 !important;
  transform:translateY(14px) !important;
  transition:opacity .55s ease, transform .55s ease !important;
}

.nei-page-hero-slider .nei-hero-extra-card.is-active{
  opacity:1 !important;
  transform:translateY(0) !important;
}

.nei-page-hero-slider .nei-hero-extra-card span{
  display:block !important;
  color:#43c713 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-bottom:7px !important;
}

.nei-page-hero-slider .nei-hero-extra-card strong{
  display:block !important;
  color:#22124a !important;
  font-size:22px !important;
  line-height:1.15 !important;
  margin-bottom:7px !important;
  font-weight:900 !important;
}

.nei-page-hero-slider .nei-hero-extra-card p{
  margin:0 !important;
  color:#42504c !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}

.nei-page-hero-slider .nei-hero-dots{
  position:absolute !important;
  z-index:5 !important;
  right:max(28px,calc((100vw - 1180px) / 2)) !important;
  bottom:28px !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
}

.nei-page-hero-slider .nei-hero-dot{
  width:28px !important;
  height:4px !important;
  border-radius:999px !important;
  border:0 !important;
  background:rgba(34,18,74,.20) !important;
  padding:0 !important;
  cursor:pointer !important;
}

.nei-page-hero-slider .nei-hero-dot.is-active{
  width:46px !important;
  background:#43c713 !important;
}

.nei-page-hero-slider h1,
.nei-page-hero-slider h2{
  position:relative !important;
  z-index:4 !important;
}

.nei-page-hero-slider.nei-portfolio-detail-hero{
  min-height:310px !important;
}

.nei-page-hero-slider.nei-portfolio-detail-hero::before{
  background:
    linear-gradient(90deg, rgba(15,11,31,.78) 0%, rgba(15,11,31,.48) 48%, rgba(15,11,31,.20) 100%),
    linear-gradient(180deg, rgba(15,11,31,.22) 0%, rgba(15,11,31,.62) 100%) !important;
}

.nei-page-hero-slider.nei-portfolio-detail-hero h1,
.nei-page-hero-slider.nei-portfolio-detail-hero h2,
.nei-page-hero-slider.nei-portfolio-detail-hero p{
  color:#fff !important;
  text-shadow:0 2px 16px rgba(0,0,0,.30) !important;
}

.nei-page-hero-slider.nei-portfolio-detail-hero .nei-hero-extra-card{
  background:rgba(255,255,255,.92) !important;
}

@media(max-width:760px){
  .nei-page-hero-slider{
    min-height:340px !important;
  }

  .nei-page-hero-slider .nei-hero-extra-content{
    display:none !important;
  }

  .nei-page-hero-slider .nei-hero-dots{
    left:24px !important;
    right:auto !important;
    bottom:20px !important;
  }
}

/* =========================================================
   Botones hero unificados: Conocer NEI / Contactar
========================================================= */

.nei-page-hero-slider .nei-hero-main-actions{
  position:relative !important;
  z-index:10 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:24px !important;
  flex-wrap:wrap !important;
}

.nei-page-hero-slider .nei-hero-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:126px !important;
  height:42px !important;
  padding:0 24px !important;
  border-radius:10px !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  transition:transform .22s ease, background .22s ease, color .22s ease !important;
}

.nei-page-hero-slider .nei-hero-btn:hover{
  transform:translateY(-2px) !important;
  text-decoration:none !important;
}

.nei-page-hero-slider .nei-hero-btn-green{
  background:#43c713 !important;
  color:#fff !important;
}

.nei-page-hero-slider .nei-hero-btn-green:hover{
  background:#35ad0c !important;
  color:#fff !important;
}

.nei-page-hero-slider .nei-hero-btn-dark{
  background:#22124a !important;
  color:#fff !important;
}

.nei-page-hero-slider .nei-hero-btn-dark:hover{
  background:#15092f !important;
  color:#fff !important;
}

/* Ocultar CTAs viejos diferentes dentro del hero */
.nei-page-hero-slider a[href*="galeria"],
.nei-page-hero-slider a[href*="portfolio"],
.nei-page-hero-slider a[href*="portafolio"].old-btn,
.nei-page-hero-slider .btn-gallery,
.nei-page-hero-slider .btn-portfolio,
.nei-page-hero-slider .project-btns,
.nei-page-hero-slider .portfolio-actions{
  box-shadow:none !important;
}

/* Mobile */
@media(max-width:700px){
  .nei-page-hero-slider .nei-hero-main-actions{
    gap:9px !important;
    margin-top:18px !important;
  }

  .nei-page-hero-slider .nei-hero-btn{
    min-width:118px !important;
    height:40px !important;
    padding:0 18px !important;
    font-size:12px !important;
  }
}


/* =========================================================
   FIX FINAL HERO PÁGINAS
   Sin panel flotante, texto y botones como Nosotros
========================================================= */

.page-hero.nei-page-hero-slider{
  position:relative !important;
  min-height:310px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#f5f7f5 !important;
}

.page-hero.nei-page-hero-slider .wrap{
  position:relative !important;
  z-index:5 !important;
  width:min(1180px,92%) !important;
  margin:0 auto !important;
  padding:54px 0 58px !important;
}

.page-hero.nei-page-hero-slider .nei-hero-bg-layer{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
}

.page-hero.nei-page-hero-slider .nei-hero-slide-bg{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  transform:scale(1.03) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  transition:opacity 1s ease, transform 6s ease !important;
}

.page-hero.nei-page-hero-slider .nei-hero-slide-bg.is-active{
  opacity:1 !important;
  transform:scale(1.08) !important;
}

.page-hero.nei-page-hero-slider::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.86) 42%,
      rgba(255,255,255,.55) 72%,
      rgba(255,255,255,.28) 100%
    ) !important;
  pointer-events:none !important;
}

.page-hero.nei-page-hero-slider::after{
  display:none !important;
  content:none !important;
}

.page-hero.nei-page-hero-slider .nei-hero-kicker{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  padding:8px 15px !important;
  margin:0 0 13px !important;
  border-radius:999px !important;
  background:#43c713 !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
}

.page-hero.nei-page-hero-slider h1{
  position:relative !important;
  z-index:5 !important;
  max-width:620px !important;
  margin:0 !important;
  color:#22124a !important;
  font-size:48px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
}

.page-hero.nei-page-hero-slider .nei-hero-lead{
  position:relative !important;
  z-index:5 !important;
  max-width:590px !important;
  margin:16px 0 0 !important;
  color:#263230 !important;
  font-size:17px !important;
  line-height:1.65 !important;
  font-weight:500 !important;
}

.page-hero.nei-page-hero-slider .nei-hero-main-actions{
  position:relative !important;
  z-index:6 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  margin:24px 0 0 !important;
}

.page-hero.nei-page-hero-slider .nei-hero-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:126px !important;
  height:42px !important;
  padding:0 24px !important;
  border-radius:10px !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
}

.page-hero.nei-page-hero-slider .nei-hero-btn-green{
  background:#43c713 !important;
  color:#fff !important;
}

.page-hero.nei-page-hero-slider .nei-hero-btn-dark{
  background:#22124a !important;
  color:#fff !important;
}

.page-hero.nei-page-hero-slider .nei-hero-dots{
  position:absolute !important;
  z-index:7 !important;
  right:max(28px,calc((100vw - 1180px) / 2)) !important;
  bottom:28px !important;
  display:flex !important;
  gap:9px !important;
}

.page-hero.nei-page-hero-slider .nei-hero-dot{
  width:28px !important;
  height:4px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(34,18,74,.22) !important;
  padding:0 !important;
  cursor:pointer !important;
}

.page-hero.nei-page-hero-slider .nei-hero-dot.is-active{
  width:46px !important;
  background:#43c713 !important;
}

/* eliminar tarjeta flotante vieja */
.page-hero.nei-page-hero-slider .nei-hero-extra-content,
.page-hero.nei-page-hero-slider .nei-hero-extra-card{
  display:none !important;
}

/* detalle portafolio oscuro */
.page-hero.nei-page-hero-slider.nei-portfolio-detail-hero::before{
  background:
    linear-gradient(90deg,
      rgba(15,11,31,.82) 0%,
      rgba(15,11,31,.58) 45%,
      rgba(15,11,31,.24) 100%
    ) !important;
}

.page-hero.nei-page-hero-slider.nei-portfolio-detail-hero h1,
.page-hero.nei-page-hero-slider.nei-portfolio-detail-hero .nei-hero-lead{
  color:#fff !important;
}

@media(max-width:760px){
  .page-hero.nei-page-hero-slider{
    min-height:360px !important;
  }

  .page-hero.nei-page-hero-slider .wrap{
    padding:48px 0 64px !important;
  }

  .page-hero.nei-page-hero-slider h1{
    font-size:38px !important;
  }

  .page-hero.nei-page-hero-slider .nei-hero-lead{
    font-size:15px !important;
  }

  .page-hero.nei-page-hero-slider .nei-hero-dots{
    left:24px !important;
    right:auto !important;
    bottom:20px !important;
  }
}


/* =========================================================
   HERO UNIFORME FINAL
   Servicios / Bienes Raíces / Portafolio / Contacto
   Igual al estilo de Nosotros
========================================================= */

body .page-hero.nei-page-hero-slider,
body .page-hero.nei-page-hero-same-layout{
  position:relative !important;
  min-height:300px !important;
  height:300px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
  background:#f7faf7 !important;
  isolation:isolate !important;
}

body .page-hero.nei-page-hero-slider .wrap,
body .page-hero.nei-page-hero-same-layout .wrap{
  position:relative !important;
  z-index:8 !important;
  width:min(1180px,92%) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:block !important;
  text-align:left !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-bg-layer,
body .page-hero.nei-page-hero-same-layout .nei-hero-bg-layer{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-slide-bg,
body .page-hero.nei-page-hero-same-layout .nei-hero-slide-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:scale(1.02) !important;
  transition:opacity .9s ease, transform 6s ease !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-slide-bg.is-active,
body .page-hero.nei-page-hero-same-layout .nei-hero-slide-bg.is-active{
  opacity:1 !important;
  transform:scale(1.07) !important;
}

body .page-hero.nei-page-hero-slider::before,
body .page-hero.nei-page-hero-same-layout::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.93) 26%,
      rgba(255,255,255,.72) 50%,
      rgba(255,255,255,.36) 78%,
      rgba(255,255,255,.18) 100%
    ) !important;
  pointer-events:none !important;
}

body .page-hero.nei-page-hero-slider::after,
body .page-hero.nei-page-hero-same-layout::after{
  display:none !important;
  content:none !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-kicker,
body .page-hero.nei-page-hero-same-layout .nei-hero-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:auto !important;
  margin:0 0 12px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:#43c713 !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  box-shadow:none !important;
}

body .page-hero.nei-page-hero-slider h1,
body .page-hero.nei-page-hero-same-layout h1{
  position:relative !important;
  z-index:8 !important;
  max-width:560px !important;
  margin:0 !important;
  padding:0 !important;
  color:#22124a !important;
  font-size:48px !important;
  line-height:1.04 !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
  text-align:left !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-lead,
body .page-hero.nei-page-hero-same-layout .nei-hero-lead{
  position:relative !important;
  z-index:8 !important;
  max-width:560px !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  color:#202b29 !important;
  font-size:16px !important;
  line-height:1.65 !important;
  font-weight:500 !important;
  text-align:left !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-main-actions,
body .page-hero.nei-page-hero-same-layout .nei-hero-main-actions{
  position:relative !important;
  z-index:9 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  margin:22px 0 0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:none !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  text-align:left !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-btn,
body .page-hero.nei-page-hero-same-layout .nei-hero-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:128px !important;
  height:42px !important;
  padding:0 24px !important;
  border-radius:10px !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:center !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-btn-green,
body .page-hero.nei-page-hero-same-layout .nei-hero-btn-green{
  background:#43c713 !important;
  color:#fff !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-btn-dark,
body .page-hero.nei-page-hero-same-layout .nei-hero-btn-dark{
  background:#22124a !important;
  color:#fff !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-dots,
body .page-hero.nei-page-hero-same-layout .nei-hero-dots{
  position:absolute !important;
  z-index:10 !important;
  right:max(28px,calc((100vw - 1180px) / 2)) !important;
  bottom:28px !important;
  left:auto !important;
  top:auto !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 !important;
  padding:0 !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-dot,
body .page-hero.nei-page-hero-same-layout .nei-hero-dot{
  display:block !important;
  width:28px !important;
  height:4px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(34,18,74,.22) !important;
  box-shadow:none !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-dot.is-active,
body .page-hero.nei-page-hero-same-layout .nei-hero-dot.is-active{
  width:46px !important;
  background:#43c713 !important;
}

/* Nada de tarjetas flotantes en ningún hero */
body .page-hero.nei-page-hero-slider .nei-hero-extra-content,
body .page-hero.nei-page-hero-slider .nei-hero-extra-card,
body .page-hero.nei-page-hero-same-layout .nei-hero-extra-content,
body .page-hero.nei-page-hero-same-layout .nei-hero-extra-card{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Evitar que páginas internas centren el texto del hero */
body .page-hero.nei-page-hero-slider *,
body .page-hero.nei-page-hero-same-layout *{
  box-sizing:border-box !important;
}

/* Mobile */
@media(max-width:760px){
  body .page-hero.nei-page-hero-slider,
  body .page-hero.nei-page-hero-same-layout{
    height:auto !important;
    min-height:360px !important;
  }

  body .page-hero.nei-page-hero-slider .wrap,
  body .page-hero.nei-page-hero-same-layout .wrap{
    padding:46px 0 62px !important;
  }

  body .page-hero.nei-page-hero-slider h1,
  body .page-hero.nei-page-hero-same-layout h1{
    font-size:38px !important;
    max-width:92% !important;
  }

  body .page-hero.nei-page-hero-slider .nei-hero-lead,
  body .page-hero.nei-page-hero-same-layout .nei-hero-lead{
    max-width:92% !important;
    font-size:15px !important;
  }

  body .page-hero.nei-page-hero-slider .nei-hero-dots,
  body .page-hero.nei-page-hero-same-layout .nei-hero-dots{
    left:4% !important;
    right:auto !important;
    bottom:22px !important;
  }
}


/* =========================================================
   HERO TITULOS MAS FINOS / MENOS PESADOS
========================================================= */

body .page-hero.nei-page-hero-slider h1,
body .page-hero.nei-page-hero-same-layout h1{
  font-size:40px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
  max-width:560px !important;
}

body .page-hero.nei-page-hero-slider .nei-hero-lead,
body .page-hero.nei-page-hero-same-layout .nei-hero-lead{
  font-size:15px !important;
  line-height:1.55 !important;
  max-width:560px !important;
}

/* Servicios, Bienes Raíces, Portafolio, Contacto: aún más limpio */
body:not(.home) .page-hero.nei-page-hero-slider h1,
body:not(.home) .page-hero.nei-page-hero-same-layout h1{
  font-size:38px !important;
  font-weight:800 !important;
}

/* Mobile */
@media(max-width:760px){
  body .page-hero.nei-page-hero-slider h1,
  body .page-hero.nei-page-hero-same-layout h1{
    font-size:31px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
  }

  body .page-hero.nei-page-hero-slider .nei-hero-lead,
  body .page-hero.nei-page-hero-same-layout .nei-hero-lead{
    font-size:14px !important;
  }
}


/* =========================================================
   HOME HERO - segunda línea del título más pequeña
========================================================= */
body.home .hero-line-1{
  display:block !important;
  font-size:1em !important;
  line-height:0.95 !important;
  font-weight:800 !important;
}

body.home .hero-line-2{
  display:block !important;
  font-size:.72em !important;
  line-height:1.02 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  letter-spacing:-0.02em !important;
}

@media (max-width: 1100px){
  body.home .hero-line-2{
    font-size:.78em !important;
  }
}

@media (max-width: 768px){
  body.home .hero-line-2{
    white-space:normal !important;
    font-size:.84em !important;
  }
}

/* Bienes Raices / 1121 PROPERTY */
.rei-1121-hero{
  position:relative;
  overflow:hidden;
  min-height:640px;
  color:#fff;
  background:linear-gradient(135deg,#1f173d 0%,#24184b 42%,#1e4034 100%);
}
.rei-1121-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,rgba(12,10,28,.78) 10%,rgba(16,18,36,.48) 45%,rgba(18,31,22,.55) 100%);
  pointer-events:none;
}
.rei-1121-hero-bg,
.rei-1121-hero-wrap{
  position:relative;
  z-index:1;
}
.rei-1121-hero-bg .rei-1121-bg{
  position:absolute;
  inset:0;
  opacity:.34;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.rei-1121-bg-a{background-image:url('/assets/img/real/playa-aerea.png')}
.rei-1121-bg-b{
  background-image:url('/assets/img/real/terraza-proyecto.jpeg');
  mix-blend-mode:screen;
  opacity:.16 !important;
}
.rei-1121-hero-wrap{
  min-height:640px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:38px;
  align-items:center;
}
.rei-1121-kicker,
.rei-1121-hero .kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:800;
}
.rei-1121-hero h1{
  margin:18px 0 14px;
  font-size:clamp(42px,6vw,74px);
  line-height:1.02;
  letter-spacing:-.04em;
  color:#fff;
  max-width:10ch;
}
.rei-1121-subtitle{
  margin:0 0 16px;
  font-size:18px;
  color:#d6d8e5;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rei-1121-lead{
  max-width:680px;
  margin:0;
  font-size:19px;
  color:rgba(255,255,255,.9);
}
.rei-1121-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:28px;
}
.rei-1121-btn-dark{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:none;
}
.rei-1121-panel{
  display:grid;
  gap:18px;
}
.rei-1121-panel-card,
.rei-1121-panel-metrics{
  backdrop-filter:blur(14px);
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  box-shadow:0 24px 50px rgba(0,0,0,.18);
}
.rei-1121-panel-card{
  padding:28px;
}
.rei-1121-panel-card span{
  display:block;
  margin-bottom:12px;
  color:#9bd754;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
}
.rei-1121-panel-card strong{
  display:block;
  font-size:30px;
  line-height:1.2;
  color:#fff;
}
.rei-1121-panel-metrics{
  padding:18px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.rei-1121-panel-metrics div{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
}
.rei-1121-panel-metrics small{
  display:block;
  margin-bottom:8px;
  color:#d8dcdf;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
}
.rei-1121-panel-metrics b{
  font-size:17px;
  line-height:1.35;
}
.rei-1121-intro-grid,
.rei-1121-commitment-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:34px;
  align-items:center;
}
.rei-1121-intro-visual{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);
  gap:18px;
  min-height:470px;
}
.rei-1121-visual-main,
.rei-1121-commitment-photo{
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.rei-1121-visual-main{
  min-height:470px;
  background-image:linear-gradient(to top,rgba(28,18,60,.16),rgba(28,18,60,.04)),url('/assets/img/real/casa-condominio.png');
}
.rei-1121-visual-side{
  display:grid;
  gap:18px;
}
.rei-1121-visual-card{
  border-radius:24px;
  padding:24px 22px;
  background:linear-gradient(180deg,#fff 0%,#f4f7f5 100%);
  box-shadow:0 18px 35px rgba(0,0,0,.08);
  border:1px solid rgba(34,18,74,.08);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.rei-1121-visual-card small{
  color:#5a6673;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  font-weight:800;
}
.rei-1121-visual-card strong{
  margin-top:10px;
  color:var(--ink);
  font-size:25px;
  line-height:1.18;
}
.rei-1121-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.rei-1121-card{
  min-height:240px;
  padding:26px 24px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(34,18,74,.08);
  box-shadow:0 20px 40px rgba(20,24,37,.08);
}
.rei-1121-card span{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#edf8e4;
  color:var(--green-dark);
  font-weight:800;
  margin-bottom:16px;
}
.rei-1121-card h3{
  margin:0 0 10px;
  color:var(--ink);
  font-size:24px;
  line-height:1.18;
}
.rei-1121-card p{
  margin:0;
  color:#56606b;
}
.rei-1121-why-head{
  text-align:left;
  margin-bottom:30px;
}
.rei-1121-why-head .kicker,
.rei-1121-why-head .title{
  color:#fff;
}
.rei-1121-why-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}
.rei-1121-why-item{
  padding:22px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#eef0f7;
  line-height:1.55;
}
.rei-1121-commitment-copy{
  padding:34px;
}
.rei-1121-commitment-media{
  position:relative;
  min-height:470px;
}
.rei-1121-photo-main{
  position:absolute;
  inset:0 70px 36px 0;
  background-image:linear-gradient(to top,rgba(16,14,34,.22),rgba(16,14,34,.04)),url('/assets/img/real/condominio-heredia.jpeg');
}
.rei-1121-photo-alt{
  position:absolute;
  width:42%;
  right:0;
  bottom:0;
  top:120px;
  background-image:linear-gradient(to top,rgba(16,14,34,.2),rgba(16,14,34,.05)),url('/assets/img/real/terraza-proyecto.jpeg');
  border:8px solid #fff;
}
.rei-1121-cta .wrap{
  gap:24px;
  align-items:center;
}
.rei-1121-cta .kicker{
  color:#9ccf5b;
}
.rei-1121-cta .title{
  max-width:12ch;
}

@media (max-width: 1100px){
  .rei-1121-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rei-1121-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 860px){
  .rei-1121-hero-wrap,
  .rei-1121-intro-grid,
  .rei-1121-commitment-grid{
    grid-template-columns:1fr;
  }
  .rei-1121-panel-metrics{
    grid-template-columns:1fr;
  }
  .rei-1121-intro-visual{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .rei-1121-visual-main{
    min-height:320px;
  }
  .rei-1121-commitment-media{
    min-height:360px;
  }
  .rei-1121-photo-main{
    inset:0 40px 30px 0;
  }
  .rei-1121-photo-alt{
    top:110px;
    width:46%;
  }
}

@media (max-width: 640px){
  .rei-1121-hero{
    min-height:auto;
  }
  .rei-1121-hero-wrap{
    min-height:auto;
    padding:92px 0 72px;
  }
  .rei-1121-hero h1{
    max-width:none;
  }
  .rei-1121-subtitle{
    font-size:15px;
    letter-spacing:.06em;
  }
  .rei-1121-lead{
    font-size:17px;
  }
  .rei-1121-card-grid,
  .rei-1121-why-grid{
    grid-template-columns:1fr;
  }
  .rei-1121-panel-card strong{
    font-size:24px;
  }
  .rei-1121-visual-card strong{
    font-size:22px;
  }
  .rei-1121-photo-main,
  .rei-1121-photo-alt{
    position:relative;
    inset:auto;
    width:100%;
    top:auto;
    right:auto;
  }
  .rei-1121-commitment-media{
    display:grid;
    gap:16px;
    min-height:auto;
  }
  .rei-1121-photo-main{
    min-height:260px;
  }
  .rei-1121-photo-alt{
    min-height:220px;
    border-width:0;
  }
}

/* =========================================================
   SOCIAL ICON COLORS - PARCHE MANUAL
   Cambia el fondo del círculo, no solo el icono.
   ========================================================= */

/* Base: mantener forma del botón social */
.footer-social a,
.social-icons a,
.social-links a,
.site-footer .social a,
.footer .social a,
.footer a[href*="facebook"],
.footer a[href*="instagram"],
.footer a[href*="youtube"],
.footer a[href*="youtu"],
.footer a[href*="whatsapp"],
.footer a[href*="wa.me"],
.site-footer a[href*="facebook"],
.site-footer a[href*="instagram"],
.site-footer a[href*="youtube"],
.site-footer a[href*="youtu"],
.site-footer a[href*="whatsapp"],
.site-footer a[href*="wa.me"]{
  color:#fff !important;
}

.footer-social a i,
.social-icons a i,
.social-links a i,
.site-footer .social a i,
.footer .social a i{
  color:#fff !important;
}

/* Por href real */
a[href*="facebook"]{
  background:#1877F2 !important;
  color:#fff !important;
}

a[href*="instagram"]{
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;
  color:#fff !important;
}

a[href*="youtube"],
a[href*="youtu.be"]{
  background:#FF0000 !important;
  color:#fff !important;
}

a[href*="whatsapp"],
a[href*="wa.me"]{
  background:#25D366 !important;
  color:#fff !important;
}

/* Por clases si existen */
.facebook,
.fa-facebook,
.social-facebook{
  background:#1877F2 !important;
  color:#fff !important;
}

.instagram,
.fa-instagram,
.social-instagram{
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;
  color:#fff !important;
}

.youtube,
.fa-youtube,
.social-youtube{
  background:#FF0000 !important;
  color:#fff !important;
}

.whatsapp,
.fa-whatsapp,
.social-whatsapp{
  background:#25D366 !important;
  color:#fff !important;
}

/* Si son 4 círculos sin href/clase, por orden visual del footer:
   1 Facebook, 2 Instagram, 3 YouTube, 4 WhatsApp */
.footer-social a:nth-child(1),
.social-icons a:nth-child(1),
.social-links a:nth-child(1),
.site-footer .social a:nth-child(1),
.footer .social a:nth-child(1){
  background:#1877F2 !important;
  color:#fff !important;
}

.footer-social a:nth-child(2),
.social-icons a:nth-child(2),
.social-links a:nth-child(2),
.site-footer .social a:nth-child(2),
.footer .social a:nth-child(2){
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;
  color:#fff !important;
}

.footer-social a:nth-child(3),
.social-icons a:nth-child(3),
.social-links a:nth-child(3),
.site-footer .social a:nth-child(3),
.footer .social a:nth-child(3){
  background:#FF0000 !important;
  color:#fff !important;
}

.footer-social a:nth-child(4),
.social-icons a:nth-child(4),
.social-links a:nth-child(4),
.site-footer .social a:nth-child(4),
.footer .social a:nth-child(4){
  background:#25D366 !important;
  color:#fff !important;
}

/* Proteger WhatsApp flotante si debe seguir verde */
.whatsapp-float,
.whatsapp-floating,
.floating-whatsapp{
  background:#25D366 !important;
  color:#fff !important;
}


/* =========================================================
   SOCIAL COLORS FINAL REAL
   Forzado sobre top-right / footer / social links
========================================================= */

.top-right a.social-facebook,
.top-right .social-facebook,
.footer a.social-facebook,
.footer .social-facebook,
.site-footer a.social-facebook,
.site-footer .social-facebook,
.social-icons a.social-facebook,
.social-links a.social-facebook,
a.social-facebook,
a[href*="facebook"]{
  background:#1877F2 !important;
  background-color:#1877F2 !important;
  color:#fff !important;
}

.top-right a.social-instagram,
.top-right .social-instagram,
.footer a.social-instagram,
.footer .social-instagram,
.site-footer a.social-instagram,
.site-footer .social-instagram,
.social-icons a.social-instagram,
.social-links a.social-instagram,
a.social-instagram,
a[href*="instagram"]{
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;
  background-color:#E4405F !important;
  color:#fff !important;
}

.top-right a.social-youtube,
.top-right .social-youtube,
.footer a.social-youtube,
.footer .social-youtube,
.site-footer a.social-youtube,
.site-footer .social-youtube,
.social-icons a.social-youtube,
.social-links a.social-youtube,
a.social-youtube,
a[href*="youtube"],
a[href*="youtu.be"]{
  background:#FF0000 !important;
  background-color:#FF0000 !important;
  color:#fff !important;
}

.top-right a.social-whatsapp,
.top-right .social-whatsapp,
.footer a.social-whatsapp,
.footer .social-whatsapp,
.site-footer a.social-whatsapp,
.site-footer .social-whatsapp,
.social-icons a.social-whatsapp,
.social-links a.social-whatsapp,
a.social-whatsapp,
a[href*="whatsapp"],
a[href*="wa.me"]{
  background:#25D366 !important;
  background-color:#25D366 !important;
  color:#fff !important;
}

/* icono interno siempre blanco */
.top-right a[class*="social-"] i,
.footer a[class*="social-"] i,
.site-footer a[class*="social-"] i,
.social-icons a i,
.social-links a i{
  color:#fff !important;
  background:transparent !important;
}

/* =========================================================
   CORRECCIONES GENERALES NEI - 2026-06-05
========================================================= */

.logo{
  width:126px;
  height:78px;
  flex:0 0 126px;
}

.logo svg{
  width:100%;
  height:auto;
  display:block;
}

.logo img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}

.top-contact-link,
.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.top-contact-link svg,
.social-mark svg,
.whatsapp.social-mark svg{
  width:16px;
  height:16px;
  display:block;
  fill:currentColor;
  flex:0 0 16px;
}

.top-contact-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:20px;
  padding:0 8px;
  border-radius:999px;
  background:#eef5e9;
  color:#1f5f07;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.top-contact-whatsapp-link svg{
  color:#25D366;
}

.top-contact-central svg,
.top-contact-mail svg{
  color:#29205a;
}

.lang-switch{
  min-width:36px;
  min-height:36px;
  justify-content:center;
  border-radius:999px;
  border:1px solid #dfe6da;
  background:#fff;
  color:#1f1f1f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.lang-switch .lang-flag{
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid rgba(34,18,74,.12);
  box-shadow:0 1px 2px rgba(0,0,0,.08);
  flex:0 0 18px;
}

.lang-switch .lang-code{
  line-height:1;
}

.lang-switch .flag-en{
  background:
    linear-gradient(180deg,#b31942 0 14.28%,#fff 14.28% 28.56%,#b31942 28.56% 42.84%,#fff 42.84% 57.12%,#b31942 57.12% 71.4%,#fff 71.4% 85.68%,#b31942 85.68% 100%);
  position:relative;
  overflow:hidden;
}

.lang-switch .flag-en::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:44%;
  height:52%;
  background:#3c3b6e;
}

.lang-switch .flag-es{
  background:linear-gradient(180deg,#002b7f 0 25%,#fff 25% 50%,#ce1126 50% 75%,#fff 75% 100%);
}

.top-right .social-mark,
.footer .socials .social-mark,
.whatsapp.social-mark{
  width:38px;
  height:38px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff !important;
  border:0;
}

.contact-strip a,
.contact-line a{
  color:inherit;
}

.service-photo{
  min-height:390px;
  border-radius:18px;
  background:center/cover no-repeat;
  border:1px solid #e6ece4;
  position:relative;
  overflow:hidden;
}

.service-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,23,18,.08),rgba(15,23,18,.22));
}

.service-photo-home-condominios{background-image:url('../img/real/condominio-heredia.jpeg');}
.service-photo-home-proyectos{background-image:url('../img/real/terraza-proyecto.jpeg');}
.service-photo-condominios{background-image:url('../img/servicios-vieja/servicios-condominios.jpg');}
.service-photo-hoteles{background-image:url('../img/servicios-vieja/servicios-hoteles.jpg');}
.service-photo-propiedades{background-image:url('../img/servicios-vieja/servicios-propiedades.jpeg');}
.service-photo-facility{background-image:url('../img/servicios-vieja/servicios-facility.png');}
.service-photo-realestate{background-image:url('../img/servicios-vieja/servicios-bienes-raices.jpg');}
.service-photo-realestate-1121{background-image:url('../img/servicios-vieja/servicios-bienes-raices.jpg');}
.service-photo-legales{
  background:
    linear-gradient(145deg,rgba(20,24,36,.18),rgba(20,24,36,.48)),
    url('../img/legal/abogados-legal-nei.jpg') center/cover no-repeat;
}

.service-photo-legales::before{
  content:"Asesoría legal";
  position:absolute;
  left:28px;
  bottom:24px;
  z-index:2;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(34,18,74,.9);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.lang-en .service-photo-legales::before{
  content:"Legal advisory";
}

.service-grid{
  align-items:stretch;
}

.service-box{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
  background:center/cover no-repeat !important;
  padding:28px 28px 26px;
}

.service-box::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,14,18,.05),rgba(10,14,18,.76));
}

.service-box > *{
  position:relative;
  z-index:1;
}

.service-box .icon{
  width:50px;
  height:50px;
  margin-bottom:18px;
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(4px);
}

.service-box h3{
  color:#fff;
}

.service-box-condos{background-image:url('../img/real/condominio-heredia.jpeg') !important;}
.service-box-hotels{background-image:url('../img/real/permacultura-san-mateo.jpeg') !important;}
.service-box-properties{background-image:url('../img/real/playa-aerea.png') !important;}
.service-box-facility{background-image:url('../img/real/bodegas-comercial.png') !important;}
.service-box-realestate{background-image:url('../img/real/comercial-liberia.jpeg') !important;}
.service-box-legal{
  background-image:
    linear-gradient(145deg,rgba(34,18,74,.38),rgba(34,18,74,.72)),
    linear-gradient(135deg,#d9e1d7,#c2cec3,#95a79b) !important;
}

.services-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}

.service-feature-card{
  background:#fff;
  border:1px solid #e6ece4;
  border-radius:22px;
  overflow:hidden;
}

.service-feature-card > div:last-child{
  padding:28px 28px 30px;
}

.service-highlight{
  color:#1f5f07;
  font-weight:800;
}

.services-mega-small:nth-child(1){
  background-image:url('../img/real/permacultura-san-mateo.jpeg') !important;
}

.portfolio-card-subtitle{
  margin:0;
}

.portfolio-gallery-pro .portfolio-img:after{
  content:"" !important;
}

.top-left,
.top-right{
  min-width:0;
}

.top-left{
  row-gap:10px;
}

.top-right{
  justify-content:flex-end;
}

.contact-strip b a{
  color:#fff;
}

.nei-english-hero{
  min-height:420px;
  text-align:left;
  background:
    linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.82)),
    url('../img/real/terraza-proyecto.jpeg') center/cover no-repeat;
}

.nei-english-hero .wrap{
  max-width:820px;
}

.nei-english-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:24px;
}

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

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

.english-card{
  background:#fff;
  border:1px solid #e6ece4;
  border-radius:18px;
  padding:28px;
}

.english-card h2{
  margin:0 0 14px;
  font-size:28px;
}

.nei-detail-final-head p{
  max-width:760px;
  margin:12px auto 0;
  color:#58615a;
}

.nei-detail-final-grid-professional{
  gap:22px;
}

.nei-detail-professional-card .nei-detail-final-top{
  justify-content:flex-start;
}

.nei-detail-professional-card .nei-detail-final-badge{
  background:rgba(255,255,255,.92);
  color:#22124a;
}

.nei-team-section{
  background:#f6f8f5;
}

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

.nei-team-card{
  background:#fff;
  border:1px solid #e6ece4;
  border-radius:20px;
  padding:28px;
}

.nei-team-avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  background:linear-gradient(135deg,#22124a,#43c713);
  color:#fff;
  font-size:24px;
  font-weight:900;
  letter-spacing:.08em;
}

@media (max-width:1200px){
  .logo{
    width:112px;
    height:72px;
    flex-basis:112px;
  }

  .menu a{
    padding-left:16px;
    padding-right:16px;
  }
}

@media (max-width:980px){
  .topbar .wrap{
    justify-content:center;
  }

  .top-right{
    justify-content:center;
  }

  .services-feature-grid,
  .english-grid,
  .english-grid-two,
  .nei-team-grid{
    grid-template-columns:1fr;
  }

  .service-box{
    min-height:220px;
  }
}

@media (max-width:560px){
  .logo{
    width:104px;
    height:68px;
    flex-basis:104px;
  }

  .top-contact-link{
    font-size:12px;
  }

  .service-photo{
    min-height:280px;
  }

  .lang-switch{
    min-height:32px;
    min-width:32px;
  }
}

/* =========================================================
   HEADER / TOPBAR / MENU FIX FINAL - 2026-06-06
========================================================= */

.topbar{
  position:relative;
  z-index:60;
}

.topbar .wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px 18px;
  min-height:44px;
  padding-top:8px;
  padding-bottom:8px;
}

.top-left,
.top-right{
  min-width:0;
  flex-wrap:wrap;
}

.top-left{
  gap:8px 14px;
  justify-content:flex-start;
}

.top-right{
  gap:8px;
  justify-content:flex-end;
  align-self:start;
}

.top-contact-link{
  max-width:100%;
  min-width:0;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.top-contact-link span:last-child{
  overflow-wrap:anywhere;
}

.topbar .top-contact-whatsapp-link,
.topbar a.top-contact-whatsapp-link,
.top-left .top-contact-whatsapp-link,
.top-left a.top-contact-whatsapp-link{
  background:transparent !important;
  background-color:transparent !important;
  color:inherit !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  border:0 !important;
}

.topbar .top-contact-whatsapp-link .green,
.top-left .top-contact-whatsapp-link .green{
  color:var(--green-dark) !important;
}

.top-contact-tag{
  min-width:52px;
}

.top-contact-tag{
  min-width:auto;
  min-height:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#29205a;
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}

.top-contact-label{
  color:#29205a;
  font-weight:800;
}

.nav{
  gap:18px;
}

.menu{
  margin-left:auto;
  min-width:0;
}

.menu > a,
.menu > .has-mega > a,
.menu > .lang-switch-menu{
  flex:0 0 auto;
}

.menu .lang-switch-menu{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-left:8px;
  padding:0 16px !important;
  min-height:86px;
  border-left:1px solid #f0f0f0;
  border-radius:0;
  background:transparent;
  color:#333;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}

.menu .lang-switch-menu:hover,
.menu .lang-switch-menu.active{
  color:var(--green-dark);
  background:#fafafa;
}

.top-right .lang-switch{
  display:none !important;
}

.top-right .social-mark{
  width:34px;
  height:34px;
  flex:0 0 34px;
}

.top-right .social-mark svg,
.footer .socials .social-mark svg,
.whatsapp.social-mark svg{
  width:15px;
  height:15px;
}

@media (max-width:1200px){
  .topbar .wrap{
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
  }

  .top-left,
  .top-right{
    justify-content:center;
  }

  .menu a{
    padding-left:13px;
    padding-right:13px;
    font-size:13px;
  }

  .menu .lang-switch-menu{
    min-height:86px;
    padding:0 12px !important;
    margin-left:0;
  }
}

@media (max-width:980px){
  .nav{
    gap:10px;
  }

  .menu{
    overflow-x:visible;
  }

  .menu .lang-switch-menu{
    width:100%;
    min-height:auto;
    padding:16px 22px !important;
    border-left:0;
    border-top:1px solid #f0f0f0;
    justify-content:center;
    border-radius:0;
  }

  .topbar .wrap{
    padding-top:10px;
    padding-bottom:10px;
  }
}

@media (max-width:640px){
  .top-left{
    gap:6px 10px;
    font-size:12px;
  }

  .top-contact-tag{
    min-width:48px;
  }

  .top-right .social-mark{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
}

/* =========================================================
   MEGA MENU RESPONSIVE FINAL - 2026-06-06
========================================================= */

.nav{
  position:relative;
  overflow:visible;
}

.menu{
  position:static;
  overflow:visible;
}

.menu > .has-mega{
  position:static;
}

.menu > .has-mega > .mega-menu{
  box-sizing:border-box;
  position:absolute;
  top:100%;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) translateY(14px) !important;
  width:min(1120px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100vh - 170px);
  gap:20px;
  padding:20px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  z-index:120;
}

.menu > .has-mega > .portfolio-mega{
  left:auto !important;
  right:0 !important;
  transform:translateY(14px) !important;
}

.menu > .has-mega > .mega-menu:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-34px;
  height:38px;
  background:transparent;
}

.menu > .has-mega:hover > .mega-menu,
.menu > .has-mega:focus-within > .mega-menu,
.menu > .has-mega.mega-active > .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) !important;
}

.menu > .has-mega:hover > .portfolio-mega,
.menu > .has-mega:focus-within > .portfolio-mega,
.menu > .has-mega.mega-active > .portfolio-mega{
  transform:translateY(0) !important;
}

.mega-menu.services-mega,
.mega-menu.portfolio-mega{
  grid-template-columns:minmax(260px,.96fr) minmax(360px,1.04fr);
}

.mega-menu h3,
.services-mega-list a strong,
.services-mega-list a span,
.portfolio-mega-list a strong,
.portfolio-mega-list a span{
  overflow-wrap:anywhere;
}

.services-mega-list,
.portfolio-mega-list,
.services-mega-gallery,
.portfolio-mega-gallery,
.services-mega-smalls,
.portfolio-mega-smalls{
  min-width:0;
}

.services-mega-list,
.portfolio-mega-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.services-mega-gallery,
.portfolio-mega-gallery{
  grid-template-columns:minmax(0,1fr) minmax(190px,.68fr);
  gap:10px;
  align-items:stretch;
}

.services-mega-smalls,
.portfolio-mega-smalls{
  gap:10px;
}

.services-mega-main,
.services-mega-small,
.portfolio-mega-main,
.portfolio-mega-small{
  display:block;
  max-width:100%;
  min-width:0;
  background-position:center;
  background-size:cover;
  object-fit:cover;
}

.services-mega-main,
.portfolio-mega-main{
  min-height:244px;
}

.services-mega-small,
.portfolio-mega-small{
  min-height:74px;
}

@media (max-width:1400px){
  .menu > .has-mega > .mega-menu{
    width:min(1020px,calc(100vw - 32px));
    max-width:calc(100vw - 32px);
    gap:18px;
    padding:18px;
  }

  .mega-menu.services-mega,
  .mega-menu.portfolio-mega{
    grid-template-columns:minmax(240px,.94fr) minmax(320px,1.06fr);
  }
}

@media (max-width:1366px){
  .menu > .has-mega > .mega-menu{
    width:min(980px,calc(100vw - 32px));
    max-width:calc(100vw - 32px);
    gap:18px;
    padding:18px;
  }

  .mega-menu.services-mega,
  .mega-menu.portfolio-mega{
    grid-template-columns:minmax(240px,.98fr) minmax(320px,1.02fr);
  }

  .services-mega-main,
  .portfolio-mega-main{
    min-height:220px;
  }
}

@media (max-width:1200px){
  .menu > .has-mega > .mega-menu{
    width:min(920px,calc(100vw - 28px));
    max-width:calc(100vw - 28px);
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    padding:16px;
  }

  .mega-title{
    margin-bottom:6px;
  }

  .mega-menu h3{
    font-size:18px;
    line-height:1.2;
    margin-bottom:8px;
  }

  .services-mega-list,
  .portfolio-mega-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .services-mega-list a,
  .portfolio-mega-list a{
    padding:12px !important;
    gap:2px;
  }

  .services-mega-list a span,
  .portfolio-mega-list a span{
    font-size:11px;
    line-height:1.28;
  }

  .services-mega-gallery,
  .portfolio-mega-gallery{
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  }

  .services-mega-main,
  .portfolio-mega-main{
    min-height:150px;
  }

  .services-mega-small,
  .portfolio-mega-small{
    min-height:44px;
  }
}

@media (max-width:1024px){
  .menu > .has-mega > .mega-menu{
    width:min(100%,calc(100vw - 24px));
    max-width:calc(100vw - 24px);
    max-height:calc(100vh - 360px);
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    padding:12px;
  }

  .mega-title{
    margin-bottom:3px;
  }

  .mega-menu h3{
    font-size:16px;
    line-height:1.15;
    margin-bottom:4px;
  }

  .services-mega-list,
  .portfolio-mega-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }

  .services-mega-list a,
  .portfolio-mega-list a{
    padding:10px !important;
    gap:2px;
  }

  .services-mega-list a span,
  .portfolio-mega-list a span{
    font-size:10px;
    line-height:1.2;
  }

  .services-mega-gallery,
  .portfolio-mega-gallery{
    grid-template-columns:minmax(0,1fr) minmax(150px,.62fr);
    gap:6px;
  }

  .services-mega-main,
  .portfolio-mega-main{
    min-height:108px;
  }

  .services-mega-small,
  .portfolio-mega-small{
    min-height:32px;
  }
}

@media (max-height:900px) and (min-width:1025px){
  .menu > .has-mega > .mega-menu{
    max-height:calc(100vh - 150px);
    gap:14px;
    padding:16px;
  }

  .mega-title{
    margin-bottom:4px;
  }

  .mega-menu h3{
    font-size:18px;
    margin-bottom:6px;
  }

  .services-mega-list a,
  .portfolio-mega-list a{
    padding:11px !important;
  }

  .services-mega-main,
  .portfolio-mega-main{
    min-height:138px;
  }

  .services-mega-small,
  .portfolio-mega-small{
    min-height:42px;
  }
}

@media (max-height:780px) and (min-width:1025px){
  .menu > .has-mega > .mega-menu{
    max-height:calc(100vh - 145px);
    gap:12px;
    padding:14px;
  }

  .mega-menu h3{
    font-size:16px;
    line-height:1.15;
    margin-bottom:4px;
  }

  .services-mega-list,
  .portfolio-mega-list{
    gap:6px;
  }

  .services-mega-list a,
  .portfolio-mega-list a{
    padding:10px !important;
  }

  .services-mega-list a span,
  .portfolio-mega-list a span{
    font-size:10px;
    line-height:1.2;
  }

  .services-mega-gallery,
  .portfolio-mega-gallery{
    grid-template-columns:minmax(0,1fr) minmax(150px,.62fr);
    gap:6px;
  }

  .services-mega-main,
  .portfolio-mega-main{
    min-height:112px;
  }

  .services-mega-small,
  .portfolio-mega-small{
    min-height:34px;
  }
}

@media (max-width:980px){
  .menu{
    max-width:100vw;
    overflow-x:clip;
  }

  @supports not (overflow:clip){
    .menu{
      overflow-x:hidden;
    }
  }

  .menu > .has-mega{
    width:100%;
  }

  .menu > .has-mega > a{
    width:100%;
    text-align:center;
  }

  .menu > .has-mega > .mega-menu{
    position:static;
    left:auto !important;
    right:auto !important;
    top:auto;
    width:100%;
    max-width:100%;
    max-height:none;
    margin:0;
    padding:0 0 12px;
    display:none;
    grid-template-columns:1fr;
    gap:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none !important;
    border:0 !important;
    border-top:1px solid #ececec !important;
    border-radius:0;
    background:#fff;
    box-shadow:none !important;
    overflow:visible;
  }

  .menu > .has-mega > .mega-menu:before{
    display:none;
  }

  .menu.open > .has-mega.mega-open > a{
    background:#fafafa;
    color:var(--green-dark);
  }

  .menu.open > .has-mega.mega-open > .mega-menu{
    display:grid;
  }

  .menu.open > .has-mega.mega-open > .mega-menu > div:first-child{
    min-width:0;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .mega-title,
  .menu.open > .has-mega.mega-open > .mega-menu h3,
  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-gallery,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-gallery{
    display:none;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list{
    grid-template-columns:1fr;
    gap:0;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list a,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a{
    padding:14px 22px !important;
    border:0 !important;
    border-top:1px solid #f0f0f0 !important;
    border-radius:0;
    background:transparent;
    text-align:left;
    box-shadow:none !important;
    transform:none !important;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list a:hover,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a:hover,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a.is-active{
    background:#fafafa;
  }
}

@media (max-width:768px){
  .menu.open > .has-mega.mega-open > .mega-menu{
    padding-bottom:8px;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list a,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a{
    padding:13px 18px !important;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list a span,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a span{
    font-size:12px;
  }
}

@media (max-width:480px){
  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list a,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a{
    padding:12px 16px !important;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list a strong,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a strong{
    font-size:13px;
  }

  .menu.open > .has-mega.mega-open > .mega-menu .services-mega-list a span,
  .menu.open > .has-mega.mega-open > .mega-menu .portfolio-mega-list a span{
    font-size:11px;
    line-height:1.25;
  }
}

html,
body{
  max-width:100%;
  overflow-x:clip;
}

@supports not (overflow:clip){
  html,
  body{
    overflow-x:hidden;
  }
}

img,
video,
iframe{
  max-width:100%;
  height:auto;
}
