body {
  overflow-x: hidden;
}

.hero-icon {
  width: 110px;
  height: auto;
  margin-bottom: -5px;
  padding-left: 15px;
}

.link-underline-green {
  color: #000;
  text-decoration: underline;
  text-decoration-color: #b2e81b;
  text-decoration-thickness: 4px;
  text-underline-offset: 10px;
}

.link-underline-green:hover {
  text-decoration-color: #93c91f;
}

.icon-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid #000;
  border-radius: 50%;
  transition: transform 0.3s ease;
}

button[aria-expanded="true"] .icon-circle {
  transform: rotate(180deg);
}

.animate-on-scroll-left,
.animate-on-scroll-right,
.animate-on-scroll-down {
  opacity: 0;
}

.collapse-row-desktop {
  padding-left: 4rem;
  padding-right: 6rem;
}

.collapse-content a svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.collapse-content a span {
  line-height: 1;
}

.collapse-content a {
  align-items: center;
}

@media (max-width: 767.98px) {
  .hero-mobile {
    position: relative;
    height: 100vh;
    overflow: hidden;
  }

  .hero-mobile-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .hero-mobile-bg-primary {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 110%;
    background-color: #004687;
  }

  .hero-mobile-bg-white {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background-color: #ffffff;
  }

  .hero-img-main {
    position: absolute;
    top: 205px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 100%;
    height: 40%;
    object-fit: cover;
    margin-top: -130px;
    z-index: 2;
  }

  .hero-mobile__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 180px;
    width: 280px;
    height: 250px;
    z-index: 3;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
  }

  .hero-title {
    font-size: 2rem;
    color: #000;
    padding-left: 15px;
  }

  .hero-icon {
    width: 110px;
    height: auto;
    padding-left: 15px;
    margin-bottom: -5px;
  }

  .hero-icon {
    width: 125px !important;
    padding-left: 20px !important;
  }

  .hero-title {
    padding-left: 20px !important;
  }

  .col-md-6 img {
    height: 400px !important;
    object-fit: cover;
    width: 100%;
    margin-top: 90px;
  }

  #compromisos .col-md-6.animate-on-scroll-down {
    padding-left: 50px !important;
    padding-right: 30px !important;
    margin-top: 80px !important;
  }

  #compromisos .col-md-6.animate-on-scroll-down img {
    width: 50% !important;
    height: auto !important;
  }

  .commitments-section {
    padding-bottom: 80px;
  }

  .collapse-content .row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .collapse-content .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .collapse-content .container.px-5 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .collapse-content .col-md-6 {
    width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    margin-bottom: 1rem;
  }

  /* PDFs: separación y centrado */
  .collapse-content a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  .collapse-content .col-md-2 {
    width: 100%;
    text-align: center;
  }

  /* SVG tamaño consistente */
  .collapse-content svg {
    width: 22px;
    height: 22px;
  }

  /* Imagen final centrada */
  .collapse-content .col-md-2.text-center img {
    display: block;
    margin: 0 auto;
  }

  .collapse-content {
    /* margin-top: 5rem; */
    margin-top: 2rem;
    margin-bottom: 0 !important;
  }

  .collapse-content .card-body {
    padding-top: 2rem;
    padding-bottom: 5rem !important;
  }

  #compromisos.collapse-open section + section {
    margin-top: 0 !important;
  }

  #compromisos.collapse-open section + section .row {
    margin-top: 0 !important;
  }

  .col-md-6 img {
    height: 400px !important;
    object-fit: cover;
    width: 100%;
    margin-top: 30px !important;
  }
}

.article-img-2 {
  width: 150px;     
  height: auto;
  display: block;
  margin: 2rem 0;   
}

@media (min-width: 1400px) {
  :root {
    --container: 1320px;
    --base-w: 1030px;
    --base-h: 500px; 
    --grow-w: 0.30;
    --grow-h: 0.22; /* un pelín menos de crecimiento vertical */
    --hero-w: clamp(var(--base-w), calc(var(--base-w) + (100vw - 1400px) * var(--grow-w)), 1650px);
    --hero-h: clamp(var(--base-h), calc(var(--base-h) + (100vw - 1400px) * var(--grow-h)), 780px);
    --frame-offset-x: 35px;
    --frame-offset-y: -60px;
    --hero-top: 26%;
    --box-w: clamp(280px, 16vw, 420px);
    --box-min-h: 210px;
    --nudge: clamp(0px, calc((100vw - 1400px) * 0.06), 140px);
  }

  section.position-relative.d-none.d-md-block {
    margin-bottom: 220px !important; 
  }

  .position-absolute.start-50.translate-middle-x.text-center.container[style*="top: 26%"] {
    transform: translateX(calc(-50% - var(--nudge))) !important;
  }

  .position-absolute.start-50.translate-middle-x.text-center.container[style*="top: 26%"]
  > .position-relative.overflow-hidden[style*="max-width: 78%"] {
    width: var(--hero-w) !important;
    height: var(--hero-h) !important;
    max-width: none !important;
    margin-left: var(--frame-offset-x) !important;
    margin-top: var(--frame-offset-y) !important;
    margin-right: 0 !important;
  }

  .position-absolute.start-50.translate-middle-x.text-center.container[style*="top: 26%"]
  > .position-relative.overflow-hidden[style*="max-width: 78%"] > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    background-color: #fff;
  }

  .position-relative[style*="height: 830px"] {
    height: calc(var(--hero-h) + 220px) !important;
  }

  .position-absolute.bg-white.p-4.shadow[style*="margin-right: 135px"] {
    top: calc(var(--hero-top) + var(--frame-offset-y) + (var(--hero-h) / 2)) !important;
    transform: translateY(-50%) !important;
    left: calc(
      50vw + (var(--hero-w) - (var(--container) / 2) + var(--frame-offset-x))
      - (var(--box-w) / 2)
      - var(--nudge)
    ) !important;
    right: auto !important;
    margin-right: 0 !important;
    width: var(--box-w) !important;
    min-height: var(--box-min-h) !important;
    height: auto !important;
    padding: 2rem 2.2rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 992px) {
  section.position-relative.d-none.d-md-block {
    margin-bottom: 320px; 
  }
}

@media (min-width: 1400px) {
  section.position-relative.d-none.d-md-block {
    padding-bottom: 140px !important;
  }
}


@media (min-width: 1800px) {
  section.position-relative.d-none.d-md-block {
    padding-bottom: 320px !important;
  }
}
