/* Avatar de autor: alcance limitado a la foto junto al nombre del testimonio. */
.testimonial1-section-area .testimonial-sliders .author-content > .img1 {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  flex: 0 0 64px !important;
  border-radius: 50%;
  overflow: hidden;
}
.testimonial1-section-area .testimonial-sliders .author-content > .img1 > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  border-radius: 50%;
}
.testimonial1-section-area .testimonial-sliders .author-content > .content {
  min-width: 0;
}
@media (max-width: 767px) {
  .testimonial1-section-area .testimonial-sliders .author-content > .img1 {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    flex-basis: 52px !important;
  }
}
.footer-logo img,
.vl-logo img,
.logo img,
.mobile-logo img {
  max-width: 210px;
  height: auto;
}

.site-logo img {
  width: 210px;
  max-width: 210px;
}

.header-area.homepage1 .header-elements {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
  min-height: 108px;
}

.header-area.homepage1 {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(3, 7, 30, 0.08);
  box-shadow: 0 14px 40px rgba(3, 7, 30, 0.06);
}

.header-area.homepage1 .main-menu > ul {
  display: flex;
  align-items: center;
  gap: 38px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-area.homepage1 .main-menu > ul > li > a {
  color: #03071e !important;
  font-weight: 700;
}

.header-area.homepage1 .main-menu > ul > li > a:hover {
  color: #fbdf68 !important;
}

.header-area.homepage1 .main-menu li {
  list-style: none;
}

.header-area.homepage1 .dropdown-padding {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 300px;
  margin: 0;
  padding: 18px 0;
  list-style: none;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  z-index: 50;
  box-shadow: 0 18px 45px rgba(3, 7, 30, 0.14);
}

.header-area.homepage1 .main-menu > ul > li {
  position: relative;
}

.header-area.homepage1 .main-menu > ul > li:hover > .dropdown-padding,
.header-area.homepage1 .main-menu > ul > li:focus-within > .dropdown-padding {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header-area.homepage1 .dropdown-padding li a {
  display: block;
  padding: 10px 22px;
  color: #03071e;
  line-height: 1.25;
}

.header-area.homepage1 .btn-area .header-btn1 {
  white-space: nowrap;
  min-width: max-content;
  color: #03071e !important;
  font-weight: 800;
}

.mobile-header.mobile-haeder1 {
  background: #fff;
  border-bottom: 1px solid rgba(3, 7, 30, 0.08);
}

.mobile-header.mobile-haeder1 .mobile-nav-icon {
  color: #03071e;
  border-color: rgba(3, 7, 30, 0.22);
}

.hero-section-area {
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(90deg, rgba(3, 7, 30, 0.78), rgba(3, 7, 30, 0.32)), url("../img/construyo/hero-miraflores-local-1600.webp");
  background-size: cover;
  background-position: center;
}

.hero-section-area::before,
.inner-hero-area::before,
.cost-calculator-area::before,
.cta1-section-area::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-section-area::before {
  background: linear-gradient(90deg, rgba(3, 7, 30, 0.72), rgba(3, 7, 30, 0.38) 46%, rgba(3, 7, 30, 0.12));
  z-index: 1;
}

.hero-section-area > .container,
.hero-section-area > .slider-btn-area {
  position: relative;
  z-index: 2;
}

.inner-hero-area {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.inner-hero-area::before {
  background: linear-gradient(90deg, rgba(3, 7, 30, 0.78), rgba(3, 7, 30, 0.3));
}

.inner-hero-area > .container {
  position: relative;
  z-index: 1;
}

.cost-calculator-area {
  position: relative;
  background-image: linear-gradient(rgba(3, 7, 30, 0.66), rgba(3, 7, 30, 0.66)), url("../img/construyo/equipo-tecnico-planos-1122.webp") !important;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.cost-calculator-area > .container {
  position: relative;
  z-index: 1;
}

.cta1-section-area {
  position: relative;
  background-image: linear-gradient(90deg, rgba(3, 7, 30, 0.86), rgba(3, 7, 30, 0.42)), url("../img/construyo/fachada-trabajos-altura-1448.webp") !important;
  background-size: cover;
  background-position: center;
}

.cta1-section-area > .container {
  position: relative;
  z-index: 1;
}

.hero-section-area .hero-img1,
.about1-section-area .img1 img,
.about1-section-area .img2 img,
.service-boxarea .img1 img,
.service-widget-others .img1 img,
.project1-section-area .img1 img,
.blog-boxarea .img1 img,
.testimonial-slider-img img,
.team-boxarea img,
.project-boxarea img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-section-area .hero-img1 {
  display: none !important;
}

.hero-section-area .slider-btn-area {
  position: absolute !important;
  left: 7.5%;
  right: auto;
  bottom: 46px;
  width: min(980px, 84vw) !important;
  z-index: 3;
}

.hero-section-area .slider-btn-area .nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 !important;
}

.hero-section-area .slider-btn-area .nav-item,
.hero-section-area .slider-btn-area .nav-link {
  width: 100% !important;
}

.hero-section-area .slider-btn-area button {
  position: static !important;
  min-height: 84px;
  padding: 20px 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(3, 7, 30, 0.58) !important;
  color: #fff !important;
  backdrop-filter: blur(12px);
  text-align: left !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1.15 !important;
  box-shadow: none !important;
}

.hero-section-area .slider-btn-area button.active,
.hero-section-area .slider-btn-area button:hover {
  background: #fbdf68 !important;
  color: #03071e !important;
}

.hero-section-area .slider-btn-area button::before,
.hero-section-area .slider-btn-area button::after {
  display: none !important;
}

.service-boxarea .img1,
.blog-boxarea .img1,
.project1-section-area .img1 {
  background: #111827;
}

.service-boxarea .img1 img,
.blog-boxarea .img1 img,
.project1-section-area .img1 img {
  min-height: 250px;
}

.service-widget-others .img1 img {
  max-height: 480px;
}

.about1-section-area .images-area .img1,
.about1-section-area .images-area2 .img2 {
  overflow: hidden;
}

.hero-header.heading1 h2 {
  max-width: 760px;
}

.hero-header.heading1 p {
  max-width: 690px;
}

.service-boxarea .content-area .head {
  line-height: 1.25;
}

.service-widget-others p,
.peragraph p,
.pera p,
.contact-header li a,
.footer-logo p {
  letter-spacing: 0;
}

.contact1-section-area input,
.contact1-section-area textarea,
.contact-widget-area input,
.contact-widget-area textarea {
  font-size: 16px;
}

@media (max-width: 767px) {
  .hero-header.heading1 h2 {
    font-size: 38px;
    line-height: 1.08;
  }

  .slider-btn-area .nav {
    gap: 8px;
  }

  .cost-calculator-area {
    background-attachment: scroll;
  }
}

@media (max-width: 1199px) {
  .header-area.homepage1 .header-elements {
    gap: 18px;
    min-height: 96px;
  }

  .header-area.homepage1 .site-logo img {
    max-width: 178px;
  }

  .header-area.homepage1 .main-menu > ul {
    gap: 22px;
  }

  .header-area.homepage1 .main-menu > ul > li > a {
    font-size: 16px;
  }

  .header-area.homepage1 .btn-area .header-btn1 {
    padding: 16px 20px;
    font-size: 16px;
  }

  .hero-section-area .slider-btn-area {
    position: relative !important;
    left: auto;
    bottom: auto;
    width: 100% !important;
    margin-top: 34px;
  }
}

@media (max-width: 1060px) {
  .header-area.homepage1 {
    display: none !important;
  }

  .mobile-header.mobile-haeder1 {
    display: block !important;
  }

  .header-area.homepage1 .main-menu > ul {
    gap: 16px;
  }

  .header-area.homepage1 .btn-area .header-btn1 {
    padding: 14px 16px;
  }
}

@media (max-width: 767px) {
  .hero-section-area .slider-btn-area .nav {
    grid-template-columns: 1fr;
  }

  .hero-section-area .slider-btn-area button {
    min-height: auto;
    padding: 16px 18px !important;
  }
}

/* Ajustes finales solicitados: logo consistente y tarjetas sobrias */
.header-area.homepage1 .site-logo img,
.header-area.homepage1 .vl-logo img,
.header-area.homepage1 .logo img,
.header-area .site-logo img,
.header-area .vl-logo img,
.header-area .logo img,
.mobile-header .mobile-logo img,
.mobile-sidebar .mobile-logo img {
  width: 210px !important;
  max-width: 210px !important;
  min-width: 210px !important;
  height: auto !important;
  display: block !important;
}

.header-area.homepage1 .header-elements,
.header-area .header-elements {
  min-height: 108px !important;
  align-items: center !important;
}

@media (max-width: 1199px) {
  .header-area.homepage1 .site-logo img,
  .header-area.homepage1 .vl-logo img,
  .header-area.homepage1 .logo img,
  .header-area .site-logo img,
  .header-area .vl-logo img,
  .header-area .logo img {
    width: 210px !important;
    max-width: 210px !important;
    min-width: 210px !important;
  }
}

@media (max-width: 1060px) {
  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img {
    width: 178px !important;
    max-width: 178px !important;
    min-width: 178px !important;
  }
}

.about-values-area .value-box,
.about1-section-area .value-box,
.value-box,
.mission-box,
.about-value-box,
.about1-section-area .single-box,
.about1-section-area .service-boxarea,
.about1-section-area .choose-boxarea {
  background: #ffffff !important;
  border: 1px solid rgba(3, 7, 30, 0.10) !important;
  box-shadow: 0 18px 45px rgba(3, 7, 30, 0.07) !important;
}

.about-values-area .value-box h5,
.about1-section-area .value-box h5,
.value-box h5,
.mission-box h5 {
  color: #03071e !important;
}

.about-values-area .value-box .arrow,
.about1-section-area .value-box .arrow,
.value-box .arrow,
.mission-box .arrow {
  background: #fbdf68 !important;
  color: #03071e !important;
}

.project-details-section img,
.blog-details-section img,
.team-single-section img {
  object-fit: cover;
}

/* Logo final unificado en toda la web: mismo tamaño que la cabecera amplia solicitada */
.homepage1-body .header-area.homepage1 .header-elements .site-logo,
.header-area.homepage1 .header-elements .site-logo,
.header-area .header-elements .site-logo {
  width: 245px !important;
  min-width: 245px !important;
  max-width: 245px !important;
  flex: 0 0 245px !important;
}

.homepage1-body .header-area.homepage1 .header-elements .site-logo a,
.header-area.homepage1 .header-elements .site-logo a,
.header-area .header-elements .site-logo a {
  display: block !important;
  width: 245px !important;
}

.homepage1-body .header-area.homepage1 .header-elements .site-logo img,
.header-area.homepage1 .header-elements .site-logo img,
.header-area .header-elements .site-logo img {
  width: 245px !important;
  max-width: 245px !important;
  min-width: 245px !important;
  height: auto !important;
}

.homepage1-body .header-area.homepage1,
.header-area.homepage1 {
  min-height: 126px !important;
}

.homepage1-body .header-area.homepage1 .header-elements,
.header-area.homepage1 .header-elements,
.header-area .header-elements {
  min-height: 126px !important;
}

@media (max-width: 1199px) {
  .homepage1-body .header-area.homepage1 .header-elements .site-logo,
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    flex-basis: 220px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo a,
  .header-area.homepage1 .header-elements .site-logo a,
  .header-area .header-elements .site-logo a,
  .homepage1-body .header-area.homepage1 .header-elements .site-logo img,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: 220px !important;
    max-width: 220px !important;
    min-width: 220px !important;
  }
}

/* Mantener Servicios + en una sola línea en el menú principal */
.header-area.homepage1 .main-menu > ul > li > a,
.header-area .main-menu > ul > li > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.header-area.homepage1 .main-menu > ul > li > a i,
.header-area .main-menu > ul > li > a i {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  margin-left: 2px !important;
  position: static !important;
  transform: none !important;
}

/* Corrección visual de noticia única: evitar placeholders de plantilla */
body .inner-hero-area {
  background-size: cover !important;
  background-position: center !important;
}
body .inner-hero-area::before {
  background: linear-gradient(90deg, rgba(3, 7, 30, 0.82), rgba(3, 7, 30, 0.48), rgba(3, 7, 30, 0.22)) !important;
}

/* Nosotros: tarjetas de valores/misión más sobrias y profesionales */
.value-section-area .value-boxs-area {
  gap: 28px !important;
}

.value-section-area .value-boxs-area .value-box,
.value-section-area .value-boxs-area .value-box2 {
  background: #ffffff !important;
  border: 1px solid rgba(3, 7, 30, 0.10) !important;
  border-top: 6px solid #fbdf68 !important;
  border-radius: 4px !important;
  box-shadow: 0 22px 55px rgba(3, 7, 30, 0.08) !important;
  padding: 42px 38px !important;
  min-height: 285px !important;
  overflow: hidden !important;
}

.value-section-area .value-boxs-area .value-box2 {
  border-top-color: #03071e !important;
}

.value-section-area .value-boxs-area .value-box .arrow,
.value-section-area .value-boxs-area .value-box2 .arrow {
  top: 24px !important;
  right: 28px !important;
  background: transparent !important;
}

.value-section-area .value-boxs-area .value-box .arrow a,
.value-section-area .value-boxs-area .value-box2 .arrow a {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fbdf68 !important;
  color: #03071e !important;
}

.value-section-area .value-boxs-area .value-box2 .arrow a {
  background: #03071e !important;
  color: #ffffff !important;
}

.value-section-area .value-boxs-area .value-box h5,
.value-section-area .value-boxs-area .value-box2 h5 {
  color: #03071e !important;
  font-weight: 800 !important;
  margin-bottom: 20px !important;
}

.value-section-area .value-boxs-area .value-box a,
.value-section-area .value-boxs-area .value-box2 a {
  color: #03071e !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.value-section-area .value-boxs-area .value-box p,
.value-section-area .value-boxs-area .value-box2 p {
  color: #4b5563 !important;
  line-height: 1.7 !important;
  margin-top: 20px !important;
}

/* Hover del botón principal: fondo oscuro con texto blanco */
.header-area.homepage1 .btn-area .header-btn1:hover,
.header-area .btn-area .header-btn1:hover,
.header-btn1:hover {
  color: #ffffff !important;
}

.header-area.homepage1 .btn-area .header-btn1:hover i,
.header-area .btn-area .header-btn1:hover i,
.header-btn1:hover i {
  color: #ffffff !important;
}

.header-area.homepage1 .btn-area .header-btn1:hover::after,
.header-area .btn-area .header-btn1:hover::after,
.header-btn1:hover::after {
  background: #03071e !important;
}

/* Secciones tipo landing para páginas de servicio */
.service-landing-expansion {
  background: #f6f7f9;
  position: relative;
  overflow: hidden;
}

.service-landing-expansion .landing-copy p,
.service-proof-section .proof-text,
.service-faq-mini p {
  color: #5d6675;
  line-height: 1.8;
  font-size: 18px;
}

.landing-image-card {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 28px 70px rgba(3, 7, 30, 0.16);
}

.landing-image-card img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  display: block;
}

.landing-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3,7,30,0.02), rgba(3,7,30,0.32));
}

.landing-badge {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  background: #fbdf68;
  color: #03071e;
  padding: 22px 26px;
  min-width: 190px;
}

.landing-badge strong {
  display: block;
  font-size: 42px;
  line-height: 1;
  font-weight: 900;
}

.landing-badge span {
  display: block;
  margin-top: 8px;
  font-weight: 800;
}

.landing-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.landing-feature-grid article {
  background: #ffffff;
  border: 1px solid rgba(3, 7, 30, 0.08);
  padding: 30px 26px;
  min-height: 250px;
  box-shadow: 0 18px 45px rgba(3, 7, 30, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.landing-feature-grid article:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(3, 7, 30, 0.10);
}

.landing-feature-grid span {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  background: #03071e;
  color: #ffffff;
  font-weight: 900;
  margin-bottom: 24px;
}

.landing-feature-grid h3 {
  font-size: 22px;
  line-height: 1.25;
  margin-bottom: 14px;
}

.landing-feature-grid p {
  color: #5d6675;
  line-height: 1.65;
  margin: 0;
}

.service-proof-section {
  background: #ffffff;
}

.landing-projects-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.landing-projects-grid article {
  position: relative;
  min-height: 360px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

.landing-projects-grid article::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3,7,30,0.04), rgba(3,7,30,0.82));
}

.landing-projects-grid article > div {
  position: relative;
  z-index: 1;
  padding: 30px;
  color: #ffffff;
}

.landing-projects-grid h3 {
  color: #ffffff;
  font-size: 25px;
  margin-bottom: 10px;
}

.landing-projects-grid p {
  color: rgba(255,255,255,0.82);
  line-height: 1.6;
  margin: 0;
}

.service-faq-mini {
  background: #f6f7f9;
}

.sticky-copy {
  position: sticky;
  top: 140px;
}

.faq-mini-list {
  display: grid;
  gap: 16px;
}

.faq-mini-list details {
  background: #ffffff;
  border: 1px solid rgba(3, 7, 30, 0.09);
  padding: 24px 28px;
  box-shadow: 0 16px 40px rgba(3,7,30,0.05);
}

.faq-mini-list summary {
  cursor: pointer;
  font-size: 21px;
  font-weight: 900;
  color: #03071e;
  list-style: none;
}

.faq-mini-list summary::-webkit-details-marker {
  display: none;
}

.faq-mini-list summary::after {
  content: "+";
  float: right;
  color: #fbdf68;
  font-size: 28px;
  line-height: 1;
}

.faq-mini-list details[open] summary::after {
  content: "−";
}

.faq-mini-list p {
  margin: 18px 0 0;
}

/* Indicador único del menú desplegable, sin depender de fuentes de iconos. */
.header-area .main-menu > ul > li > a.plus,
.header-area.homepage1 .main-menu > ul > li > a.plus,
.homepage1-body .header-area.homepage1 .header-elements .main-menu ul li a.plus,
.homepage2-body .header-area.homepage2 .header-elements .main-menu ul li a.plus,
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul li a.plus,
.homepage4-body .header-area.homepage4 .header-elements .main-menu ul li a.plus,
.homepage5-body .header-area.homepage5 .header-elements .main-menu ul li a.plus {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
}
.header-area .main-menu > ul > li > a.plus i,
.header-area.homepage1 .main-menu > ul > li > a.plus i,
.homepage1-body .header-area.homepage1 .header-elements .main-menu ul li a.plus i,
.homepage2-body .header-area.homepage2 .header-elements .main-menu ul li a.plus i,
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul li a.plus i,
.homepage4-body .header-area.homepage4 .header-elements .main-menu ul li a.plus i,
.homepage5-body .header-area.homepage5 .header-elements .main-menu ul li a.plus i {
  display: none !important;
}
.header-area .main-menu > ul > li > a.plus::after,
.header-area.homepage1 .main-menu > ul > li > a.plus::after,
.homepage1-body .header-area.homepage1 .header-elements .main-menu ul li a.plus::after,
.homepage2-body .header-area.homepage2 .header-elements .main-menu ul li a.plus::after,
.homepage3-body .header-area.homepage3 .header-elements .main-menu ul li a.plus::after,
.homepage4-body .header-area.homepage4 .header-elements .main-menu ul li a.plus::after,
.homepage5-body .header-area.homepage5 .header-elements .main-menu ul li a.plus::after {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
}

@media (max-width: 991px) {
  .landing-feature-grid,
  .landing-projects-grid {
    grid-template-columns: 1fr;
  }

  .landing-image-card,
  .landing-image-card img {
    min-height: 320px;
  }

  .sticky-copy {
    position: static;
    margin-bottom: 30px;
  }
}

/* Identidad nueva + header compacto */
.header-area.homepage1 .header-elements .site-logo,
.header-area .header-elements .site-logo {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  flex-basis: 220px !important;
}
.header-area.homepage1 .header-elements .site-logo a,
.header-area.homepage1 .header-elements .site-logo img,
.header-area .header-elements .site-logo a,
.header-area .header-elements .site-logo img {
  width: 220px !important;
  max-width: 220px !important;
  min-width: 220px !important;
  max-height: 82px !important;
  object-fit: contain !important;
}
.header-area.homepage1 .main-menu > ul { gap: 22px !important; }
.header-area.homepage1 .main-menu > ul > li > a { font-size: 16px !important; }
.header-area.homepage1 .btn-area .header-btn1 { padding: 18px 24px !important; }
.footer-logo img { width: 260px !important; max-width: 260px !important; }
.mobile-logo img,.mobile-sidebar .logos img { max-width: 190px !important; width: 190px !important; object-fit: contain !important; }

/* Cabecera: equilibrio lateral entre logo, navegación y Cotizar */
@media (min-width: 992px) {
  .header-area .header-elements .site-logo { margin-left: 18px !important; }
  .header-area .header-elements .btn-area { margin-right: 18px !important; }
  .header-area .main-menu > ul { gap: clamp(12px, 1.2vw, 26px) !important; }
}

/* WhatsApp flotante */
.whatsapp-floating {
  position: fixed;
  right: 26px;
  bottom: 96px;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #25D366;
  color: #ffffff !important;
  font-weight: 900;
  border-radius: 999px;
  padding: 10px 18px 10px 10px;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  transition: transform .2s ease, box-shadow .2s ease;
}
.whatsapp-floating:hover { transform: translateY(-4px); box-shadow: 0 24px 55px rgba(0,0,0,.28); color:#fff !important; }
.whatsapp-floating img { width: 48px; height: 48px; display:block; }
.whatsapp-floating span { line-height:1; }
@media(max-width:767px){.whatsapp-floating{right:16px;bottom:82px;padding:8px;border-radius:50%}.whatsapp-floating img{width:54px;height:54px}.whatsapp-floating span{display:none}}

/* Landings de áreas: Permisos / Diseño / Construcción */
.area-landing { background:#f6f7f9; overflow:hidden; }
.area-landing .heading2 p { color:#5d6675; font-size:18px; line-height:1.85; }
.area-photo { position:relative; min-height:430px; overflow:hidden; box-shadow:0 28px 70px rgba(3,7,30,.14); }
.area-photo img { width:100%; height:100%; min-height:430px; object-fit:cover; display:block; }
.area-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,7,30,0),rgba(3,7,30,.58)); }
.area-photo > div { position:absolute; left:28px; right:28px; bottom:28px; z-index:2; background:#fbdf68; color:#03071e; padding:24px; }
.area-photo strong { display:block; font-size:22px; font-weight:900; margin-bottom:6px; }
.area-photo span { font-weight:700; }
.area-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.area-cards article a { display:block; height:100%; background:#fff; border:1px solid rgba(3,7,30,.08); padding:34px 30px; box-shadow:0 18px 45px rgba(3,7,30,.06); transition:.2s ease; }
.area-cards article a:hover { transform:translateY(-6px); box-shadow:0 28px 65px rgba(3,7,30,.12); }
.area-cards span { display:inline-block; color:#fbdf68; font-weight:900; margin-bottom:16px; }
.area-cards h3 { font-size:24px; line-height:1.25; margin-bottom:14px; }
.area-cards p { color:#5d6675; line-height:1.7; min-height:84px; }
.area-cards strong { display:inline-flex; align-items:center; gap:8px; margin-top:14px; }
.area-process { background:#03071e; color:#fff; }
.area-process h2,.area-process h5,.area-process p { color:#fff !important; }
.area-process ul { display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.area-process li { display:flex; gap:18px; align-items:center; background:rgba(255,255,255,.08); padding:22px; border:1px solid rgba(255,255,255,.12); }
.area-process li span { width:54px; height:54px; background:#fbdf68; color:#03071e; display:inline-flex; align-items:center; justify-content:center; font-weight:900; }
.area-process li p { margin:0; font-size:18px; font-weight:800; }
.area-benefits { background:#fff; }
.area-benefits h3 { font-size:34px; margin-bottom:14px; }
.area-benefits p { color:#5d6675; line-height:1.8; }
.benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.benefit-grid article { background:#f6f7f9; border-left:5px solid #fbdf68; padding:24px; font-weight:900; color:#03071e; }
@media(max-width:991px){.area-cards,.benefit-grid{grid-template-columns:1fr}.area-photo,.area-photo img{min-height:320px}.header-area.homepage1 .main-menu > ul{gap:14px!important}.header-area.homepage1 .main-menu > ul > li > a{font-size:14px!important}}

/* Ajuste final: cabecera estable y WhatsApp responsive */
@media (min-width: 992px) {
  .header-area.homepage1,
  .header-area {
    overflow: visible !important;
  }

  .header-area.homepage1 .container,
  .header-area .container {
    max-width: 1680px !important;
    width: calc(100% - 64px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements,
  .header-area.homepage1 .header-elements,
  .header-area .header-elements {
    height: 132px !important;
    min-height: 132px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
    flex-wrap: nowrap !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo,
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    flex: 0 0 190px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo img,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    max-height: 84px !important;
    object-fit: contain !important;
  }

  .header-area.homepage1 .main-menu,
  .header-area .main-menu {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .header-area.homepage1 .main-menu > ul,
  .header-area .main-menu > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(14px, 1.45vw, 32px) !important;
    flex-wrap: nowrap !important;
  }

  .header-area.homepage1 .main-menu > ul > li,
  .header-area .main-menu > ul > li {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  .header-area.homepage1 .main-menu > ul > li > a,
  .header-area .main-menu > ul > li > a {
    font-size: clamp(14px, .9vw, 18px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    padding: 0 !important;
  }

  .header-area.homepage1 .main-menu > ul > li > a i,
  .header-area .main-menu > ul > li > a i {
    margin-left: 5px !important;
    font-size: .86em !important;
    vertical-align: middle !important;
    position: relative !important;
    top: 0 !important;
  }

  .header-area.homepage1 .btn-area,
  .header-area .btn-area {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .header-area.homepage1 .btn-area .header-btn1,
  .header-area .btn-area .header-btn1 {
    padding: 17px 22px !important;
    min-width: 148px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    color: #03071e !important;
  }

  .header-area.homepage1 .btn-area .header-btn1:hover,
  .header-area .btn-area .header-btn1:hover {
    color: #ffffff !important;
  }

  .whatsapp-floating {
    width: 76px !important;
    height: 76px !important;
    right: 30px !important;
    bottom: 92px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  .whatsapp-floating img {
    width: 48px !important;
    height: 48px !important;
  }

  .whatsapp-floating span {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1399px) {
  .header-area.homepage1 .container,
  .header-area .container {
    width: calc(100% - 36px) !important;
  }
  .homepage1-body .header-area.homepage1 .header-elements .site-logo,
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
    flex-basis: 165px !important;
  }
  .homepage1-body .header-area.homepage1 .header-elements .site-logo img,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
  }
  .header-area.homepage1 .main-menu > ul,
  .header-area .main-menu > ul {
    gap: 13px !important;
  }
  .header-area.homepage1 .main-menu > ul > li > a,
  .header-area .main-menu > ul > li > a {
    font-size: 13.5px !important;
  }
  .header-area.homepage1 .btn-area .header-btn1,
  .header-area .btn-area .header-btn1 {
    padding: 15px 16px !important;
    min-width: 120px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 767px) {
  .whatsapp-floating {
    left: 16px !important;
    right: 16px !important;
    bottom: 18px !important;
    width: auto !important;
    height: 58px !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
  }
  .whatsapp-floating img {
    width: 34px !important;
    height: 34px !important;
  }
  .whatsapp-floating span {
    display: inline !important;
    font-size: 16px !important;
  }
}

/* Hero principal como slider horizontal */
.hero-section-area {
  overflow: hidden !important;
}
.hero-section-area .hero-tabs-area .tab-content {
  position: relative !important;
  overflow: visible !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(100%) !important;
  transition: transform .82s cubic-bezier(.22,.72,.16,1), opacity .55s ease, visibility .55s ease !important;
  pointer-events: none !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane.active {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane.hero-slide-out-left {
  opacity: 0 !important;
  visibility: visible !important;
  transform: translateX(-100%) !important;
  z-index: 1 !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane.hero-slide-from-right {
  transform: translateX(100%) !important;
}
.hero-section-area .hero-tabs-area .nav-pills .nav-link {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease !important;
}



/* Corrección final de cabecera según referencia: más compacta y alineada */
@media (min-width: 992px) {
  .homepage1-body .header-area.homepage1,
  .header-area.homepage1,
  .header-area {
    background: #ffffff !important;
  }

  .homepage1-body .header-area.homepage1 .container,
  .header-area.homepage1 .container,
  .header-area .container {
    max-width: none !important;
    width: calc(100% - 168px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements,
  .header-area.homepage1 .header-elements,
  .header-area .header-elements {
    height: 166px !important;
    min-height: 166px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 26px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo,
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    flex: 0 0 190px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo a,
  .header-area.homepage1 .header-elements .site-logo a,
  .header-area .header-elements .site-logo a {
    display: flex !important;
    align-items: center !important;
    line-height: 0 !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo img,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: 178px !important;
    min-width: 178px !important;
    max-width: 178px !important;
    height: auto !important;
    max-height: 78px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .main-menu,
  .header-area.homepage1 .header-elements .main-menu,
  .header-area .header-elements .main-menu {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .main-menu > ul,
  .header-area.homepage1 .header-elements .main-menu > ul,
  .header-area .header-elements .main-menu > ul {
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(18px, 1.55vw, 34px) !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .btn-area,
  .header-area.homepage1 .header-elements .btn-area,
  .header-area .header-elements .btn-area {
    flex: 0 0 186px !important;
    width: 186px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .btn-area .header-btn1,
  .header-area.homepage1 .header-elements .btn-area .header-btn1,
  .header-area .header-elements .btn-area .header-btn1 {
    width: 186px !important;
    min-width: 186px !important;
    height: 66px !important;
    padding: 0 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    line-height: 1 !important;
    font-size: 21px !important;
  }
}

@media (min-width: 992px) and (max-width: 1399px) {
  .homepage1-body .header-area.homepage1 .container,
  .header-area.homepage1 .container,
  .header-area .container {
    width: calc(100% - 96px) !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements,
  .header-area.homepage1 .header-elements,
  .header-area .header-elements {
    height: 150px !important;
    min-height: 150px !important;
    gap: 18px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo,
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 168px !important;
    min-width: 168px !important;
    max-width: 168px !important;
    flex-basis: 168px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo img,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .main-menu > ul,
  .header-area.homepage1 .header-elements .main-menu > ul,
  .header-area .header-elements .main-menu > ul {
    gap: 14px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .btn-area,
  .header-area.homepage1 .header-elements .btn-area,
  .header-area .header-elements .btn-area {
    width: 150px !important;
    flex-basis: 150px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .btn-area .header-btn1,
  .header-area.homepage1 .header-elements .btn-area .header-btn1,
  .header-area .header-elements .btn-area .header-btn1 {
    width: 150px !important;
    min-width: 150px !important;
    height: 58px !important;
    font-size: 16px !important;
    padding: 0 18px !important;
  }
}

.footer-logo img {
  width: 320px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Footer: logo completo, sin recorte */
.footer1-section-area .footer-logo,
.footer1-section-area .footer-logo a,
.footer1-section-area .footer-logo figure {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

.footer1-section-area .footer-logo > img,
.footer1-section-area .footer-logo a > img,
.footer-logo > img {
  display: block !important;
  width: 320px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 0 22px 0 !important;
  clip-path: none !important;
}

.footer1-section-area .footer-logo .space24 {
  display: none !important;
}


/* Color de marca tomado del amarillo del logo */
:root {
  --construyo-yellow: #fbdf68;
  --ztc-text-text-4: #fbdf68;
  --ztc-bg-bg-3: #fbdf68;
}
.header-btn1,
.header-btn2,
button.header-btn1,
button.header-btn2,
.btn-area a.header-btn1,
.btn-area a.header-btn2 {
  border-color: var(--construyo-yellow) !important;
}
.header-btn1,
.btn-area a.header-btn1,
.area-photo > div,
.area-process li span,
.whatsapp-floating + .progress-wrap {
  background-color: var(--construyo-yellow) !important;
}
.header-area.homepage1 .btn-area .header-btn1,
.header-area .btn-area .header-btn1,
.hero-section-area .hero-tabs-area .hero-header .btn-area .header-btn1 {
  background: var(--construyo-yellow) !important;
  color: #03071e !important;
}
.header-area.homepage1 .btn-area .header-btn1:hover,
.header-area .btn-area .header-btn1:hover,
.hero-section-area .hero-tabs-area .hero-header .btn-area .header-btn1:hover {
  color: #ffffff !important;
}

/* Hero slider: imagen de fondo por cada slide, no fondo fijo */
.hero-section-area {
  background-image: none !important;
  background-color: #03071e !important;
  overflow: hidden !important;
}
.hero-section-area::before {
  display: none !important;
}
.hero-section-area > .container,
.hero-section-area > .slider-btn-area {
  z-index: 2 !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  min-height: 720px !important;
  overflow: hidden !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 7, 30, 0.84), rgba(3, 7, 30, 0.48) 44%, rgba(3, 7, 30, 0.14));
  z-index: 1;
  pointer-events: none;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 0;
  transform: translateX(0) scale(1.04);
  transition: transform .82s cubic-bezier(.22,.72,.16,1);
  pointer-events: none;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane.active::after {
  transform: translateX(0) scale(1.04) !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane.hero-slide-from-right::after {
  transform: translateX(100%) scale(1.04) !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane.hero-slide-out-left::after {
  transform: translateX(-100%) scale(1.04) !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane#pills-home {
  background-image: url('../img/construyo/hero-miraflores-local-1600.webp') !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane#pills-profile {
  background-image: url('../img/construyo/certificado-itse-local-1448.webp') !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane#pills-contact {
  background-image: url('../img/construyo/remodelacion-local-comercial-1448.webp') !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane .hero-header,
.hero-section-area .hero-tabs-area .tab-content > .tab-pane .hero-counter-area {
  position: relative !important;
  z-index: 2 !important;
}
.hero-section-area .hero-tabs-area img.hero-img1 {
  display: none !important;
}
@media (max-width: 767px) {
  .hero-section-area .hero-tabs-area .tab-content > .tab-pane {
    min-height: 720px !important;
    background-position: 60% center !important;
  }
  .hero-section-area .hero-tabs-area .tab-content > .tab-pane::before {
    background: linear-gradient(90deg, rgba(3, 7, 30, 0.88), rgba(3, 7, 30, 0.54));
  }
}

/* Fondo del hero sincronizado por slide: ancho completo */
.hero-section-area .hero-bg-stage {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.hero-section-area .hero-bg-layer {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(100%) scale(1.04) !important;
  transition: transform .82s cubic-bezier(.22,.72,.16,1), opacity .55s ease, visibility .55s ease !important;
}
.hero-section-area .hero-bg-layer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 7, 30, 0.84), rgba(3, 7, 30, 0.48) 44%, rgba(3, 7, 30, 0.14));
}
.hero-section-area .hero-bg-layer.active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) scale(1.04) !important;
}
.hero-section-area .hero-bg-layer.from-right {
  transform: translateX(100%) scale(1.04) !important;
}
.hero-section-area .hero-bg-layer.out-left {
  opacity: 0 !important;
  visibility: visible !important;
  transform: translateX(-100%) scale(1.04) !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane {
  background-image: none !important;
  overflow: visible !important;
}
.hero-section-area .hero-tabs-area .tab-content > .tab-pane::before,
.hero-section-area .hero-tabs-area .tab-content > .tab-pane::after {
  display: none !important;
}

/* Acento secundario azul/celeste tomado del logo */
:root {
  --construyo-blue: #5576c0;
  --construyo-blue-deep: #303f8d;
  --construyo-sky: #eaf3ff;
}
.area-landing {
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 58%, #f6f7f9 100%) !important;
}
.heading2 h5,
.hero-header h5,
.inner-hero-area a span {
  color: var(--construyo-blue-deep) !important;
}
.hero-header h5 {
  color: #ffffff !important;
}
.area-cards article a,
.service-landing-expansion,
.landing-feature-grid article,
.service-faq-mini article {
  border-color: rgba(85, 118, 192, .16) !important;
  box-shadow: 0 20px 55px rgba(85, 118, 192, .08) !important;
}
.area-cards article a:hover,
.landing-feature-grid article:hover {
  box-shadow: 0 28px 70px rgba(85, 118, 192, .16) !important;
}
.area-benefits,
.service-faq-mini {
  background: linear-gradient(135deg, #ffffff 0%, var(--construyo-sky) 100%) !important;
}
.benefit-grid article {
  border-left-color: var(--construyo-blue) !important;
  background: #ffffff !important;
}
.area-photo {
  box-shadow: 0 28px 80px rgba(48, 63, 141, .18) !important;
}
.area-photo > div {
  border-top: 5px solid var(--construyo-blue) !important;
}
.footer1-section-area .footer-logo ul li a {
  background: rgba(85, 118, 192, .12) !important;
  color: var(--construyo-blue-deep) !important;
}
.footer1-section-area .footer-logo ul li a:hover {
  background: var(--construyo-blue) !important;
  color: #ffffff !important;
}
.header-area.homepage1 .main-menu > ul > li > a:hover,
.header-area .main-menu > ul > li > a:hover {
  color: var(--construyo-blue-deep) !important;
}
@media (max-width: 767px) {
  .hero-section-area .hero-bg-layer::before {
    background: linear-gradient(90deg, rgba(3, 7, 30, 0.88), rgba(3, 7, 30, 0.54));
  }
}

/* Quitar fondo duplicado dentro del panel: solo queda el fondo global animado */
.hero-section-area .hero-tabs-area .tab-content > .tab-pane#pills-home,
.hero-section-area .hero-tabs-area .tab-content > .tab-pane#pills-profile,
.hero-section-area .hero-tabs-area .tab-content > .tab-pane#pills-contact {
  background-image: none !important;
  background: transparent !important;
}


/* Corrección banners internos y mapa global */
.inner-hero-area {
  min-height: 360px !important;
  padding: 112px 0 104px !important;
  background-size: cover !important;
  background-position: center center !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
.inner-hero-area::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  background:
    linear-gradient(90deg, rgba(3, 7, 30, .86) 0%, rgba(48, 63, 141, .54) 48%, rgba(3, 7, 30, .18) 100%),
    radial-gradient(circle at 18% 26%, rgba(251, 223, 104, .26), transparent 32%),
    radial-gradient(circle at 80% 18%, rgba(85, 118, 192, .18), transparent 28%) !important;
  z-index: -1 !important;
}
.inner-hero-area .container,
.inner-hero-area .row,
.inner-hero-area [class*="col-"] {
  position: relative !important;
  z-index: 1 !important;
}
.inner-hero-area [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
.inner-hero-area .header-area {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 820px !important;
  width: auto !important;
}
.inner-hero-area .header-area h1,
.inner-hero-area .header-area h2 {
  color: #ffffff !important;
  font-size: clamp(44px, 5.1vw, 76px) !important;
  line-height: 1.04 !important;
  font-weight: 900 !important;
  letter-spacing: -.04em !important;
  margin: 0 !important;
}
.inner-hero-area .header-area .space32 {
  height: 24px !important;
}
.inner-hero-area .header-area a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  backdrop-filter: blur(10px) !important;
}
.inner-hero-area .header-area a i,
.inner-hero-area .header-area a span {
  color: var(--construyo-yellow) !important;
}
.inner-hero-area .header-area a:hover {
  background: var(--construyo-yellow) !important;
  color: #03071e !important;
  border-color: var(--construyo-yellow) !important;
}
.inner-hero-area .header-area a:hover i,
.inner-hero-area .header-area a:hover span {
  color: #03071e !important;
}
.about1-section-area .choose-images {
  position: relative !important;
}
.about1-section-area .choose-images .others-area {
  left: 50% !important;
  right: auto !important;
  bottom: -42px !important;
  transform: translateX(-50%) !important;
  width: min(92%, 560px) !important;
  border-radius: 22px !important;
  border: 1px solid rgba(85,118,192,.14) !important;
  box-shadow: 0 24px 60px rgba(48,63,141,.14) !important;
  overflow: hidden !important;
}
.about1-section-area .choose-images .others-area .widget-text {
  padding: 22px 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}
.about1-section-area .choose-images .others-area .widget-text .icons {
  border-color: rgba(251,223,104,.92) !important;
  background: rgba(251,223,104,.16) !important;
}
.about1-section-area .choose-images .others-area .widget-text p {
  font-size: 20px !important;
  line-height: 1.2 !important;
  color: #03071e !important;
  font-weight: 900 !important;
  margin: 0 !important;
}
.map-section-area {
  padding: 90px 0 40px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}
.map-section-area .map-card {
  display: grid !important;
  grid-template-columns: .9fr 1.25fr !important;
  gap: 28px !important;
  align-items: stretch !important;
  background: #ffffff !important;
  border: 1px solid rgba(85,118,192,.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 80px rgba(48,63,141,.12) !important;
  overflow: hidden !important;
}
.map-section-area .map-info {
  padding: 46px !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(251,223,104,.32), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #eaf3ff 100%) !important;
}
.map-section-area .map-info h5 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 18px !important;
  color: var(--construyo-blue-deep) !important;
  margin: 0 0 14px !important;
  font-weight: 900 !important;
}
.map-section-area .map-info h2 {
  color: #03071e !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 18px !important;
  font-weight: 900 !important;
}
.map-section-area .map-info p {
  color: #5c6378 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  margin-bottom: 26px !important;
}
.map-section-area .map-info .header-btn1 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.map-section-area .map-frame {
  min-height: 390px !important;
}
.map-section-area iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 390px !important;
  border: 0 !important;
  display: block !important;
  filter: saturate(.94) contrast(1.02) !important;
}
@media (max-width: 991px) {
  .map-section-area .map-card { grid-template-columns: 1fr !important; }
  .map-section-area .map-info { padding: 34px 24px !important; }
  .about1-section-area .choose-images .others-area { position: relative !important; left: auto !important; bottom: auto !important; transform: none !important; width: 100% !important; margin-top: 22px !important; }
}
@media (max-width: 767px) {
  .inner-hero-area { min-height: 280px !important; padding: 86px 0 78px !important; }
  .inner-hero-area .header-area h1,
  .inner-hero-area .header-area h2 { font-size: 42px !important; }
  .map-section-area { padding: 62px 0 28px !important; }
}


/* Valores Nosotros renovados */
.value-section-area {
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
}
.value-section-area .value-details-box {
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 28px 80px rgba(48,63,141,.12) !important;
}
.value-section-area .value-details-box .content-area {
  background: linear-gradient(135deg, rgba(251,223,104,.96), rgba(234,243,255,.98)) !important;
  border: 1px solid rgba(85,118,192,.14) !important;
}
.value-section-area .value-details-box .content-area h5,
.value-section-area .value-details-box .content-area h3,
.value-section-area .value-details-box .content-area p {
  color: #03071e !important;
}
.value-section-area .value-box,
.value-section-area .value-box2 {
  background: #ffffff !important;
  border: 1px solid rgba(85,118,192,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 20px 60px rgba(48,63,141,.10) !important;
  overflow: hidden !important;
}
.value-section-area .value-box::before,
.value-section-area .value-box2::before {
  content: "";
  display: block;
  height: 10px;
  background: linear-gradient(90deg, var(--construyo-yellow), var(--construyo-blue));
  margin: -32px -32px 22px;
}
.value-section-area .value-box h5,
.value-section-area .value-box2 h5 {
  color: var(--construyo-blue-deep) !important;
}
.value-section-area .value-box > a,
.value-section-area .value-box2 > a {
  color: #03071e !important;
  font-weight: 900 !important;
  font-size: 23px !important;
  line-height: 1.32 !important;
}
.value-section-area .value-box p,
.value-section-area .value-box2 p {
  color: #5c6378 !important;
}
.value-section-area .value-box .arrow a,
.value-section-area .value-box2 .arrow a {
  background: var(--construyo-blue) !important;
  color: #ffffff !important;
}
.value-section-area .value-box:hover,
.value-section-area .value-box2:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 80px rgba(48,63,141,.16) !important;
}

/* Ajustes finales Nosotros banners dropdown */
.about1-section-area .choose-images .others-area {
  width: min(96%, 640px) !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
.about1-section-area .choose-images .others-area .widget-text {
  min-width: 0 !important;
  padding: 24px 28px !important;
  text-align: center !important;
  overflow: visible !important;
}
.about1-section-area .choose-images .others-area .widget-text .icons {
  margin: 0 auto 14px !important;
  position: relative !important;
  z-index: 2 !important;
}
.about1-section-area .choose-images .others-area .widget-text p {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
.about1-section-area .choose-images .others-area .widget-text:last-child {
  padding-right: 32px !important;
}

.inner-hero-area {
  min-height: 420px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.inner-hero-area .container {
  width: 100% !important;
}
.inner-hero-area .header-area {
  transform: translateY(10px) !important;
}
.inner-hero-area .header-area h1,
.inner-hero-area .header-area h2 {
  text-shadow: 0 16px 40px rgba(3,7,30,.34) !important;
}
.inner-hero-area .header-area a {
  margin-top: 18px !important;
}

.header-area.homepage1,
.header-area.homepage1 .header-elements,
.header-area.homepage1 .main-menu,
.header-area.homepage1 .main-menu > ul,
.header-area.homepage1 .main-menu > ul > li,
.header-area .main-menu,
.header-area .main-menu > ul,
.header-area .main-menu > ul > li {
  overflow: visible !important;
}
.header-area.homepage1 .main-menu > ul > li,
.header-area .main-menu > ul > li {
  position: relative !important;
  padding-bottom: 22px !important;
  margin-bottom: -22px !important;
}
.header-area.homepage1 .main-menu > ul > li::after,
.header-area .main-menu > ul > li::after {
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  top: 100%;
  height: 28px;
  background: transparent;
}
.header-area.homepage1 .dropdown-padding,
.header-area .dropdown-padding {
  top: calc(100% + 14px) !important;
  margin-top: 0 !important;
  padding-top: 14px !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 60px rgba(3,7,30,.14) !important;
  z-index: 9999 !important;
}
.header-area.homepage1 .main-menu > ul > li:hover > .dropdown-padding,
.header-area.homepage1 .main-menu > ul > li:focus-within > .dropdown-padding,
.header-area .main-menu > ul > li:hover > .dropdown-padding,
.header-area .main-menu > ul > li:focus-within > .dropdown-padding {
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

@media (max-width: 991px) {
  .about1-section-area .choose-images .others-area {
    width: 100% !important;
    grid-template-columns: 1fr !important;
    overflow: hidden !important;
  }
  .about1-section-area .choose-images .others-area .widget-text {
    padding: 22px 20px !important;
  }
}
@media (max-width: 767px) {
  .inner-hero-area {
    min-height: 320px !important;
    padding: 0 !important;
  }
  .inner-hero-area .header-area {
    transform: none !important;
  }
}


/* Ajustes finales cierre responsive */
@media (min-width: 992px) {
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 212px !important;
    min-width: 212px !important;
    max-width: 212px !important;
    flex-basis: 212px !important;
  }
  .header-area.homepage1 .header-elements .site-logo a,
  .header-area .header-elements .site-logo a,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: 212px !important;
    min-width: 212px !important;
    max-width: 212px !important;
  }
  .header-area.homepage1 .main-menu > ul > li > a,
  .header-area .main-menu > ul > li > a {
    font-size: clamp(16px, .98vw, 19px) !important;
    font-weight: 700 !important;
  }
  .inner-hero-area {
    min-height: 470px !important;
  }
  .inner-hero-area .row {
    min-height: 470px !important;
    align-items: center !important;
  }
  .inner-hero-area .header-area {
    transform: translateY(62px) !important;
  }
  .inner-hero-area .header-area h1,
  .inner-hero-area .header-area h2 {
    font-size: clamp(50px, 5vw, 82px) !important;
    line-height: 1.02 !important;
  }
}

@media (max-width: 991px) {
  .mobile-header.mobile-haeder1 {
    padding: 16px 20px !important;
    min-height: 96px !important;
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
  }
  .mobile-header.mobile-haeder1 .container-fluid,
  .mobile-header.mobile-haeder1 .col-6,
  .mobile-header.mobile-haeder1 .col-6.text-end {
    display: flex !important;
    align-items: center !important;
  }
  .mobile-header.mobile-haeder1 .col-6:first-child {
    justify-content: flex-start !important;
    padding-left: 0 !important;
  }
  .mobile-header.mobile-haeder1 .col-6.text-end {
    justify-content: flex-end !important;
    padding-right: 0 !important;
  }
  .mobile-header .mobile-logo,
  .mobile-header.mobile-haeder1 .mobile-logo {
    margin-left: 0 !important;
    text-align: left !important;
  }
  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    width: 152px !important;
    max-width: 152px !important;
    min-width: 152px !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .mobile-header.mobile-haeder1 .mobile-nav-icon {
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
  }
  .inner-hero-area {
    min-height: 360px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    background-position: center center !important;
  }
  .inner-hero-area .row {
    min-height: 360px !important;
    align-items: center !important;
  }
  .inner-hero-area .header-area {
    transform: translateY(20px) !important;
  }
  .inner-hero-area .header-area h1,
  .inner-hero-area .header-area h2 {
    font-size: clamp(42px, 13vw, 56px) !important;
    line-height: 1.05 !important;
    margin-bottom: 20px !important;
  }
}

@media (max-width: 767px) {
  .project1-section-area {
    padding-top: 76px !important;
    padding-bottom: 84px !important;
  }
  .project1-section-area .project-header,
  .project1-section-area .heading2 {
    margin-bottom: 28px !important;
  }
  .project1-section-area .swiper,
  .project1-section-area .swiper2 {
    padding-bottom: 54px !important;
  }
  .project1-section-area .swiper-pagination {
    bottom: 10px !important;
  }
  .whatsapp-floating {
    left: 18px !important;
    right: auto !important;
    bottom: 18px !important;
    width: calc(100vw - 108px) !important;
    max-width: 268px !important;
    height: 58px !important;
    border-radius: 999px !important;
    padding: 0 18px !important;
    justify-content: center !important;
    gap: 10px !important;
    z-index: 9992 !important;
  }
  .whatsapp-floating img {
    width: 32px !important;
    height: 32px !important;
  }
  .whatsapp-floating span {
    display: inline !important;
    font-size: 15px !important;
  }
  .progress-wrap {
    right: 18px !important;
    bottom: 18px !important;
    width: 58px !important;
    height: 58px !important;
    z-index: 9993 !important;
  }
  .footer1-section-area {
    padding-bottom: 92px !important;
  }
}

@media (max-width: 390px) {
  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    width: 138px !important;
    max-width: 138px !important;
    min-width: 138px !important;
  }
  .whatsapp-floating {
    width: calc(100vw - 102px) !important;
    max-width: 238px !important;
  }
}


/* Ajustes finales logo movil proyectos faq menu */
@media (min-width: 992px) {
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
    flex-basis: 230px !important;
  }
  .header-area.homepage1 .header-elements .site-logo a,
  .header-area .header-elements .site-logo a,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
    max-height: 96px !important;
  }
}

@media (max-width: 991px) {
  .mobile-header.mobile-haeder1 {
    min-height: 118px !important;
    padding: 18px 24px !important;
  }
  .mobile-header.mobile-haeder1 .mobile-header-elements {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
  }
  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    width: 218px !important;
    max-width: 218px !important;
    min-width: 218px !important;
    height: auto !important;
    max-height: 82px !important;
    object-fit: contain !important;
  }
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub {
    position: relative !important;
  }
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > a {
    display: block !important;
    padding-right: 64px !important;
    position: relative !important;
    z-index: 2 !important;
  }
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > .submenu-button {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 34px !important;
    height: 48px !important;
    z-index: 4 !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
  }
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > .submenu-button::before {
    content: "" !important;
    width: 12px !important;
    height: 12px !important;
    border-right: 3px solid #03071e !important;
    border-bottom: 3px solid #03071e !important;
    transform: rotate(45deg) translateY(-3px) !important;
    display: block !important;
    background: transparent !important;
    transition: transform .2s ease !important;
  }
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > .submenu-button.submenu-opened::before {
    transform: rotate(225deg) translate(-2px, -2px) !important;
  }
  .inner-hero-area,
  body .inner-hero-area {
    min-height: 410px !important;
    padding: 0 !important;
    align-items: center !important;
  }
  .inner-hero-area > .container {
    min-height: 410px !important;
    display: flex !important;
    align-items: center !important;
  }
  .inner-hero-area .row {
    width: 100% !important;
    min-height: 410px !important;
    align-items: center !important;
  }
  .inner-hero-area .header-area {
    transform: translateY(44px) !important;
  }
  .inner-hero-area .header-area h1,
  .inner-hero-area .header-area h2 {
    margin: 0 0 26px !important;
  }
}

@media (max-width: 767px) {
  .project1-section-area {
    padding-top: 92px !important;
    padding-bottom: 100px !important;
  }
  .project1-section-area .heading2,
  .project1-section-area .project-header {
    padding-top: 6px !important;
    margin-bottom: 36px !important;
  }
  .project1-section-area .swiper-slide .content-area,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area {
    top: 30px !important;
    left: 24px !important;
    right: 24px !important;
    padding-top: 0 !important;
  }
  .project1-section-area .swiper-slide .content-area a,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area a {
    line-height: 1.12 !important;
    margin-bottom: 12px !important;
  }
  .project1-section-area .swiper,
  .project1-section-area .swiper2 {
    padding-bottom: 70px !important;
  }
  .project1-section-area .swiper-pagination {
    bottom: 18px !important;
  }
}

@media (max-width: 430px) {
  .mobile-header.mobile-haeder1 {
    min-height: 112px !important;
    padding: 17px 18px !important;
  }
  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    width: 198px !important;
    max-width: 198px !important;
    min-width: 198px !important;
  }
  .mobile-header.mobile-haeder1 .mobile-nav-icon {
    width: 54px !important;
    height: 54px !important;
    font-size: 26px !important;
    flex: 0 0 54px !important;
  }
  .inner-hero-area,
  body .inner-hero-area {
    min-height: 430px !important;
  }
  .inner-hero-area > .container,
  .inner-hero-area .row {
    min-height: 430px !important;
  }
  .inner-hero-area .header-area {
    transform: translateY(52px) !important;
  }
}

@media (max-width: 380px) {
  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    width: 180px !important;
    max-width: 180px !important;
    min-width: 180px !important;
  }
}

/* Microajustes finales movil logo proyectos */
@media (max-width: 991px) {
  .mobile-header.mobile-haeder1 {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .mobile-header.mobile-haeder1 .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .mobile-header.mobile-haeder1 .col-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .mobile-header.mobile-haeder1 .mobile-header-elements {
    min-height: 86px !important;
    align-items: center !important;
  }
  .mobile-header.mobile-haeder1 .mobile-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
  }
  .mobile-header.mobile-haeder1 .mobile-nav-icon {
    margin: 0 !important;
  }
}
@media (max-width: 767px) {
  .project1-section-area .swiper-slide .content-area,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area {
    top: 24px !important;
    bottom: auto !important;
  }
  .project1-section-area .swiper-slide .content-area p,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area p {
    margin-bottom: 22px !important;
    line-height: 1.55 !important;
  }
  .project1-section-area .swiper-slide .content-area a.readmore,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area a.readmore {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 2px !important;
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
  }
  .project1-section-area .swiper-slide .img1,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 {
    min-height: 360px !important;
    padding: 34px 26px 46px !important;
    background: #071022 !important;
  }
  .project1-section-area .swiper-slide .img1 img,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 img {
    height: 260px !important;
    object-fit: cover !important;
  }
}
@media (max-width: 430px) {
  .mobile-header.mobile-haeder1 {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    width: 190px !important;
    max-width: 190px !important;
    min-width: 190px !important;
  }
}

/* Proyectos movil estilo PC responsivo */
@media (max-width: 767px) {
  .project1-section-area .swiper,
  .project1-section-area .swiper2 {
    width: 100% !important;
    overflow: visible !important;
    padding: 0 0 78px !important;
  }
  .project1-section-area .swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
  }
  .project1-section-area .swiper-slide .img1,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 {
    width: 100% !important;
    min-height: 340px !important;
    height: auto !important;
    background: #071022 !important;
    padding: 36px 26px 58px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .project1-section-area .swiper-slide .img1 img,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 img {
    width: 100% !important;
    height: 246px !important;
    object-fit: cover !important;
    display: block !important;
    opacity: .72 !important;
  }
  .project1-section-area .swiper-slide .img1::after,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1::after {
    content: "" !important;
    position: absolute !important;
    inset: 36px 26px 58px !important;
    background: rgba(3, 7, 30, .36) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }
  .project1-section-area .swiper-slide .content-area,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area {
    position: absolute !important;
    z-index: 3 !important;
    top: 68px !important;
    left: 58px !important;
    right: 58px !important;
    bottom: auto !important;
    padding: 0 !important;
    transform: none !important;
  }
  .project1-section-area .swiper-slide .content-area a.head,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area a.head {
    font-size: 22px !important;
    line-height: 1.12 !important;
    margin: 0 0 20px !important;
    color: #ffffff !important;
  }
  .project1-section-area .swiper-slide .content-area p,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area p {
    font-size: 17px !important;
    line-height: 1.55 !important;
    margin: 0 0 26px !important;
    color: rgba(255,255,255,.9) !important;
  }
  .project1-section-area .swiper-slide .content-area a.readmore,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area a.readmore {
    font-size: 17px !important;
    line-height: 1 !important;
    margin: 0 !important;
    color: #ffffff !important;
  }
  .project1-section-area .swiper-pagination {
    bottom: 24px !important;
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
  }
}
@media (max-width: 430px) {
  .project1-section-area .swiper-slide {
    padding: 0 10px !important;
  }
  .project1-section-area .swiper-slide .img1,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 {
    min-height: 326px !important;
    padding: 32px 20px 56px !important;
  }
  .project1-section-area .swiper-slide .img1 img,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 img {
    height: 238px !important;
  }
  .project1-section-area .swiper-slide .img1::after,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1::after {
    inset: 32px 20px 56px !important;
  }
  .project1-section-area .swiper-slide .content-area,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area {
    top: 54px !important;
    left: 48px !important;
    right: 42px !important;
  }
  .project1-section-area .swiper-slide .content-area a.head,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area a.head {
    font-size: 21px !important;
  }
  .project1-section-area .swiper-slide .content-area p,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area p {
    font-size: 16px !important;
  }
}

/* Proyecto movil imagen mas grande */
@media (max-width: 767px) {
  .project1-section-area .swiper-slide .img1,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 {
    padding: 26px 18px 52px !important;
    min-height: 350px !important;
  }
  .project1-section-area .swiper-slide .img1 img,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 img {
    height: 278px !important;
  }
  .project1-section-area .swiper-slide .img1::after,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1::after {
    inset: 26px 18px 52px !important;
  }
  .project1-section-area .swiper-slide .content-area,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area {
    top: 56px !important;
    left: 48px !important;
    right: 42px !important;
  }
}
@media (max-width: 430px) {
  .project1-section-area .swiper-slide .img1,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 {
    padding: 24px 16px 50px !important;
    min-height: 342px !important;
  }
  .project1-section-area .swiper-slide .img1 img,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 img {
    height: 272px !important;
  }
  .project1-section-area .swiper-slide .img1::after,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1::after {
    inset: 24px 16px 50px !important;
  }
  .project1-section-area .swiper-slide .content-area,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .content-area {
    top: 52px !important;
    left: 44px !important;
    right: 38px !important;
  }
}

/* Anular escala plantilla proyectos movil */
@media (max-width: 767px) {
  .project1-section-area .swiper-slide img,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active img,
  .project1-section-area .swiper-slide .img1 img,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1 img {
    transform: none !important;
    scale: 1 !important;
    width: 100% !important;
    max-width: none !important;
  }
  .project1-section-area .swiper-slide .img1::after,
  .project1-section-area .swiper-slide.swiper-slide-visible.swiper-slide-active .img1::after {
    transform: none !important;
    scale: 1 !important;
  }
}


/* Fase 2.2 ajuste puntual: logo oficial + header compacto */
:root {
  --construyo-header-height: 116px;
  --construyo-logo-height-desktop: 92px;
  --construyo-logo-height-mobile: 78px;
}

@media (min-width: 992px) {
  .homepage1-body .header-area.homepage1,
  .header-area.homepage1,
  .header-area.header-sticky {
    min-height: var(--construyo-header-height) !important;
  }

  .homepage1-body .header-area.homepage1 .container,
  .header-area.homepage1 .container {
    max-width: 1640px !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements,
  .header-area.homepage1 .header-elements,
  .header-area .header-elements {
    min-height: var(--construyo-header-height) !important;
    height: var(--construyo-header-height) !important;
    align-items: center !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo,
  .header-area.homepage1 .header-elements .site-logo,
  .header-area .header-elements .site-logo {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    flex: 0 0 118px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo a,
  .header-area.homepage1 .header-elements .site-logo a,
  .header-area .header-elements .site-logo a {
    width: 118px !important;
    height: var(--construyo-logo-height-desktop) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .homepage1-body .header-area.homepage1 .header-elements .site-logo img,
  .header-area.homepage1 .header-elements .site-logo img,
  .header-area .header-elements .site-logo img {
    width: auto !important;
    min-width: 0 !important;
    max-width: 118px !important;
    height: var(--construyo-logo-height-desktop) !important;
    max-height: var(--construyo-logo-height-desktop) !important;
    object-fit: contain !important;
    object-position: left center !important;
    display: block !important;
  }

  .header-area.homepage1 .main-menu > ul {
    gap: 24px !important;
  }

  .header-area.homepage1 .main-menu > ul > li > a,
  .header-area .main-menu > ul > li > a {
    font-size: 17px !important;
    line-height: 1 !important;
  }

  .header-area.homepage1 .btn-area .header-btn1,
  .header-area .btn-area .header-btn1 {
    padding: 18px 28px !important;
    min-height: 58px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

.footer-logo img {
  width: auto !important;
  max-width: 168px !important;
  height: auto !important;
  max-height: 150px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

@media (max-width: 991px) {
  .mobile-header.mobile-haeder1 {
    min-height: 98px !important;
    padding: 12px 22px !important;
    display: flex !important;
    align-items: center !important;
  }

  .mobile-header.mobile-haeder1 .container-fluid,
  .mobile-header.mobile-haeder1 .col-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .mobile-header.mobile-haeder1 .mobile-header-elements {
    min-height: 74px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
  }

  .mobile-header.mobile-haeder1 .mobile-logo,
  .mobile-sidebar .mobile-logo,
  .mobile-sidebar .logos {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
  }

  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    width: auto !important;
    min-width: 0 !important;
    max-width: 92px !important;
    height: var(--construyo-logo-height-mobile) !important;
    max-height: var(--construyo-logo-height-mobile) !important;
    object-fit: contain !important;
    object-position: left center !important;
    display: block !important;
  }

  .mobile-header.mobile-haeder1 .mobile-nav-icon {
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
  }
}

@media (max-width: 430px) {
  .mobile-header.mobile-haeder1 {
    min-height: 94px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .mobile-header .mobile-logo img,
  .mobile-sidebar .mobile-logo img,
  .mobile-sidebar .logos img {
    max-width: 86px !important;
    height: 74px !important;
    max-height: 74px !important;
  }
}

/* Corrección Fase 2.2: H1 del primer hero en blanco, conservando semántica SEO */
.hero-header.heading1 h1,
.hero-section-area .hero-header.heading1 h1,
.header-carousel-slider-area .hero-header.heading1 h1 {
  color: #ffffff !important;
  font-family: var(--ztc-family-font1, inherit) !important;
  font-weight: 800 !important;
  font-size: clamp(48px, 5.2vw, 82px) !important;
  line-height: 1.08 !important;
  max-width: 760px !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .hero-header.heading1 h1,
  .hero-section-area .hero-header.heading1 h1,
  .header-carousel-slider-area .hero-header.heading1 h1 {
    font-size: 38px !important;
    line-height: 1.08 !important;
  }
}

/* Ajuste footer: logo menos dominante */
.footer-logo img,
.footer1-section-area .footer-logo img {
  max-width: 138px !important;
  max-height: 122px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
}

@media (max-width: 767px) {
  .footer-logo img,
  .footer1-section-area .footer-logo img {
    max-width: 124px !important;
    max-height: 110px !important;
  }
}

/* Ajuste footer: centrar logo en su columna */
.footer-logo,
.footer1-section-area .footer-logo {
  text-align: center !important;
}

.footer-logo img,
.footer1-section-area .footer-logo img {
  margin-left: auto !important;
  margin-right: auto !important;
  object-position: center center !important;
}

/* Detalle visual de proceso: puntos amarillos decorativos, sin impacto semántico */
.works-section-area .step-by-step .step-area {
  position: relative;
  padding-top: 34px;
}
.works-section-area .step-by-step .step-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--construyo-yellow, #fbdf68);
  box-shadow: 0 0 0 1px rgba(251, 223, 104, .15);
  z-index: 2;
}
.works-section-area .step-by-step::after {
  top: 11px !important;
  z-index: 1 !important;
}
@media (max-width: 991px) {
  .works-section-area .step-by-step::after { display: none !important; }
  .works-section-area .step-by-step .step-area { padding-top: 28px; }
  .works-section-area .step-by-step .step-area::before { width: 18px; height: 18px; }
}

/* Corrección Inicio: proceso de trabajo visible y puntos amarillos sobre la línea */
.works-section-area .works-header.heading1 > div,
.works-section-area .works-header.heading1 > div[data-cms-key],
.works-section-area .works-header.heading1 > div[role="heading"] {
  color: #ffffff !important;
  opacity: 1 !important;
}
.works-section-area .works-header.heading1 > div img {
  opacity: 1 !important;
  filter: none !important;
}
.works-section-area .step-by-step {
  position: relative !important;
  overflow: visible !important;
}
.works-section-area .step-by-step::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 10px !important;
  width: 100% !important;
  height: 1px !important;
  background: rgba(255,255,255,.82) !important;
  z-index: 1 !important;
  display: block !important;
}
.works-section-area .step-by-step .step-area {
  position: relative !important;
  padding-top: 34px !important;
  z-index: 2 !important;
}
.works-section-area .step-by-step .step-area::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  background: #ffb703 !important;
  box-shadow: 0 0 0 4px rgba(255,183,3,.08) !important;
  z-index: 3 !important;
  display: block !important;
}
@media (max-width: 991px) {
  .works-section-area .step-by-step::after { display: none !important; }
  .works-section-area .step-by-step .step-area { padding-top: 28px !important; }
  .works-section-area .step-by-step .step-area::before { width: 18px !important; height: 18px !important; }
}


/* Refuerzo final Inicio: rótulo blanco y puntos reales del proceso */
.works-section-area .work-process-kicker,
.works-section-area .work-process-kicker[data-cms-key],
.works-section-area .works-header.heading1 .work-process-kicker {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.works-section-area .work-process-kicker img {
  opacity: 1 !important;
  filter: none !important;
}
.works-section-area .step-by-step .step-area > .process-dot {
  content: "";
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  background: #ffb703 !important;
  box-shadow: 0 0 0 4px rgba(255,183,3,.08) !important;
  z-index: 6 !important;
  display: block !important;
  pointer-events: none !important;
}
@media (max-width: 991px) {
  .works-section-area .step-by-step .step-area > .process-dot {
    width: 18px !important;
    height: 18px !important;
  }
}


/* Refuerzo Inicio slider: rótulos y contadores visibles en blanco */
.hero-section-area .hero-header.heading1 > div,
.hero-section-area .hero-header.heading1 > div[data-cms-key],
.hero-section-area .hero-header.heading1 > div[role="heading"],
.hero-section-area .hero-header.heading1 .text-anime-style-3 {
  color: #ffffff !important;
  opacity: 1 !important;
}
.hero-section-area .hero-counter-area .counter-box > div,
.hero-section-area .hero-counter-area .counter-box > div[role="heading"],
.hero-section-area .hero-counter-area .counter-box .counter {
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.hero-section-area .hero-counter-area .counter-box p {
  color: #ffffff !important;
  opacity: .96 !important;
}
@media (min-width: 992px) {
  .hero-section-area .slider-btn-area {
    bottom: 92px !important;
  }
  .hero-section-area .hero-counter-area .counter-box > div,
  .hero-section-area .hero-counter-area .counter-box > div[role="heading"],
  .hero-section-area .hero-counter-area .counter-box .counter {
    font-size: 42px !important;
  }
  .hero-section-area .hero-counter-area .counter-box p {
    margin-top: 8px !important;
  }
}
@media(max-width:767px){
  .hero-section-area .hero-counter-area .counter-box > div,
  .hero-section-area .hero-counter-area .counter-box .counter{font-size:28px!important;}
}


/* Calculadora de alcance: opciones claras sin enlaces y campos más legibles */
.cost-section-boxarea .select-area select,
.cost-section-boxarea .select-area .nice-select {
  min-height: 58px !important;
  font-size: 17px !important;
}
.cost-section-boxarea .select-area > div[role="heading"],
.cost-section-boxarea .slider-area > div[role="heading"],
.cost-section-boxarea .materials-area > div[role="heading"] {
  font-size: 17px !important;
  line-height: 1.4 !important;
  color: #071120 !important;
}
.cost-section-boxarea .calculator-goal-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
.cost-section-boxarea .calculator-goal-options li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cost-section-boxarea .calculator-goal {
  width: 100% !important;
  min-height: 58px !important;
  border: 1px solid #e5e7eb !important;
  background: #fff !important;
  color: #5d6b82 !important;
  padding: 12px 14px !important;
  font: inherit !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: .2s ease !important;
}
.cost-section-boxarea .calculator-goal:hover,
.cost-section-boxarea .calculator-goal.active {
  border-color: #fbdf68 !important;
  background: #fbdf68 !important;
  color: #071120 !important;
}
@media(max-width:767px){
  .cost-section-boxarea .calculator-goal-options{grid-template-columns:1fr!important;}
}


/* Refuerzo definitivo timeline con puntos reales */
.home-work-section .step-by-step {
  position: relative;
}
.home-work-section .process-dot-row {
  position: absolute;
  top: -11px;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  z-index: 12;
  pointer-events: none;
}
.home-work-section .process-dot-row span {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ffb703;
  box-shadow: 0 0 0 1px rgba(255,183,3,.18);
  display: block;
}
.home-work-section .step-by-step .row > [class*="col-"] {
  position: relative;
}
.home-work-section .step-by-step .step-area .process-dot {
  opacity: 1 !important;
  visibility: visible !important;
}
@media (max-width: 991px) {
  .home-work-section .process-dot-row {
    display: none;
  }
}

/* Menú móvil: flecha limpia al lado derecho, sin pisar el texto. */
@media (max-width: 991px) {
  .mobile-sidebar .mobile-nav li.has-sub {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    align-items: center !important;
    column-gap: 8px !important;
    position: relative !important;
  }
  .mobile-sidebar .mobile-nav li.has-sub > a {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-right: 0 !important;
    min-width: 0 !important;
  }
  .mobile-sidebar .mobile-nav li.has-sub > .submenu-button,
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > .submenu-button,
  span.submenu-button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 46px !important;
    height: 46px !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
  }
  .mobile-sidebar .mobile-nav li.has-sub > .submenu-button::before,
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > .submenu-button::before,
  span.submenu-button::before {
    content: "" !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 12px !important;
    height: 12px !important;
    border-right: 3px solid #03071e !important;
    border-bottom: 3px solid #03071e !important;
    background: transparent !important;
    transform: rotate(45deg) translate(-2px, -2px) !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .mobile-sidebar .mobile-nav li.has-sub > .submenu-button::after,
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > .submenu-button::after,
  span.submenu-button::after {
    display: none !important;
    content: none !important;
  }
  .mobile-sidebar .mobile-nav li.has-sub > .submenu-button.submenu-opened::before,
  .mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li.has-sub > .submenu-button.submenu-opened::before,
  span.submenu-button.submenu-opened::before {
    transform: rotate(225deg) translate(-2px, -2px) !important;
  }
  .mobile-sidebar .mobile-nav li.has-sub > ul,
  .mobile-sidebar .mobile-nav li.has-sub > .sub-menu {
    grid-column: 1 / -1 !important;
  }
}

/* 404 en español con imagen real del proyecto. */
.error-section-area .error-header .img1 {
  max-width: 680px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  box-shadow: 0 22px 60px rgba(3,7,30,.14) !important;
}
.error-section-area .error-header .img1 img {
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  display: block !important;
}
.error-section-area .error-header p {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 767px) {
  .error-section-area .error-header .img1 img {
    height: 240px !important;
  }
}

.copyright-area p a{color:inherit;font-weight:800;text-decoration:none}.copyright-area p a:hover{color:#fbdf68}

.privacy-hero .header-area p{max-width:780px;color:#fff;font-size:20px;line-height:1.7}.privacy-section{background:#f6f7fb}.privacy-card{background:#fff;border:1px solid #e7eaf0;border-radius:26px;padding:48px;box-shadow:0 24px 70px rgba(3,7,30,.08)}.privacy-card .privacy-updated{display:inline-flex;background:#fff4cf;color:#071120;font-weight:800;border-radius:999px;padding:8px 14px;margin-bottom:24px}.privacy-card h2{font-size:38px;line-height:1.15;margin-bottom:20px}.privacy-card h3{font-size:24px;margin:30px 0 10px}.privacy-card p{color:#596273;font-size:18px;line-height:1.75}.privacy-card a:not(.header-btn1){color:#071120;font-weight:800;text-decoration:underline;text-underline-offset:4px}.privacy-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}.privacy-actions .btn2{background:#071120;color:#fff}.privacy-actions .btn2:hover{background:#fbdf68;color:#071120}@media(max-width:767px){.privacy-card{padding:28px 22px;border-radius:18px}.privacy-card h2{font-size:30px}.privacy-card h3{font-size:21px}.privacy-card p{font-size:16px}.privacy-actions .header-btn1{width:100%;justify-content:center}}

/* Política de privacidad: portada y contenido mejorado */
.privacy-hero {
  position: relative;
  min-height: 470px;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.privacy-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,7,30,.88) 0%, rgba(3,7,30,.72) 42%, rgba(3,7,30,.34) 100%);
  z-index: 0;
}
.privacy-hero .container { position: relative; z-index: 1; }
.privacy-hero .header-area { padding: 92px 0 86px; }
.privacy-hero .header-area h1 {
  color: #fff;
  max-width: 920px;
  font-size: clamp(46px, 6vw, 88px);
  line-height: .98;
  letter-spacing: -0.05em;
  margin: 0;
}
.privacy-hero .header-area p {
  max-width: 850px;
  color: #fff !important;
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.65;
  opacity: .94;
  margin: 0;
}
.privacy-hero .header-area > a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 22px;
  border-radius: 999px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
  font-weight: 800;
}
.privacy-hero .header-area > a span,
.privacy-hero .header-area > a i { color: #fbdf68; }
.privacy-section { background: linear-gradient(180deg,#f7f8fb 0%,#fff 100%); margin-top: 0; }
.privacy-card {
  position: relative;
  margin-top: -72px;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 30px;
  padding: clamp(28px, 5vw, 58px);
  box-shadow: 0 28px 90px rgba(3,7,30,.12);
}
.privacy-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  border-radius: 30px 30px 0 0;
  background: linear-gradient(90deg,#fbdf68,#f39c12,#fbdf68);
}
.privacy-card .privacy-updated {
  display: inline-flex;
  align-items: center;
  background: #fff4cf;
  color: #071120;
  font-weight: 900;
  border-radius: 999px;
  padding: 10px 16px;
  margin-bottom: 26px;
}
.privacy-card h2 {
  color: #03071e;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  margin-bottom: 18px;
}
.privacy-card h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #03071e;
  font-size: clamp(21px, 2vw, 28px);
  margin: 34px 0 12px;
}
.privacy-card h3::before {
  content: "";
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fbdf68;
  box-shadow: 0 0 0 6px rgba(251,223,104,.22);
}
.privacy-card p {
  color: #596273;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.78;
}
.privacy-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 36px;
}
.privacy-actions .header-btn1 { min-width: 230px; justify-content: center; }
.privacy-actions .btn2 { background: #03071e; color: #fff; }
.privacy-actions .btn2:hover { background: #fbdf68; color: #03071e; }
@media(max-width: 991px) {
  .privacy-hero { min-height: 430px; }
  .privacy-hero::before { background: rgba(3,7,30,.78); }
  .privacy-hero .header-area { padding: 72px 0 120px; }
  .privacy-card { margin-top: -92px; }
}
@media(max-width: 767px) {
  .privacy-hero { min-height: 390px; }
  .privacy-hero .header-area { padding: 58px 0 108px; }
  .privacy-hero .header-area h1 { font-size: 42px; }
  .privacy-hero .header-area p { font-size: 16px; }
  .privacy-card { border-radius: 22px; padding: 28px 20px; }
  .privacy-card::before { border-radius: 22px 22px 0 0; }
  .privacy-card h3 { align-items: flex-start; }
  .privacy-actions .header-btn1 { width: 100%; min-width: 0; }
}


/* v35 mobile area/privacy refinements */
@media (max-width: 767px) {
  body { overflow-x: hidden; }
  .area-landing {
    padding-top: 34px !important;
    padding-bottom: 54px !important;
    background: linear-gradient(180deg,#f7f8fb 0%,#ffffff 100%) !important;
  }
  .area-landing .container,
  .area-landing .row,
  .area-landing [class*="col-"] {
    max-width: 100% !important;
  }
  .area-landing .heading2 {
    padding: 0 2px 18px !important;
  }
  .area-landing .heading2 h1,
  .area-landing .heading2 h2 {
    font-size: 32px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.6px !important;
    margin: 0 0 18px !important;
  }
  .area-landing .heading2 p {
    font-size: 17px !important;
    line-height: 1.72 !important;
    margin-bottom: 22px !important;
  }
  .area-photo {
    margin: 8px 0 28px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 18px 45px rgba(3,7,30,.12) !important;
  }
  .area-photo img {
    min-height: 250px !important;
    object-fit: cover !important;
  }
  .area-photo > div {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
  }
  .area-cards {
    gap: 18px !important;
    margin-top: 8px !important;
  }
  .area-cards article,
  .area-cards article a {
    border-radius: 18px !important;
  }
  .area-cards article a {
    padding: 24px 22px !important;
  }
  .area-cards h3 {
    font-size: 24px !important;
    line-height: 1.22 !important;
  }
  .cta1-section-area {
    margin-top: 0 !important;
  }
  .cta1-section-area h2,
  .cta1-section-area h3 {
    font-size: 34px !important;
    line-height: 1.15 !important;
  }
  .footer1-section-area .copyright-area {
    text-align: center !important;
    gap: 12px !important;
  }
  .footer1-section-area .copyright-area ul {
    justify-content: center !important;
    padding-left: 0 !important;
  }
  .footer1-section-area .copyright-area ul li a {
    font-size: 17px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 767px) {
  .privacy-hero {
    min-height: auto !important;
    border-radius: 0 0 28px 28px !important;
    overflow: hidden !important;
  }
  .privacy-hero::before {
    background: linear-gradient(180deg,rgba(3,7,30,.68),rgba(3,7,30,.88)) !important;
  }
  .privacy-hero .header-area {
    padding: 54px 0 64px !important;
    text-align: center !important;
  }
  .privacy-hero .header-area h1 {
    font-size: 44px !important;
    line-height: 1.03 !important;
    letter-spacing: -1.4px !important;
    margin-bottom: 22px !important;
  }
  .privacy-hero .header-area p {
    max-width: 320px !important;
    margin: 0 auto 24px !important;
    font-size: 17px !important;
    line-height: 1.62 !important;
    color: rgba(255,255,255,.95) !important;
  }
  .privacy-hero .header-area > a {
    display: inline-flex !important;
    max-width: calc(100vw - 44px) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 15px 18px !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.18) !important;
    backdrop-filter: blur(12px) !important;
  }
  .privacy-section {
    padding-top: 44px !important;
    background: linear-gradient(180deg,#ffffff 0%,#f7f8fb 100%) !important;
  }
  .privacy-card {
    margin: 0 !important;
    padding: 26px 20px 30px !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 45px rgba(3,7,30,.09) !important;
  }
  .privacy-card .privacy-updated {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 18px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 28px !important;
  }
  .privacy-card h2 {
    font-size: 34px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.8px !important;
  }
  .privacy-card h3 {
    font-size: 21px !important;
    line-height: 1.25 !important;
    margin-top: 26px !important;
  }
  .privacy-card p {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }
  .privacy-actions {
    gap: 12px !important;
  }
  .privacy-actions .header-btn1 {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 17px 18px !important;
  }
}



/* PageSpeed final safe patch */
.skip-link{position:absolute;left:16px;top:16px;z-index:10000;transform:translateY(-140%);background:#03071e;color:#fff!important;padding:10px 14px;border-radius:10px;font-weight:800;transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}
.contact-info-text span,.contact1-section-area span,.blog-boxarea .content-area li span{color:inherit;font:inherit;line-height:inherit}
.cost-calculator-area .cost-section-boxarea .select-area .btn-area1 button{cursor:pointer;border:0;font:inherit}.cost-calculator-area .cost-section-boxarea .select-area .btn-area1 button.active-size{background:var(--ztc-bg-bg-3);transition:all .4s;color:var(--ztc-text-text-2)}
.mobile-nav-icon[role=button],.menu-close[role=button]{touch-action:manipulation}
.hero-section-area{background-image:linear-gradient(90deg,rgba(3,7,30,.78),rgba(3,7,30,.32)),url('../img/construyo/hero-miraflores-local-1600.webp')!important;background-size:cover!important;background-position:center center!important}
@media(max-width:767px){.hero-section-area{background-image:linear-gradient(90deg,rgba(3,7,30,.78),rgba(3,7,30,.32)),url('../img/construyo/hero-miraflores-local-768.webp')!important}}
@media(prefers-reduced-motion:reduce){.hero-section-area .hero-bg-layer,.hero-section-area .hero-tabs-area .tab-content>.tab-pane,.progress-wrap svg path{transition:none!important;animation:none!important}}
.works-section-area .step-by-step .step-area .step-title{display:inline-block;color:#0064ff;font:inherit;line-height:inherit}.pagination .page-link[aria-disabled="true"]{cursor:default}.contact-info-text span,.contact1-section-area span,.blog-boxarea .content-area li span{display:inline-block}

/* Final PageSpeed accessibility semantics patch */
.heading1 .cms-kicker{color:var(--ztc-text-text-1);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s18);font-style:normal;font-weight:var(--ztc-weight-semibold);line-height:18px;display:inline-block}
.heading1 .cms-kicker img{margin:-5px 4px 0 0;height:20px;width:20px;display:inline-block!important}
.heading2 .cms-kicker{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s18);font-style:normal;font-weight:var(--ztc-weight-semibold);line-height:18px;display:inline-block}
.heading2 .cms-kicker img{margin:-5px 4px 0 0;height:20px;width:20px;display:inline-block!important}
.hero-header .cms-kicker{color:#fff!important}
.area-cards h2.area-card-title{font-size:24px;line-height:1.25;margin-bottom:14px;color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-weight:var(--ztc-weight-bold)}
.area-process h2,.area-process .cms-kicker,.area-process p{color:#fff!important}
.map-section-area .map-info .cms-kicker{display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:18px!important;color:var(--construyo-blue-deep)!important;margin:0 0 14px!important;font-weight:900!important}
.value-section-area .value-details-box .content-area .cms-kicker,.value-section-area .value-details-box .content-area h3,.value-section-area .value-details-box .content-area p{color:#03071e!important}
.value-section-area .value-box .cms-kicker,.value-section-area .value-box2 .cms-kicker{color:var(--construyo-blue-deep)!important}
.about1-section-area .sucess-text .counter-text .cms-stat-heading{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s50);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:50px}
.cost-calculator-area .cost-section-boxarea .materials-area .cms-stat-heading{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s44);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:52px}
.cost-calculator-area .cost-section-boxarea .cost-head h3.cms-h4-heading{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s24);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:24px}
.contact1-section-area .contact-header .contact-author-area .author-box .text h3.cms-h4-heading{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s20);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:20px}
.testimonial1-section-area .testimonial-sliders .testimonial-content-slider .testemonial-boxarea h3.cms-h4-heading{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s24);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:24px;margin-bottom:16px}

/* Mantiene el aspecto del antiguo H2 después de corregir su nivel semántico. */
.heading2 h3.ctl-h2-visual{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s44);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:52px}
.ctl-about-link{color:inherit;text-decoration:none}
.ctl-about-link:hover,.ctl-about-link:focus{color:inherit}
.ctl-about-photo{display:block;color:inherit}
@media(max-width:767px){.heading2 h3.ctl-h2-visual{font-size:var(--ztc-font-size-font-s32);line-height:40px}}
.service-inner-area .service-widget-area h2.cms-h3-as-h2,.faq-inner-area .service-widget-area h2.cms-h3-as-h2{color:var(--Text-Color,#03071E);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s24);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:24px}
.service-inner-area .service-widget-others h2.cms-h3-as-h2{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s32);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:32px}
.mobile-sidebar .mobile-nav.mobile-nav1 .mobile-sidebar-title{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s24);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:24px}
.mobile-header.mobile-haeder1 .mobile-nav-icon,.mobile-sidebar.mobile-sidebar1 .menu-close,.mobile-sidebar .menu-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}
.pagination .page-link{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.testimonial-arrows button,.project1-section-area .swiper-pagination-bullet,.progress-wrap{min-width:44px;min-height:44px;touch-action:manipulation}
@media(max-width:767px){.area-cards h2.area-card-title{font-size:24px!important;line-height:1.22!important}}

/* Revisión comercial: cotización, navegación de servicios y movimiento de portadas. */
.cost-calculator-area .ctl-quote-time{display:inline-flex!important;align-items:baseline;gap:12px;padding:20px 26px;border-left:5px solid #fbdf68;border-radius:0 16px 16px 0;background:linear-gradient(110deg,#fff4c4,#fffaf0);color:#03071e!important;line-height:1!important;margin-top:4px;box-shadow:0 10px 30px rgba(3,7,30,.06)}
.cost-calculator-area .ctl-quote-time .ctl-quote-number{font-size:64px!important;font-weight:900!important;letter-spacing:-.05em;line-height:1!important}
.cost-calculator-area .ctl-quote-time .ctl-quote-unit{font-size:25px;font-weight:700}
.ctl-services-intro{max-width:850px;margin:12px 0 34px}
.ctl-services-intro h2{font-size:clamp(28px,3vw,42px)!important;line-height:1.16!important}
.ctl-service-first .ctl-service-main{padding-right:32px}
.ctl-service-first .categories{margin-top:0}
.ctl-service-first .categories ul{max-height:380px;overflow:auto;scrollbar-width:thin}
.ctl-service-first .categories a{padding:14px 18px!important}
.ctl-service-first .service-widget-area .categories:before{content:'Explora otros servicios';display:block;font-size:14px;font-weight:700;color:#5d6675;margin-bottom:12px}
@keyframes ctl-hero-zoom{from{scale:1}to{scale:1.065}}
.ctl-f1-page .ctl-f1-slide.slick-current .ctl-f1-photo,.hero-section-area .hero-bg-layer.active{animation:ctl-hero-zoom 4.6s linear both}
.ctl-f1-page .ctl-f1-hero:active .ctl-f1-photo,.hero-section-area:active .hero-bg-layer{animation-play-state:paused}
@media(max-width:991px){.ctl-service-first .ctl-service-main{padding-right:12px}.ctl-service-first .ctl-service-related{margin-top:40px}.ctl-service-first .categories ul{max-height:280px}}
@media(max-width:575px){.cost-calculator-area .ctl-quote-time{padding:18px 22px}.cost-calculator-area .ctl-quote-time .ctl-quote-number{font-size:56px!important}.cost-calculator-area .ctl-quote-time .ctl-quote-unit{font-size:23px}}
@media(prefers-reduced-motion:reduce){.ctl-f1-page .ctl-f1-slide .ctl-f1-photo,.hero-section-area .hero-bg-layer{animation:none!important;scale:1!important}}

/* Tarjetas visuales de servicios en las tres etapas. */
.area-cards article>a{padding:0!important;overflow:hidden;display:flex!important;flex-direction:column;height:100%}
.area-cards .area-card-media{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#e9edf3;margin:0}
.area-cards .area-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.area-cards article>a:hover .area-card-media img{transform:scale(1.045)}
.area-cards .area-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:32px 36px 34px}
.area-cards .area-card-body p{flex:1}
@media(max-width:575px){.area-cards .area-card-body{padding:26px 24px 28px}}
@media(prefers-reduced-motion:reduce){.area-cards .area-card-media img{transition:none}.area-cards article>a:hover .area-card-media img{transform:none}}

/* Ajuste móvil: cada indicador acompaña su título; correo dentro de su botón. */
@media (max-width: 991px) {
 .works-section-area .step-by-step .step-area {
  display:grid!important;grid-template-columns:18px minmax(0,1fr);
  column-gap:14px;row-gap:14px;align-items:start;
  padding-top:0!important;margin-top:24px;
 }
 .works-section-area .step-by-step .step-area::before {
  content:""!important;position:static!important;inset:auto!important;
  transform:none!important;grid-column:1;grid-row:1;align-self:start;
  width:18px!important;height:18px!important;margin:5px 0 0!important;
  border-radius:50%;background:#ffb703!important;display:block!important;
 }
 .works-section-area .step-by-step .step-area > .process-dot,
 .works-section-area .step-by-step .step-area > .step-number,
 .works-section-area .step-by-step .step-area > .space24,
 .works-section-area .step-by-step .step-area > .space16 {
  display:none!important;
 }
 .works-section-area .step-by-step .step-area > a,
 .works-section-area .step-by-step .step-area > .step-title {
  grid-column:2;grid-row:1;min-width:0;margin:0!important;line-height:28px!important;
 }
 .works-section-area .step-by-step .step-area > p {
  grid-column:2;grid-row:2;min-width:0;margin:0!important;
 }
}
a[href^="mailto:"] {overflow-wrap:anywhere;max-width:100%;}
a.header-btn1[href^="mailto:"] {
 white-space:normal!important;overflow-wrap:anywhere;min-width:0;
 font-size:clamp(14px,1.3vw,18px)!important;line-height:1.45!important;
 padding-left:14px!important;padding-right:14px!important;
}
@media(max-width:575px) {
 a.header-btn1[href^="mailto:"] {font-size:14px!important;}
}
