.projects-hero { position: relative; overflow: hidden; background: var(--navy); }
.projects-hero img { width: 100%; height: clamp(300px, 36vw, 550px); object-fit: cover; }
.project-list { background: var(--paper); }
.project-feature { position: relative; overflow: hidden; padding: 39px 24px 61px; scroll-margin-top: 215px; background: var(--paper); }
.project-feature::before { content: ""; position: absolute; inset: 0 0 auto; height: 391px; background: var(--feature-color); }
.project-feature__inner { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 25px; width: min(100%, var(--content-width)); min-height: 445px; margin: auto; }
.project-feature:nth-child(even) .project-feature__media { order: 2; }
.project-feature__media { width: 100%; overflow: hidden; }
.project-feature--torre-ganges .project-feature__media img { object-fit: contain; }
.project-feature__media img { width: 100%; height: 445px; object-fit: cover; }
.project-feature__copy { min-width: 0; padding-top: 4px; color: var(--feature-ink); }
.project-feature h2 { font-size: max(13px, calc(50px * var(--content-text-scale, 1))); line-height: 1.18; font-style: italic; font-weight: 400; }
.project-feature h2 strong { font-weight: 700; }
.project-feature__description { margin-top: 17px; font-size: max(13px, calc(22px * var(--content-text-scale, 1))); line-height: 1.18; text-align: justify; }
.project-feature__description p { margin: 0; }
.project-feature__cta, .project-feature__status { display: inline-block; margin-top: 27px; color: inherit; font-size: max(13px, calc(40px * var(--content-text-scale, 1))); line-height: 1.2; font-style: italic; font-weight: 400; }
.project-feature__cta .ri-icon { display: none; }
.project-feature__cta:hover { text-decoration: underline; text-underline-offset: 5px; }
.project-feature__cta:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.project-feature__mark { position: absolute; top: 39px; right: 3.5%; width: 100px; height: auto; opacity: .4; filter: brightness(0) invert(1); pointer-events: none; }
.project-feature--torre-tiber { --feature-color: #6c846d; --feature-ink: #fff; }
.project-feature--torre-ganges { --feature-color: #ffa681; --feature-ink: #fff; }
.project-feature--torre-missisipi { --feature-color: #c5267a; --feature-ink: #fff; }
.project-feature--torre-danubio { --feature-color: #dfdbc9; --feature-ink: var(--navy); }
.project-feature--torre-felix-cuevas { --feature-color: #a7a598; --feature-ink: #fff; }
.project-feature--torre-guadalupe { --feature-color: #d7c7ca; --feature-ink: var(--navy); }
@media (max-width: 1450px) and (min-width: 701px) {
  .project-feature__inner { width: min(100%, calc(100vw - 160px)); }
  .project-feature h2 { font-size: max(13px, calc(clamp(33px, 3.3vw, 50px) * var(--content-text-scale, 1))); }
  .project-feature__description { font-size: max(13px, calc(clamp(17px, 1.45vw, 22px) * var(--content-text-scale, 1))); }
  .project-feature__cta, .project-feature__status { font-size: max(13px, calc(clamp(30px, 2.65vw, 40px) * var(--content-text-scale, 1))); }
  .project-feature__mark { right: 0; width: 70px; }
}
@media (max-width: 700px) {
  .projects-hero img { height: 140px; }
  .project-feature { padding: 32px 20px; scroll-margin-top: 120px; background: var(--feature-color); }
  .project-feature::before { display: none; }
  .project-feature__inner { display: flex; flex-direction: column; gap: 24px; min-height: 0; }
  .project-feature:nth-child(even) .project-feature__media { order: 0; }
  .project-feature__media { border-radius: 12px; }
  .project-feature__media img { height: auto; aspect-ratio: 350 / 220; }
  .project-feature__copy { padding: 0; }
  .project-feature h2 { font-size: max(13px, calc(28px * var(--content-text-scale, 1))); line-height: 1.2; }
  .project-feature__description { margin-top: 14px; font-size: max(13px, calc(14px * var(--content-text-scale, 1))); line-height: 1.65; }
  .project-feature__description p { display: inline; }
  .project-feature__description p + p::before { content: " "; }
  .project-feature__cta, .project-feature__status { margin-top: 23px; font-size: max(13px, calc(23px * var(--content-text-scale, 1))); }
  .project-feature__mark { display: none; }
}
