/* _content-modal.css — sistema modal de proyecto (compartido proyectos + single-proyecto + single-articulo). Subset EXACTO de main.css. Fase final drop main.css. */

/* ============================================================
   BASE RULES (source order preserved from main.css)
   ============================================================ */

/* Lines 3138–3173 */
.section-content-modal-section5-swiper {
  margin: 0 -40px;
  padding: 0 25%;
}

.section-content-modal-section5-swiper .swiper-button-disabled {
  opacity: 0;
}

.section-content-modal-section5-swiper .swiper-button-next,
.section-content-modal-section5-swiper .swiper-button-prev {
  top: 0;
  bottom: 0;
  height: 100%;
  margin: 0;
  width: 20%;
  transition: all 0.3s ease;
}

.section-content-modal-section5-swiper .swiper-button-next:after,
.section-content-modal-section5-swiper .swiper-button-prev:after {
  display: none;
}

.section-content-modal-section5-swiper .swiper-button-next img,
.section-content-modal-section5-swiper .swiper-button-prev img {
  width: 100%;
}

.section-content-modal-section5-swiper .swiper-button-next {
  right: 0;
}

.section-content-modal-section5-swiper .swiper-button-prev {
  left: 0;
}

/* Lines 3175–3183 */
.section-content-modal {
  z-index: 5;
  overflow: hidden;
  margin-top: 5px !important;
}

.section-content-modal .section-content-modal-int > * {
  opacity: 0;
}

/* Lines 3185–3229 */
.section-content-modal-section3-content {
  margin: 0 -10px;
  display: flex;
  flex-wrap: wrap;
}

.section-content-modal-section3-50 {
  padding: 0 clamp(6.66666667px, 0.5208vw, 13.33333333px);
  width: 50%;
  margin-bottom: clamp(13.33333333px, 1.0417vw, 26.66666667px);
}

.section-content-modal-section3-50 img,
.section-content-modal-section3-50 video {
  width: 100%;
  border-radius: 20px;
}

.section-content-modal-section3-100 {
  margin-bottom: clamp(13.33333333px, 1.0417vw, 26.66666667px);
  padding: 0 clamp(5px, 0.521vw, 10px);
  width: 100%;
}

.section-content-modal-section3-100 img,
.section-content-modal-section3-100 video {
  width: 100%;
  border-radius: 20px;
}

.section-content-modal-section3-content-iframe {
  width: 100%;
  position: relative;
}
.section-content-modal-section3-content-iframe > .iframe-video-height {
  display: block;
}
.section-content-modal-section3-content-iframe iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 20px;
}

.section-content-modal-section1-img {
  width: 100%;
}

.section-content-modal-section2-content {
  display: flex;
}

.section-content-modal-section2-content-right-text p {
  color: #fff;
  margin: 0;
  font-size: clamp(24px, 2.0833333vw, 50px);
  line-height: 1.25;
}

.section-content-modal-section2-content .title10 ul {
  color: #fff;
}

.section-content-modal-section2-content-right-title {
  color: #fff;
  margin-bottom: clamp(18px, 1.25vw, 30px);
}

.section-content-modal-section2-content-right {
  width: 66%;
}

.section-content-modal-section2-content-left {
  width: 34%;
}

.section-content-modal-section4-content-right {
  width: 66%;
  margin-left: auto;
}

.section-content-modal-section4-content-right-text p {
  margin: 0;
}

.section-content-modal-header-title {
  color: #efefef;
  margin-bottom: clamp(25px, 2.084vw, 40px);
  width: 40%;
  line-height: 105%;
}

.section-content-modal-header-text {
  display: flex;
  align-items: center;
}

.section-content-modal-header-text img {
  filter: invert(0) !important;
  padding-right: clamp(12.75px, 0.8854167vw, 21.25px);
  margin-right: clamp(12.75px, 0.8854167vw, 21.25px);
  border-right: 1px solid;
  max-height: clamp(16.66666667px, 1.3021vw, 33.33333333px);
}

.section-content-modal-header-text p {
  margin: 0;
  color: #ffff;
}

.section-content-modal-header {
  padding-bottom: clamp(60px, 4.1666667vw, 100px);
  padding-top: 50vh;
}

.section-content-modal-section2 {
  padding: clamp(90px, 7.292vw, 140px) 0 clamp(100px, 8.594vw, 165px);
}

.section-content-modal-section4 {
  padding: clamp(105px, 7.2916667vw, 175px) 0
    clamp(95.25px, 6.6145833vw, 158.75px);
}

.section-content-modal-section6 {
  padding: clamp(90px, 7.292vw, 140px) 0 clamp(85px, 6.78vw, 130px);
}

.section-content-modal-section6-item {
  padding-bottom: 40px;
}

.section-content-modal-section6-items
  .section-content-modal-section6-item:last-child {
  padding-bottom: 0;
}

.section-content-modal-section8-left-title a {
  color: #0f0f0f;
  text-decoration: none;
}

.section-content-modal-section8-left-title a span {
  color: #ff4343;
  border-bottom: 3px solid #ff4343;
}

.section-content-modal-section8 {
  padding: clamp(200px, 18.49vw, 355px) 0 clamp(200px, 14.323vw, 275px);
  position: relative;
}

.section-content-modal-section8-img {
  position: absolute;
  left: 0;
  right: -7%;
  margin: auto;
  top: -10%;
  bottom: 0;
  width: clamp(300px, 22.89vw, 439px);
}

.section-content-modal-section9-content {
  display: flex;
  justify-content: space-between;
}

.section-content-modal-section9-content-next {
  text-align: right;
  margin-left: auto;
  padding: clamp(15px, 1.25vw, 24px) 0;
  display: block;
  position: relative;
}

.section-content-modal-section9-content-next span {
  position: relative;
  z-index: 2;
}

.section-content-modal-section9-content-prev {
  padding: clamp(15px, 1.25vw, 24px) 0;
  position: relative;
  display: block;
}

.section-content-modal-section9-content-prev span {
  position: relative;
  z-index: 2;
}

.section-content-modal-section9 {
  padding-top: clamp(200px, 14.323vw, 275px);
  padding-bottom: clamp(233.33333333px, 18.2292vw, 466.66666667px);
}

/* Lines 3722–3743: box-hover-cursor-images + hover-animation-image-img */
.box-hover-cursor-images {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
}

.box-hover-cursor-images .hover-animation-image {
  width: 100%;
  height: 100%;
  cursor: none;
}

.box-hover-cursor-images .hover-animation-image .hover-animation-image-img {
  z-index: -1;
  width: clamp(250px, 23.44vw, 450px);
  height: clamp(150px, 18.25vw, 350px);
  border-radius: 20px;
}

/* Lines 3976–3987: section-content-modal-absolute (1st occurrence) */
.section-content-modal-absolute {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 20px;
  width: 100%;
}

/* Lines 3984–3987: section-content-modal (2nd occurrence) */
.section-content-modal {
  position: relative;
  transition: all 0.3s ease;
}

/* Lines 4208–4223: section-content-modal-absolute (2nd occurrence) + section-content-modal (3rd) */
.section-content-modal-absolute {
  position: absolute;
  width: 100%;
  border-radius: 20px 20px 0px 0px;
  top: 0;
  z-index: 9999;
  padding-bottom: 20px;
  transition:
    top 1s ease,
    background 0.5s ease,
    border-radius 1s ease;
}

.section-content-modal {
  margin: 0;
}

/* Lines 4249–4251: content-modal-projects (1st occurrence) */
.content-modal-projects {
  display: none;
}

/* Lines 4281–4285: content-modal-projects absolute modifier */
.content-main-modal-open.content-main-modal-open-show-header
  .section-content-modal-absolute {
  top: 85px;
}

/* Lines 4306–4313: content-modal-projects position */
.content-modal-projects {
  position: relative;
  top: 100vh;
}

.content-modal-projects.active {
  top: 0;
}

/* Lines 4315–4322: section-content-modal-absolute-bg-header */
.section-content-modal-absolute-bg-header {
  height: 0;
  position: sticky;
  top: 0;
  z-index: 3;
  background: #efefef;
  transition: all 1s ease;
}

/* Lines 4360–4476: section-content-modal-blog + content-modal-blog */
.section-content-modal-blog {
  padding-top: clamp(83.25px, 5.78125vw, 138.75px);
  padding-bottom: clamp(52.5px, 3.6458333vw, 87.5px);
}

.section-content-modal-blog-container {
  display: flex;
}

.section-content-modal-blog-left {
  flex: 0 0 27%;
  padding-right: 5%;
}

.section-content-modal-blog-left-title {
  margin-bottom: 50vh;
  position: sticky;
  top: 150px;
  color: #0f0f0f;
}

.section-content-modal-blog-left-link {
  position: sticky;
  top: calc(100vh - 100px);
}

.section-content-modal-blog-right-content {
  margin-bottom: clamp(36.75px, 2.5520833vw, 61.25px);
}

.section-content-modal-blog-right-content img {
  max-width: 100%;
  display: block;
  margin-bottom: 7px;
}

.section-content-modal-blog-right-content p {
  margin: clamp(33px, 2.2916667vw, 55px) 0;
  font-size: clamp(22px, 1.57vw, 39px);
  font-weight: 400;
  line-height: clamp(28px, 2.09vw, 52px);
}

.section-content-modal-blog-right-content p:last-child {
  margin-bottom: 0;
}

.section-content-modal-blog-right-content p:first-child {
  margin-top: 0;
}

.section-content-modal-blog-right-content h3 {
  font-size: clamp(30px, 2.09vw, 52px);
  font-weight: 400;
  line-height: clamp(35px, 2.61vw, 65px);
  margin: clamp(33px, 2.2916667vw, 55px) 0;
}

.section-content-modal-blog-right-content small {
  font-size: clamp(16px, 1.045vw, 26px);
  font-weight: 400;
  line-height: clamp(26px, 1.57vw, 39px);
}

.section-content-modal-blog-right-content-info {
  padding-bottom: clamp(66px, 4.5833333vw, 110px);
  border-bottom: 1px solid;
  margin-bottom: clamp(66px, 4.5833333vw, 110px);
}

.section-content-modal-blog-right-content-info-author {
  color: #ff4343 !important;
}

.section-content-modal-blog-right-content-share-text {
  margin-bottom: 1.2rem;
}

.link1.section-content-modal-blog-right-content-share-link {
  color: #ff4343;
  line-height: 1.2;
}

.content-modal-blog .section-content-modal-header {
  padding-bottom: clamp(29.25px, 2.03125vw, 48.75px);
}

.content-modal-blog .section-content-modal-header-text {
  width: 24%;
}

.content-modal-blog .section-content-modal-header-title {
  width: 43%;
}

.section-content-modal-blog-related {
  padding-top: clamp(75px, 5.2083333vw, 125px);
}

.section-content-modal-blog-related-title {
  margin-bottom: clamp(20.25px, 1.40625vw, 33.75px);
  color: #0f0f0f;
}

/* Lines 4482–4620: section-content-modal-shop-* */
.section-content-modal-shop-container-left-image {
  width: 100%;
  margin-bottom: 17px;
}

.section-content-modal-shop-container-left-image img {
  max-width: 100%;
  border-radius: 20px;
}

.section-content-modal-shop-container {
  display: flex;
  align-items: flex-start;
  padding-bottom: clamp(105px, 7.2916667vw, 175px);
}

.section-content-modal-shop-container-left {
  flex: 0 0 49%;
  width: 49%;
}

.section-content-modal-shop-container-right {
  flex: 0 0 45%;
  width: 45%;
  padding-left: 10%;
  position: sticky;
  top: 150px;
}

.section-content-modal-shop-container-left-images {
  width: 100%;
  padding-bottom: clamp(52.5px, 3.6458333vw, 87.5px);
}

.section-content-modal-shop-container-right-title {
  display: flex;
  justify-content: space-between;
  margin-bottom: clamp(15px, 1.0416667vw, 25px);
}

.section-content-modal-shop {
  padding-top: 30px;
  padding-bottom: clamp(75px, 5.2083333vw, 125px);
}

.section-content-modal-shop-container-right-text {
  padding-bottom: clamp(48px, 3.3333333vw, 80px);
  border-bottom: 1px solid;
  margin-bottom: clamp(30px, 2.0833333vw, 50px);
}

.section-content-modal-shop-container-right-text p {
  width: 90%;
}

.section-content-modal-shop-container-right-sizes-title {
  margin-bottom: clamp(9px, 0.625vw, 15px);
}

.section-content-modal-shop-container-right-sizes-item {
  margin-right: clamp(41.25px, 2.8645833vw, 68.75px);
}

.section-content-modal-shop-container-right-sizes-item input {
  display: none;
}

.section-content-modal-shop-container-right-sizes-item
  input:checked
  + label:after {
  opacity: 1;
}

.section-content-modal-shop-container-right-sizes-item label {
  display: flex;
  align-items: center;
  position: relative;
}

.section-content-modal-shop-container-right-sizes-item label:before {
  content: "";
  width: 23px;
  height: 23px;
  display: block;
  margin-right: 9px;
  border-radius: 50%;
  border: 1px solid;
}

.section-content-modal-shop-container-right-sizes-item label:after {
  position: absolute;
  left: 4px;
  top: 4px;
  bottom: 0;
  height: 15px;
  width: 15px;
  background: #0f0f0f;
  display: block;
  content: "";
  border-radius: 50%;
  opacity: 0;
  transition: all 0.3s ease;
}

.section-content-modal-shop-container-right-sizes-items {
  display: flex;
}

.section-content-modal-shop-container-left-details-title {
  margin-bottom: 10px;
}

.section-content-modal-shop-container-left-details {
  padding-top: clamp(37.5px, 2.6041667vw, 62.5px);
  border-top: 1px solid;
}

.section-content-modal-shop-related-title {
  color: #0f0f0f;
  margin-bottom: clamp(42.75px, 2.96875vw, 71.25px);
}

.section-content-modal-shop-related
  .section-shop1-content-item-card-box-content-price {
  color: #efefef;
}

.section-content-modal-shop-container-right-button {
  margin-top: clamp(75px, 5.2083333vw, 125px);
}

/* Lines 4829–4844: section-content-modal-blog-left-link .box-newsletter */
.section-content-modal-blog-left-link .box-newsletter {
  position: absolute;
  bottom: 0;
  background: linear-gradient(0deg, #ff4343, #ff4343), #d9d9d9;
  border-radius: 20px;
  padding-top: clamp(69px, 4.7916667vw, 115px);
  padding-left: clamp(54px, 3.75vw, 90px);
  padding-bottom: clamp(69px, 4.7916667vw, 115px);
  padding-right: clamp(69px, 4.7916667vw, 115px);
  width: clamp(645.75px, 44.84375vw, 1076.25px);
  display: none;
}

.section-content-modal-blog-left-link .box-newsletter input::placeholder {
  color: #fff;
}

/* Lines 4936–4956: section-content-modal header/section3 overrides */
.section-content-modal-header-text p {
  font-size: clamp(20px, 1.5625vw, 40px);
  line-height: 1;
}

.section-content-modal-section1-img {
  border-radius: 20px;
}

.section-content-modal-section3-50 img {
  border-radius: 20px;
}

.section-content-modal-section3-100 {
  padding: 0 10px;
  overflow: hidden;
}

.section-content-modal-section3-100 img {
  border-radius: 20px;
}

/* Lines 5252–5258: box-section-content-modal-section9-content-prev/next */
.box-section-content-modal-section9-content-prev {
  width: 35%;
}

.box-section-content-modal-section9-content-next {
  width: 35%;
}

/* Lines 5454–5461: content-main-invert section6 item colors */
.content-main-invert .section-content-modal-section6-item-title,
.content-main-invert-cultura .section-content-modal-section6-item-title,
.content-main-invert .section-content-modal-section6-item-text,
.content-main-invert-cultura .section-content-modal-section6-item-text,
.content-main-invert .title10 ul,
.content-main-invert-cultura .title10 ul {
  color: #fff;
}

/* Lines 6575–6592: section-content-modal-absolute-container-icon + container + content-modal-projects-persiana */
.section-content-modal-absolute-container-icon {
  width: clamp(38.66666667px, 3.0208vw, 77.33333333px);
  height: clamp(38.66666667px, 3.0208vw, 77.33333333px);
}

.section-content-modal-absolute-container {
  position: relative;
  display: flex;
  align-items: center;
}

.content-modal-projects-persiana {
  position: absolute;
  left: 0;
  top: 100vh;
  right: 0;
  bottom: 0;
}

/* Lines 6608–6658: section-content-modal-claro-text (2 identical blocks) */
.section-content-modal-claro-text .section-content-modal-header-title,
.section-content-modal-claro-text .section-content-modal-header-text p,
.section-content-modal-claro-text
  .section-content-modal-section2-content-right-title,
.section-content-modal-claro-text .title10 ul li,
.section-content-modal-claro-text
  .section-content-modal-section2-content-right-text
  p {
  color: #0f0f0f !important;
}

.section-content-modal-claro-text .section-content-modal-header-text img {
  filter: brightness(0) !important;
}

.section-content-modal-claro-text .section-content-modal-header-title,
.section-content-modal-claro-text .section-content-modal-header-text p,
.section-content-modal-claro-text
  .section-content-modal-section2-content-right-title,
.section-content-modal-claro-text .title10 ul li,
.section-content-modal-claro-text
  .section-content-modal-section2-content-right-text
  p {
  color: #0f0f0f !important;
}

.section-content-modal-claro-text .section-content-modal-header-text img {
  filter: brightness(0) !important;
}

.section-content-modal-section3.section-content-modal-section-first-child {
  padding-top: clamp(100px, 7.8125vw, 200px);
}

.section-content-modal-section1-img-m {
  display: none;
}

.section-content-modal-section3-content-iframe-overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

/* ============================================================
   @media (min-width: 991px) — line 6686
   ============================================================ */
@media (min-width: 991px) {
  /* (no modal-specific rules in this block — only proyectos card nth-child transforms belong in proyectos.css) */
}

/* ============================================================
   @media (max-width: 991px) — line 6874 (large block)
   ============================================================ */
@media (max-width: 991px) {
  .section-content-modal-section9-content-next {
    margin-left: auto;
  }

  .section-content-modal {
    overflow: hidden;
    padding-top: 30vh;
  }

  .section-content-modal-section9 {
    padding-bottom: 90px;
  }

  .section-content-modal-header-title {
    color: #efefef;
    margin-bottom: 16px;
  }

  .section-content-modal-header {
    padding-bottom: 40px;
  }

  .section-content-modal-section2-content {
    flex-wrap: wrap;
  }

  .section-content-modal-section2-content-left {
    width: 100%;
    margin-bottom: 20px;
  }

  .section-content-modal-section2-content-left-title {
    color: #fff;
  }

  .section-content-modal-section2-content-right {
    width: 100%;
  }

  .section-content-modal-section2 {
    padding: 40px 0 50px;
  }

  .section-content-modal-section4 {
    padding: 60px 0 75px;
  }

  .section-content-modal-section4-content {
    display: flex;
    flex-wrap: wrap;
  }

  .section-content-modal-section4-content-right {
    width: 100%;
  }

  .section-content-modal-section4-content-right-title {
    margin-bottom: 10px;
  }

  .section-content-modal-section6-item {
    padding-bottom: 25px;
  }

  .section-content-modal-section6 {
    padding: 45px 0 50px;
  }

  .section-content-modal-section8 {
    padding: 50px 0 100px 0;
  }

  .section-content-modal-section8-img {
    position: initial;
    order: -1;
    width: 200px;
    margin-left: 0;
    margin-bottom: 30px;
  }

  .section-content-modal-section8 .container {
    display: flex;
    flex-direction: column;
  }

  .section-content-modal-section8-left-title br {
    display: none;
  }

  .box-hover-cursor-images {
    display: none;
  }

  .section-content-modal-absolute-bg-header {
    height: 110px;
    display: none;
  }

  .section-content-modal-absolute {
    border-radius: 20px 20px 0px 0px;
    margin-bottom: -40px;
  }

  .section-content-modal-absolute-container {
    padding-right: 10px;
  }

  .section-content-modal {
    padding-top: 0;
  }

  .section-content-modal-header-text img {
    width: 30%;
  }

  .section-content-modal-section3-50,
  .section-content-modal-section3-100 {
    border-radius: 0;
  }

  .section-content-modal-section3-50 img,
  .section-content-modal-section3-100 img {
    border-radius: 15px;
  }

  .section-content-modal-section3-50 {
    width: 100%;
  }

  .content-modal-blog .section-content-modal-header-title {
    width: 100%;
  }

  .content-modal-blog .section-content-modal-header-text {
    width: 100%;
  }

  .section-content-modal-blog-container {
    flex-wrap: wrap;
  }

  .section-content-modal-blog-left {
    width: 100%;
    flex: 0 0 100%;
    margin-bottom: 30px;
  }

  .section-content-modal-blog-left-link {
    position: fixed;
    bottom: 3%;
    right: 3%;
    top: initial;
    background: #efefef;
    z-index: 2;
  }

  .section-content-modal-blog {
    padding-top: 40px;
    padding-bottom: 30px;
  }

  .section-content-modal-blog-right-content p {
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    margin: 20px 0;
  }

  .section-content-modal-blog-right-content h3 {
    font-size: 25px;
    font-weight: 400;
    line-height: 30px;
    margin: 20px 0;
  }

  .section-content-modal-blog-right-content small {
    font-size: 14px;
    line-height: 20px;
  }

  .section-content-modal-shop-container {
    flex-wrap: wrap;
    padding-bottom: 50px;
  }

  .section-content-modal-shop-container-left {
    flex: 0 0 100%;
    order: 2;
  }

  .section-content-modal-shop-container-right {
    top: 0;
    position: initial;
    flex: 0 0 100%;
    padding: 0;
    margin-bottom: 40px;
  }

  .section-content-modal-shop-container-left-images {
    display: none;
  }

  .section-content-modal-shop-container-right-text {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }

  .section-content-modal-shop-related-title {
    margin-bottom: 30px;
  }

  .section-content-modal-section9-content {
    flex-wrap: wrap;
  }

  .section-content-modal-section9-content-next {
    width: 100%;
    display: flex;
    align-items: center;
    order: -1;
    margin: 0;
    padding-bottom: 10px;
    padding-top: 0;
  }

  .section-content-modal-section9-content-next .hover-animation-image-img {
    border-radius: 15px;
    width: auto;
    transform: translate(0, 0) !important;
    position: initial;
    opacity: 1;
    flex: 1 1 auto;
    max-width: 47%;
    height: auto;
    margin-left: auto;
    aspect-ratio: 4/3;
  }

  .section-content-modal-section9-content-next span {
    width: 50%;
    font-weight: 400;
    font-size: 34px;
    line-height: 40px;
  }

  .section-content-modal-section9-content-prev {
    padding-top: 10px;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .section-content-modal-section9-content-prev .hover-animation-image-img {
    border-radius: 15px;
    width: auto;
    transform: translate(0, 0) !important;
    position: initial;
    opacity: 1;
    flex: 1 1 auto;
    max-width: 47%;
    height: auto;
    margin-left: auto;
    margin-left: 0;
    margin-right: auto;
    aspect-ratio: 4/3;
  }

  .section-content-modal-section9-content-prev span {
    width: 50%;
    font-weight: 400;
    font-size: 34px;
    line-height: 40px;
    order: 2;
    padding-left: 2%;
    padding-right: 0%;
  }

  .section-content-modal-section9 {
    padding-top: 30px;
    transform: initial;
    margin-bottom: 0;
    padding-bottom: 130px;
  }

  .section-content-modal-section9 .container {
    transform: translateY(0) !important;
  }

  .box-section-content-modal-section9-content-prev,
  .box-section-content-modal-section9-content-next {
    width: 100%;
  }

  .box-section-content-modal-section9-content-prev {
    margin-bottom: clamp(36px, 12.3076923vw, 60px);
  }

  .section-content-modal-section2-content-left {
    margin-bottom: clamp(37.5px, 12.8205128vw, 62.5px);
  }

  .section-content-modal-header-title {
    width: 100%;
  }

  .section-content-modal-section-int {
    min-height: calc(100vh - 20px);
    display: flex;
    flex-direction: column;
  }

  .section-content-modal-section-int .section-content-modal-header {
    margin-top: auto;
  }

  .section-content-modal-section1 {
    position: relative;
  }

  .section-content-modal-section1
    .container
    .section-content-modal-section1-img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .section-content-modal-section2-content-right-title {
    font-size: clamp(13.5px, 4.6153846vw, 22.5px);
  }

  .section-content-modal-section2-content-right-text ul {
    font-size: clamp(13.5px, 4.6153846vw, 22.5px);
    line-height: 1.4;
  }

  .section-content-modal-section2-content-right-text p {
    font-size: clamp(18px, 6.1538462vw, 30px);
  }

  .section-content-modal {
    margin-bottom: -100px;
    padding-bottom: 100px;
  }

  .section-content-modal-section3.section-content-modal-section-first-child {
    padding-top: clamp(33.33333333px, 12.8205vw, 66.66666667px);
  }

  .section-content-modal-header-text p {
    font-size: clamp(8px, 3.0769vw, 16px);
  }

  .section-content-modal-header-text img {
    max-width: clamp(60px, 23.0769vw, 120px);
  }

  .section-content-modal-section1-img {
    display: none;
  }

  .section-content-modal-section1-img-m {
    display: block;
  }

  .section-content-modal-section1-img-no-have-m {
    display: block;
  }
}

/* ===== content-main-modal-open — estado página-modal abierta (single-proyecto/single-articulo): restyling header + estados menu-fixed. Subset main.css. Fase final. ===== */

/* Lines 4253–4295: .content-main-modal-open header restyling + show-header states */
.content-main-modal-open .content-main-header {
  border-radius: 0;
  top: 0 !important;
  background: #efefef !important;
  padding-bottom: 5px;
  z-index: 99999;
  opacity: 0;
  z-index: -1;
}

.content-main-modal-open .content-main-header-nav-logo {
  filter: invert(0) !important;
}

.content-main-modal-open .content-main-header-nav-talk-link span {
  color: #0f0f0f !important;
}

.content-main-modal-open .content-main-header-nav .btn-plus span {
  background-color: #0f0f0f !important;
}

.content-main-modal-open.content-main-modal-open-show-header
  .menu-fixed.active {
  opacity: 1;
  z-index: 2;
}

.content-main-modal-open.content-main-modal-open-show-header
  .content-main-header-nav-talk-link
  lottie-player {
  filter: initial;
}

.content-main-modal-open.content-main-modal-open-show-header
  .pin-content-main-modal {
  z-index: 99999 !important;
}

/* Lines 4337–4358: .content-main-blogs.content-main-modal-open blog-modal variant */
.content-main-blogs.content-main-modal-open .content-main-header {
  background: #0f0f0f !important;
}

.content-main-blogs.content-main-modal-open
  .content-main-header
  .content-main-header-nav-logo {
  filter: invert(1) !important;
}

.content-main-blogs.content-main-modal-open
  .content-main-header-nav-talk-link
  span {
  color: #fff !important;
}

.content-main-blogs.content-main-modal-open
  .content-main-header-nav
  .btn-plus
  span {
  background: #fff !important;
}

/* Line 5331–5334: .pin-content-main-modal */
.pin-content-main-modal {
  z-index: 9999 !important;
  mix-blend-mode: normal;
}

/* Line 5393–5395: .content-main-modal-open background */
.content-main-modal-open {
  background-color: #efefef !important;
}

/* Lines 4665–4692: .content-main:not(.content-main-modal) menu-fixed states (modal-open context) */
.content-main:not(.content-main-modal).menu-active {
  z-index: 6;
}

.content-main:not(.content-main-modal) .content-main-header.menu-fixed {
  inset: -100px auto auto 0 !important;
}

.content-main:not(.content-main-modal)
  .content-main-header.menu-fixed:not(.active)
  + .content-modal-projects
  .section-content-modal-absolute-bg-header {
  top: 0;
}

.content-main:not(.content-main-modal)
  .content-main-header.menu-fixed:not(.active)
  + .content-modal-projects
  .section-content-modal-absolute {
  top: 0px;
  border-radius: 0;
}

.content-main:not(.content-main-modal) .content-main-header.menu-fixed.active,
.content-main:not(.content-main-modal)
  .content-main-header.menu-fixed.menu-active {
  inset: 0 auto auto 0 !important;
}

/* Lines 5444–5452: .content-main:not(.content-main-modal) modal-open-show-header + menu-up states */
.content-main:not(.content-main-modal)
  .content-main-header.menu-fixed.content-main-header-menu-up.content-main-header {
  inset: -200px 0 0 0 !important;
}

.content-main:not(.content-main-modal).content-main-modal-open-show-header
  .content-main-header.menu-fixed.active {
  inset: 0px auto auto 0 !important;
}

/* ============================================================
   @media (max-width: 991px) — lines 9047–9051, 9271–9280
   ============================================================ */
@media (max-width: 991px) {
  /* Line 9047–9051 */
  .content-main.content-main-modal-open-show-header:not(.content-main-modal)
    .content-main-header.menu-fixed.active {
    inset: 0px auto auto 0 !important;
    padding: 20px 0 !important;
  }

  /* Lines 9271–9280 */
  .page-template-contacto
    .content-main:not(.content-main-modal)
    .content-main-header.menu-fixed.active {
    inset: 0px auto auto 0 !important;
  }

  .page-template-contacto
    .content-main:not(.content-main-modal)
    .content-main-header.menu-fixed {
    inset: -100px auto auto 0 !important;
  }
}

/* Página-modal abierta (single-proyecto/single-articulo): el wrapper NO lleva el padding-bottom:100px
 * de content-main-int (legacy renderiza 0 consistente; fuente CSS exacta no localizada pero el valor
 * observado es 0). 3 clases > regla base. Reproduce paridad. */
.content-main.content-main-int.content-main-modal-open {
  padding-bottom: 0;
}
