@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500&display=swap');

:root {
  --green-dark: rgb(11, 68, 56);
  --green-alt: rgb(11, 66, 53);
  --beige: rgb(251, 248, 240);
  --gray-soft: rgb(163, 168, 156);
  --brown: rgb(111, 91, 63);
  --text-dark: #111111;
  --text-muted: #5f625c;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'IBM Plex Sans', Arial, Helvetica, sans-serif;
  background-color: var(--beige);
  color: var(--text-dark);
}

.no-scroll {
  overflow: hidden;
}

/* INTRO */

.intro-screen {
  position: fixed;
  inset: 0;
  z-index: 999;
  background-color: var(--beige);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 18vw;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}

.intro-logo {
  width: 150px;
  height: auto;
  display: block;
  opacity: 0;
  transform: translateY(8px);
  animation: introLogoReveal 0.8s ease forwards;
}

.intro-screen.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@keyframes introLogoReveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* REVEAL GENERAL */

.site-header,
main,
.site-footer {
  opacity: 0;
}

body.intro-complete .site-header {
  animation: revealHeader 0.8s ease forwards;
}

body.intro-complete main,
body.intro-complete .site-footer {
  animation: revealMain 0.9s ease forwards;
}

@keyframes revealHeader {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes revealMain {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* HEADER */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 76px;
  padding: 0 6vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 50;
  background: rgba(251, 248, 240, 0.82);
  backdrop-filter: blur(14px);
}

.wordmark {
  text-decoration: none;
  color: var(--green-dark);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: lowercase;
}

.main-nav {
  display: flex;
  gap: 28px;
}

.main-nav a {
  text-decoration: none;
  color: var(--green-dark);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 400;
}

/* HERO */

.hero {
  min-height: 100vh;
  padding: 130px 6vw 80px;
  display: flex;
  align-items: center;
  background:
    linear-gradient(
      to bottom,
      rgba(251, 248, 240, 0.92),
      rgba(251, 248, 240, 1)
    );
}

.hero-content {
  max-width: 920px;
}

.eyebrow,
.section-label {
  color: var(--brown);
  font-size: 0.82rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 28px;
}

.hero h1 {
  font-family: 'IBM Plex Sans', Arial, Helvetica, sans-serif;
  font-size: clamp(4rem, 10.5vw, 9.2rem);
  line-height: 0.92;
  letter-spacing: -0.055em;
  font-weight: 300;
  color: var(--green-dark);
  text-transform: lowercase;
}

.hero-description {
  max-width: 560px;
  margin-top: 36px;
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.hero-button,
.contact-button {
  display: inline-block;
  margin-top: 36px;
  padding: 14px 24px;
  border: 1px solid var(--green-dark);
  color: var(--green-dark);
  text-decoration: none;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.hero-button:hover,
.contact-button:hover {
  background-color: var(--green-dark);
  color: var(--beige);
}

/* ANIMACIÓN HERO */

.hero .eyebrow,
.hero h1,
.hero-description,
.hero-button {
  opacity: 0;
  transform: translateY(18px);
}

body.intro-complete .hero .eyebrow {
  animation: revealElement 0.8s ease forwards;
  animation-delay: 0.15s;
}

body.intro-complete .hero h1 {
  animation: revealElement 0.9s ease forwards;
  animation-delay: 0.3s;
}

body.intro-complete .hero-description {
  animation: revealElement 0.8s ease forwards;
  animation-delay: 0.55s;
}

body.intro-complete .hero-button {
  animation: revealElement 0.8s ease forwards;
  animation-delay: 0.75s;
}

@keyframes revealElement {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* SECCIONES GENERALES */

.section {
  padding: 110px 6vw;
}

.section-intro {
  max-width: 980px;
}

.section h2 {
  max-width: 900px;
  color: var(--green-dark);
  font-size: clamp(2rem, 5vw, 4.2rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
}

/* NOSOTROS */

.about-section {
  background-color: var(--beige);
  border-top: 1px solid rgba(11, 68, 56, 0.12);
}

.about-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 80px;
  align-items: start;
}

.about-heading h2 {
  max-width: 780px;
}

.about-content {
  padding-top: 48px;
}

.about-content p {
  color: var(--text-muted);
  line-height: 1.7;
  font-size: 1rem;
}

.about-lead {
  color: var(--green-dark) !important;
  font-size: 1.18rem !important;
  line-height: 1.6 !important;
  margin-bottom: 28px;
}

.about-values {
  margin-top: 56px;
  border-top: 1px solid rgba(11, 68, 56, 0.3);
}

.about-values article {
  padding: 28px 0;
  border-bottom: 1px solid rgba(11, 68, 56, 0.18);
}

.about-values span {
  display: block;
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  margin-bottom: 14px;
}

.about-values h3 {
  color: var(--green-dark);
  font-size: 1.15rem;
  font-weight: 300;
  margin-bottom: 12px;
}

.about-values p {
  font-size: 0.92rem;
}

/* PROCESO */

.process-section {
  background-color: rgba(11, 68, 56, 0.035);
  border-top: 1px solid rgba(11, 68, 56, 0.12);
  border-bottom: 1px solid rgba(11, 68, 56, 0.12);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 80px;
}

.process-item {
  border-top: 1px solid rgba(11, 68, 56, 0.35);
  padding-top: 26px;
}

.process-item span {
  display: block;
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  margin-bottom: 30px;
}

.process-item h3 {
  color: var(--green-dark);
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.035em;
  margin-bottom: 22px;
}

.process-item p {
  color: var(--text-muted);
  line-height: 1.7;
  font-size: 0.95rem;
}

/* =========================================================
   SERVICIOS / GRID 4x2
========================================================= */

.services-section {
  position: relative;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 56px 28px;
  align-items: start;
}

.service-card {
  border-top: 1px solid rgba(11, 68, 56, 0.18);
  padding-top: 28px;
  min-height: 320px;
}

.service-icon {
  width: 42px;
  height: 42px;
  margin-bottom: 34px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.service-icon svg {
  width: 100%;
  height: 100%;
  stroke: #6c8e84;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-number {
  display: block;
  margin-bottom: 16px;
  font-size: 0.92rem;
  letter-spacing: 0.12em;
  color: #8f7b5d;
}

.service-card h3 {
  margin: 0 0 18px;
  font-size: clamp(1.8rem, 2vw, 2.6rem);
  line-height: 1.06;
  font-weight: 300;
  color: #0b4438;
}

.service-card p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.85;
  color: rgba(11, 68, 56, 0.72);
  max-width: 30ch;
}

/* TABLET */
@media (max-width: 1200px) {
  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 24px;
  }

  .service-card {
    min-height: auto;
  }
}

/* MOBILE */
@media (max-width: 760px) {
  .services-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .service-card {
    padding-top: 22px;
  }

  .service-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 24px;
  }

  .service-card h3 {
    font-size: 2rem;
  }

  .service-card p {
    max-width: none;
  }
}

/* PROYECTOS */

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

.project-card {
  cursor: pointer;
}
.project-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.project-link:hover {
  color: inherit;
}

.project-image-wrap {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background-color: rgba(11, 68, 56, 0.08);
}

.project-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.8s ease, filter 0.8s ease;
}

.project-card:hover .project-img {
  transform: scale(1.035);
  filter: brightness(0.92);
}

.project-info {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(11, 68, 56, 0.35);
  padding-top: 18px;
  margin-top: 22px;
}

.project-number {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.project-info h3 {
  color: var(--green-dark);
  font-size: 1.25rem;
  font-weight: 300;
  letter-spacing: -0.02em;
}

.project-category {
  color: var(--brown);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
  line-height: 1.5;
  max-width: 190px;
}
.project-meta {
  text-align: right;
}

.project-meta .project-category {
  margin-bottom: 12px;
}

.view-project {
  display: inline-block;
  color: var(--green-dark);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.project-card:hover .view-project {
  opacity: 1;
}
.project-card:nth-child(1) .project-img {
  object-position: center center;
}

.project-card:nth-child(2) .project-img {
  object-position: center center;
}

.project-card:nth-child(3) .project-img {
  object-position: center center;
}

/* MÁS PROYECTOS */

.more-projects {
  margin-top: 110px;
  border-top: 1px solid rgba(11, 68, 56, 0.28);
  padding-top: 58px;
}

.more-projects-heading {
  display: grid;
  grid-template-columns: 0.75fr 1fr;
  gap: 80px;
  align-items: start;
  margin-bottom: 54px;
}

.more-projects-heading .section-label {
  margin-bottom: 0;
}

.more-projects-heading h3 {
  color: var(--green-dark);
  font-size: clamp(1.6rem, 3.2vw, 3rem);
  line-height: 1.08;
  font-weight: 300;
  letter-spacing: -0.04em;
  max-width: 780px;
}

.more-projects-list {
  border-top: 1px solid rgba(11, 68, 56, 0.24);
}

.more-project-item {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid rgba(11, 68, 56, 0.18);
}

.more-project-item span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.more-project-item h4 {
  color: var(--green-dark);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.035em;
}

.more-project-item p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
}

/* CONTACTO */

.contact-section {
  background-color: var(--green-dark);
  color: var(--beige);
}

.contact-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 80px;
  align-items: start;
}

.contact-section .section-label,
.contact-section h2,
.contact-section p {
  color: var(--beige);
}

.contact-heading p {
  max-width: 620px;
  margin-top: 28px;
  line-height: 1.7;
  color: rgba(251, 248, 240, 0.82);
}

.contact-button {
  border-color: var(--beige);
  color: var(--beige);
}

.contact-button:hover {
  background-color: var(--beige);
  color: var(--green-dark);
}

.contact-info {
  border-top: 1px solid rgba(251, 248, 240, 0.35);
}

.contact-info article {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(251, 248, 240, 0.22);
}

.contact-info span {
  color: rgba(251, 248, 240, 0.58);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.contact-info p {
  margin: 0;
  font-size: 0.76rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(251, 248, 240, 0.62);
}

.contact-info a {
  grid-column: 2;
  color: var(--beige);
  text-decoration: none;
  font-size: 1.05rem;
  font-weight: 300;
}

.contact-info a:hover {
  opacity: 0.72;
}

/* FOOTER */

.site-footer {
  background-color: var(--green-dark);
  color: var(--beige);
  padding: 38px 6vw;
  border-top: 1px solid rgba(251, 248, 240, 0.22);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: center;
}

.footer-brand p {
  color: rgba(251, 248, 240, 0.7);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: lowercase;
}

.footer-brand .footer-logo {
  color: var(--beige);
  font-size: 0.95rem;
  letter-spacing: 0.16em;
  margin-bottom: 8px;
}

.footer-links {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  justify-content: center;
}

.footer-links a {
  color: rgba(251, 248, 240, 0.72);
  text-decoration: none;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer-links a:hover {
  color: var(--beige);
}

.footer-copy {
  text-align: right;
  color: rgba(251, 248, 240, 0.55);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

/* RESPONSIVE TABLET */

@media (max-width: 900px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .about-content {
    padding-top: 0;
  }

  .process-grid {
    grid-template-columns: 1fr 1fr;
    gap: 42px 28px;
  }

  .service-item {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .service-content {
    grid-template-columns: 1fr;
    gap: 24px;
  }

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

  .project-image-wrap {
    aspect-ratio: 4 / 3;
  }

  .project-info {
    align-items: flex-start;
  }

  .project-category {
    text-align: left;
  }

  .more-projects-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .more-project-item {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .more-project-item p {
    text-align: left;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .site-footer {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .footer-links {
    justify-content: flex-start;
  }

  .footer-copy {
    text-align: left;
  }
}

/* RESPONSIVE CELULAR */

@media (max-width: 768px) {
  .site-header {
    height: auto;
    padding: 22px 6vw;
    align-items: flex-start;
    gap: 18px;
    flex-direction: column;
  }

  .main-nav {
    width: 100%;
    gap: 12px 16px;
    flex-wrap: wrap;
  }

  .main-nav a {
    font-size: 0.64rem;
    letter-spacing: 0.12em;
  }

  .hero {
    padding-top: 150px;
  }

  .hero h1 {
    font-size: clamp(3.4rem, 17vw, 5.6rem);
    line-height: 0.96;
  }

  .section {
    padding: 80px 6vw;
  }

  .intro-screen {
    padding-left: 12vw;
  }

  .intro-logo {
    width: 120px;
  }

  .process-grid {
    grid-template-columns: 1fr;
    margin-top: 60px;
  }

  .process-item {
    padding-top: 24px;
  }

  .process-item span {
    margin-bottom: 20px;
  }

  .service-item {
    padding: 36px 0;
  }

  .service-content h3 {
    font-size: 2rem;
  }

  .more-projects {
    margin-top: 80px;
    padding-top: 44px;
  }

  .more-projects-heading {
    margin-bottom: 42px;
  }

  .more-project-item {
    padding: 26px 0;
  }

  .contact-info article {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .contact-info a {
    grid-column: 1;
  }

  .contact-section {
    padding-bottom: 90px;
  }
}
/* PÁGINAS INDIVIDUALES DE PROYECTO */

.project-header {
  position: fixed;
}

.project-hero {
  min-height: 100vh;
  padding: 130px 6vw 80px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 70px;
  align-items: end;
}

.project-hero-text h1 {
  color: var(--green-dark);
  font-size: clamp(4rem, 9vw, 8.5rem);
  line-height: 0.92;
  letter-spacing: -0.055em;
  font-weight: 300;
  margin-bottom: 34px;
}

.project-hero-text p:last-child {
  max-width: 560px;
  color: var(--text-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.project-hero-image {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background-color: rgba(11, 68, 56, 0.08);
}

.project-hero-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.project-detail-section {
  padding: 110px 6vw;
  border-top: 1px solid rgba(11, 68, 56, 0.16);
}

.project-detail-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 90px;
  align-items: start;
}

.project-description h2 {
  color: var(--green-dark);
  font-size: clamp(2rem, 4.6vw, 4rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
  margin-bottom: 36px;
}

.project-description p:last-child {
  max-width: 720px;
  color: var(--text-muted);
  line-height: 1.8;
}

.project-data {
  border-top: 1px solid rgba(11, 68, 56, 0.28);
}

.project-data article {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(11, 68, 56, 0.18);
}

.project-data span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.project-data p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.project-data strong {
  grid-column: 2;
  color: var(--green-dark);
  font-weight: 300;
  font-size: 1.05rem;
}

.project-gallery-section {
  padding: 110px 6vw;
  background-color: rgba(11, 68, 56, 0.035);
  border-top: 1px solid rgba(11, 68, 56, 0.12);
  border-bottom: 1px solid rgba(11, 68, 56, 0.12);
}

.project-gallery-heading {
  max-width: 850px;
  margin-bottom: 70px;
}

.project-gallery-heading h2 {
  color: var(--green-dark);
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1.06;
  font-weight: 300;
  letter-spacing: -0.04em;
}

.project-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.project-gallery figure {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-color: rgba(11, 68, 56, 0.08);
}

.project-gallery .gallery-large {
  grid-column: span 2;
  aspect-ratio: 16 / 8;
}

.project-gallery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.project-closing {
  padding: 80px 6vw 110px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}

.back-link {
  color: var(--green-dark);
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .project-hero {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .project-detail-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }

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

  .project-gallery .gallery-large {
    grid-column: span 1;
    aspect-ratio: 4 / 3;
  }

  .project-closing {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .project-hero {
    padding-top: 180px;
  }

  .project-hero-text h1 {
    font-size: clamp(3.4rem, 17vw, 5.8rem);
  }

  .project-detail-section,
  .project-gallery-section {
    padding: 80px 6vw;
  }
}
/* PLANOS ARQUITECTÓNICOS */

.project-drawings-section {
  padding: 110px 6vw;
  background-color: var(--beige);
  border-top: 1px solid rgba(11, 68, 56, 0.16);
}

.project-drawings-heading {
  max-width: 880px;
  margin-bottom: 76px;
}

.project-drawings-heading h2 {
  color: var(--green-dark);
  font-size: clamp(2rem, 4.6vw, 4rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
  margin-bottom: 32px;
}

.project-drawings-heading p:last-child {
  max-width: 720px;
  color: var(--text-muted);
  line-height: 1.8;
}

.project-drawings-list {
  display: grid;
  gap: 90px;
}

.drawing-item {
  display: grid;
  grid-template-columns: 0.35fr 1fr;
  gap: 60px;
  align-items: start;
  border-top: 1px solid rgba(11, 68, 56, 0.28);
  padding-top: 34px;
}

.drawing-info span {
  display: block;
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  margin-bottom: 26px;
}

.drawing-info h3 {
  color: var(--green-dark);
  font-size: clamp(1.5rem, 2.6vw, 2.4rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.035em;
  margin-bottom: 24px;
}

.drawing-info p {
  color: var(--text-muted);
  line-height: 1.7;
  margin-bottom: 28px;
}

.drawing-link {
  display: inline-block;
  color: var(--green-dark);
  text-decoration: none;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(11, 68, 56, 0.45);
  padding-bottom: 6px;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.drawing-link:hover {
  opacity: 1;
}

.drawing-image {
  width: 100%;
  overflow: hidden;
  background-color: rgba(11, 68, 56, 0.035);
  border: 1px solid rgba(11, 68, 56, 0.12);
}

.drawing-image img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 900px) {
  .drawing-item {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}

@media (max-width: 768px) {
  .project-drawings-section {
    padding: 80px 6vw;
  }

  .project-drawings-heading {
    margin-bottom: 56px;
  }

  .project-drawings-list {
    gap: 70px;
  }
}
/* MOVIMIENTO SUTIL EN IMÁGENES DE PROYECTO */

.media-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}

.media-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.project-hero-image img,
.project-gallery img,
.drawing-image img {
  transition:
    transform 1.1s ease,
    filter 1.1s ease;
}

.project-hero-image:hover img,
.project-gallery figure:hover img,
.drawing-image:hover img {
  transform: scale(1.025);
  filter: brightness(0.96);
}
.more-project-link {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.more-project-link em {
  display: inline-block;
  margin-top: 10px;
  color: var(--green-dark);
  font-style: normal;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.more-project-link:hover em {
  opacity: 1;
}

/* OBRA / REGISTRO FOTOGRÁFICO */

.project-construction-section {
  padding: 110px 6vw;
  background-color: rgba(11, 68, 56, 0.035);
  border-top: 1px solid rgba(11, 68, 56, 0.12);
  border-bottom: 1px solid rgba(11, 68, 56, 0.12);
}

.project-construction-heading {
  max-width: 880px;
  margin-bottom: 76px;
}

.project-construction-heading h2 {
  color: var(--green-dark);
  font-size: clamp(2rem, 4.6vw, 4rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
  margin-bottom: 32px;
}

.project-construction-heading p:last-child {
  max-width: 720px;
  color: var(--text-muted);
  line-height: 1.8;
}

.construction-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.construction-gallery figure {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-color: rgba(11, 68, 56, 0.08);
}

.construction-gallery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition:
    transform 1.1s ease,
    filter 1.1s ease;
}

.construction-gallery figure:hover img {
  transform: scale(1.025);
  filter: brightness(0.96);
}

@media (max-width: 900px) {
  .more-project-link {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

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

@media (max-width: 768px) {
  .project-construction-section {
    padding: 80px 6vw;
  }

  .project-construction-heading {
    margin-bottom: 56px;
  }

  .construction-gallery {
    grid-template-columns: 1fr;
  }
}
/* AJUSTE ENLACE OFICINAS DC CONTROL - MÁS PROYECTOS */

.more-project-link {
  grid-column: 1 / -1;
  width: 100%;
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.more-project-link span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.more-project-link h4 {
  color: var(--green-dark);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.035em;
}

.more-project-meta {
  text-align: right;
}

.more-project-meta p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
  margin-bottom: 12px;
}

.more-project-meta em {
  display: block;
  color: var(--green-dark);
  font-style: normal;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.more-project-link:hover .more-project-meta em {
  opacity: 1;
}

@media (max-width: 900px) {
  .more-project-link {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .more-project-meta,
  .more-project-meta p {
    text-align: left;
  }
}
.portfolio-block {
  margin-top: 70px;
}

.portfolio-block-heading,
.technical-projects-heading,
.technical-list-heading {
  display: grid;
  grid-template-columns: 0.75fr 1fr;
  gap: 80px;
  align-items: start;
}

.portfolio-block-heading .section-label,
.technical-projects-heading .section-label,
.technical-list-heading .section-label {
  margin-bottom: 0;
}

.portfolio-block-heading h3,
.technical-projects-heading h3,
.technical-list-heading h3 {
  color: var(--green-dark);
  font-size: clamp(1.6rem, 3.2vw, 3rem);
  line-height: 1.08;
  font-weight: 300;
  letter-spacing: -0.04em;
  max-width: 820px;
}

.project-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.project-link:hover {
  color: inherit;
}

.project-meta {
  text-align: right;
}

.project-meta .project-category {
  margin-bottom: 12px;
}

.view-project {
  display: inline-block;
  color: var(--green-dark);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.project-card:hover .view-project {
  opacity: 1;
}

/* MÁS PROYECTOS CON ENLACES */

.more-project-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.more-project-link {
  width: 100%;
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.more-project-link span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.more-project-link h4 {
  color: var(--green-dark);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.035em;
}

.more-project-meta {
  text-align: right;
}

.more-project-meta p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
  margin-bottom: 12px;
}

.more-project-meta em {
  display: block;
  color: var(--green-dark);
  font-style: normal;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.more-project-link:hover .more-project-meta em {
  opacity: 1;
}

/* INGENIERÍA / COORDINACIÓN TÉCNICA */

.technical-projects {
  margin-top: 120px;
  padding-top: 62px;
  border-top: 1px solid rgba(11, 68, 56, 0.28);
}

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

.technical-card {
  min-height: 280px;
  padding: 32px;
  border: 1px solid rgba(11, 68, 56, 0.18);
  background-color: rgba(11, 68, 56, 0.035);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.technical-card span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.technical-card h4 {
  color: var(--green-dark);
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
  max-width: 360px;
}

.technical-card p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.5;
}

/* COLABORACIONES Y PROYECTOS TÉCNICOS */

.technical-list-block {
  margin-top: 110px;
  padding-top: 58px;
  border-top: 1px solid rgba(11, 68, 56, 0.24);
}

.technical-list {
  margin-top: 54px;
  border-top: 1px solid rgba(11, 68, 56, 0.24);
}

.technical-list article {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 26px 0;
  border-bottom: 1px solid rgba(11, 68, 56, 0.18);
}

.technical-list span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.technical-list h4 {
  color: var(--green-dark);
  font-size: clamp(1.15rem, 1.8vw, 1.6rem);
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.03em;
}

.technical-list p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
}

/* RESPONSIVE NUEVO PORTAFOLIO */

@media (max-width: 900px) {
  .portfolio-block-heading,
  .technical-projects-heading,
  .technical-list-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }

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

  .more-project-link,
  .technical-list article {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .more-project-meta,
  .more-project-meta p,
  .technical-list p {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .portfolio-block {
    margin-top: 54px;
  }

  .technical-projects,
  .technical-list-block {
    margin-top: 84px;
    padding-top: 44px;
  }

  .technical-card {
    min-height: 240px;
    padding: 28px;
  }
}
/* AJUSTE FINAL - SECCIÓN MAQUETA INGENIERÍA */

.project-model-section {
  padding: 110px 6vw;
  background-color: var(--beige);
  border-top: 1px solid rgba(11, 68, 56, 0.16);
}

.project-model-heading {
  max-width: 880px;
  margin-bottom: 76px;
}

.project-model-heading .section-label {
  margin-bottom: 28px;
}

.project-model-heading h2 {
  color: var(--green-dark);
  font-size: clamp(2rem, 4.6vw, 4rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
  margin-bottom: 32px;
}

.project-model-heading p:last-child {
  max-width: 720px;
  color: var(--text-muted);
  line-height: 1.8;
}

.model-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.model-gallery figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-color: rgba(11, 68, 56, 0.08);
}

.model-gallery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition:
    transform 1.1s ease,
    filter 1.1s ease;
}

.model-gallery figure:hover img {
  transform: scale(1.025);
  filter: brightness(0.96);
}

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

@media (max-width: 768px) {
  .project-model-section {
    padding: 80px 6vw;
  }

  .project-model-heading {
    margin-bottom: 56px;
  }
}
/* AJUSTE FINAL - TARJETAS DE INGENIERÍA CON IMAGEN */

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

.technical-card {
  min-height: auto;
  padding: 0;
  border: 1px solid rgba(11, 68, 56, 0.18);
  background-color: rgba(11, 68, 56, 0.025);
  display: block;
}

.technical-card-link,
.technical-card-static {
  width: 100%;
  min-height: 100%;
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
}

.technical-card-link *,
.technical-card-link:hover *,
.technical-card-link:visited *,
.technical-card-link:active * {
  text-decoration: none;
}

.technical-image-wrap {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background-color: rgba(11, 68, 56, 0.08);
}

.technical-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition:
    transform 1.1s ease,
    filter 1.1s ease;
}

.technical-card:hover .technical-img {
  transform: scale(1.025);
  filter: brightness(0.96);
}

.technical-card-content {
  min-height: 230px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.technical-card-content span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.technical-card-content h4 {
  color: var(--green-dark);
  font-size: clamp(1.4rem, 2.2vw, 2.05rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
  max-width: 360px;
}

.technical-card-content p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.5;
}

.technical-card-content em {
  display: inline-block;
  margin-top: 12px;
  color: var(--green-dark);
  font-style: normal;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.technical-card:hover .technical-card-content em {
  opacity: 1;
}

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

  .technical-card-content {
    min-height: 210px;
  }
}
/* OBRA EN PÁGINAS DE INGENIERÍA */

.engineering-construction-section {
  padding: 110px 6vw;
  background-color: rgba(11, 68, 56, 0.035);
  border-top: 1px solid rgba(11, 68, 56, 0.12);
  border-bottom: 1px solid rgba(11, 68, 56, 0.12);
}

.engineering-construction-heading {
  max-width: 880px;
  margin-bottom: 76px;
}

.engineering-construction-heading .section-label {
  margin-bottom: 28px;
}

.engineering-construction-heading h2 {
  color: var(--green-dark);
  font-size: clamp(2rem, 4.6vw, 4rem);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.04em;
  margin-bottom: 32px;
}

.engineering-construction-heading p:last-child {
  max-width: 720px;
  color: var(--text-muted);
  line-height: 1.8;
}

.engineering-construction-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.engineering-construction-grid figure {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-color: rgba(11, 68, 56, 0.08);
}

.engineering-construction-grid img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition:
    transform 1.1s ease,
    filter 1.1s ease;
}

.engineering-construction-grid figure:hover img {
  transform: scale(1.025);
  filter: brightness(0.96);
}

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

@media (max-width: 768px) {
  .engineering-construction-section {
    padding: 80px 6vw;
  }

  .engineering-construction-heading {
    margin-bottom: 56px;
  }
}
/* ===== RENDERS INGENIERÍA / 4 IMÁGENES ===== */
.engineering-render-grid-four {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}

.engineering-render-grid-four figure {
  margin: 0;
  width: 100%;
  overflow: hidden;
  background-color: rgba(11, 68, 56, 0.06);
  aspect-ratio: 4 / 3;
}

.engineering-render-grid-four figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Primer render grande */
.engineering-render-grid-four figure:first-child {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 8;
}

/* Último render grande */
.engineering-render-grid-four figure:last-child {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 8;
}

@media (max-width: 900px) {
  .engineering-render-grid-four {
    grid-template-columns: 1fr;
  }

  .engineering-render-grid-four figure,
  .engineering-render-grid-four figure:first-child,
  .engineering-render-grid-four figure:last-child {
    grid-column: auto;
    aspect-ratio: 4 / 3;
  }
}
/* COLABORACIONES / PROYECTOS TÉCNICOS CON ENLACE */

.technical-list-link {
  width: 100%;
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.technical-list-link span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.technical-list-link h4 {
  color: var(--green-dark);
  font-size: clamp(1.15rem, 1.8vw, 1.6rem);
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.03em;
}

.technical-list-link div {
  text-align: right;
}

.technical-list-link p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
  margin-bottom: 10px;
}

.technical-list-link em {
  display: block;
  color: var(--green-dark);
  font-style: normal;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.technical-list-link:hover em {
  opacity: 1;
}

.collaboration-single-media {
  width: 100%;
}

.collaboration-single-media figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 8;
  background-color: rgba(11, 68, 56, 0.08);
}

.collaboration-single-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition:
    transform 1.1s ease,
    filter 1.1s ease;
}

.collaboration-single-media figure:hover img {
  transform: scale(1.025);
  filter: brightness(0.96);
}

@media (max-width: 900px) {
  .technical-list-link {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .technical-list-link div,
  .technical-list-link p {
    text-align: left;
  }

  .collaboration-single-media figure {
    aspect-ratio: 4 / 3;
  }
}
/* AJUSTE FINAL - ENLACES EN COLABORACIONES */

.technical-list article {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.technical-list-link {
  width: 100%;
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.technical-list-link span {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.technical-list-link h4 {
  color: var(--green-dark);
  font-size: clamp(1.15rem, 1.8vw, 1.6rem);
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.03em;
}

.technical-list-meta {
  text-align: right;
}

.technical-list-meta p {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
  margin-bottom: 10px;
}

.technical-list-meta em {
  display: block;
  color: var(--green-dark);
  font-style: normal;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}

.technical-list-link:hover .technical-list-meta em {
  opacity: 1;
}

@media (max-width: 900px) {
  .technical-list-link {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .technical-list-meta,
  .technical-list-meta p {
    text-align: left;
  }
}
/* AJUSTE FINAL - PÁRRAFOS EN DESCRIPCIÓN DE PROYECTOS */

.project-description p:not(.section-label) {
  max-width: 760px;
  color: var(--text-muted);
  font-size: 0.96rem;
  line-height: 1.75;
  margin-bottom: 18px;
}

.project-description p:not(.section-label):last-child {
  margin-bottom: 0;
}
/* AJUSTE FINAL - ESTADO ACTUAL LABORATORIO CARGILL */

.project-existing-section {
  padding: 110px 6vw !important;
  background-color: var(--beige) !important;
  border-top: 1px solid rgba(11, 68, 56, 0.16) !important;
}

.project-existing-heading {
  max-width: 880px !important;
  margin-bottom: 76px !important;
}

.project-existing-heading .section-label {
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 28px !important;
}

.project-existing-heading h2 {
  color: var(--green-dark) !important;
  font-size: clamp(2rem, 4.6vw, 4rem) !important;
  line-height: 1.05 !important;
  font-weight: 300 !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 32px !important;
}

.project-existing-heading p {
  max-width: 720px !important;
  color: var(--text-muted) !important;
  font-size: 0.96rem !important;
  line-height: 1.8 !important;
}

.project-existing-media {
  width: 100% !important;
}

.project-existing-media figure {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 8 !important;
  background-color: rgba(11, 68, 56, 0.08) !important;
  margin: 0 !important;
}

.project-existing-media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transition:
    transform 1.1s ease,
    filter 1.1s ease !important;
}

.project-existing-media figure:hover img {
  transform: scale(1.025) !important;
  filter: brightness(0.96) !important;
}

@media (max-width: 900px) {
  .project-existing-media figure {
    aspect-ratio: 4 / 3 !important;
  }
}

@media (max-width: 768px) {
  .project-existing-section {
    padding: 80px 6vw !important;
  }

  .project-existing-heading {
    margin-bottom: 56px !important;
  }
}
/* HERO EDITORIAL CON TRANSICIÓN DE IMÁGENES */

.hero-editorial {
  min-height: 100vh;
  padding: 150px 6vw 90px;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.68fr);
  gap: 7vw;
  align-items: center;
  background-color: var(--beige);
}

.hero-editorial .hero-content {
  max-width: 860px;
  position: relative;
  z-index: 2;
}

.hero-editorial .hero-label {
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 34px;
}

.hero-editorial h1 {
  color: var(--green-dark);
  font-size: clamp(5rem, 10vw, 10.8rem);
  line-height: 0.86;
  font-weight: 300;
  letter-spacing: -0.07em;
}

.hero-editorial .hero-description {
  max-width: 560px;
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 48px;
}

.hero-editorial .hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 36px;
  padding: 18px 34px;
  border: 1px solid var(--green-dark);
  color: var(--green-dark);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

.hero-editorial .hero-button:hover {
  background-color: var(--green-dark);
  color: var(--beige);
}

.hero-visual {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background-color: rgba(11, 68, 56, 0.08);
  align-self: center;
}

.hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(
      to top,
      rgba(11, 68, 56, 0.48),
      rgba(11, 68, 56, 0.06) 48%,
      rgba(11, 68, 56, 0.02)
    );
}

.hero-visual-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: heroImageFade 36s infinite;
}

.hero-visual-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.025);
  animation: heroImageDrift 36s infinite;
}

.hero-visual-slide.is-slide-01,
.hero-visual-slide.is-slide-01 img {
  animation-delay: 0s;
}

.hero-visual-slide.is-slide-02,
.hero-visual-slide.is-slide-02 img {
  animation-delay: 6s;
}

.hero-visual-slide.is-slide-03,
.hero-visual-slide.is-slide-03 img {
  animation-delay: 12s;
}

.hero-visual-slide.is-slide-04,
.hero-visual-slide.is-slide-04 img {
  animation-delay: 18s;
}

.hero-visual-slide.is-slide-05,
.hero-visual-slide.is-slide-05 img {
  animation-delay: 24s;
}

.hero-visual-slide.is-slide-06,
.hero-visual-slide.is-slide-06 img {
  animation-delay: 30s;
}

.hero-visual-caption {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 26px;
  z-index: 4;
  color: var(--beige);
}

.hero-visual-caption span {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  margin-bottom: 12px;
  opacity: 0.82;
}

.hero-visual-caption h2 {
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.035em;
  margin-bottom: 10px;
}

.hero-visual-caption p {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.78;
}

@keyframes heroImageFade {
  0% {
    opacity: 0;
  }

  4% {
    opacity: 1;
  }

  16% {
    opacity: 1;
  }

  20% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes heroImageDrift {
  0% {
    transform: scale(1.025);
  }

  20% {
    transform: scale(1.075);
  }

  100% {
    transform: scale(1.075);
  }
}

@media (max-width: 1100px) {
  .hero-editorial {
    grid-template-columns: 1fr;
    gap: 64px;
    padding-top: 140px;
  }

  .hero-visual {
    max-width: 720px;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 768px) {
  .hero-editorial {
    padding: 130px 6vw 76px;
    min-height: auto;
  }

  .hero-editorial h1 {
    font-size: clamp(4rem, 18vw, 6.2rem);
  }

  .hero-editorial .hero-description {
    margin-top: 36px;
  }

  .hero-visual {
    aspect-ratio: 4 / 5;
  }

  .hero-visual-caption {
    left: 22px;
    right: 22px;
    bottom: 22px;
  }
}
/* AJUSTE FINAL - SERVICIOS EN 6 ÁREAS */

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.service-card {
  min-height: 360px;
}

@media (max-width: 1100px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-card {
    min-height: auto;
  }
}
/* SERVICIOS - ESTILO EDITORIAL COMO PROCESO */

.services-editorial-section {
  background-color: rgba(11, 68, 56, 0.035);
}

.services-editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 70px;
}

.service-editorial-item {
  border-top: 1px solid rgba(11, 68, 56, 0.35);
  padding-top: 28px;
  min-height: 255px;
}

.service-editorial-item span {
  display: block;
  color: var(--brown);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 30px;
}

.service-editorial-item h3 {
  color: var(--green-dark);
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.08;
  font-weight: 300;
  letter-spacing: -0.035em;
  margin-bottom: 26px;
  max-width: 360px;
}

.service-editorial-item p {
  max-width: 390px;
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.8;
}

/* Anula estilos anteriores de servicios si quedaron pegados */
.services-editorial-section .services-grid,
.services-editorial-section .service-card {
  all: unset;
}

@media (max-width: 1100px) {
  .services-editorial-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .services-editorial-grid {
    grid-template-columns: 1fr;
    gap: 42px;
    margin-top: 54px;
  }

  .service-editorial-item {
    min-height: auto;
  }
}
/* MARCA DE AGUA SUTIL - SÍMBOLO E ORIGEN */

/* 
  Usa el símbolo como fondo muy tenue en secciones clave.
  No afecta textos, botones ni imágenes porque trabaja como pseudo-elemento.
*/

.about-section,
.process-section,
.services-editorial-section,
.projects-section,
.contact-section {
  position: relative;
  overflow: hidden;
}

/* Marca de agua general */
.about-section::before,
.process-section::before,
.services-editorial-section::before,
.projects-section::before,
.contact-section::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  width: clamp(260px, 34vw, 620px);
  height: clamp(260px, 34vw, 620px);
  background-image: url("assets/img/simbolo-eorigen.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.028;
  filter: grayscale(1);
}

/* Asegura que el contenido quede por encima de la marca de agua */
.about-section > *,
.process-section > *,
.services-editorial-section > *,
.projects-section > *,
.contact-section > * {
  position: relative;
  z-index: 1;
}

/* Posición por sección */

.about-section::before {
  right: 4vw;
  top: 90px;
}

.process-section::before {
  right: -4vw;
  bottom: 40px;
}

.services-editorial-section::before {
  left: -5vw;
  bottom: 30px;
}

.projects-section::before {
  right: -6vw;
  top: 180px;
}

.contact-section::before {
  right: 5vw;
  bottom: 40px;
  opacity: 0.035;
}

/* Marca de agua sutil en páginas internas de proyecto */

.project-detail-section,
.project-gallery-section,
.project-model-section,
.project-drawings-section,
.project-existing-section,
.project-construction-section,
.engineering-construction-section {
  position: relative;
  overflow: hidden;
}

.project-detail-section::before,
.project-model-section::before,
.project-existing-section::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  width: clamp(240px, 30vw, 540px);
  height: clamp(240px, 30vw, 540px);
  background-image: url("assets/img/simbolo-eorigen.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.022;
  filter: grayscale(1);
}

.project-detail-section::before {
  right: -4vw;
  top: 90px;
}

.project-model-section::before {
  left: -5vw;
  bottom: 60px;
}

.project-existing-section::before {
  right: -4vw;
  bottom: 50px;
}

.project-detail-section > *,
.project-gallery-section > *,
.project-model-section > *,
.project-drawings-section > *,
.project-existing-section > *,
.project-construction-section > *,
.engineering-construction-section > * {
  position: relative;
  z-index: 1;
}

/* Ajuste móvil: reducimos presencia para que no ensucie la lectura */

@media (max-width: 768px) {
  .about-section::before,
  .process-section::before,
  .services-editorial-section::before,
  .projects-section::before,
  .contact-section::before,
  .project-detail-section::before,
  .project-model-section::before,
  .project-existing-section::before {
    width: 280px;
    height: 280px;
    opacity: 0.018;
  }

  .about-section::before,
  .projects-section::before,
  .project-detail-section::before {
    right: -90px;
  }

  .services-editorial-section::before,
  .project-model-section::before {
    left: -110px;
  }
}
/* SERVICIOS - ÍCONOS LINEALES E ORIGEN */

.services-icon-grid {
  align-items: stretch;
}

.service-icon-item {
  position: relative;
}

.service-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 34px;
  color: var(--green-dark);
  opacity: 0.72;
}

.service-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.service-icon-item span {
  margin-bottom: 24px;
}

.service-icon-item h3 {
  margin-bottom: 24px;
}

.service-icon-item:hover .service-icon {
  opacity: 1;
}

@media (max-width: 768px) {
  .service-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 28px;
  }
}
/* AJUSTE DE DESCRIPCIONES DE APARTADOS - CARGADAS A LA DERECHA */

.portfolio-block-heading h3,
.more-projects-heading h3,
.technical-projects-heading h3,
.technical-list-heading h3 {
  justify-self: end;
  text-align: right;
  max-width: 860px;
}

/* En móvil regresamos a lectura natural */
@media (max-width: 900px) {
  .portfolio-block-heading h3,
  .more-projects-heading h3,
  .technical-projects-heading h3,
  .technical-list-heading h3 {
    justify-self: start;
    text-align: left;
    max-width: 100%;
  }
}
/* CONTACTO - ÍCONOS LINEALES SUTILES */

.contact-info-icons article {
  grid-template-columns: 60px 46px 1fr;
  gap: 24px;
  align-items: center;
}

.contact-info-icons span {
  align-self: start;
  padding-top: 3px;
}

.contact-icon {
  width: 34px;
  height: 34px;
  color: var(--beige);
  opacity: 0.42;
  align-self: start;
}

.contact-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.contact-detail {
  display: grid;
  gap: 22px;
}

.contact-detail p {
  margin: 0;
}

.contact-info-icons a {
  grid-column: auto;
}

.contact-info-icons article:hover .contact-icon {
  opacity: 0.72;
}

/* Ajuste móvil */
@media (max-width: 768px) {
  .contact-info-icons article {
    grid-template-columns: 42px 38px 1fr;
    gap: 16px;
  }

  .contact-icon {
    width: 30px;
    height: 30px;
  }

  .contact-detail {
    gap: 12px;
  }
}
/* =========================================
   HERO - LOGO SUTIL DETRÁS DEL TEXTO
========================================= */

.hero {
  position: relative;
}

.hero-copy {
  position: relative;
  isolation: isolate;
  z-index: 1;
}

/* Marca sutil detrás del texto */
.hero-copy::before {
  content: "";
  position: absolute;
  left: -95px;
  top: -80px;
  width: min(56vw, 800px);
  height: min(56vw, 800px);
  background-image: url("assets/img/logo-simbolo-eorigen.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.06; /* nivel sutil como tu captura */
  pointer-events: none;
  z-index: -1;
  filter: grayscale(100%);
}

/* Asegura que el texto quede por encima */
.hero-copy > * {
  position: relative;
  z-index: 2;
}
/* LOGO SUTIL EN BARRA SUPERIOR */

.site-header {
  isolation: isolate;
}

.site-header::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 150px;
  height: 60px;
  transform: translate(-50%, -50%);
  background-image: url("assets/img/simbolo-eorigen.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.085;
  pointer-events: none;
  z-index: 0;
}

/* Mantiene e origen y el menú por encima del símbolo */
.site-header > * {
  position: relative;
  z-index: 2;
}
/* INTRO - TRAZO REVELADO + BARRIDO SUTIL */

.intro-screen {
  position: fixed;
  inset: 0;
  z-index: 999;
  background-color: var(--beige);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition:
    opacity 0.9s ease,
    visibility 0.9s ease;
}

/* Barrido de luz muy sutil */
.intro-screen::before {
  content: "";
  position: absolute;
  top: 0;
  left: -45%;
  width: 34%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(11, 68, 56, 0.045),
    transparent
  );
  transform: skewX(-12deg);
  animation: introSweep 1.35s ease forwards;
  pointer-events: none;
}

/* Logo revelado */
.intro-logo {
  width: clamp(76px, 8vw, 132px);
  height: auto;
  opacity: 0;
  filter: blur(8px);
  clip-path: inset(0 100% 0 0);
  transform: scale(0.985);
  animation: introLogoReveal 1.25s cubic-bezier(0.65, 0, 0.25, 1) forwards;
}

/* Estado de salida */
.intro-screen.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@keyframes introLogoReveal {
  0% {
    opacity: 0;
    filter: blur(8px);
    clip-path: inset(0 100% 0 0);
    transform: scale(0.985);
  }

  28% {
    opacity: 0.45;
    filter: blur(3px);
  }

  72% {
    opacity: 1;
    filter: blur(0);
    clip-path: inset(0 0 0 0);
    transform: scale(1);
  }

  100% {
    opacity: 1;
    filter: blur(0);
    clip-path: inset(0 0 0 0);
    transform: scale(1);
  }
}

@keyframes introSweep {
  0% {
    left: -45%;
  }

  100% {
    left: 115%;
  }
}
/* AJUSTE POSICIÓN LOGO INTRO - CARGADO A LA IZQUIERDA */

.intro-logo {
  position: absolute;
  left: 6vw;
  top: 50%;
  width: clamp(76px, 8vw, 132px);
  height: auto;
  opacity: 0;
  filter: blur(8px);
  clip-path: inset(0 100% 0 0);
  transform: translateY(-50%) scale(0.985);
  transform-origin: left center;
  animation: introLogoRevealLeft 1.25s cubic-bezier(0.65, 0, 0.25, 1) forwards;
}

@keyframes introLogoRevealLeft {
  0% {
    opacity: 0;
    filter: blur(8px);
    clip-path: inset(0 100% 0 0);
    transform: translateY(-50%) scale(0.985);
  }

  28% {
    opacity: 0.45;
    filter: blur(3px);
  }

  72% {
    opacity: 1;
    filter: blur(0);
    clip-path: inset(0 0 0 0);
    transform: translateY(-50%) scale(1);
  }

  100% {
    opacity: 1;
    filter: blur(0);
    clip-path: inset(0 0 0 0);
    transform: translateY(-50%) scale(1);
  }
}
/* AJUSTE DE ANCLAS POR HEADER FIJO */

#arquitectura,
#mas-proyectos,
#ingenieria,
#colaboraciones {
  scroll-margin-top: 120px;
}
/* HERO - TRANSICIÓN AMPLIADA A 20 PROYECTOS */

.hero-visual-slide {
  animation-name: heroVisualFadeLong;
  animation-duration: 80s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}

.hero-visual-slide.is-slide-01 { animation-delay: 0s; }
.hero-visual-slide.is-slide-02 { animation-delay: 4s; }
.hero-visual-slide.is-slide-03 { animation-delay: 8s; }
.hero-visual-slide.is-slide-04 { animation-delay: 12s; }
.hero-visual-slide.is-slide-05 { animation-delay: 16s; }
.hero-visual-slide.is-slide-06 { animation-delay: 20s; }
.hero-visual-slide.is-slide-07 { animation-delay: 24s; }
.hero-visual-slide.is-slide-08 { animation-delay: 28s; }
.hero-visual-slide.is-slide-09 { animation-delay: 32s; }
.hero-visual-slide.is-slide-10 { animation-delay: 36s; }
.hero-visual-slide.is-slide-11 { animation-delay: 40s; }
.hero-visual-slide.is-slide-12 { animation-delay: 44s; }
.hero-visual-slide.is-slide-13 { animation-delay: 48s; }
.hero-visual-slide.is-slide-14 { animation-delay: 52s; }
.hero-visual-slide.is-slide-15 { animation-delay: 56s; }
.hero-visual-slide.is-slide-16 { animation-delay: 60s; }
.hero-visual-slide.is-slide-17 { animation-delay: 64s; }
.hero-visual-slide.is-slide-18 { animation-delay: 68s; }
.hero-visual-slide.is-slide-19 { animation-delay: 72s; }
.hero-visual-slide.is-slide-20 { animation-delay: 76s; }

@keyframes heroVisualFadeLong {
  0% {
    opacity: 0;
    transform: scale(1.025);
  }

  2% {
    opacity: 1;
  }

  4.5% {
    opacity: 1;
  }

  6% {
    opacity: 0;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(1);
  }
}
/* =========================================================
   AJUSTE FINAL SERVICIOS - 8 SERVICIOS / 4 COLUMNAS
========================================================= */

.services-editorial-grid.services-icon-grid.services-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 72px 42px !important;
  align-items: start !important;
}

/* Mantiene todas las tarjetas con el mismo comportamiento */
.services-editorial-grid.services-icon-grid.services-grid .service-card {
  width: 100% !important;
  min-height: 320px !important;
  border-top: 1px solid rgba(11, 68, 56, 0.22) !important;
  padding-top: 32px !important;
}

/* Números */
.services-editorial-grid.services-icon-grid.services-grid .service-card span {
  display: block !important;
  margin-bottom: 22px !important;
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
}

/* Títulos */
.services-editorial-grid.services-icon-grid.services-grid .service-card h3 {
  color: var(--green-dark) !important;
  font-size: clamp(1.45rem, 2vw, 2.1rem) !important;
  line-height: 1.1 !important;
  font-weight: 300 !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 28px !important;
}

/* Descripciones: regresan al tono gris/negro de los anteriores */
.services-editorial-grid.services-icon-grid.services-grid .service-card p {
  color: var(--text-muted) !important;
  font-size: 0.96rem !important;
  line-height: 1.75 !important;
  max-width: 360px !important;
  margin: 0 !important;
}

/* Íconos */
.services-editorial-grid.services-icon-grid.services-grid .service-icon {
  width: 42px !important;
  height: 42px !important;
  margin-bottom: 42px !important;
}

/* Tablet */
@media (max-width: 1200px) {
  .services-editorial-grid.services-icon-grid.services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 64px 36px !important;
  }

  .services-editorial-grid.services-icon-grid.services-grid .service-card {
    min-height: auto !important;
  }
}

/* Móvil */
@media (max-width: 760px) {
  .services-editorial-grid.services-icon-grid.services-grid {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }

  .services-editorial-grid.services-icon-grid.services-grid .service-card {
    min-height: auto !important;
  }
}
/* =========================================================
   IMÁGENES EDITORIALES / NOSOTROS - PROCESO - SERVICIOS
========================================================= */

/* Imagen de Nosotros */
.about-editorial-image {
  width: min(100%, 760px);
  margin-top: 56px;
  overflow: hidden;
  background-color: rgba(11, 68, 56, 0.04);
}

.about-editorial-image img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

/* Imagen abstracta en Proceso */
.process-section .section-intro {
  position: relative;
}
/* =========================================================
   FONDO EDITORIAL HERO - VERSIÓN SEGURA
========================================================= */

.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
/* =========================================================
   FONDO EDITORIAL HERO - SIN ALTERAR CARRUSEL
========================================================= */

.hero {
  background-color: var(--beige);
  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.28) 0%,
      rgba(251, 248, 240, 0.62) 42%,
      rgba(251, 248, 240, 0.94) 72%,
      rgba(251, 248, 240, 1) 100%
    ),
    url("assets/img/editorial/hero-fondo-editorial.jpg");
  background-size: cover;
  background-position: left center;
  background-repeat: no-repeat;
}
/* =========================================================
   AJUSTE HERO - CARRUSEL VERTICAL + SEPARACIÓN
========================================================= */

.hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr) !important;
  column-gap: clamp(72px, 7vw, 128px) !important;
  align-items: center !important;
  min-height: calc(100vh - 72px) !important;
  padding-top: clamp(54px, 6vh, 76px) !important;
  padding-bottom: clamp(44px, 6vh, 70px) !important;
}

/* Texto: evita que invada demasiado el área del render */
.hero-copy {
  max-width: 880px !important;
}

/* Texto ligeramente controlado para que entre mejor en primera pantalla */
.hero-copy h1 {
  font-size: clamp(5.2rem, 8vw, 9.8rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.075em !important;
}

/* Ventana de transición en proporción vertical */
.hero-visual {
  width: min(100%, 620px) !important;
  aspect-ratio: 4 / 5 !important;
  height: auto !important;
  max-height: min(78vh, 760px) !important;
  justify-self: end !important;
  overflow: hidden !important;
}

/* Cada slide respeta la ventana vertical */
.hero-visual-slide {
  width: 100% !important;
  height: 100% !important;
}

/* El render se recorta dentro del formato vertical, no se deforma */
.hero-visual-slide img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Fondo editorial del hero */
.hero {
  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

/* Tablet / móvil */
@media (max-width: 1000px) {
  .hero {
    grid-template-columns: 1fr !important;
    row-gap: 48px !important;
  }

  .hero-copy {
    max-width: 100% !important;
  }

  .hero-visual {
    width: min(100%, 560px) !important;
    justify-self: start !important;
    aspect-ratio: 4 / 5 !important;
    max-height: none !important;
  }
}
/* =========================================================
   HERO - CARRUSEL CLICKEABLE
========================================================= */

.hero-visual-link {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.hero-visual-link *,
.hero-visual-link:hover *,
.hero-visual-link:visited *,
.hero-visual-link:active * {
  text-decoration: none;
}

.hero-visual-link .hero-visual {
  transition:
    transform 0.7s ease,
    filter 0.7s ease;
}

.hero-visual-link:hover .hero-visual {
  transform: scale(0.992);
  filter: brightness(0.96);
}
html {
  scroll-behavior: smooth;
}
/* =========================================================
   AJUSTE NOSOTROS - ALINEACIÓN DE PUNTOS CON IMAGEN
========================================================= */

/* Baja el bloque de los puntos 01 / 02 / 03 */
.about-points,
.about-list,
.about-values,
.about-details {
  margin-top: clamp(64px, 7vw, 110px) !important;
}

/* Ordena visualmente cada punto */
.about-points article,
.about-list article,
.about-values article,
.about-details article {
  padding: 28px 0 34px !important;
}

/* Asegura que las líneas y textos respiren mejor */
.about-points article:first-child,
.about-list article:first-child,
.about-values article:first-child,
.about-details article:first-child {
  border-top: 1px solid rgba(11, 68, 56, 0.18) !important;
}

/* Mantiene el bloque alineado y contenido */
.about-content,
.about-text,
.about-info {
  align-self: start !important;
}
/* =========================================================
   FONDO EDITORIAL - SECCIÓN PROCESO
========================================================= */

.process-section {
  position: relative;
  overflow: hidden;
  background-color: var(--beige);
  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.98) 0%,
      rgba(251, 248, 240, 0.95) 36%,
      rgba(251, 248, 240, 0.78) 62%,
      rgba(251, 248, 240, 0.44) 100%
    ),
    url("assets/img/editorial/proceso-fondo-2026.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* Asegura que el contenido quede por encima del fondo */
.process-section > * {
  position: relative;
  z-index: 2;
}
/* =========================================================
   AJUSTE SECCIÓN PROYECTOS - COMPACTO FINAL
========================================================= */

.projects-section {
  padding-top: clamp(34px, 4vh, 54px) !important;
}

/* Encabezado principal */
.projects-section > .section-intro.projects-intro {
  max-width: 1220px !important;
  margin-bottom: clamp(28px, 3vw, 44px) !important;
}

/* Label "Proyectos" */
.projects-intro .section-label {
  margin-bottom: 16px !important;
}

/* Título principal: más pequeño y pensado para 2 renglones */
.projects-intro h2 {
  max-width: 1220px !important;
  font-size: clamp(2.15rem, 3.10vw, 3.65rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.052em !important;
  margin: 0 !important;
}

/* Bloque 01 — Arquitectura: ahora queda compacto porque ya no tiene h3 */
.portfolio-block-heading {
  display: block !important;
  margin-bottom: clamp(20px, 2vw, 30px) !important;
}

/* Label 01 — Arquitectura */
.portfolio-block-heading .section-label,
.portfolio-block-heading p.section-label {
  margin: 0 !important;
}

/* Por si queda algún h3 en otro bloque, lo ocultamos solo en Arquitectura */
.portfolio-block-heading h3 {
  display: none !important;
}

/* Acerca las tarjetas */
.portfolio-grid,
.projects-grid {
  margin-top: 0 !important;
}

/* Móvil */
@media (max-width: 900px) {
  .projects-section {
    padding-top: 64px !important;
  }

  .projects-section > .section-intro.projects-intro {
    margin-bottom: 42px !important;
  }

  .projects-intro h2 {
    font-size: clamp(2.15rem, 8vw, 3.5rem) !important;
    line-height: 1.06 !important;
  }

  .projects-intro-text {
    max-width: 100% !important;
    font-size: 0.95rem !important;
  }

  .portfolio-block-heading {
    margin-bottom: 30px !important;
  }
}
/* =========================================================
   AJUSTE SECCIÓN INGENIERÍA - ENCABEZADO COMPACTO
========================================================= */

/* Contenedor del encabezado de ingeniería */
.technical-projects-heading {
  margin-bottom: clamp(24px, 3vw, 42px) !important;
}

/* Label: 03 — Ingeniería / Coordinación técnica */
.technical-projects-heading .section-label {
  margin-bottom: 18px !important;
}

/* Título de ingeniería reducido a composición más compacta */
.technical-projects-heading h3 {
  max-width: 1120px !important;
  justify-self: end !important;
  text-align: right !important;
  font-size: clamp(2rem, 3vw, 3.55rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.048em !important;
  margin: 0 !important;
}

/* Acerca las tarjetas al encabezado */
.technical-grid {
  margin-top: 0 !important;
}

/* Responsive */
@media (max-width: 900px) {
  .technical-projects-heading {
    margin-bottom: 38px !important;
  }

  .technical-projects-heading h3 {
    max-width: 100% !important;
    justify-self: start !important;
    text-align: left !important;
    font-size: clamp(2rem, 8vw, 3.2rem) !important;
    line-height: 1.08 !important;
  }
}
/* =========================================================
   AJUSTE TARJETAS ARQUITECTURA - MISMO ESTILO QUE INGENIERÍA
========================================================= */

/* Retícula de arquitectura */
.portfolio-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

/* Tarjeta base */
.portfolio-grid article {
  min-height: auto !important;
  padding: 0 !important;
  border: 1px solid rgba(11, 68, 56, 0.18) !important;
  background-color: rgba(11, 68, 56, 0.025) !important;
  display: block !important;
}

/* Link completo de la tarjeta */
.portfolio-grid article > a {
  width: 100% !important;
  min-height: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Elimina subrayados heredados */
.portfolio-grid article > a *,
.portfolio-grid article > a:hover *,
.portfolio-grid article > a:visited *,
.portfolio-grid article > a:active * {
  text-decoration: none !important;
}

/* Imagen superior */
.portfolio-grid article figure {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  background-color: rgba(11, 68, 56, 0.08) !important;
  margin: 0 !important;
}

/* Imagen dentro de la tarjeta */
.portfolio-grid article figure img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transition:
    transform 1.1s ease,
    filter 1.1s ease !important;
}

/* Movimiento sutil al pasar cursor */
.portfolio-grid article:hover figure img {
  transform: scale(1.025) !important;
  filter: brightness(0.96) !important;
}

/* Bloque inferior de contenido */
.portfolio-grid article .project-card-content,
.portfolio-grid article .portfolio-card-content,
.portfolio-grid article .project-info,
.portfolio-grid article .portfolio-info {
  min-height: 230px !important;
  padding: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

/* Si tu HTML no tiene contenedor específico, acomoda los elementos directos */
.portfolio-grid article > a > span,
.portfolio-grid article > a > h3,
.portfolio-grid article > a > p,
.portfolio-grid article > a > em {
  margin-left: 32px !important;
  margin-right: 32px !important;
}

.portfolio-grid article > a > span:first-of-type {
  margin-top: 32px !important;
}

/* Número */
.portfolio-grid article span {
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
}

/* Título */
.portfolio-grid article h3,
.portfolio-grid article h4 {
  color: var(--green-dark) !important;
  font-size: clamp(1.4rem, 2.2vw, 2.05rem) !important;
  line-height: 1.05 !important;
  font-weight: 300 !important;
  letter-spacing: -0.04em !important;
  max-width: 360px !important;
}

/* Categoría */
.portfolio-grid article p {
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
}

/* Ver proyecto */
.portfolio-grid article em {
  display: inline-block !important;
  margin-top: 12px !important;
  margin-bottom: 32px !important;
  color: var(--green-dark) !important;
  font-style: normal !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  opacity: 0.55 !important;
  transition: opacity 0.3s ease !important;
}

.portfolio-grid article:hover em {
  opacity: 1 !important;
}

/* Responsive */
@media (max-width: 900px) {
  .portfolio-grid {
    grid-template-columns: 1fr !important;
  }

  .portfolio-grid article .project-card-content,
  .portfolio-grid article .portfolio-card-content,
  .portfolio-grid article .project-info,
  .portfolio-grid article .portfolio-info {
    min-height: 210px !important;
  }
}
/* =========================================================
   TARJETAS ARQUITECTURA - ESTILO TIPO INGENIERÍA
========================================================= */

/* Retícula de arquitectura */
.projects-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

/* Tarjeta base */
.projects-grid .project-card {
  min-height: auto !important;
  padding: 0 !important;
  border: 1px solid rgba(11, 68, 56, 0.18) !important;
  background-color: rgba(11, 68, 56, 0.025) !important;
  display: block !important;
}

/* Link completo */
.projects-grid .project-link {
  width: 100% !important;
  min-height: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Quitar subrayados */
.projects-grid .project-link *,
.projects-grid .project-link:hover *,
.projects-grid .project-link:visited *,
.projects-grid .project-link:active * {
  text-decoration: none !important;
}

/* Imagen superior */
.projects-grid .project-image-wrap {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  background-color: rgba(11, 68, 56, 0.08) !important;
  margin: 0 !important;
}

/* Imagen */
.projects-grid .project-img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transition:
    transform 1.1s ease,
    filter 1.1s ease !important;
}

/* Hover */
.projects-grid .project-card:hover .project-img {
  transform: scale(1.025) !important;
  filter: brightness(0.96) !important;
}

/* Bloque inferior */
.projects-grid .project-info {
  min-height: 230px !important;
  padding: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  border-top: none !important;
}

/* Primer bloque: número + título */
.projects-grid .project-info > div:first-child {
  display: block !important;
}

/* Número */
.projects-grid .project-number {
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
  margin: 0 0 18px !important;
}

/* Título */
.projects-grid .project-info h3 {
  color: var(--green-dark) !important;
  font-size: clamp(1.4rem, 2.2vw, 2.05rem) !important;
  line-height: 1.05 !important;
  font-weight: 300 !important;
  letter-spacing: -0.04em !important;
  max-width: 360px !important;
  margin: 0 !important;
}

/* Meta inferior */
.projects-grid .project-meta {
  display: block !important;
  text-align: left !important;
  margin-top: auto !important;
}

/* Categoría */
.projects-grid .project-category {
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
  margin: 0 0 14px !important;
}

/* Ver proyecto */
.projects-grid .view-project {
  display: inline-block !important;
  color: var(--green-dark) !important;
  font-style: normal !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  opacity: 0.55 !important;
  transition: opacity 0.3s ease !important;
}

.projects-grid .project-card:hover .view-project {
  opacity: 1 !important;
}

/* Responsive */
@media (max-width: 900px) {
  .projects-grid {
    grid-template-columns: 1fr !important;
  }

  .projects-grid .project-info {
    min-height: 210px !important;
  }
}
/* =========================================================
   AJUSTE TEXTO TARJETAS ARQUITECTURA
========================================================= */

.projects-grid .project-info {
  min-height: 220px !important;
}

.projects-grid .project-number {
  margin-bottom: 18px !important;
}

.projects-grid .project-info h3 {
  margin-bottom: 42px !important;
}

.projects-grid .project-meta {
  margin-top: auto !important;
}

.projects-grid .project-category {
  margin-bottom: 14px !important;
}

.projects-grid .view-project {
  display: block !important;
}
/* =========================================================
   CORRECCIÓN DEFINITIVA - TEXTOS TARJETAS ARQUITECTURA
========================================================= */

.projects-grid .project-card .project-link .project-info {
  min-height: 220px !important;
  padding: 32px !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  align-content: stretch !important;
  border-top: none !important;
}

/* Bloque superior: número + título */
.projects-grid .project-card .project-link .project-info > div:first-child {
  grid-row: 1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Número */
.projects-grid .project-card .project-link .project-number {
  display: block !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Título */
.projects-grid .project-card .project-link .project-info h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Bloque inferior: categoría + ver proyecto */
.projects-grid .project-card .project-link .project-meta {
  grid-row: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Categoría */
.projects-grid .project-card .project-link .project-category {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  align-self: flex-start !important;
}

/* Ver proyecto */
.projects-grid .project-card .project-link .view-project {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  align-self: flex-start !important;
}
/* =========================================================
   AJUSTE FINAL - TARJETAS ARQUITECTURA MÁS COMPACTAS
========================================================= */

.projects-grid .project-card .project-link .project-info {
  min-height: 150px !important;
  padding: 26px 32px 24px !important;
  display: grid !important;
  grid-template-rows: auto 8px auto !important;
}

/* Número */
.projects-grid .project-card .project-link .project-number {
  margin: 0 0 10px 0 !important;
}

/* Título */
.projects-grid .project-card .project-link .project-info h3 {
  margin: 0 !important;
}

/* Meta inferior: categoría + ver proyecto */
.projects-grid .project-card .project-link .project-meta {
  grid-row: 3 !important;
  margin: 0 !important;
  gap: 10px !important;
}

/* Categoría */
.projects-grid .project-card .project-link .project-category {
  margin: 0 !important;
}

/* Ver proyecto */
.projects-grid .project-card .project-link .view-project {
  margin: 0 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - CASA OD / AJUSTE FINAL
========================================================= */

html body.project-casa-od .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-casa-od.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-casa-od .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - DEPARTAMENTOS AE
========================================================= */

html body.project-departamentos-ae .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-departamentos-ae.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-departamentos-ae .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - OFICINAS DC CONTROL
========================================================= */

html body.project-oficinas-dc-control .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-oficinas-dc-control.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-oficinas-dc-control .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - CASA CD
========================================================= */

html body.project-casa-cd .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-casa-cd.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-casa-cd .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - OFICINAS CARGILL HMO
========================================================= */

html body.project-oficinas-cargill-hmo .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-oficinas-cargill-hmo.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-oficinas-cargill-hmo .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - CABAÑA CeD
========================================================= */

html body.project-cabana-ced .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-cabana-ced.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-cabana-ced .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - CASA SP
========================================================= */

html body.project-casa-sp .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-casa-sp.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-casa-sp .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - CASA EH
========================================================= */

html body.project-casa-eh .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/proyectos/casa-eh/portada.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-casa-eh .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - BODEGA LED CONCEPT
========================================================= */

html body.project-bodega-led-concept .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-bodega-led-concept.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-bodega-led-concept .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - CENTRO OPERATIVO DC CONTROL
========================================================= */

html body.project-centro-operativo-dc-control .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-centro-operativo-dc-control.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-centro-operativo-dc-control .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - LÍNEA DE ALMACENAJE PROAOASS HMO
========================================================= */

html body.project-linea-almacenaje-proaoass-hmo .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-linea-almacenaje-proaoass-hmo.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-linea-almacenaje-proaoass-hmo .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - PROYECTO TORRE EXTRUSION
========================================================= */

html body.project-torre-extrusion .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-torre-extrusion.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-torre-extrusion .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - PROYECTO GRANELEROS
========================================================= */

html body.project-proyecto-graneleros .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-proyecto-graneleros.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-proyecto-graneleros .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - LABORATORIO CARGILL
========================================================= */

html body.project-laboratorio-cargill .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-laboratorio-cargill.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-laboratorio-cargill .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - ALMACÉN CARGILL
========================================================= */

html body.project-almacen-cargill .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-almacen-cargill.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-almacen-cargill .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FONDO EDITORIAL PROYECTOS - PARQUE TOSSÁ
========================================================= */

html body.project-parque-tossa .project-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.74) 18%,
      rgba(251, 248, 240, 0.58) 34%,
      rgba(251, 248, 240, 0.34) 52%,
      rgba(251, 248, 240, 0.12) 70%,
      rgba(251, 248, 240, 0.00) 84%
    ),
    url("assets/img/fondos-proyectos/fondo-parque-tossa.jpg") !important;

  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

html body.project-parque-tossa .project-hero > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   CONTACTO + FOOTER / SOLO IMAGEN SIN VELO VERDE
========================================================= */

.contact-footer-bg {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  background-color: transparent !important;
  background-image: url("assets/img/editorial/contacto-fondo-2026.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Apaga fondos propios de contacto y footer */
.contact-footer-bg #contacto,
.contact-footer-bg .contact-section,
.contact-footer-bg .site-footer {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Apaga la marca de agua anterior del símbolo */
.contact-footer-bg #contacto::before,
.contact-footer-bg #contacto::after,
.contact-footer-bg .contact-section::before,
.contact-footer-bg .contact-section::after {
  display: none !important;
}

/* Mantiene contenido encima de la imagen */
.contact-footer-bg #contacto > *,
.contact-footer-bg .site-footer > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   REMATE FINAL DE PROYECTOS
========================================================= */

.project-closing {
  position: relative !important;
  min-height: calc(100vh - 72px) !important;
  padding: clamp(90px, 10vw, 150px) 6vw !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: var(--beige) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.project-closing::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.94) 0%,
      rgba(251, 248, 240, 0.84) 34%,
      rgba(251, 248, 240, 0.48) 62%,
      rgba(251, 248, 240, 0.14) 100%
    ) !important;
  pointer-events: none !important;
}

.project-closing-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 760px !important;
}

.project-closing .section-label {
  color: var(--brown) !important;
  margin-bottom: 28px !important;
}

.project-closing h2 {
  color: var(--green-dark) !important;
  font-size: clamp(3.2rem, 6.4vw, 7.6rem) !important;
  line-height: 0.96 !important;
  font-weight: 300 !important;
  letter-spacing: -0.07em !important;
  margin: 0 0 36px !important;
}

.project-closing p {
  max-width: 560px !important;
  color: var(--text-muted) !important;
  font-size: 0.98rem !important;
  line-height: 1.8 !important;
  margin-bottom: 42px !important;
}

.project-closing-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 230px !important;
  height: 54px !important;
  padding: 0 28px !important;
  border: 1px solid rgba(11, 68, 56, 0.52) !important;
  color: var(--green-dark) !important;
  text-decoration: none !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease !important;
}

.project-closing-link:hover {
  background-color: var(--green-dark) !important;
  color: var(--beige) !important;
  border-color: var(--green-dark) !important;
}

.project-closing.ending-01 {
  background-image: url("assets/img/editorial/remate-proyecto-01.jpg") !important;
}

.project-closing.ending-02 {
  background-image: url("assets/img/editorial/remate-proyecto-02.jpg") !important;
}

.project-closing.ending-03 {
  background-image: url("assets/img/editorial/remate-proyecto-03.jpg") !important;
}

@media (max-width: 900px) {
  .project-closing {
    min-height: 70vh !important;
    align-items: flex-end !important;
    padding: 90px 6vw !important;
    background-position: center center !important;
  }

  .project-closing::before {
    background:
      linear-gradient(
        180deg,
        rgba(251, 248, 240, 0.18) 0%,
        rgba(251, 248, 240, 0.72) 54%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  .project-closing h2 {
    font-size: clamp(2.8rem, 13vw, 5rem) !important;
  }
}
/* =========================================================
   CIERRE EXACTO DE PÁGINAS DE PROYECTO
========================================================= */

.project-page {
  min-height: 100%;
}

.project-page .project-closing {
  margin-bottom: 0 !important;
}

.project-page .project-closing + * {
  margin-top: 0 !important;
}
/* =========================================================
   HEADER - ELIMINAR SÍMBOLO CENTRAL DEFINITIVO
========================================================= */

.site-header::before,
.site-header::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
/* =========================================================
   LIMPIEZA VISUAL - ELIMINAR MARCA DE AGUA EN NOSOTROS Y PROCESO
========================================================= */

.about-section::before,
.about-section::after,
#nosotros::before,
#nosotros::after,
.process-section::before,
.process-section::after,
#proceso::before,
#proceso::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
/* =========================================================
   FONDO TRAVERTINO - BLOQUE ARQUITECTURA + BLOQUE INGENIERÍA
========================================================= */

.projects-feature-bg,
.engineering-feature-bg {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  margin-left: -6vw !important;
  margin-right: -6vw !important;
  padding-left: 6vw !important;
  padding-right: 6vw !important;

  padding-top: 0 !important;
  padding-bottom: clamp(70px, 7vw, 110px) !important;

  background-color: var(--beige) !important;
  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.94) 0%,
      rgba(251, 248, 240, 0.90) 34%,
      rgba(251, 248, 240, 0.84) 68%,
      rgba(251, 248, 240, 0.88) 100%
    ),
    url("assets/img/editorial/fondo-proyectos-travertino-logo.jpg") !important;

  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.projects-feature-bg > *,
.engineering-feature-bg > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Limpieza de fondos internos */
.projects-feature-bg .portfolio-block,
.projects-feature-bg .projects-intro,
.engineering-feature-bg .technical-projects-heading,
.engineering-feature-bg .technical-grid {
  background: transparent !important;
  background-color: transparent !important;
}

/* Evita que aparezcan marcas de agua encima */
.projects-feature-bg::before,
.projects-feature-bg::after,
.engineering-feature-bg::before,
.engineering-feature-bg::after,
.projects-feature-bg .portfolio-block::before,
.projects-feature-bg .portfolio-block::after,
.engineering-feature-bg .technical-projects-heading::before,
.engineering-feature-bg .technical-projects-heading::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}
/* =========================================================
   FONDO LIMPIO PARA BLOQUE PRINCIPAL DE PROYECTOS
========================================================= */

.projects-feature-bg {
  position: relative;
  overflow: hidden;
  padding: 56px 0 48px;
  margin-bottom: 48px;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.82) 0%,
      rgba(251, 248, 240, 0.68) 34%,
      rgba(251, 248, 240, 0.42) 62%,
      rgba(251, 248, 240, 0.18) 100%
    ),
    url("assets/img/editorial/fondo-proyectos-travertino-logo.jpg");

  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;

  border-bottom: 1px solid rgba(11, 68, 56, 0.16);
}

/* Evita fondos extra o marcas de agua duplicadas */
.projects-feature-bg::before,
.projects-feature-bg::after {
  display: none !important;
}

/* Ajuste del intro */
.projects-intro {
  margin-bottom: 52px;
}

/* Ajuste del bloque de arquitectura */
#arquitectura {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* El grid ya no necesita empujar demasiado hacia abajo */
#arquitectura .projects-grid {
  margin-bottom: 0;
}

/* Para que “Más proyectos” ya arranque limpio */
#mas-proyectos {
  margin-top: 0;
  padding-top: 40px;
  background: transparent;
}
/* =========================================================
   FONDO TRAVERTINO - BLOQUES PROYECTOS / TONO UNIFORME
========================================================= */

.projects-feature-bg,
.engineering-feature-bg {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  margin-left: -6vw !important;
  margin-right: -6vw !important;
  padding-left: 6vw !important;
  padding-right: 6vw !important;

  padding-top: clamp(44px, 5vw, 72px) !important;
  padding-bottom: clamp(70px, 7vw, 110px) !important;

  background-color: var(--beige) !important;

  background-image:
    linear-gradient(
      rgba(251, 248, 240, 0.66),
      rgba(251, 248, 240, 0.66)
    ),
    url("assets/img/editorial/fondo-proyectos-travertino-logo.jpg") !important;

  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: auto 100% !important;
}

.projects-feature-bg > *,
.engineering-feature-bg > * {
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   TRANSICIÓN LIMPIA ENTRE SERVICIOS Y PROYECTOS
========================================================= */

.services-section {
  margin-bottom: 0 !important;
  padding-bottom: clamp(80px, 8vw, 120px) !important;
}

.projects-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background-color: var(--beige) !important;
}
/* =========================================================
   RESTAURAR ESTILO DE LABEL EN PROYECTOS
========================================================= */

.projects-intro .section-label,
.projects-intro .section-kicker,
#proyectos .section-label {
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}
/* =========================================================
   LIMPIEZA DEFINITIVA - ELIMINAR LÍNEA EXTRA ANTES DE MÁS PROYECTOS
========================================================= */

/* Quita líneas del remate de arquitectura */
.projects-feature-bg,
.projects-feature-bg *,
#arquitectura,
#arquitectura * {
  border-bottom-color: transparent !important;
}

/* Evita pseudo líneas generadas al final del bloque */
.projects-feature-bg::before,
.projects-feature-bg::after,
#arquitectura::before,
#arquitectura::after,
.projects-grid::before,
.projects-grid::after {
  display: none !important;
  content: none !important;
  border: none !important;
  background: none !important;
}

/* Quita líneas superiores duplicadas en Más proyectos */
#mas-proyectos {
  border-top: none !important;
}

/* Quita únicamente las líneas inmediatas del encabezado de Más proyectos */
#mas-proyectos > hr,
#mas-proyectos > .section-divider,
#mas-proyectos > .divider,
#mas-proyectos > .line,
#mas-proyectos > .more-projects-divider {
  display: none !important;
}

/* Quita pseudo-elementos del bloque principal de Más proyectos */
#mas-proyectos::before,
#mas-proyectos::after {
  display: none !important;
  content: none !important;
  border: none !important;
  background: none !important;
}
/* =========================================================
   LIMPIEZA - ELIMINAR LÍNEA SUPERIOR EN COLABORACIONES
========================================================= */

#colaboraciones,
.technical-list-block,
.technical-list-heading {
  border-top: none !important;
}

#colaboraciones::before,
#colaboraciones::after,
.technical-list-block::before,
.technical-list-block::after,
.technical-list-heading::before,
.technical-list-heading::after {
  display: none !important;
  content: none !important;
  border: none !important;
  background: none !important;
}
/* =========================================================
   CONTACTO - FONDO CONTINUO A TODO EL ANCHO
========================================================= */

.contact-footer-bg {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: none !important;
  background-color: var(--green-dark) !important;
}

/* Imagen de fondo real, a todo el ancho del viewport */
.contact-footer-bg::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;

  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;

  /*
    Este valor controla hasta dónde baja la imagen.
    Debe cubrir todo contacto, pero detenerse antes del footer verde.
  */
  height: calc(150% - 90px) !important;

  background-image: url("assets/img/editorial/contacto-fondo-2026.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Contacto transparente encima de la imagen */
.contact-footer-bg #contacto,
.contact-footer-bg .contact-section {
  position: relative !important;
  z-index: 2 !important;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Footer verde separado, pegado al final */
.contact-footer-bg .site-footer {
  position: relative !important;
  z-index: 2 !important;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  background: var(--green-dark) !important;
  background-image: none !important;
  border-top: none !important;
}
/* =========================================================
   FOOTER - SUBIR BARRA VERDE DIRECTAMENTE
========================================================= */

body .site-footer {
  position: relative !important;
  z-index: 20 !important;

  margin-top: -110px !important;

  background-color: var(--green-dark) !important;
  background-image: none !important;
  border-top: none !important;
}
/* =========================================================
   PROCESO - INDICADORES DE EXPERIENCIA
========================================================= */

.process-section {
  position: relative !important;
}

.process-metrics {
  position: absolute !important;
  top: clamp(150px, 15vw, 230px) !important;
  right: 7vw !important;
  z-index: 3 !important;

  width: min(25vw, 300px) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.metric-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

.metric-main .metric-number {
  color: var(--brown) !important;
  font-size: clamp(4.6rem, 7vw, 6.8rem) !important;
  line-height: 0.88 !important;
  font-weight: 300 !important;
  letter-spacing: -0.06em !important;
}

.metric-secondary .metric-number {
  color: var(--brown) !important;
  font-size: clamp(2.8rem, 4.3vw, 4.2rem) !important;
  line-height: 0.9 !important;
  font-weight: 300 !important;
  letter-spacing: -0.045em !important;
}

.metric-label {
  color: var(--brown) !important;
  font-size: 0.64rem !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.metric-divider {
  width: 54px !important;
  height: 1px !important;
  background-color: rgba(111, 91, 63, 0.22) !important;
}

@media (max-width: 1000px) {
.process-metrics {
  position: absolute !important;
  top: -50% !important;
  right: clamp(48px, 6vw, 90px) !important;
  transform: translateY(-50%) !important;
  z-index: 3 !important;

  width: min(20vw, 250px) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 14px !important;
}

  .metric-main .metric-number {
    font-size: clamp(5rem, 20vw, 8rem) !important;
  }

  .metric-secondary .metric-number {
    font-size: clamp(3rem, 12vw, 4.8rem) !important;
  }
}
/* =========================================================
   PROCESO - POSICIÓN FORZADA DE INDICADORES
========================================================= */

.process-section .process-metrics {
  position: absolute !important;

  /* ESTE VALOR MUEVE EL BLOQUE HACIA ARRIBA O ABAJO */
  top: 180px !important;

  /* ESTE VALOR MUEVE EL BLOQUE A IZQUIERDA O DERECHA */
  right: 13vw !important;

  transform: none !important;
  z-index: 10 !important;

  width: 260px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;
}
/* =========================
   PROCESO / PLACA DE LOGROS
========================= */

.process-top {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(180px, 260px);
  gap: 48px;
  align-items: center;
}

.process-stats-plate {
  position: relative !important;
  justify-self: end !important;
  align-self: start !important;

  /* mueve mucho la placa */
  left: -210px !important;   /* derecha */
  top: -270px !important;   /* arriba */

  z-index: 3 !important;
}

.process-stats-plate-img {
  display: block !important;
  width: clamp(150px, 12vw, 190px) !important;
  height: auto !important;

  opacity: 0.82 !important;

  filter:
    drop-shadow(18px 16px 20px rgba(111, 91, 63, 0.80))
    drop-shadow(4px 4px 8px rgba(11, 68, 56, 0.08)) !important;
}
/* =========================================================
   PROCESO - SUBIR BLOQUE DE PASOS
========================================================= */

.process-section .process-grid {
  margin-top: -120px !important;
}
/* =========================================================
   CONTACTO - DESPLAZAR DATOS HACIA LA DERECHA
========================================================= */

.contact-section .contact-list,
#contacto .contact-list,
.contact-section .contact-info,
#contacto .contact-info {
  transform: translateX(290px) !important;
}
/* =========================================================
   MÓVIL - AJUSTE TÍTULO HERO
========================================================= */

@media (max-width: 768px) {

  .hero-copy h1 {
    font-size: clamp(3.2rem, 14.5vw, 4.8rem) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.06em !important;
    max-width: 100% !important;
  }

  .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .hero {
    overflow-x: hidden !important;
  }

}
/* =========================================================
   MÓVIL - CORREGIR CORTE SUPERIOR DEL TÍTULO HERO
========================================================= */

@media (max-width: 768px) {

  .hero {
    padding-top: clamp(96px, 18vh, 140px) !important;
    align-items: start !important;
  }

  .hero-copy {
    padding-top: 18px !important;
    overflow: visible !important;
  }

  .hero-copy h1 {
    line-height: 1.02 !important;
    padding-top: 0.12em !important;
    overflow: visible !important;
  }

}
/* =========================================================
   MÓVIL - PLACA COMO ELEMENTO EDITORIAL DE FONDO
========================================================= */

@media (max-width: 768px) {

  .process-section {
    position: relative !important;
    overflow: hidden !important;
  }

  .process-section .section-intro {
    position: relative !important;
    z-index: 3 !important;
  }

  .process-section .process-stats-plate {
    position: absolute !important;

    /* posición editorial dentro de la sección */
    top: 180px !important;
    right: -18px !important;

    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    z-index: 1 !important;
    pointer-events: none !important;

    transform: none !important;
  }

  .process-section .process-stats-plate-img {
    display: block !important;

    width: 155px !important;
    max-width: 155px !important;
    height: auto !important;

    opacity: 0.28 !important;

    filter:
      drop-shadow(12px 14px 18px rgba(111, 91, 63, 0.12)) !important;
  }

}
/* =========================================================
   MÓVIL - OCULTAR PLACA DE EXPERIENCIA EN PROCESO
========================================================= */

@media (max-width: 768px) {

  .process-stats-plate,
  .process-stats-plate-img {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

}
/* =========================================================
   MÓVIL - AJUSTE GENERAL DE TÍTULOS DE SECCIÓN
========================================================= */

@media (max-width: 768px) {

  .section-intro h2,
  .about-heading h2,
  .process-section .section-intro h2,
  .services-section .section-intro h2,
  .projects-intro h2,
  .technical-projects-heading h3,
  .more-projects-heading h3,
  .technical-list-heading h3 {
    font-size: clamp(2.05rem, 10vw, 3rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .section-intro,
  .about-heading,
  .process-section .section-intro,
  .services-section .section-intro,
  .projects-intro,
  .technical-projects-heading,
  .more-projects-heading,
  .technical-list-heading {
    max-width: 100% !important;
    margin-bottom: clamp(38px, 8vw, 58px) !important;
    overflow: visible !important;
  }

}
/* =========================================================
   MÓVIL - PROCESO MÁS LIMPIO
========================================================= */

@media (max-width: 768px) {

  .process-section {
    padding-top: 76px !important;
    padding-bottom: 78px !important;
  }

  .process-section .section-intro h2 {
    font-size: clamp(2.15rem, 10.5vw, 3.1rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.045em !important;
  }

  .process-grid {
    margin-top: 0 !important;
    transform: none !important;
  }

  .process-item {
    top: auto !important;
    transform: none !important;
  }

}
/* =========================================================
   MÓVIL - CORRECCIÓN DEFINITIVA TÍTULO PROCESO
========================================================= */

@media (max-width: 768px) {

  body .process-section .section-intro {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 42px !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }

  body .process-section .section-intro h2 {
    width: 100% !important;
    max-width: 100% !important;

    font-size: clamp(1.55rem, 7.4vw, 2.05rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.035em !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

}
/* =========================================================
   MÓVIL / TABLET - AJUSTE DIRECTO TÍTULO PROCESO
========================================================= */

@media (max-width: 1000px) {

  #proceso {
    padding-top: 72px !important;
    overflow: visible !important;
  }

  #proceso .section-intro {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 42px !important;
    overflow: visible !important;
  }

  #proceso h2 {
    width: 100% !important;
    max-width: 100% !important;

    font-size: 1.72rem !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  #proceso .process-grid {
    margin-top: 0 !important;
    transform: none !important;
  }

  #proceso .process-item {
    top: auto !important;
    transform: none !important;
  }

}
/* =========================================================
   MÓVIL / TABLET - CONTACTO LEGIBLE
========================================================= */

@media (max-width: 1000px) {

  .contact-footer-bg {
    background-size: cover !important;
    background-position: 38% center !important;
  }

  .contact-footer-bg::before {
    opacity: 0.62 !important;
    background-size: cover !important;
    background-position: 38% center !important;
  }

  #contacto,
  #contacto.contact-section,
  .contact-section {
    padding-top: 82px !important;
    padding-bottom: 96px !important;
    min-height: auto !important;
  }

  #contacto::before,
  #contacto::after,
  .contact-section::before,
  .contact-section::after {
    display: none !important;
    content: none !important;
  }

  .contact-content,
  .contact-grid,
  #contacto .contact-content,
  #contacto .contact-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 46px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #contacto h2,
  .contact-section h2 {
    color: var(--beige) !important;
    font-size: clamp(2.2rem, 11vw, 3.4rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.05em !important;
    max-width: 92% !important;
    text-shadow: 0 12px 28px rgba(11, 68, 56, 0.34) !important;
  }

  #contacto .section-label,
  .contact-section .section-label {
    color: rgba(251, 248, 240, 0.78) !important;
  }

  .contact-section .contact-list,
  #contacto .contact-list,
  .contact-section .contact-info,
  #contacto .contact-info,
  #contacto > div:last-child,
  .contact-section > div:last-child,
  .contact-grid > div:last-child,
  .contact-content > div:last-child {
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .contact-list,
  .contact-info,
  #contacto .contact-list,
  #contacto .contact-info {
    padding: 28px 24px !important;
    background: rgba(11, 68, 56, 0.54) !important;
    backdrop-filter: blur(4px) !important;
    border: 1px solid rgba(251, 248, 240, 0.18) !important;
  }

  .contact-list a,
  .contact-list p,
  .contact-info a,
  .contact-info p,
  #contacto a,
  #contacto p {
    color: var(--beige) !important;
  }

}
/* =========================================================
   MÓVIL - CORRECCIÓN TÍTULO DEPARTAMENTOS AE
========================================================= */

@media (max-width: 1000px) {

  body.project-departamentos-ae .project-hero h1,
  body.project-departamentos-ae .project-hero-title,
  body.project-departamentos-ae .project-title {
    font-size: clamp(2.45rem, 13vw, 4.1rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.055em !important;
    max-width: 100% !important;
    overflow: visible !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.project-departamentos-ae .project-hero,
  body.project-departamentos-ae .project-hero-content,
  body.project-departamentos-ae .project-hero-copy {
    overflow: visible !important;
  }

}
/* =========================================================
   MÓVIL - BODEGA LED CONCEPT / RENDERS SIN RECORTE
========================================================= */

@media (max-width: 1000px) {

  body.project-bodega-led-concept .engineering-render-grid,
  body.project-bodega-led-concept .engineering-render-grid-four,
  body.project-bodega-led-concept .project-gallery {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.project-bodega-led-concept .engineering-render-grid figure,
  body.project-bodega-led-concept .engineering-render-grid-four figure,
  body.project-bodega-led-concept .project-gallery figure {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    background-color: rgba(11, 68, 56, 0.04) !important;
  }

  body.project-bodega-led-concept .engineering-render-grid img,
  body.project-bodega-led-concept .engineering-render-grid-four img,
  body.project-bodega-led-concept .project-gallery img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

}
/* Imagen móvil del hero oculta por defecto en escritorio */
.hero-mobile-bg {
  display: none;
}


/* =========================================================
   MOBILE HEADER / MENÚ LATERAL
========================================================= */

.mobile-menu-toggle {
  display: none;
}

@media (max-width: 768px) {


  .site-header .logo,
  .site-header .site-logo,
  .site-header > a:first-child {
    position: relative !important;
    z-index: 10001 !important;

    color: var(--green-dark) !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.32em !important;
    text-decoration: none !important;
    line-height: 1 !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    position: relative !important;
    z-index: 10001 !important;

    width: 34px !important;
    height: 26px !important;

    padding: 0 !important;
    margin: 0 !important;

    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: stretch !important;

    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
  }

  .mobile-menu-toggle span {
    display: block !important;
    width: 100% !important;
    height: 2px !important;

    background-color: var(--green-dark) !important;
    border-radius: 999px !important;

    transition:
      transform 0.35s ease,
      opacity 0.35s ease !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(12px) rotate(45deg) !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-12px) rotate(-45deg) !important;
  }

  .site-header .main-nav,
  .site-header nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;

    width: min(82vw, 340px) !important;
    height: 100svh !important;

    padding: 118px 34px 40px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 24px !important;

    background-color: rgba(251, 248, 240, 0.96) !important;
    backdrop-filter: blur(18px) !important;

    border-left: 1px solid rgba(11, 68, 56, 0.14) !important;
    box-shadow: -28px 0 70px rgba(11, 68, 56, 0.12) !important;

    transform: translateX(100%) !important;
    transition: transform 0.55s cubic-bezier(0.77, 0, 0.175, 1) !important;

    z-index: 10000 !important;
  }

  .site-header.is-menu-open .main-nav,
  .site-header.is-menu-open nav {
    transform: translateX(0) !important;
  }

  .site-header .main-nav a,
  .site-header nav a {
    color: var(--green-dark) !important;
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    text-transform: lowercase !important;
    text-decoration: none !important;
    font-weight: 300 !important;
  }

  .site-header .main-nav a::before,
  .site-header nav a::before {
    content: "0" counter(menu-item) " " !important;
    counter-increment: menu-item !important;

    display: block !important;
    margin-bottom: 8px !important;

    color: var(--brown) !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
  }

  .site-header .main-nav,
  .site-header nav {
    counter-reset: menu-item !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

}
/* =========================================================
   MOBILE HEADER - AJUSTE LOGO + HAMBURGUESA DERECHA
========================================================= */

@media (max-width: 768px) {

  .site-header {
    height: 68px !important;
    padding: 20px 6vw 14px !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;

    background-color: rgba(251, 248, 240, 0.90) !important;
    backdrop-filter: blur(12px) !important;
  }

  .site-header .site-logo,
  .site-header .logo,
  .site-header > a:first-child {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--green-dark) !important;
    font-size: 0.92rem !important;
    line-height: 1 !important;
    letter-spacing: 0.36em !important;
    text-decoration: none !important;

    z-index: 10002 !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;

    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;

    width: 30px !important;
    height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: space-between !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    z-index: 10002 !important;
    cursor: pointer !important;
  }

  .mobile-menu-toggle span {
    display: block !important;
    width: 100% !important;
    height: 1.5px !important;

    background-color: var(--green-dark) !important;
    border-radius: 999px !important;

    transform-origin: center center !important;

    transition:
      transform 0.34s ease,
      opacity 0.34s ease !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(8.25px) rotate(45deg) !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-8.25px) rotate(-45deg) !important;
  }

}
/* =========================================================
   MOBILE - PROCESO / TARJETAS COMPACTAS + FONDO EDITORIAL
========================================================= */

@media (max-width: 768px) {

  #proceso.section.process-section {
    position: relative !important;
    overflow: hidden !important;

    padding: 74px 6vw 58px !important;

    background-color: #fbf8f0 !important;
    background-image: none !important;
  }

  /* Fondo editorial */
  #proceso.section.process-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;

    background-image:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.88) 0%,
        rgba(251, 248, 240, 0.72) 42%,
        rgba(251, 248, 240, 0.92) 100%
      ),
      url("assets/img/editorial/proceso-fondo-2026.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  #proceso.section.process-section > * {
    position: relative !important;
    z-index: 1 !important;
  }

  /* Ocultar placa en mobile */
  #proceso .process-stats-plate,
  #proceso .process-stats-plate-img {
    display: none !important;
  }

  /* Encabezado */
  #proceso .section-intro {
    margin-bottom: 28px !important;
  }

  #proceso .section-label {
    margin-bottom: 18px !important;
  }

  #proceso .section-intro h2 {
    font-size: clamp(1.85rem, 7.8vw, 2.65rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.045em !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* Grid 2 x 2 */
  #proceso .process-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;

    margin-top: 28px !important;
    padding: 0 !important;

    border: none !important;
  }

  /* Tarjetas tipo isla */
  #proceso .process-item {
    position: relative !important;

    min-height: 188px !important;
    padding: 18px 14px 16px !important;

    background: rgba(251, 248, 240, 0.78) !important;
    border: 1px solid rgba(11, 68, 56, 0.14) !important;
    border-radius: 18px !important;

    box-shadow: 0 16px 34px rgba(11, 68, 56, 0.07) !important;
    backdrop-filter: blur(8px) !important;

    overflow: hidden !important;
  }

  #proceso .process-item::before,
  #proceso .process-item::after {
    display: none !important;
    content: none !important;
  }

  #proceso .process-item span {
    display: block !important;

    margin-bottom: 18px !important;

    color: var(--brown) !important;
    font-size: 0.62rem !important;
    line-height: 1 !important;
    letter-spacing: 0.22em !important;
  }

  #proceso .process-item h3 {
    margin: 0 0 12px !important;

    color: var(--green-dark) !important;
    font-size: clamp(1.02rem, 4.7vw, 1.28rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.035em !important;
    font-weight: 300 !important;
  }

  #proceso .process-item p {
    margin: 0 !important;

    color: rgba(11, 68, 56, 0.68) !important;
    font-size: 0.78rem !important;
    line-height: 1.52 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

}
/* =========================================================
   MOBILE - NOSOTROS / VALORES COMO ISLAS EDITORIALES
========================================================= */

@media (max-width: 768px) {

  #nosotros .about-values {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;

    margin-top: 34px !important;
  }

  #nosotros .about-values article {
    position: relative !important;

    min-height: 148px !important;
    padding: 18px 14px 16px !important;

    background: rgba(251, 248, 240, 0.76) !important;
    border: 1px solid rgba(11, 68, 56, 0.14) !important;
    border-radius: 18px !important;

    box-shadow: 0 16px 34px rgba(11, 68, 56, 0.06) !important;
    backdrop-filter: blur(8px) !important;

    overflow: hidden !important;
  }

  #nosotros .about-values article::before,
  #nosotros .about-values article::after {
    display: none !important;
    content: none !important;
  }

  #nosotros .about-values article span {
    display: block !important;

    margin-bottom: 16px !important;

    color: var(--brown) !important;
    font-size: 0.62rem !important;
    line-height: 1 !important;
    letter-spacing: 0.22em !important;
  }

  #nosotros .about-values article h3 {
    margin: 0 0 12px !important;

    color: var(--green-dark) !important;
    font-size: clamp(1rem, 4.7vw, 1.24rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.035em !important;
    font-weight: 300 !important;
  }

  #nosotros .about-values article p {
    margin: 0 !important;

    color: rgba(11, 68, 56, 0.68) !important;
    font-size: 0.76rem !important;
    line-height: 1.5 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* La tercera isla ocupa todo el ancho para cerrar mejor */
  #nosotros .about-values article:nth-child(3) {
    grid-column: 1 / -1 !important;
    min-height: 138px !important;
  }

}
/* =========================================================
   MOBILE - NOSOTROS / BAJAR ISLAS SIN MOVER LÍNEA
========================================================= */

@media (max-width: 768px) {

  #nosotros .about-values {
    margin-top: 34px !important;
    margin-bottom: 0 !important;

    /* Baja las islas, pero mantiene la línea arriba */
    padding-top: 34px !important;
  }

  #nosotros.section,
  #nosotros.about-section {
    padding-bottom: 54px !important;
  }

}
/* =========================================================
   MOBILE - PROCESO / FONDO COMO CAPA ABSOLUTA
========================================================= */

/* Oculta la imagen móvil por defecto en escritorio */
.process-mobile-bg {
  display: none !important;
}

@media (max-width: 768px) {

  html body #proceso.section.process-section {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    padding-top: 74px !important;
    padding-bottom: 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  /* Imagen de fondo */
  html body #proceso.section.process-section > .process-mobile-bg {
    display: block !important;

    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.30 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* Velo beige para lectura */
  html body #proceso.section.process-section::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.70) 0%,
        rgba(251, 248, 240, 0.58) 34%,
        rgba(251, 248, 240, 0.72) 66%,
        rgba(251, 248, 240, 0.92) 100%
      ) !important;
  }

  html body #proceso.section.process-section::after {
    display: none !important;
    content: none !important;
  }

  /* Todo el contenido queda encima del fondo */
  html body #proceso.section.process-section > *:not(.process-mobile-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - SERVICIOS / ISLAS COMPACTAS DEFINITIVAS
   Aplica a TODOS los artículos dentro de services-grid
========================================================= */

@media (max-width: 768px) {

  #servicios.section.services-section {
    position: relative !important;
    overflow: hidden !important;

    padding-top: 72px !important;
    padding-bottom: 64px !important;

    background: #fbf8f0 !important;
  }

  #servicios .section-intro {
    margin-bottom: 30px !important;
  }

  #servicios .section-label {
    margin-bottom: 18px !important;
  }

  #servicios .section-intro h2 {
    max-width: 92% !important;

    font-size: clamp(2rem, 8.8vw, 2.85rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    font-weight: 300 !important;

    margin: 0 !important;
  }

  /* GRID 2 COLUMNAS */
  #servicios .services-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;

    margin-top: 30px !important;
    padding: 0 !important;

    border: none !important;
  }

  /* ISLAS: aplica a cualquier article dentro de services-grid */
  #servicios .services-grid > article,
  #servicios .services-grid .service-card {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    min-height: 174px !important;

    margin: 0 !important;
    padding: 16px 13px 15px !important;

    background: rgba(251, 248, 240, 0.82) !important;
    border: 1px solid rgba(11, 68, 56, 0.14) !important;
    border-radius: 18px !important;

    box-shadow: 0 16px 34px rgba(11, 68, 56, 0.06) !important;
    backdrop-filter: blur(8px) !important;

    overflow: hidden !important;
  }

  /* ELIMINA LÍNEAS HEREDADAS */
  #servicios .services-grid > article::before,
  #servicios .services-grid > article::after,
  #servicios .services-grid .service-card::before,
  #servicios .services-grid .service-card::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    border: none !important;
  }

  /* ÍCONOS */
  #servicios .services-grid > article .service-icon,
  #servicios .services-grid > article svg,
  #servicios .services-grid .service-card .service-icon,
  #servicios .services-grid .service-card svg {
    width: 24px !important;
    height: 24px !important;

    margin: 0 0 14px !important;

    color: var(--green-dark) !important;
    opacity: 0.76 !important;

    flex: 0 0 auto !important;
  }

  /* NÚMEROS */
  #servicios .services-grid > article span,
  #servicios .services-grid > article .service-number,
  #servicios .services-grid .service-card span,
  #servicios .services-grid .service-card .service-number {
    display: block !important;

    margin: 0 0 12px !important;

    color: var(--brown) !important;
    font-size: 0.58rem !important;
    line-height: 1 !important;
    letter-spacing: 0.22em !important;

    flex: 0 0 auto !important;
  }

  /* TÍTULOS */
  #servicios .services-grid > article h3,
  #servicios .services-grid .service-card h3 {
    margin: 0 0 10px !important;

    color: var(--green-dark) !important;
    font-size: clamp(0.98rem, 4.3vw, 1.18rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
    font-weight: 300 !important;

    flex: 0 0 auto !important;
  }

  /* TEXTOS RECORTADOS */
  #servicios .services-grid > article p,
  #servicios .services-grid .service-card p {
    margin: 0 !important;

    color: rgba(11, 68, 56, 0.62) !important;
    font-size: 0.72rem !important;
    line-height: 1.45 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;

    flex: 0 1 auto !important;
  }

}
/* =========================================================
   MOBILE - SERVICIOS / AJUSTE ISLA CONSTRUCCIÓN
========================================================= */

@media (max-width: 768px) {

  /* Fuerza que las tarjetas de cada fila se estiren igual */
  #servicios .services-grid {
    align-items: stretch !important;
  }

  #servicios .services-grid > article,
  #servicios .services-grid .service-card {
    height: 100% !important;
    min-height: 180px !important;
  }

  /* Ajuste específico para Construcción */
  #servicios .services-grid > article:nth-child(3),
  #servicios .services-grid .service-card:nth-child(3) {
    min-height: 180px !important;
    padding-bottom: 18px !important;
  }

}
/* =========================================================
   MOBILE - PROYECTOS PRINCIPALES / TARJETAS COMPACTAS
========================================================= */

@media (max-width: 768px) {

  #proyectos.projects-section {
    padding-top: 72px !important;
    padding-bottom: 58px !important;
  }

  #proyectos .projects-intro {
    margin-bottom: 30px !important;
  }

  #proyectos .projects-intro .section-label {
    margin-bottom: 18px !important;
  }

  #proyectos .projects-intro h2 {
    max-width: 92% !important;

    font-size: clamp(2rem, 8.6vw, 2.8rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    font-weight: 300 !important;

    margin: 0 !important;
  }

  /* bloque arquitectura */
  #arquitectura.portfolio-block {
    margin-top: 0 !important;
  }

  #arquitectura .portfolio-block-heading {
    margin-bottom: 22px !important;
  }

  #arquitectura .portfolio-block-heading .section-label {
    margin-bottom: 0 !important;
  }

  /* tarjetas principales compactas */
  #arquitectura .projects-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;

    margin-top: 0 !important;
    padding: 0 !important;
  }

  #arquitectura .project-card {
    min-height: auto !important;

    background: rgba(251, 248, 240, 0.82) !important;
    border: 1px solid rgba(11, 68, 56, 0.14) !important;
    border-radius: 20px !important;

    box-shadow: 0 16px 34px rgba(11, 68, 56, 0.06) !important;
    backdrop-filter: blur(8px) !important;

    overflow: hidden !important;
  }

  #arquitectura .project-link {
    display: grid !important;
    grid-template-columns: 38% 1fr !important;
    min-height: 172px !important;

    color: inherit !important;
    text-decoration: none !important;
  }

  #arquitectura .project-image-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 172px !important;

    aspect-ratio: auto !important;
    margin: 0 !important;

    overflow: hidden !important;
    background-color: rgba(11, 68, 56, 0.06) !important;
  }

  #arquitectura .project-img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
    object-position: center center !important;
  }

  #arquitectura .project-info {
    min-height: auto !important;
    padding: 18px 16px 16px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }

  #arquitectura .project-number {
    margin: 0 0 12px !important;

    color: var(--brown) !important;
    font-size: 0.58rem !important;
    line-height: 1 !important;
    letter-spacing: 0.22em !important;
  }

  #arquitectura .project-info h3 {
    margin: 0 0 12px !important;

    color: var(--green-dark) !important;
    font-size: clamp(1.15rem, 5vw, 1.45rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.04em !important;
    font-weight: 300 !important;
  }

  #arquitectura .project-meta {
    margin: 0 !important;
    gap: 8px !important;
  }

  #arquitectura .project-category {
    margin: 0 !important;

    color: rgba(11, 68, 56, 0.62) !important;
    font-size: 0.58rem !important;
    line-height: 1.45 !important;
    letter-spacing: 0.12em !important;
  }

  #arquitectura .view-project {
    margin-top: 10px !important;

    color: var(--green-dark) !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.16em !important;
  }

}
/* =========================================================
   MOBILE - PROYECTOS / FONDO EDITORIAL COMO CAPA HTML
========================================================= */

/* Oculta la imagen móvil por defecto en escritorio */
.projects-mobile-bg {
  display: none !important;
}

@media (max-width: 768px) {

  #proyectos .projects-feature-bg {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    background: #fbf8f0 !important;
    background-image: none !important;

    margin-left: -6vw !important;
    margin-right: -6vw !important;
    padding-left: 6vw !important;
    padding-right: 6vw !important;

    padding-top: 72px !important;
    padding-bottom: 62px !important;
  }

  /* Imagen de fondo */
  #proyectos .projects-feature-bg > .projects-mobile-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.42 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* Velo beige para que título y tarjetas se lean */
  #proyectos .projects-feature-bg::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.78) 0%,
        rgba(251, 248, 240, 0.62) 36%,
        rgba(251, 248, 240, 0.72) 68%,
        rgba(251, 248, 240, 0.92) 100%
      ) !important;
  }

  #proyectos .projects-feature-bg::after {
    display: none !important;
    content: none !important;
  }

  /* Todo el contenido queda encima */
  #proyectos .projects-feature-bg > *:not(.projects-mobile-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - MÁS PROYECTOS / LIMPIEZA DE ENCABEZADO
========================================================= */

@media (max-width: 768px) {

  /* Oculta el subtítulo largo */
  #mas-proyectos .more-projects-heading h2,
  #mas-proyectos .more-projects-heading h3,
  #mas-proyectos .more-projects-heading p:not(.section-label) {
    display: none !important;
  }

  /* Mantiene visible sólo la etiqueta/título corto */
  #mas-proyectos .more-projects-heading {
    margin-bottom: 28px !important;
  }

  #mas-proyectos .more-projects-heading .section-label {
    display: block !important;
    margin-bottom: 0 !important;
  }

}
/* =========================================================
   MOBILE - INGENIERÍA / TARJETAS COMPACTAS COMO ARQUITECTURA
========================================================= */

@media (max-width: 768px) {

  #ingenieria.technical-projects {
    padding-top: 68px !important;
    padding-bottom: 58px !important;
  }

  #ingenieria .engineering-feature-bg {
    margin-left: -6vw !important;
    margin-right: -6vw !important;
    padding-left: 6vw !important;
    padding-right: 6vw !important;

    padding-top: 68px !important;
    padding-bottom: 62px !important;

    background-color: #fbf8f0 !important;
  }

  #ingenieria .technical-projects-heading {
    margin-bottom: 30px !important;
  }

  #ingenieria .technical-projects-heading .section-label {
    margin-bottom: 18px !important;
  }

  #ingenieria .technical-projects-heading h3 {
    max-width: 92% !important;

    color: var(--green-dark) !important;
    font-size: clamp(2rem, 8.6vw, 2.8rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    font-weight: 300 !important;

    margin: 0 !important;
  }

  /* Grid compacto */
  #ingenieria .technical-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;

    margin-top: 0 !important;
    padding: 0 !important;
  }

  /* Tarjeta */
  #ingenieria .technical-card {
    min-height: auto !important;

    background: rgba(251, 248, 240, 0.82) !important;
    border: 1px solid rgba(11, 68, 56, 0.14) !important;
    border-radius: 20px !important;

    box-shadow: 0 16px 34px rgba(11, 68, 56, 0.06) !important;
    backdrop-filter: blur(8px) !important;

    overflow: hidden !important;
  }

  #ingenieria .technical-card a,
  #ingenieria .technical-link {
    display: grid !important;
    grid-template-columns: 38% 1fr !important;
    min-height: 172px !important;

    color: inherit !important;
    text-decoration: none !important;
  }

  #ingenieria .technical-image-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 172px !important;

    aspect-ratio: auto !important;
    margin: 0 !important;

    overflow: hidden !important;
    background-color: rgba(11, 68, 56, 0.06) !important;
  }

  #ingenieria .technical-image-wrap img,
  #ingenieria .technical-card img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
    object-position: center center !important;
  }

  #ingenieria .technical-info {
    min-height: auto !important;
    padding: 18px 16px 16px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }

  #ingenieria .technical-number {
    margin: 0 0 12px !important;

    color: var(--brown) !important;
    font-size: 0.58rem !important;
    line-height: 1 !important;
    letter-spacing: 0.22em !important;
  }

  #ingenieria .technical-info h3,
  #ingenieria .technical-card h3 {
    margin: 0 0 12px !important;

    color: var(--green-dark) !important;
    font-size: clamp(1.08rem, 4.8vw, 1.42rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
    font-weight: 300 !important;
  }

  #ingenieria .technical-meta {
    margin: 0 !important;
    gap: 8px !important;
  }

  #ingenieria .technical-category {
    margin: 0 !important;

    color: rgba(11, 68, 56, 0.62) !important;
    font-size: 0.58rem !important;
    line-height: 1.45 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
  }

  #ingenieria .view-project,
  #ingenieria .technical-view {
    margin-top: 10px !important;

    color: var(--green-dark) !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
  }

}
/* =========================================================
   MOBILE - INGENIERÍA / FONDO COMO CAPA HTML
========================================================= */

.engineering-mobile-bg {
  display: none !important;
}

@media (max-width: 768px) {

  #ingenieria .engineering-feature-bg {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    margin-left: -6vw !important;
    margin-right: -6vw !important;
    padding-left: 6vw !important;
    padding-right: 6vw !important;

    padding-top: 72px !important;
    padding-bottom: 62px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  #ingenieria .engineering-feature-bg > .engineering-mobile-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.42 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  #ingenieria .engineering-feature-bg::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.74) 0%,
        rgba(251, 248, 240, 0.58) 36%,
        rgba(251, 248, 240, 0.72) 68%,
        rgba(251, 248, 240, 0.92) 100%
      ) !important;
  }

  #ingenieria .engineering-feature-bg::after {
    display: none !important;
    content: none !important;
  }

  #ingenieria .engineering-feature-bg > *:not(.engineering-mobile-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - COLABORACIONES / OCULTAR SUBTÍTULO LARGO
========================================================= */

@media (max-width: 768px) {

  #colaboraciones .technical-list-heading h2,
  #colaboraciones .technical-list-heading h3,
  #colaboraciones .technical-list-heading p:not(.section-label),
  .technical-list-block .technical-list-heading h2,
  .technical-list-block .technical-list-heading h3,
  .technical-list-block .technical-list-heading p:not(.section-label) {
    display: none !important;
  }

  #colaboraciones .technical-list-heading,
  .technical-list-block .technical-list-heading {
    margin-bottom: 28px !important;
  }

  #colaboraciones .technical-list-heading .section-label,
  .technical-list-block .technical-list-heading .section-label {
    display: block !important;
    margin-bottom: 0 !important;
  }

}
/* =========================================================
   MOBILE - CONTACTO / FONDO COMO CAPA HTML
========================================================= */

.contact-mobile-bg {
  display: none !important;
}

@media (max-width: 768px) {

  #contacto.contact-section {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    background: #0b4438 !important;
    background-image: none !important;
  }

  #contacto.contact-section > .contact-mobile-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 1 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* Velo para asegurar lectura */
  #contacto.contact-section::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(11, 68, 56, 0.42) 0%,
        rgba(11, 68, 56, 0.56) 38%,
        rgba(11, 68, 56, 0.72) 72%,
        rgba(11, 68, 56, 0.88) 100%
      ) !important;
  }

  #contacto.contact-section::after {
    display: none !important;
    content: none !important;
  }

  #contacto.contact-section > *:not(.contact-mobile-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - CONTACTO / TARJETA DE DATOS SOBRE FONDO
========================================================= */

@media (max-width: 768px) {

  #contacto .contact-info,
  #contacto .contact-list,
  #contacto .contact-card {
    background: rgba(11, 68, 56, 0.58) !important;
    border: 1px solid rgba(251, 248, 240, 0.16) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;

    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16) !important;
  }

  #contacto h2,
  #contacto p,
  #contacto a,
  #contacto span,
  #contacto strong,
  #contacto .section-label {
    color: #fbf8f0 !important;
  }

  #contacto .contact-info *,
  #contacto .contact-list *,
  #contacto .contact-card * {
    color: #fbf8f0 !important;
  }

}
/* =========================================================
   MOBILE - FOOTER LIMPIO Y COMPACTO
========================================================= */

@media (max-width: 768px) {

  .site-footer {
    padding: 26px 6vw 24px !important;
    min-height: auto !important;
  }

  /* Oculta navegación inferior */
  .site-footer nav,
  .site-footer .footer-nav,
  .site-footer .footer-links,
  .site-footer ul,
  .site-footer li {
    display: none !important;
  }

  /* Marca footer */
  .site-footer .footer-brand,
  .site-footer .footer-logo,
  .site-footer > div:first-child {
    margin-bottom: 26px !important;
  }

  .site-footer h2,
  .site-footer h3,
  .site-footer .site-logo,
  .site-footer .footer-logo,
  .site-footer strong {
    color: #fbf8f0 !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    letter-spacing: 0.22em !important;
    font-weight: 400 !important;
    text-transform: lowercase !important;
    margin: 0 0 12px !important;
  }

  .site-footer p {
    color: rgba(251, 248, 240, 0.82) !important;
    font-size: 0.72rem !important;
    line-height: 1.6 !important;
    letter-spacing: 0.14em !important;
    margin: 0 !important;
  }

  /* Derechos reservados */
  .site-footer .footer-copy,
  .site-footer .copyright,
  .site-footer small {
    display: block !important;
    margin-top: 22px !important;

    color: rgba(251, 248, 240, 0.70) !important;
    font-size: 0.68rem !important;
    line-height: 1.5 !important;
    letter-spacing: 0.06em !important;
  }

}
/* =========================================================
   MOBILE - FOOTER MÁS COMPACTO
========================================================= */

@media (max-width: 768px) {

  .site-footer {
    padding: 12px 6vw 16px !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .site-footer .footer-brand,
  .site-footer .footer-logo,
  .site-footer > div:first-child {
    margin-bottom: 18px !important;
  }

  .site-footer h2,
  .site-footer h3,
  .site-footer .site-logo,
  .site-footer .footer-logo,
  .site-footer strong {
    margin-bottom: 8px !important;
    font-size: 0.92rem !important;
    line-height: 1 !important;
  }

  .site-footer p {
    font-size: 0.68rem !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }

  .site-footer .footer-copy,
  .site-footer .copyright,
  .site-footer small {
    margin-top: 18px !important;
    font-size: 0.64rem !important;
    line-height: 1.35 !important;
  }

}
/* =========================================================
   MOBILE MENU - PROPUESTA 03 / PANTALLA EDITORIAL AJUSTADA
========================================================= */

@media (max-width: 768px) {

  /* HEADER COMPACTO */
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    height: 68px !important;
    padding: 20px 6vw 14px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background-color: rgba(251, 248, 240, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;

    border-bottom: 1px solid rgba(11, 68, 56, 0.08) !important;

    z-index: 10000 !important;
  }

  .site-header .site-logo,
  .site-header .logo,
  .site-header > a:first-child {
    position: relative !important;
    z-index: 10005 !important;

    color: var(--green-dark) !important;
    font-size: 0.9rem !important;
    line-height: 1 !important;
    letter-spacing: 0.36em !important;
    text-decoration: none !important;
    text-transform: lowercase !important;
  }

  /* BOTÓN HAMBURGUESA / CERRAR */
  .mobile-menu-toggle {
    display: inline-flex !important;

    position: relative !important;
    z-index: 10005 !important;

    width: 30px !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: stretch !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    cursor: pointer !important;
  }

  .mobile-menu-toggle span {
    display: block !important;

    width: 100% !important;
    height: 1.5px !important;

    background-color: var(--green-dark) !important;
    border-radius: 999px !important;

    transform-origin: center center !important;

    transition:
      transform 0.36s ease,
      opacity 0.28s ease,
      width 0.28s ease !important;
  }

  .mobile-menu-toggle span:nth-child(2) {
    width: 72% !important;
    align-self: flex-end !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(1) {
    width: 100% !important;
    transform: translateY(9.25px) rotate(45deg) !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle span:nth-child(3) {
    width: 100% !important;
    transform: translateY(-9.25px) rotate(-45deg) !important;
  }

  /* PANEL PRINCIPAL */
  .site-header .main-nav,
  .site-header nav {
    position: fixed !important;

    top: 0 !important;
    right: 0 !important;
    left: auto !important;

    width: 100vw !important;
    height: 100svh !important;

    padding: 104px 8vw 132px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;

    background:
      radial-gradient(
        circle at 88% 10%,
        rgba(139, 161, 141, 0.22) 0%,
        rgba(139, 161, 141, 0.05) 34%,
        rgba(251, 248, 240, 0) 62%
      ),
      linear-gradient(
        180deg,
        rgba(251, 248, 240, 0.98) 0%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;

    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;

    transform: translateX(100%) !important;
    transition:
      transform 0.62s cubic-bezier(0.77, 0, 0.175, 1),
      opacity 0.42s ease !important;

    opacity: 0 !important;

    z-index: 10003 !important;
    counter-reset: menu-item !important;

    border-left: none !important;
    box-shadow: none !important;
  }

  .site-header.is-menu-open .main-nav,
  .site-header.is-menu-open nav {
    transform: translateX(0) !important;
    opacity: 1 !important;
  }

  /* BLOQUE INFERIOR DE CONTACTO */
.site-header .main-nav::before,
.site-header nav::before {
  content: "e origen arquitectura & ingeniería\a jose.cazares@eorigen.mx\a 3331877755" !important;

  position: absolute !important;
  left: 50% !important;
  bottom: 38px !important;

  width: 90% !important;
  max-width: 360px !important;

  transform: translateX(-50%) !important;

  white-space: pre-line !important;
  text-align: center !important;

  color: rgba(11, 68, 56, 0.68) !important;
  font-size: 0.76rem !important;
  line-height: 1.85 !important;
  letter-spacing: 0.095em !important;
  text-transform: lowercase !important;
  font-weight: 300 !important;

  pointer-events: none !important;
}

  .site-header .main-nav::after,
  .site-header nav::after {
    display: none !important;
    content: none !important;
  }

  /* LINKS DEL MENÚ */
  .site-header .main-nav a,
  .site-header nav a {
    position: relative !important;

    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    column-gap: 18px !important;
    align-items: baseline !important;

    width: 100% !important;

    padding: 17px 0 !important;
    margin: 0 !important;

    color: var(--green-dark) !important;
    text-decoration: none !important;

    font-size: clamp(1.55rem, 7vw, 2.25rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
    font-weight: 300 !important;
    text-transform: lowercase !important;

    border-bottom: 1px solid rgba(11, 68, 56, 0.10) !important;
  }

  .site-header .main-nav a:first-child,
  .site-header nav a:first-child {
    border-top: 1px solid rgba(11, 68, 56, 0.10) !important;
  }

  .site-header .main-nav a::before,
  .site-header nav a::before {
    content: "0" counter(menu-item) !important;
    counter-increment: menu-item !important;

    grid-column: 1 !important;

    color: var(--brown) !important;
    font-size: 0.58rem !important;
    line-height: 1 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
  }

  .site-header .main-nav a::after,
  .site-header nav a::after {
    content: "→" !important;

    position: absolute !important;
    right: 0 !important;
    top: 50% !important;

    transform: translateY(-50%) translateX(-8px) !important;

    color: rgba(11, 68, 56, 0.35) !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;

    opacity: 0 !important;
    transition:
      opacity 0.28s ease,
      transform 0.28s ease !important;
  }

  .site-header .main-nav a:hover::after,
  .site-header nav a:hover::after {
    opacity: 1 !important;
    transform: translateY(-50%) translateX(0) !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

}
/* =========================================================
   MOBILE - CASA OD / FONDOS APERTURA Y CIERRE
========================================================= */

.project-mobile-hero-bg,
.project-mobile-closing-bg {
  display: none !important;
}

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA CASA OD
  ----------------------------- */

  body.project-casa-od .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-od .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.82 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-od .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.22) 0%,
        rgba(251, 248, 240, 0.26) 30%,
        rgba(251, 248, 240, 0.64) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-casa-od .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-od .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE CASA OD
  ----------------------------- */

  body.project-casa-od .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-od .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-od .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.18) 0%,
        rgba(251, 248, 240, 0.34) 36%,
        rgba(251, 248, 240, 0.76) 72%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-casa-od .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-od .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - DEPARTAMENTOS AE / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA DEPARTAMENTOS AE
  ----------------------------- */

  body.project-departamentos-ae .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-departamentos-ae .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-departamentos-ae .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.18) 0%,
        rgba(251, 248, 240, 0.26) 30%,
        rgba(251, 248, 240, 0.64) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-departamentos-ae .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-departamentos-ae .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE DEPARTAMENTOS AE
  ----------------------------- */

  body.project-departamentos-ae .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-departamentos-ae .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-departamentos-ae .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.16) 0%,
        rgba(251, 248, 240, 0.32) 36%,
        rgba(251, 248, 240, 0.74) 72%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-departamentos-ae .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-departamentos-ae .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - OFICINAS DC CONTROL / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA OFICINAS DC CONTROL
  ----------------------------- */

  body.project-oficinas-dc-control .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-oficinas-dc-control .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-oficinas-dc-control .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.16) 0%,
        rgba(251, 248, 240, 0.24) 28%,
        rgba(251, 248, 240, 0.62) 66%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-oficinas-dc-control .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-oficinas-dc-control .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE OFICINAS DC CONTROL
  ----------------------------- */

  body.project-oficinas-dc-control .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-oficinas-dc-control .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-oficinas-dc-control .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.30) 34%,
        rgba(251, 248, 240, 0.72) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-oficinas-dc-control .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-oficinas-dc-control .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - CASA CD / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA CASA CD
  ----------------------------- */

  body.project-casa-cd .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-cd .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-cd .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.16) 0%,
        rgba(251, 248, 240, 0.24) 30%,
        rgba(251, 248, 240, 0.62) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-casa-cd .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-cd .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE CASA CD
  ----------------------------- */

  body.project-casa-cd .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-cd .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-cd .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.30) 34%,
        rgba(251, 248, 240, 0.72) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-casa-cd .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-cd .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - OFICINAS CARGILL HMO / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA OFICINAS CARGILL HMO
  ----------------------------- */

  body.project-oficinas-cargill-hmo .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-oficinas-cargill-hmo .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-oficinas-cargill-hmo .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.22) 28%,
        rgba(251, 248, 240, 0.60) 66%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-oficinas-cargill-hmo .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-oficinas-cargill-hmo .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE OFICINAS CARGILL HMO
  ----------------------------- */

  body.project-oficinas-cargill-hmo .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-oficinas-cargill-hmo .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-oficinas-cargill-hmo .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.28) 34%,
        rgba(251, 248, 240, 0.70) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-oficinas-cargill-hmo .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-oficinas-cargill-hmo .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - CABAÑA CED / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA CABAÑA CED
  ----------------------------- */

  body.project-cabana-ced .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-cabana-ced .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-cabana-ced .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.24) 30%,
        rgba(251, 248, 240, 0.62) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-cabana-ced .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-cabana-ced .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE CABAÑA CED
  ----------------------------- */

  body.project-cabana-ced .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-cabana-ced .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-cabana-ced .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.28) 34%,
        rgba(251, 248, 240, 0.70) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-cabana-ced .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-cabana-ced .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - CASA SP / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA CASA SP
  ----------------------------- */

  body.project-casa-sp .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-sp .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-sp .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.24) 30%,
        rgba(251, 248, 240, 0.62) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-casa-sp .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-sp .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE CASA SP
  ----------------------------- */

  body.project-casa-sp .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-sp .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-sp .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.28) 34%,
        rgba(251, 248, 240, 0.70) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-casa-sp .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-sp .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - CASA EH / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA CASA EH
  ----------------------------- */

  body.project-casa-eh .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-eh .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-eh .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.24) 30%,
        rgba(251, 248, 240, 0.62) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-casa-eh .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-eh .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE CASA EH
  ----------------------------- */

  body.project-casa-eh .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-casa-eh .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-casa-eh .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.28) 34%,
        rgba(251, 248, 240, 0.70) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-casa-eh .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-casa-eh .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - BODEGA LED CONCEPT / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA BODEGA LED CONCEPT
  ----------------------------- */

  body.project-bodega-led-concept .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-bodega-led-concept .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-bodega-led-concept .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.18) 0%,
        rgba(251, 248, 240, 0.30) 30%,
        rgba(251, 248, 240, 0.66) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-bodega-led-concept .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-bodega-led-concept .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE BODEGA LED CONCEPT
  ----------------------------- */

  body.project-bodega-led-concept .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-bodega-led-concept .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-bodega-led-concept .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.16) 0%,
        rgba(251, 248, 240, 0.32) 34%,
        rgba(251, 248, 240, 0.72) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-bodega-led-concept .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-bodega-led-concept .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - CENTRO OPERATIVO DC CONTROL / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA CENTRO OPERATIVO DC CONTROL
  ----------------------------- */

  body.project-centro-operativo-dc-control .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-centro-operativo-dc-control .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-centro-operativo-dc-control .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.26) 30%,
        rgba(251, 248, 240, 0.64) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-centro-operativo-dc-control .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-centro-operativo-dc-control .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE CENTRO OPERATIVO DC CONTROL
  ----------------------------- */

  body.project-centro-operativo-dc-control .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-centro-operativo-dc-control .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-centro-operativo-dc-control .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.28) 34%,
        rgba(251, 248, 240, 0.70) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-centro-operativo-dc-control .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-centro-operativo-dc-control .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - LÍNEA DE ALMACENAJE PROAOASS HMO / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA LÍNEA DE ALMACENAJE
  ----------------------------- */

  body.project-linea-almacenaje-proaoass-hmo .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.18) 0%,
        rgba(251, 248, 240, 0.30) 30%,
        rgba(251, 248, 240, 0.66) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE LÍNEA DE ALMACENAJE
  ----------------------------- */

  body.project-linea-almacenaje-proaoass-hmo .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.16) 0%,
        rgba(251, 248, 240, 0.32) 34%,
        rgba(251, 248, 240, 0.72) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-linea-almacenaje-proaoass-hmo .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - PROYECTO TORRE EXTRUSION / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA PROYECTO TORRE EXTRUSION
  ----------------------------- */

  body.project-torre-extrusion .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-torre-extrusion .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-torre-extrusion .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.16) 0%,
        rgba(251, 248, 240, 0.30) 30%,
        rgba(251, 248, 240, 0.68) 68%,
        rgba(251, 248, 240, 0.95) 100%
      ) !important;
  }

  body.project-torre-extrusion .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-torre-extrusion .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE PROYECTO TORRE EXTRUSION
  ----------------------------- */

  body.project-torre-extrusion .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-torre-extrusion .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.84 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-torre-extrusion .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.32) 34%,
        rgba(251, 248, 240, 0.74) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-torre-extrusion .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-torre-extrusion .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - PROYECTO GRANELEROS / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA PROYECTO GRANELEROS
  ----------------------------- */

  body.project-proyecto-graneleros .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-proyecto-graneleros .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-proyecto-graneleros .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.28) 30%,
        rgba(251, 248, 240, 0.66) 68%,
        rgba(251, 248, 240, 0.95) 100%
      ) !important;
  }

  body.project-proyecto-graneleros .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-proyecto-graneleros .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE PROYECTO GRANELEROS
  ----------------------------- */

  body.project-proyecto-graneleros .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-proyecto-graneleros .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-proyecto-graneleros .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.30) 34%,
        rgba(251, 248, 240, 0.72) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-proyecto-graneleros .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-proyecto-graneleros .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - LABORATORIO CARGILL / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA LABORATORIO CARGILL
  ----------------------------- */

  body.project-laboratorio-cargill .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-laboratorio-cargill .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-laboratorio-cargill .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.14) 0%,
        rgba(251, 248, 240, 0.26) 30%,
        rgba(251, 248, 240, 0.64) 68%,
        rgba(251, 248, 240, 0.95) 100%
      ) !important;
  }

  body.project-laboratorio-cargill .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-laboratorio-cargill .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE LABORATORIO CARGILL
  ----------------------------- */

  body.project-laboratorio-cargill .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-laboratorio-cargill .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-laboratorio-cargill .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.28) 34%,
        rgba(251, 248, 240, 0.72) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-laboratorio-cargill .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-laboratorio-cargill .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - ALMACÉN CARGILL / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA ALMACÉN CARGILL
  ----------------------------- */

  body.project-almacen-cargill .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-almacen-cargill .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-almacen-cargill .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.12) 0%,
        rgba(251, 248, 240, 0.24) 30%,
        rgba(251, 248, 240, 0.62) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-almacen-cargill .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-almacen-cargill .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE ALMACÉN CARGILL
  ----------------------------- */

  body.project-almacen-cargill .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-almacen-cargill .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-almacen-cargill .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.10) 0%,
        rgba(251, 248, 240, 0.26) 34%,
        rgba(251, 248, 240, 0.70) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-almacen-cargill .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-almacen-cargill .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - PARQUE TOSSÁ / FONDOS APERTURA Y CIERRE
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------
     APERTURA PARQUE TOSSÁ
  ----------------------------- */

  body.project-parque-tossa .project-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 100svh !important;
    padding: 118px 6vw 58px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-parque-tossa .project-hero > .project-mobile-hero-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-parque-tossa .project-hero::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.10) 0%,
        rgba(251, 248, 240, 0.22) 30%,
        rgba(251, 248, 240, 0.58) 68%,
        rgba(251, 248, 240, 0.94) 100%
      ) !important;
  }

  body.project-parque-tossa .project-hero::after {
    display: none !important;
    content: none !important;
  }

  body.project-parque-tossa .project-hero > *:not(.project-mobile-hero-bg) {
    position: relative !important;
    z-index: 2 !important;
  }


  /* -----------------------------
     CIERRE PARQUE TOSSÁ
  ----------------------------- */

  body.project-parque-tossa .project-closing {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 92svh !important;
    padding: 96px 6vw 74px !important;

    background: #fbf8f0 !important;
    background-image: none !important;
  }

  body.project-parque-tossa .project-closing > .project-mobile-closing-bg {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 0.86 !important;

    z-index: -2 !important;
    pointer-events: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.project-parque-tossa .project-closing::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;
    pointer-events: none !important;

    background:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.08) 0%,
        rgba(251, 248, 240, 0.24) 34%,
        rgba(251, 248, 240, 0.66) 70%,
        rgba(251, 248, 240, 0.96) 100%
      ) !important;
  }

  body.project-parque-tossa .project-closing::after {
    display: none !important;
    content: none !important;
  }

  body.project-parque-tossa .project-closing > *:not(.project-mobile-closing-bg) {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - NOSOTROS / FONDO EDITORIAL
========================================================= */

@media (max-width: 768px) {

  /* Sección Nosotros con fondo móvil */
  #nosotros.about-section,
  .about-section {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    background-color: #fbf8f0 !important;
    background-image:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.18) 0%,
        rgba(251, 248, 240, 0.34) 28%,
        rgba(251, 248, 240, 0.72) 62%,
        rgba(251, 248, 240, 0.96) 100%
      ),
      url("assets/img/editorial/nosotros-fondo-mobile.jpg") !important;

    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;

    padding-top: 96px !important;
    padding-bottom: 76px !important;
  }

  /* Oculta la imagen rectangular actual solo en móvil */
  #nosotros .about-editorial-image,
  .about-section .about-editorial-image {
    display: none !important;
  }

  /* Mantiene todo el contenido encima del fondo */
  #nosotros > *,
  .about-section > * {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   DESKTOP - HERO / TEXTOS CON MAYOR PESO
========================================================= */

@media (min-width: 769px) {

  .hero .hero-label {
    color: var(--green-dark) !important;
    opacity: 0.95 !important;

    font-size: 0.82rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.08em !important;
    text-transform: lowercase !important;

    font-weight: 500 !important;

    margin-bottom: 18px !important;
  }

  .hero .hero-description {
    color: rgba(11, 68, 56, 0.82) !important;
    opacity: 1 !important;

    max-width: 620px !important;
    font-size: 1.02rem !important;
    line-height: 1.75 !important;

    font-weight: 500 !important;

    margin-top: 36px !important;
  }

}
/* =========================================================
   MOBILE - HERO / LABEL EN MINÚSCULAS
========================================================= */

@media (max-width: 768px) {

  #inicio.hero .hero-label,
  #inicio.hero .section-label,
  .hero .hero-label,
  .hero .section-label {
    text-transform: lowercase !important;
    letter-spacing: 0.12em !important;
  }

}
/* =========================================================
   MOBILE - NOSOTROS / FONDO CON DESVANECIMIENTO INFERIOR
========================================================= */

@media (max-width: 768px) {

  #nosotros.about-section,
  .about-section {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    background-color: #fbf8f0 !important;
    background-image:
      linear-gradient(
        to bottom,
        rgba(251, 248, 240, 0.22) 0%,
        rgba(251, 248, 240, 0.34) 10%,
        rgba(251, 248, 240, 0.56) 20%,
        rgba(251, 248, 240, 0.84) 50%,
        rgba(251, 248, 240, 1) 70%
      ),
      url("assets/img/editorial/nosotros-fondo-mobile.jpg") !important;

    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;

    padding-top: 96px !important;
    padding-bottom: 76px !important;
  }

  /* Oculta la imagen rectangular anterior solo en móvil */
  #nosotros .about-editorial-image,
  .about-section .about-editorial-image {
    display: none !important;
  }

  /* Mantiene textos e islas por encima del fondo */
  #nosotros > *,
  .about-section > * {
    position: relative !important;
    z-index: 2 !important;
  }

}
/* =========================================================
   MOBILE - HERO / ELIMINAR MARCA DE AGUA EO
========================================================= */

@media (max-width: 768px) {

  #inicio.hero::after,
  #inicio.hero .hero-content::before,
  #inicio.hero .hero-content::after,
  #inicio.hero .hero-copy::before,
  #inicio.hero .hero-copy::after,
  #inicio.hero .hero-label::before,
  #inicio.hero .hero-label::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

}
.project-image {
  width: 100%;
  margin-bottom: 18px;
}

.project-image.project-image-horizontal {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.project-image.project-image-horizontal img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
/* =========================================================
   BODEGA LED CONCEPT - AJUSTE IMÁGENES 16:9
========================================================= */

body.project-bodega-led-concept .project-gallery figure,
body.project-bodega-led-concept .construction-gallery figure,
body.project-bodega-led-concept .engineering-render-grid figure,
body.project-bodega-led-concept .engineering-construction-grid figure,
body.project-bodega-led-concept .project-existing-media figure,
body.project-bodega-led-concept .project-render-grid figure {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  overflow: hidden !important;
  margin: 0 0 24px !important;
}

body.project-bodega-led-concept .project-gallery figure img,
body.project-bodega-led-concept .construction-gallery figure img,
body.project-bodega-led-concept .engineering-render-grid figure img,
body.project-bodega-led-concept .engineering-construction-grid figure img,
body.project-bodega-led-concept .project-existing-media figure img,
body.project-bodega-led-concept .project-render-grid figure img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}
/* =========================================================
   CONTACTO - CORRECCIÓN VISUAL ENLACES Y WHATSAPP
========================================================= */

/* BOTÓN PRINCIPAL WHATSAPP */
.contact-section .contact-whatsapp-button,
.contact-section .contact-whatsapp-button:link,
.contact-section .contact-whatsapp-button:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: fit-content !important;
  min-height: 54px !important;

  margin-top: 26px !important;
  padding: 0 28px !important;

  border: 1px solid rgba(251, 248, 240, 0.80) !important;

  background: transparent !important;
  color: #fbf8f0 !important;

  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

.contact-section .contact-whatsapp-button:hover {
  background: #fbf8f0 !important;
  color: #0b4438 !important;
  text-decoration: none !important;
}


/* DATOS DE CONTACTO */
.contact-section .contact-detail a,
.contact-section .contact-detail a:link,
.contact-section .contact-detail a:visited,
.contact-section .contact-detail a:active {
  color: #fbf8f0 !important;
  text-decoration: none !important;
}

.contact-section .contact-detail a:hover {
  color: rgba(251, 248, 240, 0.72) !important;
  text-decoration: none !important;
}

/* =========================================================
   2026 / HERO CONTEMPORÁNEO — GLASS + SHOWCASE + TYPEWRITER
   Bloque aditivo para no alterar las secciones ya aprobadas.
========================================================= */

@media (min-width: 769px) {
  .site-header {
    top: 18px !important;
    left: 2.5vw !important;
    width: 95vw !important;
    height: 68px !important;
    padding: 0 2.8vw !important;

    border: 1px solid rgba(255,255,255,0.58) !important;
    border-radius: 18px !important;

    background: rgba(251,248,240,0.64) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    backdrop-filter: blur(18px) saturate(125%) !important;

    box-shadow:
      0 12px 36px rgba(11,68,56,0.055),
      inset 0 1px 0 rgba(255,255,255,0.46) !important;

    transition:
      top .45s cubic-bezier(.22,.61,.36,1),
      width .45s cubic-bezier(.22,.61,.36,1),
      left .45s cubic-bezier(.22,.61,.36,1),
      background-color .45s ease,
      box-shadow .45s ease !important;
  }

  .site-header.is-scrolled {
    top: 10px !important;
    left: 3.5vw !important;
    width: 93vw !important;
    background: rgba(251,248,240,0.78) !important;
    box-shadow:
      0 14px 42px rgba(11,68,56,0.075),
      inset 0 1px 0 rgba(255,255,255,0.52) !important;
  }
}

#inicio.hero {
  position: relative !important;
}

#inicio .hero-copy {
  align-self: center !important;
}

/* TÍTULO ESCRITO LÍNEA POR LÍNEA */
.hero-typing-title {
  display: block !important;
}

.hero-typing-title .typing-line {
  display: block !important;
  min-height: 0.94em !important;
  white-space: nowrap !important;
}

.hero-typing-title .typing-line::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.72em;
  margin-left: 0.035em;
  vertical-align: -0.02em;
  background: currentColor;
  opacity: 0;
}

.hero-typing-title .typing-line.is-typing::after {
  opacity: 0.42;
  animation: heroCaretBlink 0.72s steps(1) infinite;
}

@keyframes heroCaretBlink {
  0%, 48% { opacity: 0.42; }
  49%, 100% { opacity: 0; }
}

/* Complementarios: fade + desplazamiento vertical */
#inicio .hero-label,
#inicio .hero-description,
#inicio .hero-button,
#inicio .hero-showcase {
  opacity: 0;
  transform: translateY(22px);
}

body.intro-complete #inicio .hero-label {
  animation: heroSoftReveal .8s .14s cubic-bezier(.22,.61,.36,1) forwards;
}

body.intro-complete #inicio .hero-description {
  animation: heroSoftReveal .85s 2.15s cubic-bezier(.22,.61,.36,1) forwards;
}

body.intro-complete #inicio .hero-button {
  animation: heroSoftReveal .85s 2.32s cubic-bezier(.22,.61,.36,1) forwards;
}

body.intro-complete #inicio .hero-showcase {
  animation: heroSoftReveal 1s .48s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes heroSoftReveal {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* BOTÓN VER PROYECTOS / GLASS EDITORIAL */
#inicio .hero-button {
  position: relative !important;
  min-height: 56px !important;
  padding: 0 58px 0 28px !important;
  border: 1px solid rgba(255,255,255,0.56) !important;
  border-radius: 14px !important;

  background:
    linear-gradient(
      135deg,
      rgba(251,248,240,0.58),
      rgba(251,248,240,0.30)
    ) !important;

  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;

  box-shadow:
    0 12px 28px rgba(11,68,56,0.07),
    inset 0 1px 0 rgba(255,255,255,0.54) !important;

  transition:
    transform .4s cubic-bezier(.22,.61,.36,1),
    background-color .4s ease,
    box-shadow .4s ease !important;
}

#inicio .hero-button::after {
  content: "→";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translate(0,-52%);
  font-size: 1.15rem;
  font-weight: 300;
  transition: transform .4s cubic-bezier(.22,.61,.36,1);
}

#inicio .hero-button:hover {
  color: var(--green-dark) !important;
  background: rgba(251,248,240,0.74) !important;
  transform: translateY(-2px);
  box-shadow:
    0 16px 34px rgba(11,68,56,0.10),
    inset 0 1px 0 rgba(255,255,255,0.62) !important;
}

#inicio .hero-button:hover::after {
  transform: translate(6px,-52%);
}

/* SHOWCASE / MARCO GLASS INTEGRADO */
.hero-showcase {
  width: min(100%, 760px);
  justify-self: end;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.56);

  background:
    linear-gradient(
      145deg,
      rgba(251,248,240,0.58),
      rgba(251,248,240,0.31)
    );

  -webkit-backdrop-filter: blur(18px) saturate(118%);
  backdrop-filter: blur(18px) saturate(118%);

  box-shadow:
    0 24px 70px rgba(11,68,56,0.08),
    inset 0 1px 0 rgba(255,255,255,0.54);
}

.hero-showcase-toolbar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  min-height: 42px;
  margin-bottom: 14px;
}

.hero-showcase-counter {
  display: inline-flex;
  gap: 7px;
  align-items: baseline;
  color: var(--green-dark);
  font-size: 0.70rem;
  letter-spacing: 0.14em;
}

.hero-showcase-counter strong {
  font-weight: 500;
}

.hero-showcase-progress {
  position: relative;
  height: 1px;
  overflow: hidden;
  background: rgba(11,68,56,0.14);
}

.hero-showcase-progress span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  background: var(--green-dark);
  transition: width .35s ease;
}

.hero-showcase-controls {
  display: flex;
  gap: 8px;
}

.hero-showcase-arrow {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(11,68,56,0.22);
  background: rgba(251,248,240,0.34);
  color: var(--green-dark);
  font: inherit;
  cursor: pointer;

  transition:
    transform .35s ease,
    background-color .35s ease,
    border-color .35s ease;
}

.hero-showcase-arrow:hover {
  transform: translateY(-1px);
  background: rgba(251,248,240,0.72);
  border-color: rgba(11,68,56,0.40);
}

.hero-showcase-main {
  display: grid;
  grid-template-columns: minmax(0,1fr) 84px;
  gap: 14px;
  align-items: stretch;
}

.hero-showcase .hero-visual-link {
  min-width: 0;
}

.hero-showcase .hero-visual {
  width: 100% !important;
  max-height: min(72vh, 720px) !important;
  border-radius: 14px !important;
  overflow: hidden !important;

  box-shadow: 0 18px 46px rgba(11,68,56,0.10);
}

/* Desactiva el antiguo slideshow por CSS; ahora lo maneja JS */
.hero-showcase .hero-visual-slide,
.hero-showcase .hero-visual-slide img {
  animation: none !important;
}

.hero-showcase .hero-visual-slide {
  opacity: 0 !important;
  transform: scale(1.014) !important;
  transition:
    opacity 1s cubic-bezier(.22,.61,.36,1),
    transform 1.8s cubic-bezier(.22,.61,.36,1) !important;
  pointer-events: none;
}

.hero-showcase .hero-visual-slide.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
  pointer-events: auto;
}

.hero-showcase .hero-visual-slide img {
  transform: scale(1.035) !important;
  transition: transform 5.2s ease !important;
}

.hero-showcase .hero-visual-slide.is-active img {
  transform: scale(1.075) !important;
}

/* Caption con entrada editorial */
.hero-showcase .hero-visual-caption {
  transform: translateY(12px);
  opacity: 0;
  transition:
    opacity .7s .18s ease,
    transform .7s .18s cubic-bezier(.22,.61,.36,1);
}

.hero-showcase .hero-visual-slide.is-active .hero-visual-caption {
  transform: translateY(0);
  opacity: 1;
}

/* Rail de miniaturas */
.hero-thumb-rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;

  padding: 10px 8px 12px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,0.46);
  background: rgba(251,248,240,0.34);
}

.hero-thumb {
  width: 58px;
  aspect-ratio: 4 / 5;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  opacity: .48;
  cursor: pointer;
  transition:
    opacity .35s ease,
    transform .35s ease,
    border-color .35s ease;
}

.hero-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.hero-thumb:hover {
  opacity: .82;
  transform: translateY(-2px);
}

.hero-thumb.is-active {
  opacity: 1;
  border-color: rgba(11,68,56,0.38);
}

.hero-thumb-caption {
  margin-top: auto;
  padding: 8px 0 2px;
  color: rgba(11,68,56,0.68);
  font-size: .53rem;
  line-height: 1.35;
  letter-spacing: .18em;
  text-align: center;
}

/* El enlace ya no aplica el antiguo zoom del contenedor */
.hero-showcase .hero-visual-link:hover .hero-visual {
  transform: none !important;
  filter: none !important;
}

/* Tablet */
@media (max-width: 1180px) and (min-width: 769px) {
  .hero-showcase-main {
    grid-template-columns: minmax(0,1fr) 70px;
  }

  .hero-thumb {
    width: 48px;
  }

  .hero-showcase {
    padding: 18px;
  }
}

/* Móvil: conservamos el hero móvil ya aprobado y solo mejoramos header/botón */
@media (max-width: 768px) {
  #inicio .hero-showcase {
    display: none !important;
  }

  #inicio .hero-typing-title .typing-line {
    white-space: normal !important;
  }

  #inicio .hero-button {
    border-radius: 12px !important;
  }

  .site-header {
    border: 1px solid rgba(255,255,255,0.40) !important;
    background: rgba(251,248,240,0.76) !important;
    -webkit-backdrop-filter: blur(16px) saturate(118%) !important;
    backdrop-filter: blur(16px) saturate(118%) !important;
  }
}

/* Movimiento reducido */
@media (prefers-reduced-motion: reduce) {
  .hero-typing-title .typing-line::after {
    display: none !important;
  }

  #inicio .hero-label,
  #inicio .hero-description,
  #inicio .hero-button,
  #inicio .hero-showcase {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .hero-showcase .hero-visual-slide,
  .hero-showcase .hero-visual-slide img,
  .hero-showcase .hero-visual-caption {
    transition: none !important;
  }
}
/* =========================================================
   AJUSTE HERO MODERNO
   01. BAJAR SHOWCASE
   02. CENTRAR BOTÓN VER PROYECTOS
========================================================= */

/* ---------------------------------------------------------
   01 / SEPARACIÓN ENTRE HEADER GLASS Y SHOWCASE
--------------------------------------------------------- */

@media (min-width: 1181px) {

  #inicio .hero-showcase {
    margin-top: 54px !important;
  }

}


/* Tablet / escritorio pequeño */
@media (min-width: 769px) and (max-width: 1180px) {

  #inicio .hero-showcase {
    margin-top: 38px !important;
  }

}


/* ---------------------------------------------------------
   02 / BOTÓN VER PROYECTOS
   Texto realmente centrado + flecha independiente
--------------------------------------------------------- */

#inicio .hero-button {
  min-width: 220px !important;

  padding-left: 58px !important;
  padding-right: 58px !important;

  justify-content: center !important;
  text-align: center !important;
}


/* La flecha permanece independiente del centrado del texto */
#inicio .hero-button::after {
  right: 22px !important;
}


/* Móvil */
@media (max-width: 768px) {

  #inicio .hero-button {
    min-width: 210px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

}
/* =========================================================
   HERO - CENTRADO DEFINITIVO BOTÓN VER PROYECTOS
========================================================= */

#inicio .hero-button {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 220px !important;
  min-height: 56px !important;

  padding: 0 58px !important;

  text-align: center !important;
  line-height: 1 !important;

  box-sizing: border-box !important;
}


/* Flecha independiente del texto */
#inicio .hero-button::after {
  content: "→" !important;

  position: absolute !important;
  right: 22px !important;
  top: 50% !important;

  transform: translateY(-50%) !important;

  line-height: 1 !important;
}


/* Movimiento de flecha en hover */
#inicio .hero-button:hover::after {
  transform: translate(6px, -50%) !important;
}
/* =========================================================
   HERO MODERNO - AJUSTES ESTÉTICOS FINALES
   01. HEADER ALINEADO A MÁRGENES GENERALES
   02. CARRUSEL SIN TÍTULOS DE PROYECTO
   03. MAYOR LEGIBILIDAD DE TEXTOS HERO
========================================================= */


/* =========================================================
   01 / HEADER GLASS
   ALINEADO CON EL MARGEN GENERAL DE 6vw
========================================================= */

@media (min-width: 769px) {

  .site-header {
    left: 6vw !important;
    width: 88vw !important;
  }

  .site-header.is-scrolled {
    left: 6vw !important;
    width: 88vw !important;
  }

}


/* =========================================================
   02 / CARRUSEL
   ELIMINAR TEXTOS INDIVIDUALES DE CADA PROYECTO
========================================================= */

.hero-showcase .hero-visual-caption {
  display: none !important;
}


/* =========================================================
   03 / HERO
   MEJORAR LEGIBILIDAD DE TEXTOS PEQUEÑOS
========================================================= */

/* arquitectura & ingeniería */
#inicio .hero-label {
  display: inline-flex !important;
  width: fit-content !important;

  color: var(--green-dark) !important;

  font-weight: 500 !important;
  letter-spacing: 0.16em !important;

  padding: 7px 11px !important;

  background: rgba(251, 248, 240, 0.30) !important;

  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;

  border-radius: 7px !important;

  text-shadow:
    0 1px 12px rgba(251, 248, 240, 0.80) !important;
}


/* Desarrollamos proyectos... */
#inicio .hero-description {
  color: var(--green-dark) !important;

  font-weight: 500 !important;

  max-width: 610px !important;

  padding: 9px 12px !important;

  background:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.34) 0%,
      rgba(251, 248, 240, 0.24) 70%,
      rgba(251, 248, 240, 0.00) 100%
    ) !important;

  border-radius: 7px !important;

  text-shadow:
    0 1px 14px rgba(251, 248, 240, 0.90) !important;
}
/* =========================================================
   HERO - AJUSTE FINO DE ALINEACIÓN Y TEXTOS
========================================================= */


/* =========================================================
   01 / HEADER
   MISMO MARGEN EXACTO DE 6vw EN AMBOS COSTADOS
========================================================= */

@media (min-width: 769px) {

  .site-header,
  .site-header.is-scrolled {
    left: 6vw !important;
    right: 6vw !important;

    width: auto !important;
    max-width: none !important;

    box-sizing: border-box !important;
  }

}


/* =========================================================
   02 / SHOWCASE
   FORZAR MISMO LÍMITE DERECHO DE LA PÁGINA
========================================================= */

@media (min-width: 769px) {

  #inicio .hero-showcase {
    justify-self: end !important;

    margin-right: 0 !important;
    right: 0 !important;

    box-sizing: border-box !important;
  }

}


/* =========================================================
   03 / QUITAR GLASS INDIVIDUAL DE LOS TEXTOS
========================================================= */

/* arquitectura & ingeniería */

#inicio .hero-label {
  display: block !important;
  width: auto !important;

  padding: 0 !important;

  background: transparent !important;

  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  border: none !important;
  border-radius: 0 !important;

  color: var(--green-dark) !important;

  font-weight: 500 !important;
  letter-spacing: 0.18em !important;

  text-shadow:
    0 2px 14px rgba(251, 248, 240, 0.95),
    0 0 28px rgba(251, 248, 240, 0.70) !important;
}


/* descripción */

#inicio .hero-description {
  max-width: 600px !important;

  padding: 0 !important;

  background: transparent !important;

  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  border: none !important;
  border-radius: 0 !important;

  color: var(--green-dark) !important;

  font-weight: 500 !important;

  text-shadow:
    0 2px 16px rgba(251, 248, 240, 0.95),
    0 0 30px rgba(251, 248, 240, 0.72) !important;
}
/* =========================================================
   NOSOTROS 2026
   STICKY + REVEAL + PROFUNDIDAD + MICROINTERACCIONES
========================================================= */


/* =========================================================
   ESCRITORIO
========================================================= */

@media (min-width: 901px) {

  /* Necesario para que sticky funcione correctamente */
  #nosotros.about-section {
    overflow: visible !important;
  }

  #nosotros .about-grid {
    position: relative !important;
    align-items: start !important;
  }


  /* -------------------------------------------------------
     01 / COLUMNA IZQUIERDA STICKY
  ------------------------------------------------------- */

  #nosotros .about-heading {
    position: sticky !important;
    top: 118px !important;
    align-self: start !important;
  }


  /* -------------------------------------------------------
     02 / IMAGEN EDITORIAL
  ------------------------------------------------------- */

  #nosotros .about-editorial-image {
    position: relative !important;

    margin-top: 52px !important;

    overflow: hidden !important;

    background: rgba(11, 68, 56, 0.04) !important;
  }

  #nosotros .about-editorial-image img {
    width: 100% !important;
    display: block !important;

    transform: scale(1.045) translateY(14px);

    transition:
      transform 1.35s cubic-bezier(.22, .61, .36, 1),
      filter 0.9s ease !important;
  }

  /* Cuando entra en pantalla */
  #nosotros .about-editorial-image.about-is-visible img {
    transform: scale(1) translateY(0);
  }

  /* Hover muy sutil */
  #nosotros .about-editorial-image:hover img {
    transform: scale(1.018) translateY(0);
    filter: brightness(0.98);
  }


  /* Pequeña línea editorial que conecta visualmente columnas */
  #nosotros .about-editorial-image::after {
    content: "";
    position: absolute;

    right: -54px;
    top: 50%;

    width: 54px;
    height: 1px;

    background: rgba(11, 68, 56, 0.20);

    pointer-events: none;
  }


  /* -------------------------------------------------------
     03 / REVEAL GENERAL
  ------------------------------------------------------- */

  #nosotros .about-reveal {
    opacity: 0;
    transform: translateY(28px);

    transition:
      opacity 0.85s ease,
      transform 0.85s cubic-bezier(.22, .61, .36, 1);
  }

  #nosotros .about-reveal.about-is-visible {
    opacity: 1;
    transform: translateY(0);
  }


  /* -------------------------------------------------------
     04 / SECUENCIA DE ENTRADA
  ------------------------------------------------------- */

  #nosotros .section-label.about-reveal {
    transition-delay: 0ms;
  }

  #nosotros .about-heading h2.about-reveal {
    transition-delay: 90ms;
  }

  #nosotros .about-editorial-image.about-reveal {
    transition-delay: 180ms;
  }

  #nosotros .about-lead.about-reveal {
    transition-delay: 220ms;
  }

  #nosotros .about-content > p:not(.about-lead).about-reveal {
    transition-delay: 320ms;
  }

  #nosotros .about-values article:nth-child(1).about-reveal {
    transition-delay: 400ms;
  }

  #nosotros .about-values article:nth-child(2).about-reveal {
    transition-delay: 500ms;
  }

  #nosotros .about-values article:nth-child(3).about-reveal {
    transition-delay: 600ms;
  }


  /* -------------------------------------------------------
     05 / VALORES 01 - 02 - 03
  ------------------------------------------------------- */

  #nosotros .about-values article {
    position: relative !important;

    transition:
      border-color 0.35s ease,
      padding-left 0.4s cubic-bezier(.22, .61, .36, 1) !important;
  }

  #nosotros .about-values article span {
    transition:
      color 0.35s ease,
      transform 0.35s ease !important;
  }

  #nosotros .about-values article h3 {
    transition:
      transform 0.4s cubic-bezier(.22, .61, .36, 1),
      color 0.35s ease !important;
  }


  /* Flecha editorial */
  #nosotros .about-values article::after {
    content: "→";

    position: absolute;
    right: 4px;
    top: 50%;

    color: var(--green-dark);

    font-size: 1rem;
    font-weight: 300;

    opacity: 0;

    transform: translate(-8px, -50%);

    transition:
      opacity 0.35s ease,
      transform 0.4s cubic-bezier(.22, .61, .36, 1);

    pointer-events: none;
  }


  /* Hover */
  #nosotros .about-values article:hover {
    border-bottom-color: rgba(11, 68, 56, 0.36) !important;
  }

  #nosotros .about-values article:hover span {
    color: var(--green-dark) !important;
    transform: translateX(3px);
  }

  #nosotros .about-values article:hover h3 {
    transform: translateX(6px);
  }

  #nosotros .about-values article:hover::after {
    opacity: 0.55;
    transform: translate(0, -50%);
  }

}


/* =========================================================
   TABLET / MÓVIL
   SIN STICKY Y SIN EFECTOS QUE ALTEREN EL DISEÑO APROBADO
========================================================= */

@media (max-width: 900px) {

  #nosotros .about-heading {
    position: relative !important;
    top: auto !important;
  }

  #nosotros .about-editorial-image::after {
    display: none !important;
    content: none !important;
  }

}


/* =========================================================
   ACCESIBILIDAD
========================================================= */

@media (prefers-reduced-motion: reduce) {

  #nosotros .about-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  #nosotros .about-editorial-image img {
    transform: none !important;
    transition: none !important;
  }

}
/* =========================================================
   NOSOTROS 2026 / CAPA EDITORIAL LUMINOSA
========================================================= */

#nosotros.about-section {
  position: relative !important;
  isolation: isolate !important;

  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(139, 161, 141, 0.11) 0%,
      rgba(139, 161, 141, 0.04) 24%,
      transparent 44%
    ),
    radial-gradient(
      circle at 16% 78%,
      rgba(192, 169, 145, 0.12) 0%,
      rgba(192, 169, 145, 0.04) 22%,
      transparent 42%
    ),
    linear-gradient(
      180deg,
      rgb(251, 248, 240) 0%,
      rgb(248, 244, 236) 100%
    ) !important;
}

/* =========================================================
   TÍTULO / DETALLE EDITORIAL
========================================================= */

#nosotros .about-heading h2 {
  position: relative !important;
}

#nosotros .about-heading h2::after {
  content: "";

  display: block;

  width: 0;
  height: 1px;

  margin-top: 28px;

  background: rgba(11, 68, 56, 0.34);

  transition:
    width 1.15s cubic-bezier(.22, .61, .36, 1);
}

#nosotros .about-heading h2.about-is-visible::after {
  width: 72px;
}


/* =========================================================
   IMAGEN / MÁS PROFUNDIDAD
========================================================= */

@media (min-width: 901px) {

  #nosotros .about-editorial-image {
    box-shadow:
      0 28px 60px rgba(11, 68, 56, 0.07),
      0 6px 20px rgba(111, 91, 63, 0.05);

    border: 1px solid rgba(255,255,255,0.38);
  }

}


/* =========================================================
   TEXTO PRINCIPAL / MAYOR JERARQUÍA
========================================================= */

#nosotros .about-lead {
  color: var(--green-dark) !important;

  font-size: 1.12rem !important;
  line-height: 1.75 !important;

  max-width: 620px !important;
}

#nosotros .about-content > p:not(.about-lead) {
  max-width: 610px !important;
}


/* =========================================================
   VALORES 01 / 02 / 03
========================================================= */

@media (min-width: 901px) {

  #nosotros .about-values article {
    padding-left: 0 !important;
    padding-right: 34px !important;

    transition:
      background-color .35s ease,
      padding-left .4s cubic-bezier(.22,.61,.36,1),
      border-color .35s ease !important;
  }

  #nosotros .about-values article:hover {
    padding-left: 14px !important;

    background:
      linear-gradient(
        90deg,
        rgba(139,161,141,0.07),
        rgba(139,161,141,0.00) 72%
      ) !important;
  }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 900px) {

  #nosotros .about-grid::before {
    display: none !important;
  }

  #nosotros .about-heading h2::after {
    width: 52px !important;
  }

}
/* =========================================================
   NOSOTROS - AJUSTES FINALES DE ANIMACIÓN
========================================================= */


/* ---------------------------------------------------------
   01 / ELIMINAR PALABRA EDITORIAL DE FONDO
--------------------------------------------------------- */

#nosotros .about-grid::before {
  display: none !important;
  content: none !important;
}


/* ---------------------------------------------------------
   02 / TÍTULO CON EFECTO DE ESCRITURA
--------------------------------------------------------- */

#nosotros .about-heading h2.about-typing-title {
  opacity: 1 !important;
  transform: none !important;
}

#nosotros .about-heading h2 .about-typing-line {
  display: block;
  min-height: 1.05em;
  white-space: nowrap;
}

#nosotros .about-heading h2 .about-typing-line::after {
  content: "";
  display: inline-block;

  width: 1px;
  height: 0.78em;

  margin-left: 0.04em;

  vertical-align: -0.03em;

  background: currentColor;

  opacity: 0;
}

#nosotros .about-heading h2 .about-typing-line.is-typing::after {
  opacity: 0.35;

  animation: aboutCaretBlink 0.76s steps(1) infinite;
}

@keyframes aboutCaretBlink {

  0%,
  48% {
    opacity: 0.35;
  }

  49%,
  100% {
    opacity: 0;
  }

}


/* ---------------------------------------------------------
   03 / PÁRRAFOS DE LA DERECHA
--------------------------------------------------------- */

#nosotros .about-text-reveal {
  opacity: 0;

  transform:
    translateX(26px)
    translateY(12px);

  transition:
    opacity 0.9s ease,
    transform 0.95s cubic-bezier(.22, .61, .36, 1);
}

#nosotros .about-text-reveal.about-is-visible {
  opacity: 1;

  transform:
    translateX(0)
    translateY(0);
}


/* Lead primero */
#nosotros .about-lead.about-text-reveal {
  transition-delay: 120ms;
}


/* Segundo párrafo después */
#nosotros .about-content > p:not(.about-lead).about-text-reveal {
  transition-delay: 280ms;
}


/* ---------------------------------------------------------
   04 / LÍNEA EDITORIAL BAJO EL TÍTULO
   Se mantiene, pero aparece después de terminar la escritura
--------------------------------------------------------- */

#nosotros .about-heading h2::after {
  width: 0 !important;

  transition:
    width 1s cubic-bezier(.22, .61, .36, 1) !important;
}

#nosotros .about-heading h2.about-typing-complete::after {
  width: 72px !important;
}


/* ---------------------------------------------------------
   ACCESIBILIDAD
--------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  #nosotros .about-typing-line::after {
    display: none !important;
  }

  #nosotros .about-text-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

}
/* =========================================================
   NOSOTROS 2026 - ANIMACIÓN UNIFICADA
========================================================= */


/* ---------------------------------------------------------
   ELIMINAR PALABRA EDITORIAL DE FONDO
--------------------------------------------------------- */

#nosotros .about-grid::before {
  display: none !important;
  content: none !important;
}


/* ---------------------------------------------------------
   LABEL
--------------------------------------------------------- */

#nosotros .about-motion-label {
  opacity: 0 !important;
  transform: translateY(14px) !important;

  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(.22,.61,.36,1) !important;
}

#nosotros .about-motion-label.is-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}


/* ---------------------------------------------------------
   TÍTULO / TYPEWRITER
--------------------------------------------------------- */

#nosotros .about-title-typing {
  opacity: 1 !important;
  transform: none !important;
}

#nosotros .about-title-typing .about-type-line {
  display: block;

  min-height: 1.08em;

  white-space: nowrap;
}


#nosotros .about-title-typing .about-type-line::after {
  content: "";

  display: inline-block;

  width: 1px;
  height: 0.78em;

  margin-left: 0.04em;

  background: currentColor;

  vertical-align: -0.03em;

  opacity: 0;
}


#nosotros .about-title-typing .about-type-line.is-typing::after {
  opacity: 0.36;

  animation:
    aboutCaretUnified 0.72s steps(1) infinite;
}


@keyframes aboutCaretUnified {

  0%,
  48% {
    opacity: 0.36;
  }

  49%,
  100% {
    opacity: 0;
  }

}


/* Línea inferior del título */

#nosotros .about-title-typing::after {
  content: "" !important;

  display: block !important;

  width: 0 !important;
  height: 1px !important;

  margin-top: 28px !important;

  background:
    rgba(11,68,56,0.34) !important;

  transition:
    width 0.9s cubic-bezier(.22,.61,.36,1) !important;
}


#nosotros .about-title-typing.is-complete::after {
  width: 72px !important;
}


/* ---------------------------------------------------------
   IMAGEN
--------------------------------------------------------- */

#nosotros .about-motion-image {
  opacity: 0 !important;

  transform:
    translateY(26px)
    scale(0.985) !important;

  transition:
    opacity 0.95s ease,
    transform 1.15s cubic-bezier(.22,.61,.36,1) !important;
}


#nosotros .about-motion-image.is-in {
  opacity: 1 !important;

  transform:
    translateY(0)
    scale(1) !important;
}


/* Imagen interna */

#nosotros .about-motion-image img {
  transform: scale(1.045) !important;

  transition:
    transform 1.35s cubic-bezier(.22,.61,.36,1) !important;
}


#nosotros .about-motion-image.is-in img {
  transform: scale(1) !important;
}


/* ---------------------------------------------------------
   PÁRRAFOS DERECHOS
--------------------------------------------------------- */

#nosotros .about-motion-copy {
  opacity: 0 !important;

  transform:
    translateX(34px)
    translateY(14px) !important;

  transition:
    opacity 0.9s ease,
    transform 1s cubic-bezier(.22,.61,.36,1) !important;
}


#nosotros .about-motion-copy.is-in {
  opacity: 1 !important;

  transform:
    translateX(0)
    translateY(0) !important;
}


/* ---------------------------------------------------------
   VALORES 01 / 02 / 03
--------------------------------------------------------- */

#nosotros .about-motion-value {
  opacity: 0 !important;

  transform:
    translateY(22px) !important;

  transition:
    opacity 0.75s ease,
    transform 0.85s cubic-bezier(.22,.61,.36,1),
    padding-left 0.4s cubic-bezier(.22,.61,.36,1),
    background-color 0.35s ease !important;
}


#nosotros .about-motion-value.is-in {
  opacity: 1 !important;

  transform:
    translateY(0) !important;
}


/* ---------------------------------------------------------
   MÓVIL
--------------------------------------------------------- */

@media (max-width: 900px) {

  #nosotros .about-title-typing .about-type-line {
    white-space: normal !important;
  }

}


/* ---------------------------------------------------------
   MOVIMIENTO REDUCIDO
--------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  #nosotros .about-motion-label,
  #nosotros .about-motion-image,
  #nosotros .about-motion-copy,
  #nosotros .about-motion-value {
    opacity: 1 !important;

    transform: none !important;

    transition: none !important;
  }

  #nosotros .about-type-line::after {
    display: none !important;
  }

}
/* =========================================================
   NOSOTROS 2026
   PLACA GLASS EDITORIAL / PROPUESTA APROBADA
========================================================= */

@media (min-width: 901px) {

  /* -------------------------------------------------------
     01 / SECCIÓN
     Mantiene el mismo margen general de 6vw
  ------------------------------------------------------- */

  #nosotros.about-section {
    position: relative !important;

    padding-left: 6vw !important;
    padding-right: 6vw !important;

    overflow: visible !important;
  }


  /* -------------------------------------------------------
     02 / RETÍCULA
  ------------------------------------------------------- */

  #nosotros .about-grid {
    display: grid !important;

    grid-template-columns:
      minmax(0, 1.08fr)
      minmax(0, 0.92fr) !important;

    gap: clamp(64px, 6vw, 110px) !important;

    align-items: start !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
  }


  /* -------------------------------------------------------
     03 / PLACA GLASS IZQUIERDA
  ------------------------------------------------------- */

  #nosotros .about-heading {
    position: sticky !important;

    top: 116px !important;

    align-self: start !important;

    width: 100% !important;

    padding:
      clamp(30px, 2.8vw, 46px)
      clamp(30px, 3vw, 50px)
      clamp(26px, 2.6vw, 42px) !important;

    border:
      1px solid rgba(255, 255, 255, 0.48) !important;

    border-radius: 24px !important;

    background:
      linear-gradient(
        145deg,
        rgba(251, 248, 240, 0.50),
        rgba(251, 248, 240, 0.26)
      ) !important;

    -webkit-backdrop-filter:
      blur(16px)
      saturate(118%) !important;

    backdrop-filter:
      blur(16px)
      saturate(118%) !important;

    box-shadow:
      0 26px 70px rgba(11, 68, 56, 0.055),
      0 6px 18px rgba(111, 91, 63, 0.035),
      inset 0 1px 0 rgba(255, 255, 255, 0.52) !important;

    overflow: hidden !important;

    isolation: isolate !important;
  }


  /* Luz interior muy tenue */
  #nosotros .about-heading::before {
    content: "";

    position: absolute;

    inset: 0;

    z-index: -1;

    pointer-events: none;

    background:
      radial-gradient(
        circle at 18% 12%,
        rgba(255, 255, 255, 0.30),
        transparent 36%
      ),
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.08),
        transparent 42%
      );
  }


  /* -------------------------------------------------------
     04 / LABEL NOSOTROS
  ------------------------------------------------------- */

  #nosotros .about-heading .section-label {
    margin:
      0
      0
      24px !important;

    color: var(--brown) !important;

    font-size: 0.70rem !important;

    line-height: 1.4 !important;

    letter-spacing: 0.20em !important;

    text-transform: uppercase !important;
  }


  /* -------------------------------------------------------
     05 / TÍTULO
  ------------------------------------------------------- */

  #nosotros .about-heading h2 {
    max-width: 760px !important;

    margin: 0 !important;

    color: var(--green-dark) !important;

    font-size:
      clamp(2.9rem, 4.6vw, 5.25rem) !important;

    line-height: 1.02 !important;

    letter-spacing: -0.052em !important;

    font-weight: 300 !important;
  }


  /* Línea editorial que aparece al terminar escritura */
  #nosotros .about-heading h2::after {
    margin-top: 26px !important;

    background:
      rgba(11, 68, 56, 0.30) !important;
  }


  /* -------------------------------------------------------
     06 / IMAGEN DE MAQUETA
  ------------------------------------------------------- */

  #nosotros .about-editorial-image {
    position: relative !important;

    width: 100% !important;

    margin:
      clamp(34px, 3vw, 48px)
      0
      0 !important;

    border-radius: 15px !important;

    overflow: hidden !important;

    border:
      1px solid rgba(255, 255, 255, 0.44) !important;

    background:
      rgba(11, 68, 56, 0.035) !important;

    box-shadow:
      0 18px 44px rgba(11, 68, 56, 0.065) !important;
  }


  #nosotros .about-editorial-image img {
    width: 100% !important;

    aspect-ratio: 16 / 9 !important;

    display: block !important;

    object-fit: cover !important;

    object-position: center center !important;
  }


  /* Eliminamos la antigua línea que salía de la imagen */
  #nosotros .about-editorial-image::after {
    display: none !important;

    content: none !important;
  }


  /* -------------------------------------------------------
     07 / PEQUEÑO REMATE EDITORIAL BAJO LA IMAGEN
  ------------------------------------------------------- */

  #nosotros .about-heading {
    padding-bottom:
      clamp(34px, 3vw, 46px) !important;
  }

  #nosotros .about-editorial-image + * {
    margin-top: 0 !important;
  }


  /* Línea decorativa inferior */
  #nosotros .about-heading::after {
    content: "";

    display: block;

    width: 72px;
    height: 1px;

    margin:
      26px
      0
      0
      auto;

    background:
      rgba(11, 68, 56, 0.28);

    pointer-events: none;
  }


  /* -------------------------------------------------------
     08 / COLUMNA DERECHA
     Limpia para contrastar con el glass
  ------------------------------------------------------- */

  #nosotros .about-content {
    position: relative !important;

    align-self: start !important;

    padding-top:
      clamp(42px, 4.4vw, 72px) !important;
  }


  #nosotros .about-lead {
    max-width: 650px !important;

    margin-bottom: 28px !important;

    color: var(--green-dark) !important;

    font-size: 1.10rem !important;

    line-height: 1.78 !important;

    font-weight: 400 !important;
  }


  #nosotros .about-content > p:not(.about-lead) {
    max-width: 640px !important;

    color: var(--text-muted) !important;

    font-size: 0.96rem !important;

    line-height: 1.80 !important;
  }


  /* -------------------------------------------------------
     09 / PUNTOS 01 02 03
  ------------------------------------------------------- */

  #nosotros .about-values {
    margin-top:
      clamp(72px, 8vw, 120px) !important;

    border-top:
      1px solid rgba(11, 68, 56, 0.28) !important;
  }


  #nosotros .about-values article {
    position: relative !important;

    padding:
      28px
      44px
      30px
      0 !important;

    border-bottom:
      1px solid rgba(11, 68, 56, 0.16) !important;
  }


  /* Flecha más limpia */
  #nosotros .about-values article::after {
    content: "→" !important;

    position: absolute !important;

    right: 4px !important;
    top: 50% !important;

    color:
      rgba(11, 68, 56, 0.55) !important;

    font-size: 1.08rem !important;

    opacity: 0 !important;

    transform:
      translate(-8px, -50%) !important;

    transition:
      opacity 0.35s ease,
      transform 0.40s
        cubic-bezier(.22,.61,.36,1) !important;
  }


  #nosotros .about-values article:hover::after {
    opacity: 1 !important;

    transform:
      translate(0, -50%) !important;
  }


  #nosotros .about-values article:hover {
    padding-left: 12px !important;

    background:
      linear-gradient(
        90deg,
        rgba(139, 161, 141, 0.065),
        rgba(139, 161, 141, 0.00) 72%
      ) !important;
  }

}


/* =========================================================
   TABLET / MÓVIL
   Conserva el diseño móvil aprobado
========================================================= */

@media (max-width: 900px) {

  #nosotros .about-heading {
    position: relative !important;

    top: auto !important;

    padding: 0 !important;

    border: none !important;

    border-radius: 0 !important;

    background: transparent !important;

    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;

    box-shadow: none !important;
  }


  #nosotros .about-heading::before,
  #nosotros .about-heading::after {
    display: none !important;

    content: none !important;
  }

}
/* =========================================================
   NOSOTROS - CORRECCIÓN TÍTULO DENTRO DE PLACA GLASS
========================================================= */

@media (min-width: 901px) {

  #nosotros .about-heading h2,
  #nosotros .about-heading h2.about-title-typing {
    width: 100% !important;
    max-width: 100% !important;

    font-size: clamp(2.9rem, 3.35vw, 4.15rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.045em !important;

    overflow: visible !important;
  }

  #nosotros .about-title-typing .about-type-line {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    white-space: nowrap !important;

    overflow: visible !important;
  }

}


/* Escritorios intermedios:
   reducimos un poco antes de llegar a tablet */
@media (min-width: 901px) and (max-width: 1250px) {

  #nosotros .about-heading h2,
  #nosotros .about-heading h2.about-title-typing {
    font-size: clamp(2.65rem, 4vw, 3.45rem) !important;
  }

}
/* =========================================================
   PROCESO 2026
   FONDO ARQUITECTÓNICO + GLASS CARDS
========================================================= */

#proceso.process-section-2026 {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;

  min-height: 100vh !important;

  padding:
    clamp(110px, 10vw, 160px)
    6vw
    clamp(80px, 8vw, 130px) !important;

  border-top:
    1px solid rgba(11, 68, 56, 0.08) !important;

  border-bottom:
    1px solid rgba(11, 68, 56, 0.10) !important;


  /* Fondo con MÁS protagonismo */
  background-color: #fbf8f0 !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(251, 248, 240, 0.78) 0%,
      rgba(251, 248, 240, 0.62) 36%,
      rgba(251, 248, 240, 0.32) 63%,
      rgba(251, 248, 240, 0.12) 100%
    ),
    url("assets/img/editorial/proceso-fondo-2026.jpg") !important;

  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}


/* elimina definitivamente pseudo-elementos antiguos */
#proceso.process-section-2026::before,
#proceso.process-section-2026::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   CONTENIDO
========================================================= */

#proceso .process-content-2026 {
  position: relative !important;
  z-index: 2 !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
}


/* =========================================================
   INTRO
========================================================= */

#proceso .process-intro-2026 {
  max-width: 790px !important;
  margin: 0 0 clamp(80px, 9vw, 140px) !important;
}


#proceso .process-intro-2026 .section-label {
  margin-bottom: 28px !important;
}


#proceso .process-intro-2026 h2 {
  margin: 0 !important;

  max-width: 780px !important;

  color: var(--green-dark) !important;

  font-size:
    clamp(3.2rem, 5vw, 5.6rem) !important;

  line-height: 1.02 !important;

  letter-spacing: -0.052em !important;

  font-weight: 300 !important;
}


/* Texto adicional de apoyo */
#proceso .process-description-2026 {
  max-width: 630px !important;

  margin: 32px 0 0 !important;

  color: rgba(11, 68, 56, 0.60) !important;

  font-size: 1rem !important;

  line-height: 1.75 !important;

  font-weight: 400 !important;
}


/* =========================================================
   GRID
========================================================= */

#proceso .process-grid-2026 {
  display: grid !important;

  grid-template-columns:
    repeat(4, minmax(0, 1fr)) !important;

  gap: 22px !important;

  margin: 0 !important;

  transform: none !important;
}


/* =========================================================
   TARJETAS GLASS
========================================================= */

#proceso .process-card-2026 {
  position: relative !important;

  min-height: 310px !important;

  padding:
    24px
    26px
    30px !important;

  border:
    1px solid rgba(255, 255, 255, 0.58) !important;

  border-radius: 18px !important;

  background:
    linear-gradient(
      145deg,
      rgba(251, 248, 240, 0.52),
      rgba(251, 248, 240, 0.27)
    ) !important;

  -webkit-backdrop-filter:
    blur(16px)
    saturate(120%) !important;

  backdrop-filter:
    blur(16px)
    saturate(120%) !important;

  box-shadow:
    0 22px 48px rgba(11, 68, 56, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.50) !important;

  overflow: hidden !important;

  transition:
    transform 0.45s cubic-bezier(.22,.61,.36,1),
    background-color 0.35s ease,
    box-shadow 0.45s ease !important;
}


/* eliminar antigua línea superior */
#proceso .process-card-2026 {
  border-top:
    1px solid rgba(255,255,255,0.58) !important;
}


/* =========================================================
   NÚMERO
========================================================= */

#proceso .process-number {
  display: block !important;

  margin: 0 0 18px !important;

  color: var(--brown) !important;

  font-size: 0.70rem !important;

  line-height: 1 !important;

  letter-spacing: 0.18em !important;
}


/* =========================================================
   ICONOS
========================================================= */

#proceso .process-icon-wrap {
  width: 48px !important;
  height: 48px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-bottom: 22px !important;

  border-radius: 50% !important;

  background:
    rgba(251, 248, 240, 0.56) !important;

  border:
    1px solid rgba(255,255,255,0.48) !important;

  box-shadow:
    0 8px 20px rgba(11,68,56,0.035) !important;
}


#proceso .process-icon-img {
  width: 26px !important;
  height: 26px !important;

  object-fit: contain !important;

  display: block !important;

  opacity: 0.82 !important;
}


/* =========================================================
   TITULOS
========================================================= */

#proceso .process-card-2026 h3 {
  margin: 0 0 18px !important;

  color: var(--green-dark) !important;

  font-size:
    clamp(1.35rem, 1.8vw, 2rem) !important;

  line-height: 1.08 !important;

  letter-spacing: -0.035em !important;

  font-weight: 300 !important;
}


/* =========================================================
   DESCRIPCIONES
========================================================= */

#proceso .process-card-2026 p {
  margin: 0 !important;

  color:
    rgba(11, 68, 56, 0.68) !important;

  font-size: 0.91rem !important;

  line-height: 1.65 !important;

  display: block !important;

  overflow: visible !important;

  -webkit-line-clamp: unset !important;
}


/* =========================================================
   HOVER
========================================================= */

@media (hover: hover) and (pointer: fine) {

  #proceso .process-card-2026:hover {
    transform: translateY(-6px) !important;

    background:
      linear-gradient(
        145deg,
        rgba(251, 248, 240, 0.66),
        rgba(251, 248, 240, 0.34)
      ) !important;

    box-shadow:
      0 28px 58px rgba(11, 68, 56, 0.085),
      inset 0 1px 0 rgba(255, 255, 255, 0.60) !important;
  }


  #proceso .process-card-2026:hover
  .process-icon-wrap {
    transform: scale(1.04);
  }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) and (min-width: 769px) {

  #proceso .process-grid-2026 {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

}


/* =========================================================
   MÓVIL
   Mantener diseño más compacto
========================================================= */

@media (max-width: 768px) {

  #proceso.process-section-2026 {
    min-height: auto !important;

    padding:
      82px
      6vw
      76px !important;

    background-image:
      linear-gradient(
        180deg,
        rgba(251, 248, 240, 0.84) 0%,
        rgba(251, 248, 240, 0.68) 48%,
        rgba(251, 248, 240, 0.88) 100%
      ),
      url("assets/img/editorial/proceso-fondo-mobile.jpg") !important;

    background-position: center center !important;
  }


  #proceso .process-intro-2026 {
    margin-bottom: 46px !important;
  }


  #proceso .process-intro-2026 h2 {
    font-size:
      clamp(2.15rem, 10vw, 3rem) !important;

    line-height: 1.08 !important;
  }


  #proceso .process-description-2026 {
    font-size: 0.88rem !important;
  }


  #proceso .process-grid-2026 {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 14px !important;
  }


  #proceso .process-card-2026 {
    min-height: 210px !important;

    padding:
      18px
      14px
      18px !important;

    border-radius: 16px !important;

    background:
      rgba(251, 248, 240, 0.70) !important;

    -webkit-backdrop-filter:
      blur(10px) !important;

    backdrop-filter:
      blur(10px) !important;
  }


  #proceso .process-icon-wrap {
    width: 38px !important;
    height: 38px !important;

    margin-bottom: 16px !important;
  }


  #proceso .process-icon-img {
    width: 22px !important;
    height: 22px !important;
  }


  #proceso .process-card-2026 h3 {
    font-size:
      clamp(1rem, 4.8vw, 1.25rem) !important;
  }


  #proceso .process-card-2026 p {
    font-size: 0.75rem !important;

    line-height: 1.5 !important;
  }

}
/* =========================================================
   PROCESO 2026
   AJUSTE DE ESCALA PARA MOSTRAR ISLAS EN PRIMER VIEWPORT
========================================================= */

@media (min-width: 1200px) {

  /* Intro más compacto */
  #proceso .process-intro-2026 {
    max-width: 720px !important;

    margin:
      0
      0
      clamp(40px, 4vw, 64px) !important;
  }


  /* Título más pequeño */
  #proceso .process-intro-2026 h2 {
    max-width: 720px !important;

    font-size:
      clamp(2.75rem, 3.65vw, 4.25rem) !important;

    line-height: 1.01 !important;

    letter-spacing: -0.045em !important;
  }


  /* Texto descriptivo más cercano */
  #proceso .process-description-2026 {
    max-width: 600px !important;

    margin-top: 22px !important;

    font-size: 0.93rem !important;

    line-height: 1.65 !important;
  }


  /* Un poco menos de padding superior/inferior */
  #proceso.process-section-2026 {
    padding-top:
      clamp(96px, 7vw, 118px) !important;

    padding-bottom:
      clamp(56px, 5vw, 82px) !important;
  }


  /* Islas ligeramente más compactas */
  #proceso .process-card-2026 {
    min-height: 268px !important;

    padding:
      20px
      24px
      24px !important;
  }


  #proceso .process-icon-wrap {
    width: 44px !important;
    height: 44px !important;

    margin-bottom: 16px !important;
  }


  #proceso .process-icon-img {
    width: 24px !important;
    height: 24px !important;
  }


  #proceso .process-card-2026 h3 {
    margin-bottom: 14px !important;

    font-size:
      clamp(1.25rem, 1.55vw, 1.7rem) !important;
  }


  #proceso .process-card-2026 p {
    font-size: 0.86rem !important;

    line-height: 1.55 !important;
  }

}
/* =========================================================
   SERVICIOS - AJUSTE FINAL CON GLASS + PROXIMIDAD
========================================================= */

#servicios {
  position: relative;
  overflow: hidden;
}

#servicios .section-intro {
  margin-bottom: 42px;
}

#servicios .section-label {
  margin-bottom: 18px;
}

#servicios .services-title {
  max-width: 100%;
  margin: 0;
  color: var(--green-dark);
  font-size: clamp(3.2rem, 4vw, 5.15rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
  font-weight: 300;
  white-space: nowrap;
}

/* efecto de escritura */
#servicios .services-typing {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

#servicios .services-typing.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* grid */
#servicios .services-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 46px !important;
  align-items: stretch !important;
}

/* tarjetas / islas */
#servicios .services-grid > article,
#servicios .services-grid .service-card,
#servicios .services-grid .service-editorial-item {
  position: relative !important;
  min-height: 280px !important;
  padding: 28px 24px 24px !important;
  border-radius: 26px !important;
  overflow: hidden !important;

  background: rgba(251, 248, 240, 0.34) !important;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
  box-shadow:
    0 12px 34px rgba(11, 68, 56, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;

  transition:
    transform 0.35s ease,
    background 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    opacity 0.35s ease !important;

  transform-style: preserve-3d;
  will-change: transform;
}

/* brillo interno */
#servicios .services-grid > article::before,
#servicios .services-grid .service-card::before,
#servicios .services-grid .service-editorial-item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(
      420px circle at var(--mx, 50%) var(--my, 50%),
      rgba(255, 255, 255, 0.30),
      rgba(255, 255, 255, 0.10) 34%,
      rgba(255, 255, 255, 0.02) 60%,
      transparent 78%
    );
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

/* hover / proximidad */
#servicios .services-grid > article:hover,
#servicios .services-grid .service-card:hover,
#servicios .services-grid .service-editorial-item:hover,
#servicios .services-grid > article.is-proximity,
#servicios .services-grid .service-card.is-proximity,
#servicios .services-grid .service-editorial-item.is-proximity {
  background: rgba(251, 248, 240, 0.52) !important;
  border-color: rgba(11, 68, 56, 0.14) !important;
  box-shadow:
    0 24px 54px rgba(11, 68, 56, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;
}

#servicios .services-grid > article:hover::before,
#servicios .services-grid .service-card:hover::before,
#servicios .services-grid .service-editorial-item:hover::before,
#servicios .services-grid > article.is-proximity::before,
#servicios .services-grid .service-card.is-proximity::before,
#servicios .services-grid .service-editorial-item.is-proximity::before {
  opacity: 1;
}

/* íconos */
#servicios .service-icon {
  width: 52px !important;
  height: 52px !important;
  display: grid !important;
  place-items: center !important;
  margin-bottom: 22px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.30);
  border: 1px solid rgba(11, 68, 56, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
  transition:
    transform 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease;
}

#servicios .service-icon svg {
  width: 26px !important;
  height: 26px !important;
  opacity: 0.82;
}

#servicios .services-grid > article:hover .service-icon,
#servicios .services-grid .service-card:hover .service-icon,
#servicios .services-grid .service-editorial-item:hover .service-icon,
#servicios .services-grid > article.is-proximity .service-icon,
#servicios .services-grid .service-card.is-proximity .service-icon,
#servicios .services-grid .service-editorial-item.is-proximity .service-icon {
  transform: scale(1.06);
  background: rgba(255, 255, 255, 0.45);
  box-shadow:
    0 10px 24px rgba(11, 68, 56, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

/* numeración */
#servicios .services-grid > article span,
#servicios .services-grid .service-card span,
#servicios .services-grid .service-editorial-item span {
  display: block !important;
  margin: 0 0 14px !important;
  color: var(--brown) !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* títulos de tarjetas */
#servicios .services-grid > article h3,
#servicios .services-grid .service-card h3,
#servicios .services-grid .service-editorial-item h3 {
  margin: 0 0 14px !important;
  color: var(--green-dark) !important;
  font-size: clamp(1.45rem, 1.7vw, 2rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 300 !important;
  max-width: none !important;
}

/* párrafos */
#servicios .services-grid > article p,
#servicios .services-grid .service-card p,
#servicios .services-grid .service-editorial-item p {
  margin: 0 !important;
  color: var(--text-muted) !important;
  font-size: 0.98rem !important;
  line-height: 1.72 !important;
  max-width: none !important;
}

/* tablet */
@media (max-width: 1280px) {
  #servicios .services-title {
    white-space: normal;
    max-width: 900px;
    font-size: clamp(2.8rem, 4.4vw, 4.2rem);
  }

  #servicios .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* móvil */
@media (max-width: 768px) {
  #servicios .section-intro {
    margin-bottom: 26px;
  }

  #servicios .services-title {
    white-space: normal;
    font-size: clamp(2.2rem, 8.5vw, 3rem);
    line-height: 1.06;
  }

  #servicios .services-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 28px !important;
  }

  #servicios .services-grid > article,
  #servicios .services-grid .service-card,
  #servicios .services-grid .service-editorial-item {
    min-height: auto !important;
    padding: 22px 18px 20px !important;
    border-radius: 20px !important;
    transform: none !important;
  }

  #servicios .service-icon {
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 18px !important;
  }

  #servicios .service-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
}
/* =========================================================
   SERVICIOS - CENTRADO LIMPIO DE ÍCONOS
   Sin alterar grosor ni apariencia original del SVG
========================================================= */

#servicios .service-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 52px !important;
  height: 52px !important;

  padding: 0 !important;

  line-height: 0 !important;
}


/* SVG centrado sin modificar sus trazos */
#servicios .service-icon svg {
  display: block !important;

  width: 25px !important;
  height: 25px !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 0 auto !important;

  transform: none !important;

  opacity: 0.72 !important;
}


/* 07 y 08 tienen un viewBox distinto, solo ajustamos tamaño */
#servicios .service-card .service-icon svg {
  width: 24px !important;
  height: 24px !important;

  opacity: 0.72 !important;
}


/* Mantener el aspecto ligero al hacer hover */
#servicios .services-grid > article:hover .service-icon svg,
#servicios .services-grid .service-card:hover .service-icon svg,
#servicios .services-grid .service-editorial-item:hover .service-icon svg,
#servicios .services-grid > article.is-proximity .service-icon svg,
#servicios .services-grid .service-card.is-proximity .service-icon svg,
#servicios .services-grid .service-editorial-item.is-proximity .service-icon svg {
  opacity: 0.82 !important;

  transform: scale(1.04) !important;
}
/* =========================================================
   SERVICIOS - AJUSTE DE PROPORCIÓN Y UNIFORMIDAD
========================================================= */

#servicios .services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

#servicios .services-grid > article,
#servicios .service-card,
#servicios .service-editorial-item {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;

  min-height: 315px;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* burbuja del icono */
#servicios .service-icon {
  margin-bottom: 18px;
  flex: 0 0 auto;
}

/* número */
#servicios .service-number {
  display: block;
  margin-bottom: 12px;
  flex: 0 0 auto;
}

/* título uniforme */
#servicios h3,
#servicios .service-title {
  margin: 0 0 16px 0;
  min-height: 84px;   /* reserva espacio para títulos de 1 o 2 líneas */
  max-width: 100%;

  line-height: 1.08;
  letter-spacing: -0.02em;

  display: flex;
  align-items: flex-start;
}

/* párrafo uniforme */
#servicios p,
#servicios .service-description {
  margin: 0;
  min-height: 120px;

  line-height: 1.75;
}

/* ajuste fino para las tarjetas 07 y 08 */
#servicios .services-grid > article:nth-child(7) h3,
#servicios .services-grid > article:nth-child(8) h3,
#servicios .services-grid > article:nth-child(7) .service-title,
#servicios .services-grid > article:nth-child(8) .service-title {
  font-size: clamp(1.9rem, 1.85vw, 2.2rem);
  line-height: 1.06;
}
/* =========================================================
   SERVICIOS - POSICIÓN DEFINITIVA DEL ENCABEZADO
========================================================= */

@media (min-width: 769px) {

  /* Mantiene la sección debajo del header glass */
  #servicios.section.services-section {
    padding-top: 112px !important;
  }


  /* El intro ya no reserva espacios innecesarios */
  #servicios .section-intro {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 36px 0 !important;
    padding: 0 !important;
  }


  /* SERVICIOS */
  #servicios .section-intro .section-label {
    display: block !important;

    width: fit-content !important;

    margin:
      0
      0
      20px
      0 !important;

    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    position: relative !important;
    top: auto !important;

    transform: none !important;
  }


  /* Título */
  #servicios .section-intro h2,
  #servicios .section-intro .services-title,
  #servicios .section-intro .services-typing {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;
    top: auto !important;

    line-height: 1.02 !important;

    /* El efecto de escritura puede usar opacity,
       pero no debe desplazar físicamente el título */
    transform: none !important;
  }


  /* Acerca las islas al título */
  #servicios .services-grid {
    margin-top: 34px !important;
  }

}
/* =========================================================
   PROYECTOS 2026
   ENCABEZADO + GLASS + PROXIMIDAD + TARJETAS COMPACTAS
========================================================= */

@media (min-width: 901px) {

  /* =======================================================
     01 / SECCIÓN DEBAJO DEL HEADER GLASS
  ======================================================= */

  #proyectos.projects-section {
    padding-top: 116px !important;
  }

  #proyectos .projects-feature-bg {
    position: relative !important;
    overflow: visible !important;
  }


  /* =======================================================
     02 / ENCABEZADO
  ======================================================= */

  #proyectos .projects-intro {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 42px !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;
  }


  /* PROYECTOS */
  #proyectos .projects-intro .section-kicker {
    display: block !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    color: var(--brown) !important;

    font-size: 0.72rem !important;
    line-height: 1 !important;

    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
  }


  /* Título */
  #proyectos .projects-intro h2 {
    max-width: 1080px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size:
      clamp(2.8rem, 3.8vw, 4.6rem) !important;

    line-height: 1.02 !important;
    letter-spacing: -0.05em !important;
    font-weight: 300 !important;

    color: var(--green-dark) !important;
  }


  /* =======================================================
     03 / ACERCAR 01 — ARQUITECTURA
  ======================================================= */

  #arquitectura.portfolio-block {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #arquitectura .portfolio-block-heading {
    margin: 0 0 24px !important;
    padding: 0 !important;
  }

  #arquitectura .portfolio-block-heading .section-label {
    margin: 0 !important;
  }


  /* =======================================================
     04 / GRID
  ======================================================= */

  #arquitectura .projects-grid {
    display: grid !important;

    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;

    gap: 26px !important;

    margin-top: 0 !important;

    align-items: stretch !important;
  }


  /* =======================================================
     05 / TARJETA GLASS
  ======================================================= */

  #arquitectura .project-card {
    position: relative !important;

    min-width: 0 !important;
    min-height: 0 !important;

    padding: 0 !important;

    border:
      1px solid rgba(255,255,255,0.50) !important;

    border-radius: 22px !important;

    background:
      rgba(251,248,240,0.34) !important;

    -webkit-backdrop-filter:
      blur(14px)
      saturate(122%) !important;

    backdrop-filter:
      blur(14px)
      saturate(122%) !important;

    box-shadow:
      0 16px 38px rgba(11,68,56,0.055),
      inset 0 1px 0 rgba(255,255,255,0.55) !important;

    overflow: hidden !important;

    transform-style: preserve-3d !important;
    will-change: transform !important;

    transition:
      transform .36s cubic-bezier(.22,.61,.36,1),
      background-color .35s ease,
      border-color .35s ease,
      box-shadow .4s ease !important;
  }


  /* Luz que sigue el cursor */
  #arquitectura .project-card::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 5;

    pointer-events: none;

    background:
      radial-gradient(
        440px circle
        at var(--project-mx, 50%)
        var(--project-my, 50%),

        rgba(255,255,255,0.24),
        rgba(255,255,255,0.07) 38%,
        transparent 68%
      );

    opacity: 0;

    transition:
      opacity .35s ease;
  }


  #arquitectura .project-card.is-project-proximity {
    background:
      rgba(251,248,240,0.50) !important;

    border-color:
      rgba(11,68,56,0.12) !important;

    box-shadow:
      0 28px 58px rgba(11,68,56,0.10),
      inset 0 1px 0 rgba(255,255,255,0.70) !important;
  }


  #arquitectura
  .project-card.is-project-proximity::before {
    opacity: 1;
  }


  /* =======================================================
     06 / LINK COMPLETO
  ======================================================= */

  #arquitectura .project-link {
    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    flex-direction: column !important;

    color: inherit !important;
    text-decoration: none !important;
  }


  /* =======================================================
     07 / IMAGEN MÁS CORTA
  ======================================================= */

  #arquitectura .project-image-wrap {
    width: 100% !important;

    aspect-ratio: 4 / 4.25 !important;

    margin: 0 !important;

    border: none !important;
    border-radius: 0 !important;

    overflow: hidden !important;
  }


  #arquitectura .project-img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    transition:
      transform .8s cubic-bezier(.22,.61,.36,1),
      filter .6s ease !important;
  }


  #arquitectura
  .project-card.is-project-proximity
  .project-img {
    transform: scale(1.035) !important;
    filter: brightness(.96) !important;
  }


  /* =======================================================
     08 / INFORMACIÓN MUCHO MÁS COMPACTA
  ======================================================= */

  #arquitectura
  .project-card
  .project-link
  .project-info {

    min-height: 118px !important;

    padding:
      18px
      22px
      18px !important;

    margin: 0 !important;

    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      auto !important;

    grid-template-rows:
      auto
      auto !important;

    column-gap: 18px !important;
    row-gap: 8px !important;

    align-items: end !important;

    border: none !important;

    background:
      linear-gradient(
        145deg,
        rgba(251,248,240,0.44),
        rgba(251,248,240,0.22)
      ) !important;
  }


  /* número + nombre */
  #arquitectura
  .project-info > div:first-child {

    grid-column: 1 !important;
    grid-row: 1 / 3 !important;

    align-self: center !important;
  }


  #arquitectura .project-number {
    margin: 0 0 7px !important;

    font-size: .66rem !important;
  }


  #arquitectura .project-info h3 {
    margin: 0 !important;

    font-size:
      clamp(1.25rem,1.55vw,1.65rem) !important;

    line-height: 1.05 !important;
  }


  /* categoría + ver */
  #arquitectura .project-meta {

    grid-column: 2 !important;
    grid-row: 1 / 3 !important;

    display: flex !important;
    flex-direction: column !important;

    justify-content: center !important;
    align-items: flex-end !important;

    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: right !important;
  }


  #arquitectura .project-category {
    margin: 0 !important;
    padding: 0 !important;

    max-width: 180px !important;

    text-align: right !important;

    font-size: .64rem !important;

    line-height: 1.35 !important;
  }


  #arquitectura .view-project {
    margin: 0 !important;
    padding: 0 !important;

    font-size: .63rem !important;

    opacity: .58 !important;

    transition:
      opacity .3s ease,
      transform .35s ease !important;
  }


  #arquitectura
  .project-card:hover
  .view-project,
  #arquitectura
  .project-card.is-project-proximity
  .view-project {

    opacity: 1 !important;

    transform:
      translateX(3px) !important;
  }

}
/* =========================================================
   PROYECTOS 2026
   FONDO DESDE EL LÍMITE SUPERIOR DEL VIEWPORT
========================================================= */

@media (min-width: 901px) {

  /* -------------------------------------------------------
     01 / LA SECCIÓN SE ALINEA AL TOP AL NAVEGAR
  ------------------------------------------------------- */

  #proyectos.projects-section {
    position: relative !important;

    margin-top: 0 !important;

    padding:
      0
      6vw
      0 !important;

    scroll-margin-top: 0 !important;

    background-color:
      var(--beige) !important;

    overflow: visible !important;
  }


  /* -------------------------------------------------------
     02 / EL FONDO COMIENZA DESDE ARRIBA
  ------------------------------------------------------- */

  #proyectos .projects-feature-bg {
    position: relative !important;

    margin:
      0
      -6vw
      0 !important;

    padding:
      124px
      6vw
      clamp(62px, 6vw, 96px) !important;

    min-height: auto !important;

    background-color:
      var(--beige) !important;

    background-image:
      linear-gradient(
        90deg,
        rgba(251,248,240,0.70) 0%,
        rgba(251,248,240,0.60) 34%,
        rgba(251,248,240,0.38) 68%,
        rgba(251,248,240,0.22) 100%
      ),
      url("assets/img/editorial/fondo-proyectos-travertino-logo.jpg") !important;

    background-size:
      cover !important;

    /* SUBIMOS VISUALMENTE LA ARQUITECTURA */
    background-position:
      center 18% !important;

    background-repeat:
      no-repeat !important;

    border: none !important;
  }


  /* -------------------------------------------------------
     03 / INTRO MÁS COMPACTO
  ------------------------------------------------------- */

  #proyectos .projects-intro {
    margin:
      0
      0
      34px !important;

    padding: 0 !important;

    min-height: 0 !important;
  }


  #proyectos .projects-intro .section-kicker {
    margin:
      0
      0
      16px !important;
  }


  #proyectos .projects-intro h2 {
    margin: 0 !important;

    max-width: 1040px !important;
  }


  /* -------------------------------------------------------
     04 / ACERCAR 01 — ARQUITECTURA
  ------------------------------------------------------- */

  #proyectos #arquitectura {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  #proyectos
  #arquitectura
  .portfolio-block-heading {

    margin:
      0
      0
      22px !important;
  }

}
/* =========================================================
   PROYECTOS 2026
   ANIMACIÓN DE ENCABEZADO
========================================================= */


/* ---------------------------------------------------------
   PROYECTOS / DESPLAZAMIENTO SUTIL
--------------------------------------------------------- */

#proyectos.projects-motion-ready
.projects-intro .section-kicker {

  opacity: 0;

  transform:
    translateY(14px)
    translateX(-8px);

  transition:
    opacity .70s ease,
    transform .80s cubic-bezier(.22,.61,.36,1);
}


#proyectos.projects-motion-ready
.projects-intro .section-kicker.is-in {

  opacity: 1;

  transform:
    translateY(0)
    translateX(0);
}


/* ---------------------------------------------------------
   TÍTULO / EFECTO DE ESCRITURA
--------------------------------------------------------- */

#proyectos .projects-typing-title {
  position: relative;

  opacity: 1 !important;
  transform: none !important;
}


/* cursor fino mientras escribe */
#proyectos .projects-typing-title.is-typing::after {

  content: "";

  display: inline-block;

  width: 1px;
  height: .78em;

  margin-left: .035em;

  vertical-align: -.03em;

  background: currentColor;

  opacity: .34;

  animation:
    projectsCaretBlink .72s steps(1) infinite;
}


@keyframes projectsCaretBlink {

  0%,
  48% {
    opacity: .34;
  }

  49%,
  100% {
    opacity: 0;
  }

}


/* ---------------------------------------------------------
   01 — ARQUITECTURA / DESPLAZAMIENTO
--------------------------------------------------------- */

#proyectos.projects-motion-ready
#arquitectura .portfolio-block-heading {

  opacity: 0;

  transform:
    translateY(18px)
    translateX(-10px);

  transition:
    opacity .75s ease,
    transform .85s cubic-bezier(.22,.61,.36,1);
}


#proyectos.projects-motion-ready
#arquitectura .portfolio-block-heading.is-in {

  opacity: 1;

  transform:
    translateY(0)
    translateX(0);
}


/* ---------------------------------------------------------
   MOVIMIENTO REDUCIDO
--------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  #proyectos.projects-motion-ready
  .projects-intro .section-kicker,

  #proyectos.projects-motion-ready
  #arquitectura .portfolio-block-heading {

    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }


  #proyectos .projects-typing-title::after {
    display: none !important;
  }

}
/* =========================================================
   PROYECTOS - TÍTULO COMPACTO
========================================================= */

@media (min-width: 901px) {

  #proyectos .projects-intro {
    margin-bottom: 24px !important;
  }

  #proyectos .projects-intro h2 {
    max-width: 760px !important;

    font-size:
      clamp(2.7rem, 3.4vw, 4.1rem) !important;

    line-height: 1 !important;

    white-space: nowrap !important;
  }

  #proyectos
  #arquitectura
  .portfolio-block-heading {
    margin-bottom: 18px !important;
  }

}
/* =========================================================
   MÁS PROYECTOS 2026
   GLASS GALLERY / 5 TARJETAS
========================================================= */

#mas-proyectos.more-projects-2026 {

  position: relative !important;

  margin-top: 64px !important;

  padding:
    54px
    0
    88px !important;

  border: none !important;

  overflow: visible !important;

}


/* elimina reglas decorativas anteriores */
#mas-proyectos.more-projects-2026::before,
#mas-proyectos.more-projects-2026::after {

  display: none !important;
  content: none !important;

}


/* =========================================================
   ENCABEZADO
========================================================= */

#mas-proyectos .more-projects-heading {

  display: grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    auto !important;

  gap: 60px !important;

  align-items: end !important;

  margin:
    0
    0
    42px !important;

}


#mas-proyectos .more-projects-heading-main {

  min-width: 0;

}


#mas-proyectos
.more-projects-heading
.section-label {

  margin:
    0
    0
    18px !important;

}


/* MÁS PROYECTOS */

#mas-proyectos
.more-projects-heading h3 {

  margin: 0 !important;

  color:
    var(--green-dark) !important;

  font-size:
    clamp(3rem, 4vw, 4.8rem) !important;

  line-height:
    .98 !important;

  letter-spacing:
    -.052em !important;

  font-weight:
    300 !important;

  max-width:
    none !important;

}


/* Residencial y corporativo */

#mas-proyectos
.more-projects-subtitle {

  margin:
    12px
    0
    0 !important;

  color:
    rgba(111, 91, 63, .72) !important;

  font-size:
    .95rem !important;

  line-height:
    1.5 !important;

}


/* =========================================================
   NOTA EDITORIAL DERECHA
========================================================= */

#mas-proyectos
.more-projects-editorial-note {

  display: flex;

  gap: 18px;

  align-items: flex-start;

  margin-bottom: 10px;

}


#mas-proyectos
.more-projects-editorial-note > span {

  width: 64px;
  height: 1px;

  margin-top: 5px;

  background:
    rgba(11, 68, 56, .28);

}


#mas-proyectos
.more-projects-editorial-note p {

  margin: 0;

  color:
    rgba(111, 91, 63, .70);

  font-size:
    .62rem;

  line-height:
    1.55;

  letter-spacing:
    .20em;

  text-transform:
    uppercase;

}


/* =========================================================
   GRID DE 5 TARJETAS
========================================================= */

#mas-proyectos
.more-projects-grid {

  display: grid !important;

  grid-template-columns:
    repeat(5, minmax(0, 1fr)) !important;

  gap:
    clamp(14px, 1.45vw, 24px) !important;

  margin: 0 !important;

  padding: 0 !important;

  align-items:
    stretch !important;

}


/* =========================================================
   TARJETA GLASS
========================================================= */

#mas-proyectos
.more-project-card {

  position: relative;

  min-width: 0;

  margin: 0 !important;

  padding: 0 !important;

  border:
    1px solid
    rgba(255, 255, 255, .56) !important;

  border-radius:
    20px !important;

  background:
    rgba(251, 248, 240, .36) !important;

  -webkit-backdrop-filter:
    blur(14px)
    saturate(122%) !important;

  backdrop-filter:
    blur(14px)
    saturate(122%) !important;

  box-shadow:
    0 18px 42px
    rgba(11, 68, 56, .055),

    inset 0 1px 0
    rgba(255, 255, 255, .58) !important;

  overflow:
    hidden !important;

  transform-style:
    preserve-3d;

  will-change:
    transform;

  transition:
    transform .38s
      cubic-bezier(.22,.61,.36,1),

    background-color .35s ease,

    border-color .35s ease,

    box-shadow .4s ease !important;

}


/* brillo que sigue al cursor */

#mas-proyectos
.more-project-card::before {

  content: "";

  position: absolute;

  inset: 0;

  z-index: 5;

  pointer-events: none;

  background:

    radial-gradient(
      360px circle
      at
      var(--more-x, 50%)
      var(--more-y, 50%),

      rgba(255,255,255,.26),

      rgba(255,255,255,.07) 38%,

      transparent 70%
    );

  opacity: 0;

  transition:
    opacity .35s ease;

}


/* proximidad */

#mas-proyectos
.more-project-card.is-more-proximity {

  background:
    rgba(251,248,240,.52) !important;

  border-color:
    rgba(11,68,56,.12) !important;

  box-shadow:

    0 28px 58px
    rgba(11,68,56,.095),

    inset 0 1px 0
    rgba(255,255,255,.76) !important;

}


#mas-proyectos
.more-project-card.is-more-proximity::before {

  opacity: 1;

}


/* =========================================================
   LINK
========================================================= */

#mas-proyectos
.more-project-card-link {

  position: relative;

  z-index: 2;

  display: flex;

  flex-direction: column;

  height: 100%;

  padding:
    12px
    12px
    18px;

  color: inherit;

  text-decoration: none;

}


/* =========================================================
   IMAGEN
========================================================= */

#mas-proyectos
.more-project-image-wrap {

  width: 100%;

  aspect-ratio:
    1 / 1.02;

  overflow: hidden;

  border-radius:
    13px;

  background:
    rgba(11,68,56,.035);

}


#mas-proyectos
.more-project-image {

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position:
    center center;

  transform:
    scale(1.01);

  transition:

    transform .85s
      cubic-bezier(.22,.61,.36,1),

    filter .55s ease;

}


#mas-proyectos
.more-project-card.is-more-proximity
.more-project-image {

  transform:
    scale(1.055);

  filter:
    brightness(.97);

}


/* =========================================================
   INFORMACIÓN
========================================================= */

#mas-proyectos
.more-project-card-content {

  display: flex;

  flex-direction: column;

  flex: 1;

  padding:
    17px
    8px
    0;

}


#mas-proyectos
.more-project-number {

  display: block;

  margin:
    0
    0
    8px;

  color:
    var(--brown);

  font-size:
    .66rem;

  line-height: 1;

  letter-spacing:
    .18em;

}


#mas-proyectos
.more-project-card h4 {

  margin:
    0
    0
    9px !important;

  color:
    var(--green-dark) !important;

  font-size:
    clamp(1.25rem, 1.45vw, 1.65rem) !important;

  line-height:
    1.04 !important;

  letter-spacing:
    -.04em !important;

  font-weight:
    300 !important;

}


#mas-proyectos
.more-project-category {

  margin: 0 !important;

  color:
    rgba(111,91,63,.70) !important;

  font-size:
    .61rem !important;

  line-height:
    1.45 !important;

  letter-spacing:
    .15em !important;

  text-transform:
    uppercase !important;

}


/* =========================================================
   VER PROYECTO + FLECHA
========================================================= */

#mas-proyectos
.more-project-action {

  display: flex;

  align-items: center;

  justify-content:
    space-between;

  gap: 12px;

  margin-top:
    auto;

  padding-top:
    22px;

}


#mas-proyectos
.more-project-action > span {

  color:
    rgba(11,68,56,.58);

  font-size:
    .64rem;

  line-height:
    1;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;

  transition:
    color .35s ease;

}


#mas-proyectos
.more-project-action i {

  width: 38px;
  height: 38px;

  display: grid;

  place-items: center;

  flex:
    0 0 38px;

  border:
    1px solid
    rgba(11,68,56,.20);

  border-radius:
    50%;

  color:
    var(--green-dark);

  font-style:
    normal;

  font-size:
    1rem;

  transition:

    transform .35s
      cubic-bezier(.22,.61,.36,1),

    background-color .35s ease,

    border-color .35s ease;

}


#mas-proyectos
.more-project-card:hover
.more-project-action > span {

  color:
    var(--green-dark);

}


#mas-proyectos
.more-project-card:hover
.more-project-action i {

  transform:
    translateX(3px);

  background:
    rgba(255,255,255,.40);

  border-color:
    rgba(11,68,56,.35);

}


/* =========================================================
   TABLET
========================================================= */

@media
(max-width: 1350px)
and
(min-width: 769px) {

  #mas-proyectos
  .more-projects-grid {

    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;

  }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 768px) {

  #mas-proyectos.more-projects-2026 {

    margin-top:
      44px !important;

    padding:
      44px
      0
      68px !important;

  }


  #mas-proyectos
  .more-projects-heading {

    grid-template-columns:
      1fr !important;

    gap:
      0 !important;

    margin-bottom:
      28px !important;

  }


  #mas-proyectos
  .more-projects-heading h3 {

    display:
      block !important;

    font-size:
      clamp(2.4rem,10vw,3.2rem) !important;

  }


  #mas-proyectos
  .more-projects-subtitle {

    display:
      block !important;

  }


  #mas-proyectos
  .more-projects-editorial-note {

    display:
      none;

  }


  #mas-proyectos
  .more-projects-grid {

    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;

    gap:
      14px !important;

  }


  #mas-proyectos
  .more-project-card-link {

    padding:
      9px
      9px
      14px;

  }


  #mas-proyectos
  .more-project-image-wrap {

    aspect-ratio:
      1 / 1.05;

  }


  #mas-proyectos
  .more-project-card-content {

    padding:
      13px
      5px
      0;

  }


  #mas-proyectos
  .more-project-card h4 {

    font-size:
      clamp(1rem,4.8vw,1.25rem) !important;

  }


  #mas-proyectos
  .more-project-category {

    font-size:
      .52rem !important;

  }


  #mas-proyectos
  .more-project-action {

    padding-top:
      16px;

  }


  #mas-proyectos
  .more-project-action i {

    width: 32px;
    height: 32px;

    flex-basis:
      32px;

  }

}
/* =========================================================
   INGENIERÍA 2026
   MISMO LENGUAJE QUE ARQUITECTURA
   TÍTULO COMPACTO + GLASS + PROXIMIDAD
========================================================= */

@media (min-width: 901px) {

  /* =======================================================
     01 / BLOQUE GENERAL
  ======================================================= */

  #ingenieria.technical-projects {
    position: relative !important;

    margin-top: 72px !important;

    padding-top: 0 !important;

    border-top: none !important;

    overflow: visible !important;
  }


  /* =======================================================
     02 / FONDO
  ======================================================= */

  #ingenieria .engineering-feature-bg {
    position: relative !important;

    margin-left: -6vw !important;
    margin-right: -6vw !important;

    padding:
      86px
      6vw
      clamp(66px, 6vw, 94px) !important;

    background-color:
      var(--beige) !important;

    background-image:
      linear-gradient(
        90deg,
        rgba(251,248,240,.74) 0%,
        rgba(251,248,240,.60) 36%,
        rgba(251,248,240,.38) 68%,
        rgba(251,248,240,.22) 100%
      ),
      url("assets/img/editorial/fondo-proyectos-travertino-logo.jpg") !important;

    background-size:
      cover !important;

    background-position:
      center 18% !important;

    background-repeat:
      no-repeat !important;
  }


  /* =======================================================
     03 / ENCABEZADO MUCHO MÁS COMPACTO
  ======================================================= */

  #ingenieria .technical-projects-heading {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin:
      0
      0
      26px !important;

    padding: 0 !important;
  }


  #ingenieria
  .technical-projects-heading
  .section-label {

    display: block !important;

    margin:
      0
      0
      17px !important;

    color:
      var(--brown) !important;

    font-size:
      .72rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .18em !important;

    text-transform:
      uppercase !important;
  }


  /* TÍTULO EN UN SOLO RENGLÓN */

  #ingenieria
  .technical-projects-heading h3 {

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color:
      var(--green-dark) !important;

    font-size:
      clamp(2.65rem, 3.25vw, 4rem) !important;

    line-height:
      1 !important;

    letter-spacing:
      -.048em !important;

    font-weight:
      300 !important;

    text-align:
      left !important;

    white-space:
      nowrap !important;

    justify-self:
      auto !important;
  }


  /* =======================================================
     04 / GRID
  ======================================================= */

  #ingenieria .technical-grid {
    display: grid !important;

    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;

    gap:
      26px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    align-items:
      stretch !important;
  }


  /* =======================================================
     05 / TARJETA GLASS
  ======================================================= */

  #ingenieria .technical-card {
    position: relative !important;

    min-width:
      0 !important;

    min-height:
      0 !important;

    padding:
      0 !important;

    margin:
      0 !important;

    border:
      1px solid
      rgba(255,255,255,.50) !important;

    border-radius:
      22px !important;

    background:
      rgba(251,248,240,.34) !important;

    -webkit-backdrop-filter:
      blur(14px)
      saturate(122%) !important;

    backdrop-filter:
      blur(14px)
      saturate(122%) !important;

    box-shadow:
      0 16px 38px
      rgba(11,68,56,.055),

      inset 0 1px 0
      rgba(255,255,255,.55) !important;

    overflow:
      hidden !important;

    transform-style:
      preserve-3d !important;

    will-change:
      transform !important;

    transition:
      transform .36s cubic-bezier(.22,.61,.36,1),
      background-color .35s ease,
      border-color .35s ease,
      box-shadow .4s ease !important;
  }


  /* brillo localizado */

  #ingenieria .technical-card::before {
    content: "";

    position:
      absolute;

    inset:
      0;

    z-index:
      5;

    pointer-events:
      none;

    background:
      radial-gradient(
        440px circle
        at
        var(--engineering-x,50%)
        var(--engineering-y,50%),

        rgba(255,255,255,.24),

        rgba(255,255,255,.07) 38%,

        transparent 68%
      );

    opacity:
      0;

    transition:
      opacity .35s ease;
  }


  #ingenieria
  .technical-card.is-engineering-proximity {

    background:
      rgba(251,248,240,.51) !important;

    border-color:
      rgba(11,68,56,.12) !important;

    box-shadow:
      0 28px 58px
      rgba(11,68,56,.10),

      inset 0 1px 0
      rgba(255,255,255,.72) !important;
  }


  #ingenieria
  .technical-card.is-engineering-proximity::before {

    opacity:
      1;
  }


  /* =======================================================
     06 / LINK
  ======================================================= */

  #ingenieria .technical-card-link {
    position:
      relative;

    z-index:
      2;

    display:
      flex !important;

    flex-direction:
      column !important;

    width:
      100% !important;

    height:
      100% !important;

    color:
      inherit !important;

    text-decoration:
      none !important;
  }


  /* =======================================================
     07 / IMAGEN MÁS CORTA
  ======================================================= */

  #ingenieria .technical-image-wrap {

    width:
      100% !important;

    aspect-ratio:
      4 / 4.25 !important;

    margin:
      0 !important;

    overflow:
      hidden !important;

    border:
      none !important;

    background:
      rgba(11,68,56,.05) !important;
  }


  #ingenieria .technical-img {

    display:
      block !important;

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;

    object-position:
      center !important;

    transform:
      scale(1.01);

    transition:
      transform .8s cubic-bezier(.22,.61,.36,1),
      filter .55s ease !important;
  }


  #ingenieria
  .technical-card.is-engineering-proximity
  .technical-img {

    transform:
      scale(1.045) !important;

    filter:
      brightness(.96) !important;
  }


  /* =======================================================
     08 / INFORMACIÓN COMPACTA
  ======================================================= */

  #ingenieria .technical-card-content {

    min-height:
      116px !important;

    margin:
      0 !important;

    padding:
      17px
      22px
      17px !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0,1fr)
      auto !important;

    grid-template-rows:
      auto
      auto !important;

    column-gap:
      18px !important;

    row-gap:
      7px !important;

    align-items:
      center !important;

    background:
      linear-gradient(
        145deg,
        rgba(251,248,240,.44),
        rgba(251,248,240,.22)
      ) !important;

    border:
      none !important;
  }


  /* Número */

  #ingenieria
  .technical-card-content > span {

    grid-column:
      1 !important;

    grid-row:
      1 !important;

    margin:
      0
      0
      6px !important;

    color:
      var(--brown) !important;

    font-size:
      .65rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .18em !important;
  }


  /* Nombre */

  #ingenieria
  .technical-card-content h4 {

    grid-column:
      1 !important;

    grid-row:
      2 !important;

    margin:
      0 !important;

    color:
      var(--green-dark) !important;

    font-size:
      clamp(1.18rem,1.45vw,1.58rem) !important;

    line-height:
      1.05 !important;

    letter-spacing:
      -.035em !important;

    font-weight:
      300 !important;
  }


  /* categoría + VER PROYECTO */

  #ingenieria
  .technical-card-content > div {

    grid-column:
      2 !important;

    grid-row:
      1 / 3 !important;

    display:
      flex !important;

    flex-direction:
      column !important;

    align-items:
      flex-end !important;

    justify-content:
      center !important;

    gap:
      5px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    text-align:
      right !important;
  }


  #ingenieria
  .technical-card-content > div p {

    max-width:
      190px !important;

    margin:
      0 !important;

    color:
      var(--brown) !important;

    font-size:
      .61rem !important;

    line-height:
      1.35 !important;

    letter-spacing:
      .13em !important;

    text-transform:
      uppercase !important;

    text-align:
      right !important;
  }


  #ingenieria
  .technical-card-content > div em {

    display:
      block !important;

    margin:
      0 !important;

    color:
      var(--green-dark) !important;

    font-style:
      normal !important;

    font-size:
      .62rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .14em !important;

    text-transform:
      uppercase !important;

    opacity:
      .56 !important;

    transition:
      opacity .3s ease,
      transform .35s ease !important;
  }


  #ingenieria
  .technical-card:hover
  .technical-card-content > div em,

  #ingenieria
  .technical-card.is-engineering-proximity
  .technical-card-content > div em {

    opacity:
      1 !important;

    transform:
      translateX(3px) !important;
  }

}


/* =========================================================
   ESCRITORIO INTERMEDIO
========================================================= */

@media
(max-width: 1250px)
and
(min-width: 901px) {

  #ingenieria
  .technical-projects-heading h3 {

    font-size:
      clamp(2.25rem,3vw,3rem) !important;
  }

}


/* =========================================================
   MÓVIL
   RESPETAMOS LA VERSIÓN MÓVIL ACTUAL
========================================================= */

@media (max-width: 900px) {

  #ingenieria
  .technical-projects-heading h3 {

    white-space:
      normal !important;
  }

}
/* =========================================================
   INGENIERÍA - CURSOR TYPEWRITER
========================================================= */

#ingenieria
.engineering-title-typing::after {

  content: "";

  display:
    inline-block;

  width:
    1px;

  height:
    .78em;

  margin-left:
    .035em;

  vertical-align:
    -.03em;

  background:
    currentColor;

  opacity:
    .34;

  animation:
    engineeringCaretBlink
    .72s
    steps(1)
    infinite;
}


@keyframes engineeringCaretBlink {

  0%,
  48% {

    opacity:
      .34;

  }

  49%,
  100% {

    opacity:
      0;

  }

}
/* =========================================================
   MÁS PROYECTOS / INGENIERÍA
   MISMO SISTEMA QUE MÁS PROYECTOS DE ARQUITECTURA
========================================================= */

#mas-proyectos-ingenieria.more-projects-2026 {

  position: relative !important;

  margin-top: 64px !important;

  padding:
    54px
    0
    88px !important;

  border: none !important;

  overflow: visible !important;

}


#mas-proyectos-ingenieria::before,
#mas-proyectos-ingenieria::after {

  display: none !important;
  content: none !important;

}


/* =========================================================
   ENCABEZADO
========================================================= */

#mas-proyectos-ingenieria
.more-projects-heading {

  display: grid !important;

  grid-template-columns:
    minmax(0,1fr)
    auto !important;

  gap: 60px !important;

  align-items: end !important;

  margin:
    0
    0
    42px !important;

}


#mas-proyectos-ingenieria
.more-projects-heading
.section-label {

  margin:
    0
    0
    18px !important;

}


#mas-proyectos-ingenieria
.more-projects-heading h3 {

  margin: 0 !important;

  color:
    var(--green-dark) !important;

  font-size:
    clamp(3rem,4vw,4.8rem) !important;

  line-height:
    .98 !important;

  letter-spacing:
    -.052em !important;

  font-weight:
    300 !important;

}


#mas-proyectos-ingenieria
.more-projects-subtitle {

  margin:
    12px
    0
    0 !important;

  color:
    rgba(111,91,63,.72) !important;

  font-size:
    .95rem !important;

}


/* Nota editorial */

#mas-proyectos-ingenieria
.more-projects-editorial-note {

  display: flex;

  align-items: flex-start;

  gap: 18px;

  margin-bottom: 10px;

}


#mas-proyectos-ingenieria
.more-projects-editorial-note > span {

  width: 64px;
  height: 1px;

  margin-top: 5px;

  background:
    rgba(11,68,56,.28);

}


#mas-proyectos-ingenieria
.more-projects-editorial-note p {

  margin: 0;

  color:
    rgba(111,91,63,.70);

  font-size:
    .62rem;

  line-height:
    1.55;

  letter-spacing:
    .20em;

  text-transform:
    uppercase;

}


/* =========================================================
   GRID
========================================================= */

#mas-proyectos-ingenieria
.more-projects-grid {

  display: grid !important;

  grid-template-columns:
    repeat(5,minmax(0,1fr)) !important;

  gap:
    clamp(14px,1.45vw,24px) !important;

  margin: 0 !important;

  padding: 0 !important;

  align-items:
    stretch !important;

}


/* =========================================================
   GLASS CARD
========================================================= */

#mas-proyectos-ingenieria
.more-project-card {

  position: relative;

  min-width: 0;

  margin: 0 !important;
  padding: 0 !important;

  border:
    1px solid
    rgba(255,255,255,.56) !important;

  border-radius:
    20px !important;

  background:
    rgba(251,248,240,.36) !important;

  -webkit-backdrop-filter:
    blur(14px)
    saturate(122%) !important;

  backdrop-filter:
    blur(14px)
    saturate(122%) !important;

  box-shadow:
    0 18px 42px
    rgba(11,68,56,.055),

    inset 0 1px 0
    rgba(255,255,255,.58) !important;

  overflow:
    hidden !important;

  transform-style:
    preserve-3d;

  will-change:
    transform;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .4s ease !important;

}


/* Brillo dinámico */

#mas-proyectos-ingenieria
.more-project-card::before {

  content: "";

  position: absolute;

  inset: 0;

  z-index: 5;

  pointer-events: none;

  background:
    radial-gradient(
      360px circle
      at
      var(--more-engineering-x,50%)
      var(--more-engineering-y,50%),

      rgba(255,255,255,.26),

      rgba(255,255,255,.07) 38%,

      transparent 70%
    );

  opacity: 0;

  transition:
    opacity .35s ease;

}


#mas-proyectos-ingenieria
.more-project-card.is-more-engineering-proximity {

  background:
    rgba(251,248,240,.52) !important;

  border-color:
    rgba(11,68,56,.12) !important;

  box-shadow:
    0 28px 58px
    rgba(11,68,56,.095),

    inset 0 1px 0
    rgba(255,255,255,.76) !important;

}


#mas-proyectos-ingenieria
.more-project-card.is-more-engineering-proximity::before {

  opacity: 1;

}


/* =========================================================
   LINK
========================================================= */

#mas-proyectos-ingenieria
.more-project-card-link {

  position: relative;

  z-index: 2;

  display: flex;

  flex-direction: column;

  height: 100%;

  padding:
    12px
    12px
    18px;

  color: inherit;

  text-decoration: none;

}


/* =========================================================
   IMAGEN
========================================================= */

#mas-proyectos-ingenieria
.more-project-image-wrap {

  width: 100%;

  aspect-ratio:
    1 / 1.02;

  overflow: hidden;

  border-radius:
    13px;

  background:
    rgba(11,68,56,.035);

}


#mas-proyectos-ingenieria
.more-project-image {

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position:
    center;

  transform:
    scale(1.01);

  transition:
    transform .85s cubic-bezier(.22,.61,.36,1),
    filter .55s ease;

}


#mas-proyectos-ingenieria
.more-project-card.is-more-engineering-proximity
.more-project-image {

  transform:
    scale(1.055);

  filter:
    brightness(.97);

}


/* =========================================================
   CONTENIDO
========================================================= */

#mas-proyectos-ingenieria
.more-project-card-content {

  display: flex;

  flex-direction: column;

  flex: 1;

  padding:
    17px
    8px
    0;

}


#mas-proyectos-ingenieria
.more-project-number {

  display: block;

  margin:
    0
    0
    8px;

  color:
    var(--brown);

  font-size:
    .66rem;

  letter-spacing:
    .18em;

}


#mas-proyectos-ingenieria
.more-project-card h4 {

  margin:
    0
    0
    9px !important;

  color:
    var(--green-dark) !important;

  font-size:
    clamp(1.18rem,1.35vw,1.55rem) !important;

  line-height:
    1.04 !important;

  letter-spacing:
    -.04em !important;

  font-weight:
    300 !important;

}


#mas-proyectos-ingenieria
.more-project-category {

  margin: 0 !important;

  color:
    rgba(111,91,63,.70) !important;

  font-size:
    .58rem !important;

  line-height:
    1.45 !important;

  letter-spacing:
    .13em !important;

  text-transform:
    uppercase !important;

}


/* =========================================================
   VER PROYECTO
========================================================= */

#mas-proyectos-ingenieria
.more-project-action {

  display: flex;

  align-items: center;

  justify-content:
    space-between;

  gap: 12px;

  margin-top:
    auto;

  padding-top:
    22px;

}


#mas-proyectos-ingenieria
.more-project-action > span {

  color:
    rgba(11,68,56,.58);

  font-size:
    .64rem;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;

}


#mas-proyectos-ingenieria
.more-project-action i {

  width: 38px;
  height: 38px;

  display: grid;

  place-items: center;

  flex:
    0 0 38px;

  border:
    1px solid
    rgba(11,68,56,.20);

  border-radius:
    50%;

  color:
    var(--green-dark);

  font-style:
    normal;

  transition:
    transform .35s cubic-bezier(.22,.61,.36,1),
    background-color .35s ease;

}


#mas-proyectos-ingenieria
.more-project-card:hover
.more-project-action i {

  transform:
    translateX(3px);

  background:
    rgba(255,255,255,.40);

}


/* =========================================================
   TABLET
========================================================= */

@media
(max-width:1350px)
and
(min-width:769px) {

  #mas-proyectos-ingenieria
  .more-projects-grid {

    grid-template-columns:
      repeat(3,minmax(0,1fr)) !important;

  }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width:768px) {

  #mas-proyectos-ingenieria.more-projects-2026 {

    margin-top:
      44px !important;

    padding:
      44px
      0
      68px !important;

  }


  #mas-proyectos-ingenieria
  .more-projects-heading {

    grid-template-columns:
      1fr !important;

    gap:
      0 !important;

    margin-bottom:
      28px !important;

  }


  #mas-proyectos-ingenieria
  .more-projects-heading h3 {

    font-size:
      clamp(2.4rem,10vw,3.2rem) !important;

  }


  #mas-proyectos-ingenieria
  .more-projects-editorial-note {

    display:
      none;

  }


  #mas-proyectos-ingenieria
  .more-projects-grid {

    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;

    gap:
      14px !important;

  }

}
/* =========================================================
   CONTACTO 2026
   FONDO ARQUITECTÓNICO + GLASS CARDS
========================================================= */

.contact-footer-bg {
  position: relative !important;

  width: 100vw !important;
  max-width: none !important;

  margin-left:
    calc(50% - 50vw) !important;

  margin-right:
    calc(50% - 50vw) !important;

  overflow:
    hidden !important;

  isolation:
    isolate !important;

  background:
    var(--green-dark) !important;
}


/* =========================================================
   SECCIÓN
========================================================= */

#contacto.contact-section-2026 {

  position: relative !important;

  z-index: 2 !important;

  min-height:
    720px !important;

  display:
    flex !important;

  align-items:
    center !important;

  padding:
    110px
    6vw
    118px !important;

  margin:
    0 !important;

  background:
    transparent !important;

  color:
    inherit !important;

  overflow:
    visible !important;
}


#contacto.contact-section-2026::before,
#contacto.contact-section-2026::after {

  display:
    none !important;

  content:
    none !important;
}


/* =========================================================
   GRID
========================================================= */

#contacto .contact-grid-2026 {

  width:
    100% !important;

  display:
    grid !important;

  grid-template-columns:
    minmax(0, .94fr)
    minmax(460px, .76fr) !important;

  gap:
    clamp(80px, 9vw, 160px) !important;

  align-items:
    center !important;

}


/* =========================================================
   IZQUIERDA
========================================================= */

#contacto .contact-heading-2026 {

  max-width:
    650px !important;

}


#contacto
.contact-heading-2026
.section-label {

  margin:
    0
    0
    26px !important;

  color:
    var(--brown) !important;

  font-size:
    .70rem !important;

  letter-spacing:
    .20em !important;

  text-transform:
    uppercase !important;
}


/* TÍTULO */

#contacto
.contact-heading-2026 h2 {

  max-width:
    640px !important;

  margin:
    0 !important;

  color:
    var(--green-dark) !important;

  font-size:
    clamp(3.35rem, 4.5vw, 5.4rem) !important;

  line-height:
    1.01 !important;

  letter-spacing:
    -.052em !important;

  font-weight:
    300 !important;
}


/* TEXTO */

#contacto
.contact-description {

  max-width:
    560px !important;

  margin:
    30px
    0
    0 !important;

  color:
    rgba(11,68,56,.72) !important;

  font-size:
    .97rem !important;

  line-height:
    1.72 !important;

  font-weight:
    400 !important;
}


/* =========================================================
   BOTÓN WHATSAPP
========================================================= */

#contacto
.contact-whatsapp-button,

#contacto
.contact-whatsapp-button:link,

#contacto
.contact-whatsapp-button:visited {

  display:
    inline-flex !important;

  align-items:
    center !important;

  gap:
    15px !important;

  width:
    fit-content !important;

  min-height:
    62px !important;

  margin-top:
    34px !important;

  padding:
    0
    18px
    0
    20px !important;

  border:
    1px solid
    rgba(11,68,56,.20) !important;

  border-radius:
    0 !important;

  background:
    var(--green-dark) !important;

  color:
    var(--beige) !important;

  box-shadow:
    0 16px 36px
    rgba(11,68,56,.12) !important;

  font-size:
    .68rem !important;

  font-weight:
    500 !important;

  letter-spacing:
    .16em !important;

  text-transform:
    uppercase !important;

  text-decoration:
    none !important;

  transition:
    transform .35s ease,
    background-color .35s ease,
    box-shadow .35s ease !important;
}


#contacto
.contact-whatsapp-button:hover {

  transform:
    translateY(-3px) !important;

  background:
    #103f35 !important;

  color:
    var(--beige) !important;

  box-shadow:
    0 22px 46px
    rgba(11,68,56,.18) !important;
}


/* icono del botón */

#contacto
.contact-button-icon {

  width:
    24px;

  height:
    24px;

  display:
    grid;

  place-items:
    center;

  flex:
    0 0 24px;

}


#contacto
.contact-button-icon svg {

  width:
    22px;

  height:
    22px;

  stroke:
    currentColor;

  stroke-width:
    1.7;

}


/* flecha */

#contacto
.contact-button-arrow {

  margin-left:
    12px;

  font-size:
    1rem;

  transition:
    transform .35s ease;

}


#contacto
.contact-whatsapp-button:hover
.contact-button-arrow {

  transform:
    translateX(4px);

}


/* =========================================================
   NOTA EDITORIAL
========================================================= */

#contacto
.contact-editorial-note {

  display:
    flex;

  align-items:
    center;

  gap:
    14px;

  margin-top:
    30px;

}


#contacto
.contact-editorial-note > span {

  width:
    54px;

  height:
    1px;

  background:
    rgba(111,91,63,.32);

}


#contacto
.contact-editorial-note p {

  margin:
    0 !important;

  color:
    rgba(111,91,63,.68) !important;

  font-size:
    .57rem !important;

  line-height:
    1 !important;

  letter-spacing:
    .20em !important;

  text-transform:
    uppercase;

  white-space:
    nowrap;

}


/* =========================================================
   DERECHA / CONTENEDOR
========================================================= */

#contacto
.contact-info-2026 {

  display:
    grid !important;

  gap:
    14px !important;

  border:
    none !important;

  margin:
    0 !important;

  padding:
    0 !important;

}


/* =========================================================
   ISLAS GLASS
========================================================= */

#contacto
.contact-card-2026 {

  position:
    relative !important;

  display:
    grid !important;

  grid-template-columns:
    46px
    52px
    minmax(0,1fr)
    30px !important;

  gap:
    18px !important;

  align-items:
    center !important;

  min-height:
    98px !important;

  padding:
    18px
    20px !important;

  margin:
    0 !important;

  border:
    1px solid
    rgba(251,248,240,.20) !important;

  border-radius:
    15px !important;

  background:
    rgba(8,30,26,.50) !important;

  -webkit-backdrop-filter:
    blur(16px)
    saturate(120%) !important;

  backdrop-filter:
    blur(16px)
    saturate(120%) !important;

  box-shadow:
    0 18px 42px
    rgba(0,0,0,.10),

    inset 0 1px 0
    rgba(255,255,255,.08) !important;

  overflow:
    hidden !important;

  transform-style:
    preserve-3d;

  will-change:
    transform;

  transition:
    transform .36s cubic-bezier(.22,.61,.36,1),
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .40s ease !important;
}


/* brillo dinámico */

#contacto
.contact-card-2026::before {

  content: "";

  position:
    absolute;

  inset:
    0;

  z-index:
    0;

  pointer-events:
    none;

  background:
    radial-gradient(
      360px circle
      at
      var(--contact-x,50%)
      var(--contact-y,50%),

      rgba(251,248,240,.13),

      rgba(251,248,240,.035) 38%,

      transparent 70%
    );

  opacity:
    0;

  transition:
    opacity .35s ease;
}


/* todo el contenido encima */

#contacto
.contact-card-2026 > * {

  position:
    relative;

  z-index:
    2;

}


/* proximidad */

#contacto
.contact-card-2026.is-contact-proximity {

  background:
    rgba(8,30,26,.64) !important;

  border-color:
    rgba(251,248,240,.30) !important;

  box-shadow:
    0 24px 52px
    rgba(0,0,0,.15),

    inset 0 1px 0
    rgba(255,255,255,.12) !important;
}


#contacto
.contact-card-2026.is-contact-proximity::before {

  opacity:
    1;

}


/* =========================================================
   ELEMENTOS DE LAS TARJETAS
========================================================= */

#contacto
.contact-number {

  color:
    rgba(251,248,240,.68) !important;

  font-size:
    .66rem !important;

  line-height:
    1 !important;

  letter-spacing:
    .16em !important;

}


/* icono */

#contacto
.contact-card-2026
.contact-icon {

  width:
    40px !important;

  height:
    40px !important;

  display:
    grid !important;

  place-items:
    center !important;

  margin:
    0 !important;

  opacity:
    .66 !important;

  color:
    var(--beige) !important;

}


#contacto
.contact-card-2026
.contact-icon svg {

  width:
    25px !important;

  height:
    25px !important;

  stroke:
    currentColor !important;

  stroke-width:
    1.5 !important;

}


/* detalle */

#contacto
.contact-card-2026
.contact-detail {

  display:
    block !important;

  margin:
    0 !important;

}


#contacto
.contact-card-2026
.contact-detail p {

  margin:
    0
    0
    10px !important;

  color:
    rgba(251,248,240,.64) !important;

  font-size:
    .62rem !important;

  line-height:
    1 !important;

  letter-spacing:
    .20em !important;

  text-transform:
    uppercase !important;

}


#contacto
.contact-card-2026
.contact-detail a,

#contacto
.contact-card-2026
.contact-location {

  display:
    block;

  margin:
    0 !important;

  color:
    var(--beige) !important;

  font-size:
    1rem !important;

  line-height:
    1.25 !important;

  font-weight:
    300 !important;

  text-decoration:
    none !important;

}


/* flecha */

#contacto
.contact-card-arrow {

  color:
    rgba(251,248,240,.76);

  font-size:
    1rem;

  transition:
    transform .35s ease,
    opacity .35s ease;

}


#contacto
.contact-card-2026:hover
.contact-card-arrow {

  transform:
    translateX(4px);

}


/* =========================================================
   FOOTER
========================================================= */

body .site-footer {

  position:
    relative !important;

  z-index:
    5 !important;

  margin-top:
    0 !important;

  min-height:
    104px !important;

  background:
    var(--green-dark) !important;

  border:
    none !important;
}


/* =========================================================
   TABLET
========================================================= */

@media
(max-width:1100px)
and
(min-width:769px) {

  #contacto .contact-grid-2026 {

    grid-template-columns:
      .9fr 1fr !important;

    gap:
      54px !important;

  }


  #contacto
  .contact-heading-2026 h2 {

    font-size:
      clamp(3rem,5vw,4.1rem) !important;

  }

}


/* =========================================================
   MÓVIL
   Mantendremos por ahora el sistema móvil ya existente
========================================================= */

@media (max-width:768px) {

  #contacto.contact-section-2026 {

    min-height:
      auto !important;

    display:
      block !important;

  }


  #contacto
  .contact-heading-2026 h2 {

    color:
      var(--beige) !important;

  }


  #contacto
  .contact-description {

    color:
      rgba(251,248,240,.78) !important;

  }


  #contacto
  .contact-editorial-note {

    display:
      none;

  }

}
/* =========================================================
   CONTACTO 2026
   AJUSTE DEFINITIVO DE COMPOSICIÓN
========================================================= */


/* =========================================================
   01 / FONDO COMPLETO
========================================================= */

.contact-footer-bg {
  position: relative !important;

  width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background:
    var(--green-dark) !important;

  overflow: hidden !important;
}


.contact-footer-bg::before {
  content: "" !important;

  position: absolute !important;

  /* empieza desde el límite superior */
  inset:
    0
    0
    68px
    0 !important;

  z-index: 0 !important;

  background-image:
    url("assets/img/editorial/contacto-fondo-2026.jpg") !important;

  background-size:
    cover !important;

  background-position:
    center center !important;

  background-repeat:
    no-repeat !important;

  pointer-events: none !important;
}


/* =========================================================
   02 / CONTACTO
========================================================= */

#contacto.contact-section-2026 {
  position: relative !important;

  z-index: 2 !important;

  width: 100% !important;

  min-height:
    calc(100vh - 68px) !important;

  margin: 0 !important;

  padding:
    92px
    6vw
    82px !important;

  display: flex !important;
  align-items: center !important;

  background:
    transparent !important;

  box-sizing:
    border-box !important;
}


/* =========================================================
   03 / RETÍCULA
   Exactamente 6vw a izquierda y derecha
========================================================= */

#contacto .contact-grid-2026 {
  width: 100% !important;
  max-width: none !important;

  display: grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(430px, 520px) !important;

  gap:
    clamp(70px, 8vw, 150px) !important;

  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing:
    border-box !important;
}


/* columna derecha alineada con el header */
#contacto .contact-info-2026 {
  width: 100% !important;
  max-width: 520px !important;

  justify-self: end !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   04 / ISLAS
   Ya no pueden salir del margen derecho
========================================================= */

#contacto .contact-card-2026 {
  width: 100% !important;
  max-width: 100% !important;

  min-width: 0 !important;

  box-sizing:
    border-box !important;

  grid-template-columns:
    36px
    44px
    minmax(0, 1fr)
    24px !important;

  gap:
    15px !important;

  min-height:
    92px !important;

  padding:
    16px
    18px !important;
}


#contacto
.contact-card-2026
.contact-detail {
  min-width: 0 !important;
}


#contacto
.contact-card-2026
.contact-detail a,

#contacto
.contact-card-2026
.contact-location {
  max-width: 100% !important;

  white-space: normal !important;

  overflow-wrap: anywhere !important;
}


/* =========================================================
   05 / COLUMNA IZQUIERDA
========================================================= */

#contacto .contact-heading-2026 {
  max-width:
    620px !important;
}


#contacto
.contact-heading-2026 h2 {
  max-width:
    600px !important;

  font-size:
    clamp(3.15rem, 4.35vw, 5.1rem) !important;

  line-height:
    1.01 !important;
}


/* =========================================================
   06 / PREPARACIÓN DE ANIMACIONES
========================================================= */

#contacto.contact-motion-ready
.contact-heading-2026
.section-label,

#contacto.contact-motion-ready
.contact-description,

#contacto.contact-motion-ready
.contact-whatsapp-button,

#contacto.contact-motion-ready
.contact-editorial-note {
  opacity: 0;

  transform:
    translateY(18px);

  transition:
    opacity .72s ease,
    transform .82s cubic-bezier(.22,.61,.36,1);
}


#contacto.contact-motion-ready
.contact-motion-in {
  opacity: 1 !important;

  transform:
    translateY(0) !important;
}


/* =========================================================
   07 / TYPEWRITER
========================================================= */

#contacto .contact-typing-title {
  opacity: 1 !important;
  transform: none !important;
}


#contacto
.contact-typing-title.is-typing::after {
  content: "";

  display: inline-block;

  width: 1px;
  height: .78em;

  margin-left: .035em;

  vertical-align: -.03em;

  background:
    currentColor;

  opacity: .34;

  animation:
    contactCaretBlink
    .72s
    steps(1)
    infinite;
}


@keyframes contactCaretBlink {

  0%,
  48% {
    opacity: .34;
  }

  49%,
  100% {
    opacity: 0;
  }

}


/* =========================================================
   08 / FOOTER MÁS DELGADO
========================================================= */

body .site-footer {
  position: relative !important;

  z-index: 5 !important;

  min-height: 68px !important;

  height: 68px !important;

  margin: 0 !important;

  padding:
    0
    6vw !important;

  display: flex !important;
  align-items: center !important;

  background:
    var(--green-dark) !important;

  box-sizing:
    border-box !important;
}


/* reducir un poco contenido del footer */
body .site-footer * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* =========================================================
   09 / TABLET
========================================================= */

@media
(max-width: 1150px)
and
(min-width: 769px) {

  #contacto .contact-grid-2026 {
    grid-template-columns:
      minmax(0, .9fr)
      minmax(400px, 1fr) !important;

    gap:
      52px !important;
  }

}


/* =========================================================
   10 / MOVIMIENTO REDUCIDO
========================================================= */

@media (prefers-reduced-motion: reduce) {

  #contacto.contact-motion-ready
  .contact-heading-2026
  .section-label,

  #contacto.contact-motion-ready
  .contact-description,

  #contacto.contact-motion-ready
  .contact-whatsapp-button,

  #contacto.contact-motion-ready
  .contact-editorial-note {

    opacity: 1 !important;

    transform: none !important;

    transition: none !important;
  }


  #contacto
  .contact-typing-title::after {

    display: none !important;
  }

}
/* =========================================================
   CONTACTO - RETÍCULA ALINEADA AL HEADER
========================================================= */

@media (min-width: 769px) {

  #contacto.contact-section-2026 {
    width: 100% !important;

    margin: 0 !important;

    padding:
      88px
      6vw
      82px !important;

    box-sizing:
      border-box !important;
  }


  #contacto .contact-grid-2026 {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(400px, 500px) !important;

    gap:
      clamp(56px, 6vw, 110px) !important;

    align-items:
      center !important;

    box-sizing:
      border-box !important;
  }


  #contacto .contact-heading-2026 {
    min-width: 0 !important;
    max-width: 620px !important;
  }


  #contacto .contact-info-2026 {
    width: 100% !important;
    max-width: 500px !important;

    min-width: 0 !important;

    justify-self:
      end !important;

    margin:
      0 !important;

    box-sizing:
      border-box !important;
  }


  #contacto .contact-card-2026 {
    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    box-sizing:
      border-box !important;
  }


  #contacto
  .contact-card-2026
  .contact-detail {

    min-width: 0 !important;
  }


  #contacto
  .contact-card-2026
  .contact-detail a,

  #contacto
  .contact-card-2026
  .contact-location {

    max-width: 100% !important;

    white-space: normal !important;

    overflow-wrap: anywhere !important;
  }

}
/* =========================================================
   CONTACTO 2026
   CORRECCIÓN DEFINITIVA DE FONDO + MÁRGENES
========================================================= */

@media (min-width: 769px) {

  /* =======================================================
     01 / EL CONTENEDOR YA NO PINTA VERDE TODA LA SECCIÓN
  ======================================================= */

  .contact-footer-bg {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    overflow: hidden !important;
  }


  /* eliminamos el pseudo fondo anterior */
  .contact-footer-bg::before,
  .contact-footer-bg::after {
    display: none !important;
    content: none !important;
  }


  /* =======================================================
     02 / EL FONDO VA DIRECTAMENTE EN CONTACTO
  ======================================================= */

  #contacto.contact-section-2026 {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    min-height: 720px !important;

    margin: 0 !important;

    padding:
      92px
      6vw
      84px !important;

    box-sizing: border-box !important;

    background-image:
      url("./assets/img/editorial/contacto-fondo-2026.jpg") !important;

    background-size:
      cover !important;

    background-position:
      center center !important;

    background-repeat:
      no-repeat !important;

    overflow: hidden !important;
  }


  /* =======================================================
     03 / RETÍCULA EXACTA ENTRE LOS MÁRGENES DEL HEADER
  ======================================================= */

  #contacto .contact-grid-2026 {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 500px) !important;

    column-gap:
      clamp(60px, 7vw, 120px) !important;

    align-items: center !important;

    box-sizing: border-box !important;
  }


  /* =======================================================
     04 / COLUMNA IZQUIERDA
  ======================================================= */

  #contacto .contact-heading-2026 {
    width: 100% !important;
    max-width: 620px !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* =======================================================
     05 / COLUMNA DERECHA
     RESET TOTAL PARA EVITAR DESBORDAMIENTO
  ======================================================= */

  #contacto .contact-info-2026 {
    position: static !important;

    width: 100% !important;
    max-width: 500px !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-self: end !important;

    left: auto !important;
    right: auto !important;

    top: auto !important;
    bottom: auto !important;

    transform: none !important;

    box-sizing: border-box !important;
  }


  /* =======================================================
     06 / ISLAS GLASS
  ======================================================= */

  #contacto .contact-card-2026 {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    padding:
      16px
      18px !important;

    box-sizing: border-box !important;

    grid-template-columns:
      34px
      42px
      minmax(0, 1fr)
      22px !important;

    column-gap:
      14px !important;

    overflow: hidden !important;
  }


  /* ningún contenido puede ensanchar la tarjeta */
  #contacto .contact-card-2026 > * {
    min-width: 0 !important;
  }


  #contacto .contact-detail {
    min-width: 0 !important;
    max-width: 100% !important;
  }


  #contacto .contact-detail a,
  #contacto .contact-location {
    display: block !important;

    max-width: 100% !important;

    white-space: normal !important;

    overflow-wrap: anywhere !important;

    word-break: normal !important;
  }


  /* =======================================================
     07 / FOOTER: AHORA SÍ SOLO LA BARRA INFERIOR VERDE
  ======================================================= */

  body .site-footer {
    position: relative !important;

    width: 100% !important;

    min-height: 64px !important;
    height: 64px !important;

    margin: 0 !important;

    padding:
      0
      6vw !important;

    display: flex !important;
    align-items: center !important;

    box-sizing: border-box !important;

    background:
      #0b4438 !important;
  }

}
/* =========================================================
   CONTACTO - CTA WHATSAPP COMO ISLA GLASS
========================================================= */

#contacto
.contact-whatsapp-button,

#contacto
.contact-whatsapp-button:link,

#contacto
.contact-whatsapp-button:visited {

  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;

  gap: 14px !important;

  width: fit-content !important;

  min-height: 58px !important;

  margin-top: 34px !important;

  padding:
    0
    18px
    0
    18px !important;

  border:
    1px solid
    rgba(11, 68, 56, .16) !important;

  border-radius:
    16px !important;

  background:
    rgba(251, 248, 240, .34) !important;

  -webkit-backdrop-filter:
    blur(14px)
    saturate(120%) !important;

  backdrop-filter:
    blur(14px)
    saturate(120%) !important;

  box-shadow:
    0 16px 38px
    rgba(11, 68, 56, .08),

    inset 0 1px 0
    rgba(255, 255, 255, .60) !important;

  color:
    var(--green-dark) !important;

  font-size:
    .68rem !important;

  font-weight:
    500 !important;

  letter-spacing:
    .15em !important;

  text-transform:
    uppercase !important;

  text-decoration:
    none !important;

  overflow:
    hidden !important;

  transition:
    transform .35s cubic-bezier(.22,.61,.36,1),
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .4s ease !important;
}


/* brillo interno */
#contacto
.contact-whatsapp-button::before {

  content: "";

  position: absolute;

  inset: 0;

  pointer-events: none;

  background:
    radial-gradient(
      280px circle at 22% 50%,
      rgba(255,255,255,.30),
      rgba(255,255,255,.08) 40%,
      transparent 72%
    );

  opacity: .55;

  transition:
    opacity .35s ease;
}


/* contenido encima del brillo */
#contacto
.contact-whatsapp-button > * {

  position: relative;
  z-index: 2;

}


/* hover */
#contacto
.contact-whatsapp-button:hover {

  transform:
    translateY(-4px)
    scale(1.008) !important;

  background:
    rgba(251, 248, 240, .50) !important;

  border-color:
    rgba(11, 68, 56, .24) !important;

  box-shadow:
    0 24px 52px
    rgba(11, 68, 56, .12),

    inset 0 1px 0
    rgba(255, 255, 255, .72) !important;

  color:
    var(--green-dark) !important;
}


/* icono */
#contacto
.contact-whatsapp-button
.contact-button-icon {

  width: 24px !important;
  height: 24px !important;

  display: grid !important;
  place-items: center !important;

  color:
    var(--green-dark) !important;
}


/* flecha */
#contacto
.contact-whatsapp-button
.contact-button-arrow {

  margin-left: 10px !important;

  color:
    var(--green-dark) !important;

  transition:
    transform .35s ease !important;
}


#contacto
.contact-whatsapp-button:hover
.contact-button-arrow {

  transform:
    translateX(4px) !important;
}
/* =========================================================
   CONTACTO — FONDO FULL WIDTH / FULL SECTION
========================================================= */

#contacto.contact-section,
#contacto.contact-section-2026,
#contacto {
  position: relative;
  width: 100%;
  min-height: 920px;
  overflow: hidden;

  background-image: url("./assets/img/editorial/contacto-fondo-2026.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Capa sutil para que los textos siempre respiren bien */
#contacto::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(251,248,240,0.14) 0%,
      rgba(251,248,240,0.06) 32%,
      rgba(251,248,240,0.02) 55%,
      rgba(251,248,240,0.00) 100%
    );
  z-index: 1;
  pointer-events: none;
}

/* El grid y el contenido van por encima del fondo */
#contacto .contact-grid,
#contacto .contact-grid-2026 {
  position: relative;
  z-index: 2;

  width: min(100% - 64px, 1540px);
  margin: 0 auto;
  padding-top: 150px;
  padding-bottom: 140px;
}

/* Si el fondo se estaba metiendo como imagen interna, en desktop lo ocultamos */
#contacto .contact-mobile-bg {
  display: none !important;
}

/* Ajuste del bloque izquierdo */
#contacto .contact-heading,
#contacto .contact-heading-2026,
#contacto .contact-body,
#contacto .contact-body-2026 {
  position: relative;
  z-index: 2;
}

/* Ajuste del bloque derecho */
#contacto .contact-cards,
#contacto .contact-cards-2026,
#contacto .contact-info-list {
  position: relative;
  z-index: 2;
}

/* Las tarjetas del lado derecho respetan mejor el marco */
#contacto .contact-card,
#contacto .contact-card-2026,
#contacto .contact-info-card {
  width: 100%;
  max-width: 460px;
  margin-left: auto;
}

/* =========================================================
   FOOTER INFERIOR VERDE
========================================================= */

.contact-footer-bg,
.contact-footer-strip,
.site-footer {
  position: relative;
  z-index: 3;
  width: 100%;
  background: #0b4438;
}

/* Franja inferior más delgada */
.site-footer,
.contact-footer,
.footer-bottom {
  min-height: 58px;
  padding: 18px 0;
}

/* Contenedor interno alineado con toda la página */
.site-footer .footer-inner,
.contact-footer .footer-inner,
.footer-bottom .footer-inner {
  width: min(100% - 64px, 1540px);
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
/* =========================================================
   CONTACTO 2026
   FULL BLEED DEFINITIVO
   Fondo a todo el viewport / contenido alineado al header
========================================================= */

@media (min-width: 769px) {

  /* -------------------------------------------------------
     01 / CONTENEDOR GENERAL SIN RESTRICCIÓN DE ANCHO
  ------------------------------------------------------- */

  .contact-footer-bg {
    position: relative !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left:
      calc(50% - 50vw) !important;

    margin-right:
      calc(50% - 50vw) !important;

    padding: 0 !important;

    overflow: hidden !important;

    background:
      transparent !important;
  }


  /* -------------------------------------------------------
     02 / CONTACTO OCUPA TODO EL VIEWPORT
  ------------------------------------------------------- */

  #contacto.contact-section-2026,
  #contacto.contact-section,
  #contacto {

    position: relative !important;

    left: 50% !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left:
      -50vw !important;

    margin-right:
      0 !important;

    padding:
      92px
      6vw
      84px !important;

    box-sizing:
      border-box !important;

    background-image:
      url("./assets/img/editorial/contacto-fondo-2026.jpg") !important;

    background-size:
      cover !important;

    background-position:
      center center !important;

    background-repeat:
      no-repeat !important;

    overflow:
      hidden !important;
  }


  /* -------------------------------------------------------
     03 / EL CONTENIDO SÍ RESPETA LOS 6vw
  ------------------------------------------------------- */

  #contacto .contact-grid-2026 {

    position: relative !important;

    z-index: 2 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 500px) !important;

    gap:
      clamp(60px, 7vw, 120px) !important;

    align-items:
      center !important;

    box-sizing:
      border-box !important;
  }


  /* -------------------------------------------------------
     04 / COLUMNA DERECHA CONTENIDA
  ------------------------------------------------------- */

  #contacto .contact-info-2026 {

    position: static !important;

    width: 100% !important;
    max-width: 500px !important;

    min-width: 0 !important;

    justify-self:
      end !important;

    margin: 0 !important;
    padding: 0 !important;

    left: auto !important;
    right: auto !important;

    transform:
      none !important;

    box-sizing:
      border-box !important;
  }


  #contacto .contact-card-2026 {

    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing:
      border-box !important;
  }


  /* -------------------------------------------------------
     05 / EVITAR QUE EL <IMG> MÓVIL INTERFIERA
  ------------------------------------------------------- */

  #contacto .contact-mobile-bg {

    display:
      none !important;
  }

}
/* =========================================================
   CONTACTO + FOOTER EN UN SOLO VIEWPORT
========================================================= */

@media (min-width: 769px) {

  /* Altura estimada del header glass */
  :root {
    --eorigen-header-h: 74px;
    --eorigen-footer-h: 66px;
  }


  /* CONTACTO ocupa el espacio restante */
  #contacto.contact-section-2026,
  #contacto.contact-section,
  #contacto {
    min-height: calc(
      100vh
      - var(--eorigen-header-h)
      - var(--eorigen-footer-h)
    ) !important;

    height: calc(
      100vh
      - var(--eorigen-header-h)
      - var(--eorigen-footer-h)
    ) !important;

    padding:
      18px
      6vw
      10px !important;

    background-position:
      center center !important;

    box-sizing:
      border-box !important;
  }


  /* grid aprovecha toda la altura disponible */
  #contacto .contact-grid-2026 {
    min-height: 100% !important;
    height: 100% !important;

    align-items:
      center !important;
  }


  /* FOOTER visible dentro del mismo viewport */
  body .site-footer {
    height:
      var(--eorigen-footer-h) !important;

    min-height:
      var(--eorigen-footer-h) !important;

    padding:
      0
      6vw !important;

    margin:
      0 !important;

    display:
      flex !important;

    align-items:
      center !important;

    box-sizing:
      border-box !important;
  }

}
/* =========================================================
   CONTACTO 2026
   CORRECCIÓN ESTABLE - FULL WIDTH + FOOTER VISIBLE
========================================================= */

@media (min-width: 769px) {

  :root {
    --contact-footer-height: 64px;
  }


  /* =======================================================
     CONTENEDOR GENERAL
  ======================================================= */

  .contact-footer-bg {
    position: relative !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 0 !important;

    background: transparent !important;

    overflow: hidden !important;
  }


  /* =======================================================
     SECCIÓN CONTACTO
     AQUÍ YA NO USAMOS left:50% NI -50vw
  ======================================================= */

  #contacto.contact-section-2026,
  #contacto.contact-section,
  #contacto {

    position: relative !important;

    left: auto !important;
    right: auto !important;

    width: 100% !important;
    max-width: none !important;

    height: calc(100svh - var(--contact-footer-height)) !important;
    min-height: calc(100svh - var(--contact-footer-height)) !important;

    margin: 0 !important;

    padding:
      92px
      6vw
      28px !important;

    box-sizing: border-box !important;

    background-image:
      url("./assets/img/editorial/contacto-fondo-2026.jpg") !important;

    background-size: cover !important;

    background-position:
      center center !important;

    background-repeat:
      no-repeat !important;

    overflow: hidden !important;
  }


  /* =======================================================
     GRID INTERIOR
  ======================================================= */

  #contacto .contact-grid-2026 {

    position: relative !important;

    z-index: 2 !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(420px, 500px) !important;

    gap:
      clamp(60px, 7vw, 120px) !important;

    align-items: center !important;

    box-sizing: border-box !important;
  }


  /* =======================================================
     COLUMNA IZQUIERDA
  ======================================================= */

  #contacto .contact-heading-2026 {

    width: 100% !important;

    max-width: 620px !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* =======================================================
     COLUMNA DERECHA
  ======================================================= */

  #contacto .contact-info-2026 {

    position: static !important;

    width: 100% !important;

    max-width: 500px !important;

    min-width: 0 !important;

    justify-self: end !important;

    margin: 0 !important;
    padding: 0 !important;

    left: auto !important;
    right: auto !important;

    transform: none !important;

    box-sizing: border-box !important;
  }


  #contacto .contact-card-2026 {

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
  }


  #contacto .contact-card-2026 > * {
    min-width: 0 !important;
  }


  #contacto .contact-detail a,
  #contacto .contact-location {

    max-width: 100% !important;

    white-space: normal !important;

    overflow-wrap: anywhere !important;
  }


  /* El fondo móvil no interviene en desktop */
  #contacto .contact-mobile-bg {
    display: none !important;
  }


  /* =======================================================
     FOOTER
  ======================================================= */

  body .site-footer {

    position: relative !important;

    width: 100% !important;

    height: var(--contact-footer-height) !important;
    min-height: var(--contact-footer-height) !important;

    margin: 0 !important;

    padding:
      0
      6vw !important;

    box-sizing: border-box !important;

    background:
      #0b4438 !important;
  }

}
/* =========================================================
   FOOTER 2026
   MARCA IZQUIERDA / DERECHOS CENTRO / MENÚ DERECHA
========================================================= */

@media (min-width: 769px) {

  body .site-footer {
    position: relative !important;

    width: 100% !important;

    height: 64px !important;
    min-height: 64px !important;

    margin: 0 !important;

    padding:
      0
      6vw !important;

    box-sizing:
      border-box !important;

    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      auto
      minmax(0, 1fr) !important;

    align-items:
      center !important;

    column-gap:
      34px !important;

    background:
      #0b4438 !important;
  }


  /* =======================================================
     IZQUIERDA — MARCA
  ======================================================= */

  body .site-footer .footer-brand {
    grid-column:
      1 !important;

    justify-self:
      start !important;

    display:
      flex !important;

    flex-direction:
      column !important;

    align-items:
      flex-start !important;

    gap:
      2px !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  body .site-footer .footer-brand p {
    margin:
      0 !important;
  }


  body .site-footer .footer-logo {
    color:
      #fbf8f0 !important;

    font-size:
      .72rem !important;

    line-height:
      1 !important;

    font-weight:
      500 !important;

    letter-spacing:
      .20em !important;
  }


  body .site-footer
  .footer-brand p:not(.footer-logo) {

    color:
      rgba(251,248,240,.58) !important;

    font-size:
      .52rem !important;

    line-height:
      1.25 !important;

    letter-spacing:
      .11em !important;
  }


  /* =======================================================
     CENTRO — DERECHOS
  ======================================================= */

  body .site-footer .footer-copy {
    grid-column:
      2 !important;

    grid-row:
      1 !important;

    justify-self:
      center !important;

    align-self:
      center !important;

    margin:
      0 !important;

    padding:
      0 !important;

    color:
      rgba(251,248,240,.56) !important;

    font-size:
      .53rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .035em !important;

    white-space:
      nowrap !important;
  }


  /* =======================================================
     DERECHA — NAVEGACIÓN
  ======================================================= */

  body .site-footer .footer-links {
    grid-column:
      3 !important;

    grid-row:
      1 !important;

    justify-self:
      end !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      flex-end !important;

    gap:
      clamp(15px,1.45vw,25px) !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  body .site-footer .footer-links a {
    position:
      relative !important;

    display:
      inline-block !important;

    color:
      rgba(251,248,240,.62) !important;

    font-size:
      .53rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .10em !important;

    text-transform:
      uppercase !important;

    text-decoration:
      none !important;

    transform:
      translateY(0);

    transition:
      color .28s ease,
      transform .32s cubic-bezier(.22,.61,.36,1) !important;
  }


  /* Línea inferior */
  body .site-footer
  .footer-links a::after {

    content:
      "";

    position:
      absolute;

    left:
      50%;

    bottom:
      -7px;

    width:
      0;

    height:
      1px;

    background:
      rgba(251,248,240,.78);

    transform:
      translateX(-50%);

    transition:
      width .32s cubic-bezier(.22,.61,.36,1);
  }


  body .site-footer
  .footer-links a:hover {

    color:
      #fbf8f0 !important;

    transform:
      translateY(-2px);
  }


  body .site-footer
  .footer-links a:hover::after {

    width:
      100%;
  }

}
/* =========================================================
   FOOTER - LEGIBILIDAD DEFINITIVA
========================================================= */

@media (min-width: 769px) {

  /* Marca e origen */
  .site-footer .footer-brand,
  .site-footer .footer-brand *,
  .site-footer .footer-logo {
    font-size: 25px !important;
    line-height: 1.2 !important;
    transform: none !important;
  }


  /* arquitectura & ingeniería */
  .site-footer .footer-brand span,
  .site-footer .footer-brand p:not(.footer-logo) {
    font-size: 20px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.10em !important;
  }


  /* Derechos reservados */
  .site-footer .footer-copy,
  .site-footer .footer-copyright {
    font-size: 20px !important;
    line-height: 1 !important;
    transform: none !important;
  }


  /* Navegación completa */
  .site-footer .footer-links,
  .site-footer .footer-nav,
  .site-footer nav {
    transform: none !important;
  }


  .site-footer .footer-links a,
  .site-footer .footer-nav a,
  .site-footer nav a {
    font-size: 12px !important;
    line-height: 1 !important;

    letter-spacing: 0.10em !important;

    transform: none;
  }


  /* Hover */
  .site-footer .footer-links a:hover,
  .site-footer .footer-nav a:hover,
  .site-footer nav a:hover {
    transform: translateY(-2px) !important;
  }

}
/* =========================================================
   HEADER - MICROINTERACCIÓN DE NAVEGACIÓN
========================================================= */

.site-header nav a,
.header-nav a,
.main-nav a {

  position: relative;

  display: inline-block;

  transition:
    color .28s ease,
    transform .28s cubic-bezier(.22,.61,.36,1);

}


/* línea inferior */
.site-header nav a::after,
.header-nav a::after,
.main-nav a::after {

  content: "";

  position: absolute;

  left: 50%;
  bottom: -7px;

  width: 0;
  height: 1px;

  background:
    rgba(11,68,56,.72);

  transform:
    translateX(-50%);

  transition:
    width .32s cubic-bezier(.22,.61,.36,1);

}


/* hover */
.site-header nav a:hover,
.header-nav a:hover,
.main-nav a:hover {

  color:
    #0b4438;

  transform:
    translateY(-2px);

}


.site-header nav a:hover::after,
.header-nav a:hover::after,
.main-nav a:hover::after {

  width:
    100%;

}
/* =========================================================
   HEADER - RESPUESTA SUTIL AL HOVER
========================================================= */

.site-header,
.header-glass,
.main-header {

  transition:
    box-shadow .35s ease,
    background-color .35s ease,
    backdrop-filter .35s ease;
}


.site-header:hover,
.header-glass:hover,
.main-header:hover {

  box-shadow:
    0 18px 42px rgba(11,68,56,.08);

  backdrop-filter:
    blur(18px) saturate(125%);
}
/* =========================================================
   PROCESO 2026
   TYPEWRITER + REVEAL + TARJETAS ESCALONADAS
========================================================= */


/* ---------------------------------------------------------
   ELEMENTOS DE TEXTO
--------------------------------------------------------- */

#proceso.process-motion-ready .process-motion-text {
  opacity: 0;

  transform:
    translateY(18px);

  transition:
    opacity .72s ease,
    transform .82s cubic-bezier(.22,.61,.36,1);
}


#proceso.process-motion-ready
.process-motion-text.is-in {

  opacity: 1;

  transform:
    translateY(0);
}


/* ---------------------------------------------------------
   TÍTULO TYPEWRITER
--------------------------------------------------------- */

#proceso .process-typing-title {
  opacity: 1 !important;

  transform: none !important;
}


/* Cursor de escritura */
#proceso
.process-typing-title.is-typing::after {

  content: "";

  display: inline-block;

  width: 1px;
  height: .78em;

  margin-left: .035em;

  vertical-align: -.03em;

  background:
    currentColor;

  opacity: .32;

  animation:
    processCaretBlink
    .72s
    steps(1)
    infinite;
}


@keyframes processCaretBlink {

  0%,
  48% {
    opacity: .32;
  }

  49%,
  100% {
    opacity: 0;
  }

}


/* ---------------------------------------------------------
   TARJETAS
--------------------------------------------------------- */

#proceso.process-motion-ready
.process-motion-card {

  opacity: 0;

  transform:
    translateY(24px)
    scale(.992);

  transition:
    opacity .70s ease,
    transform .82s cubic-bezier(.22,.61,.36,1),
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .40s ease;
}


#proceso.process-motion-ready
.process-motion-card.is-in {

  opacity: 1;

  transform:
    translateY(0)
    scale(1);
}


/* ---------------------------------------------------------
   ACCESIBILIDAD / MOVIMIENTO REDUCIDO
--------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  #proceso.process-motion-ready
  .process-motion-text,

  #proceso.process-motion-ready
  .process-motion-card {

    opacity: 1 !important;

    transform: none !important;

    transition: none !important;
  }


  #proceso
  .process-typing-title::after {

    display: none !important;
  }

}
/* =========================================================
   SERVICIOS - REVEAL ESCALONADO CORREGIDO
   Aplica a TODAS las tarjetas del grid
========================================================= */

#servicios.services-motion-ready
.services-grid > article {

  opacity: 0;

  transform:
    translateY(22px)
    scale(.994);

  transition:
    opacity .68s ease,
    transform .82s cubic-bezier(.22,.61,.36,1),
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .4s ease;
}


#servicios.services-motion-ready
.services-grid > article.is-in {

  opacity: 1;

  transform:
    translateY(0)
    scale(1);
}


@media (prefers-reduced-motion: reduce) {

  #servicios.services-motion-ready
  .services-grid > article {

    opacity: 1 !important;

    transform: none !important;

    transition: none !important;
  }

}
/* =========================================================
   PROYECTOS 2026
   REVEAL ESCALONADO DEFINITIVO
   Sin interferir con proximidad / glass
========================================================= */

.project-reveal-surface {
  opacity: 0 !important;

  transform:
    translateY(30px)
    scale(.992) !important;

  transition:
    opacity .95s ease,
    transform 1.05s cubic-bezier(.22,.61,.36,1) !important;

  will-change:
    opacity,
    transform;
}


.project-reveal-surface.is-in {
  opacity: 1 !important;

  transform:
    translateY(0)
    scale(1) !important;
}


/* movimiento reducido */
@media (prefers-reduced-motion: reduce) {

  .project-reveal-surface {
    opacity: 1 !important;

    transform: none !important;

    transition: none !important;
  }

}
/* =========================================================
   POSICIÓN CORREGIDA
   ARQUITECTURA + INGENIERÍA
========================================================= */

@media (min-width: 769px) {

  /* =====================================================
     ARQUITECTURA
     BAJAR EL ENCABEZADO
  ===================================================== */

  #arquitectura {
    scroll-margin-top: 110px !important;
  }

  #arquitectura .projects-heading,
  #arquitectura .projects-intro,
  #arquitectura .section-heading {
    margin-top: 82px !important;
    padding-top: 0 !important;
  }


  /* =====================================================
     INGENIERÍA
     SUBIR EL ENCABEZADO
  ===================================================== */

  #ingenieria {
    scroll-margin-top: 90px !important;
  }

  #ingenieria .technical-projects-heading {
    margin-top: -55px !important;
    padding-top: 0 !important;
  }

}
/* =========================================================
   ARQUITECTURA
   AJUSTE DE COMPOSICIÓN VERTICAL
========================================================= */

@media (min-width: 769px) {

  /* -------------------------------------------------------
     CONTENEDOR GENERAL
     Más respiración después del header
  ------------------------------------------------------- */

  #arquitectura {
    padding-top: 34px !important;

    scroll-margin-top: 90px !important;
  }


  /* -------------------------------------------------------
     PALABRA "PROYECTOS"
  ------------------------------------------------------- */

  #arquitectura .section-kicker,
  #arquitectura > .section-label {

    margin-top: 0 !important;

    margin-bottom: 14px !important;
  }


  /* -------------------------------------------------------
     TÍTULO "DISEÑO Y TÉCNICA"
  ------------------------------------------------------- */

  #arquitectura h2:first-of-type {

    margin-top: 0 !important;

    margin-bottom: 38px !important;

  }


  /* -------------------------------------------------------
     BLOQUE 01 — ARQUITECTURA
     Eliminamos el espacio excesivo existente
  ------------------------------------------------------- */

  #arquitectura .portfolio-block {

    margin-top: 0 !important;

    padding-top: 0 !important;

  }


  #arquitectura .portfolio-block-heading {

    margin-top: 0 !important;

    margin-bottom: 18px !important;

    padding-top: 0 !important;

  }


  /* -------------------------------------------------------
     GRID
  ------------------------------------------------------- */

  #arquitectura .projects-grid {

    margin-top: 0 !important;

  }

}
/* =========================================================
   ARQUITECTURA
   COMPOSICIÓN VERTICAL DEFINITIVA
========================================================= */

@media (min-width: 769px) {

  /* -------------------------------------------------------
     ANCLA + RESPIRACIÓN SUPERIOR
  ------------------------------------------------------- */

  #arquitectura.projects-feature-bg {
    scroll-margin-top: 100px !important;

    padding-top: 26px !important;
  }


  /* -------------------------------------------------------
     BLOQUE:
     PROYECTOS
     Diseño y técnica
  ------------------------------------------------------- */

  #arquitectura .projects-heading,
  #arquitectura .projects-intro,
  #arquitectura .section-heading {

    height: auto !important;
    min-height: 0 !important;

    margin-top: 0 !important;
    margin-bottom: 24px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }


  /* PROYECTOS */
  #arquitectura .projects-heading .section-label,
  #arquitectura .projects-heading .section-kicker,
  #arquitectura .projects-intro .section-label,
  #arquitectura .projects-intro .section-kicker {

    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }


  /* DISEÑO Y TÉCNICA */
  #arquitectura .projects-heading h2,
  #arquitectura .projects-intro h2,
  #arquitectura .section-heading h2 {

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 !important;
  }


  /* -------------------------------------------------------
     01 — ARQUITECTURA
  ------------------------------------------------------- */

  #arquitectura .portfolio-block {

    margin-top: 0 !important;

    padding-top: 0 !important;
  }


  #arquitectura .portfolio-block-heading {

    margin-top: 0 !important;
    margin-bottom: 14px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }


  #arquitectura .portfolio-block-heading p {

    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }


  /* -------------------------------------------------------
     TARJETAS
  ------------------------------------------------------- */

  #arquitectura .projects-grid {

    margin-top: 0 !important;
    padding-top: 0 !important;
  }

}
/* =========================================================
   ARQUITECTURA - POSICIÓN DEFINITIVA DESKTOP
   21-09-2026
========================================================= */

@media (min-width: 901px) {

  /* El enlace ARQUITECTURA deja espacio para el header */
  html body #proyectos > #arquitectura.projects-feature-bg {
    scroll-margin-top: 88px !important;

    margin-top: 0 !important;

    padding-top: 32px !important;
    padding-left: 6vw !important;
    padding-right: 6vw !important;
    padding-bottom: clamp(62px, 6vw, 96px) !important;
  }


  /* PROYECTOS + Diseño y técnica */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .projects-intro {

    margin: 0 0 24px 0 !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;
  }


  /* PROYECTOS */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .projects-intro
  > .section-kicker {

    margin: 0 0 10px 0 !important;
    padding: 0 !important;
  }


  /* Diseño y técnica */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .projects-intro
  > h2 {

    margin: 0 !important;
    padding: 0 !important;
  }


  /* 01 — ARQUITECTURA */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .portfolio-block {

    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .portfolio-block
  > .portfolio-block-heading {

    margin: 0 0 16px 0 !important;
    padding: 0 !important;
  }


  /* Tarjetas */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .portfolio-block
  > .projects-grid {

    margin-top: 0 !important;
    padding-top: 0 !important;
  }

}
/* =========================================================
   ARQUITECTURA - ENCABEZADO COMPACTO SIN "PROYECTOS"
========================================================= */

@media (min-width: 901px) {

  /* Subimos ligeramente todo el bloque */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg {

    padding-top: 24px !important;

    scroll-margin-top: 88px !important;
  }


  /* Diseño y técnica */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .projects-intro {

    margin: 0 0 18px 0 !important;

    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;
  }


  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .projects-intro
  > h2 {

    margin: 0 !important;
    padding: 0 !important;
  }


  /* 01 — ARQUITECTURA */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .portfolio-block {

    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .portfolio-block
  > .portfolio-block-heading {

    margin: 0 0 12px 0 !important;
    padding: 0 !important;
  }


  /* Grid */
  html body
  #proyectos
  > #arquitectura.projects-feature-bg
  > .portfolio-block
  > .projects-grid {

    margin-top: 0 !important;
    padding-top: 0 !important;
  }

}
/* =========================================================
   MASTER PROYECTOS 2026
   HERO GLASS / GALERÍA MANUAL / MOTION
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     HERO / RETÍCULA GENERAL
  ===================================================== */

  .project-hero-glass {
    position: relative !important;
    min-height: 100svh !important;
    height: 100svh !important;

    padding:
      94px
      6vw
      22px !important;

    display: flex !important;
    flex-direction: column !important;

    overflow: hidden !important;
    isolation: isolate !important;

    box-sizing: border-box !important;
  }


  .project-hero-glass .project-hero-shell {
    position: relative !important;
    z-index: 3 !important;

    width: 100% !important;
    max-width: none !important;

    flex: 1 1 auto !important;
    min-height: 0 !important;

    display: grid !important;

    grid-template-columns:
      minmax(370px, .78fr)
      minmax(560px, 1.32fr) !important;

    gap:
      clamp(38px, 4vw, 68px) !important;

    align-items: stretch !important;

    margin: 0 !important;

    transform:
      translateY(32px) !important;
  }


  /* =====================================================
     FICHA GLASS
  ===================================================== */

  .project-hero-glass .project-glass-card {
    width: 100% !important;
    max-width: 600px !important;

    align-self: stretch !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;

    padding:
      48px
      48px
      42px !important;

    box-sizing: border-box !important;

    border:
      1px solid
      rgba(255,255,255,.60) !important;

    border-radius:
      22px !important;

    background:
      rgba(251,248,240,.52) !important;

    backdrop-filter:
      blur(20px)
      saturate(115%) !important;

    -webkit-backdrop-filter:
      blur(20px)
      saturate(115%) !important;

    box-shadow:
      0 26px 60px
      rgba(11,68,56,.08) !important;
  }


  .project-hero-glass .project-glass-eyebrow {
    margin:
      0 0 24px !important;

    color:
      var(--brown) !important;

    font-size:
      .72rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .18em !important;

    text-transform:
      uppercase !important;
  }


  .project-hero-glass .project-glass-card h1 {
    margin:
      0 0 28px !important;

    color:
      var(--green-dark) !important;

    font-size:
      clamp(4.2rem, 6vw, 7.4rem) !important;

    line-height:
      .92 !important;

    font-weight:
      300 !important;

    letter-spacing:
      -.065em !important;
  }


  .project-hero-glass .project-glass-description {
    width: 100% !important;
    max-width: 500px !important;

    margin:
      0 0 30px !important;

    color:
      rgba(11,68,56,.68) !important;

    font-size:
      .96rem !important;

    line-height:
      1.7 !important;
  }


  /* =====================================================
     DATOS DEL PROYECTO
  ===================================================== */

  .project-hero-glass .project-glass-data {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
      repeat(4, minmax(0, 1fr)) !important;

    margin: 0 !important;

    padding:
      24px 0 0 !important;

    border-top:
      1px solid
      rgba(11,68,56,.13) !important;
  }


  .project-hero-glass .project-glass-data article {
    min-width: 0 !important;

    padding:
      0 14px !important;

    border-right:
      1px solid
      rgba(11,68,56,.10) !important;
  }


  .project-hero-glass .project-glass-data article:first-child {
    padding-left:
      0 !important;
  }


  .project-hero-glass .project-glass-data article:last-child {
    padding-right:
      0 !important;

    border-right:
      0 !important;
  }


  .project-hero-glass .project-glass-data span {
    display:
      block !important;

    margin:
      0 0 10px !important;

    color:
      var(--brown) !important;

    font-size:
      .61rem !important;

    letter-spacing:
      .16em !important;

    text-transform:
      uppercase !important;
  }


  .project-hero-glass .project-glass-data strong {
    display:
      block !important;

    color:
      rgba(11,68,56,.74) !important;

    font-size:
      .90rem !important;

    line-height:
      1.35 !important;

    font-weight:
      300 !important;
  }


  /* =====================================================
     ACCIÓN PRINCIPAL
  ===================================================== */

  .project-hero-glass .project-glass-actions {
    width: 100% !important;

    display: flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    margin:
      auto 0 0 !important;

    padding-top:
      34px !important;
  }


  .project-hero-glass .project-glass-primary {
    position: relative !important;

    min-width:
      190px !important;

    height:
      52px !important;

    padding:
      0 22px !important;

    display:
      inline-flex !important;

    align-items:
      center !important;

    justify-content:
      space-between !important;

    overflow:
      hidden !important;

    border-radius:
      999px !important;

    background:
      var(--green-dark) !important;

    color:
      var(--beige) !important;

    text-decoration:
      none !important;

    font-size:
      .76rem !important;

    transition:
      transform .38s cubic-bezier(.22,.61,.36,1),
      box-shadow .38s ease !important;
  }


  .project-hero-glass .project-glass-primary::before {
    content: "" !important;

    position:
      absolute !important;

    top:
      0 !important;

    left:
      -120% !important;

    width:
      70% !important;

    height:
      100% !important;

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.16),
        transparent
      ) !important;

    transform:
      skewX(-18deg) !important;

    transition:
      left .65s ease !important;

    pointer-events:
      none !important;
  }


  .project-hero-glass .project-glass-primary:hover {
    transform:
      translateY(-3px) !important;

    box-shadow:
      0 16px 32px
      rgba(11,68,56,.17) !important;
  }


  .project-hero-glass .project-glass-primary:hover::before {
    left:
      150% !important;
  }


  .project-hero-glass .project-action-arrow {
    display:
      inline-block !important;

    transition:
      transform .35s
      cubic-bezier(.22,.61,.36,1) !important;
  }


  .project-hero-glass .project-glass-primary:hover .project-action-arrow {
    transform:
      translateX(5px) !important;
  }


  /* =====================================================
     VISOR DE RENDERS
  ===================================================== */

  .project-hero-glass .project-hero-media {
    position:
      relative !important;

    width:
      100% !important;

    min-width:
      0 !important;

    min-height:
      0 !important;

    align-self:
      stretch !important;

    display:
      flex !important;

    flex-direction:
      column !important;
  }


  .project-hero-glass .project-main-image {
    position:
      relative !important;

    order:
      1 !important;

    width:
      100% !important;

    height:
      clamp(
        420px,
        61svh,
        560px
      ) !important;

    flex:
      1 1 auto !important;

    margin:
      0 !important;

    overflow:
      hidden !important;

    border:
      1px solid
      rgba(255,255,255,.54) !important;

    border-radius:
      22px !important;

    background:
      rgba(251,248,240,.18) !important;

    box-shadow:
      0 30px 62px
      rgba(11,68,56,.08) !important;
  }


  .project-image-stage {
    position:
      absolute !important;

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;
  }


  /*
    El master actual usa UNA sola capa visible.
    La segunda imagen del HTML se conserva por compatibilidad,
    pero queda completamente anulada.
  */

  .project-stage-image {
    position:
      absolute !important;

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;

    display:
      block !important;

    object-fit:
      cover !important;

    object-position:
      center center !important;

    opacity:
      0 !important;

    visibility:
      hidden !important;

    transform:
      none !important;

    transition:
      none !important;
  }


  .project-stage-image:first-child {
    opacity:
      1 !important;

    visibility:
      visible !important;
  }


  /* =====================================================
     CONTROLES MANUALES DEL VISOR
  ===================================================== */

  .project-image-controls {
    position:
      absolute !important;

    top:
      22px !important;

    right:
      24px !important;

    z-index:
      15 !important;

    display:
      flex !important;

    align-items:
      center !important;

    gap:
      9px !important;
  }


  .project-image-counter {
    position:
      static !important;

    min-width:
      58px !important;

    margin-right:
      4px !important;

    color:
      rgba(251,248,240,.94) !important;

    font-size:
      .68rem !important;

    letter-spacing:
      .12em !important;
  }


  .project-image-arrow {
    width:
      40px !important;

    height:
      40px !important;

    padding:
      0 !important;

    display:
      inline-grid !important;

    place-items:
      center !important;

    border:
      1px solid
      rgba(255,255,255,.46) !important;

    border-radius:
      50% !important;

    background:
      rgba(251,248,240,.18) !important;

    backdrop-filter:
      blur(12px)
      saturate(120%) !important;

    -webkit-backdrop-filter:
      blur(12px)
      saturate(120%) !important;

    color:
      rgba(251,248,240,.96) !important;

    cursor:
      pointer !important;

    font-size:
      .92rem !important;

    transition:
      transform .30s cubic-bezier(.22,.61,.36,1),
      background-color .30s ease,
      border-color .30s ease !important;
  }


  .project-image-arrow:hover {
    transform:
      translateY(-2px) !important;

    background:
      rgba(251,248,240,.32) !important;

    border-color:
      rgba(255,255,255,.72) !important;
  }


  .project-image-arrow:active {
    transform:
      translateY(0)
      scale(.94) !important;
  }


  /* =====================================================
     MINIATURAS
  ===================================================== */

  .project-hero-glass .project-thumbnails {
    position:
      static !important;

    order:
      2 !important;

    width:
      100% !important;

    flex:
      0 0 auto !important;

    display:
      grid !important;

    grid-template-columns:
      repeat(5, minmax(0, 1fr))
      minmax(100px, .72fr) !important;

    gap:
      12px !important;

    margin:
      12px 0 0 !important;

    padding:
      0 !important;

    transform:
      none !important;
  }


  .project-hero-glass .project-thumb,
  .project-hero-glass .project-thumb-more {
    position:
      relative !important;

    width:
      100% !important;

    height:
      78px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    border:
      1px solid
      rgba(255,255,255,.50) !important;

    border-radius:
      14px !important;

    background:
      rgba(251,248,240,.30) !important;

    backdrop-filter:
      blur(10px) !important;
  }


  .project-hero-glass .project-thumb {
    cursor:
      pointer !important;

    transition:
      opacity .30s ease,
      transform .30s ease,
      border-color .30s ease,
      box-shadow .30s ease !important;
  }


  .project-hero-glass .project-thumb:not(.is-active) {
    opacity:
      .64 !important;
  }


  .project-hero-glass .project-thumb:hover {
    opacity:
      .92 !important;

    transform:
      translateY(-2px) !important;
  }


  .project-hero-glass .project-thumb.is-active {
    opacity:
      1 !important;

    border-color:
      rgba(11,68,56,.68) !important;

    box-shadow:
      0 0 0 2px
      rgba(251,248,240,.72)
      inset !important;
  }


  .project-hero-glass .project-thumb img {
    width:
      100% !important;

    height:
      100% !important;

    display:
      block !important;

    object-fit:
      cover !important;

    object-position:
      center center !important;
  }


  .project-hero-glass .project-thumb-more {
    display:
      flex !important;

    flex-direction:
      column !important;

    align-items:
      center !important;

    justify-content:
      center !important;

    gap:
      6px !important;

    color:
      var(--green-dark) !important;

    text-decoration:
      none !important;

    cursor:
      pointer !important;
  }


  .project-hero-glass .project-thumb-more small {
    font-size:
      .58rem !important;

    letter-spacing:
      .14em !important;

    text-transform:
      uppercase !important;
  }


  /* =====================================================
     FIRMA EDITORIAL
  ===================================================== */

  .project-hero-glass .project-hero-signature {
    position:
      relative !important;

    z-index:
      3 !important;

    flex:
      0 0 auto !important;

    display:
      flex !important;

    align-items:
      center !important;

    gap:
      16px !important;

    min-height:
      20px !important;

    margin-top:
      16px !important;
  }


  .project-hero-glass .project-hero-signature span {
    width:
      44px !important;

    height:
      1px !important;

    background:
      rgba(111,91,63,.40) !important;
  }


  .project-hero-glass .project-hero-signature p {
    margin:
      0 !important;

    color:
      rgba(111,91,63,.68) !important;

    font-size:
      .56rem !important;

    letter-spacing:
      .24em !important;

    text-transform:
      uppercase !important;
  }


  /* =====================================================
     MOTION DE ENTRADA
  ===================================================== */

  .project-hero-motion-ready .project-glass-card {
    opacity:
      0;

    transform:
      translateY(18px)
      scale(.994);

    transition:
      opacity .85s ease,
      transform 1s cubic-bezier(.22,.61,.36,1);
  }


  .project-hero-motion-ready .project-glass-card.is-in {
    opacity:
      1;

    transform:
      translateY(0)
      scale(1);
  }


  .project-hero-motion-ready .project-hero-media {
    opacity:
      0;

    transform:
      translateY(22px)
      scale(.994);

    transition:
      opacity .90s ease,
      transform 1.05s cubic-bezier(.22,.61,.36,1);
  }


  .project-hero-motion-ready .project-hero-media.is-in {
    opacity:
      1;

    transform:
      translateY(0)
      scale(1);
  }


  .project-hero-motion-ready .project-glass-eyebrow,
  .project-hero-motion-ready .project-glass-description,
  .project-hero-motion-ready .project-glass-data,
  .project-hero-motion-ready .project-glass-actions,
  .project-hero-motion-ready .project-hero-signature {
    opacity:
      0;

    transform:
      translateY(12px);

    transition:
      opacity .68s ease,
      transform .78s cubic-bezier(.22,.61,.36,1);
  }


  .project-hero-motion-ready .project-glass-eyebrow.is-in,
  .project-hero-motion-ready .project-glass-description.is-in,
  .project-hero-motion-ready .project-glass-data.is-in,
  .project-hero-motion-ready .project-glass-actions.is-in,
  .project-hero-motion-ready .project-hero-signature.is-in {
    opacity:
      1;

    transform:
      translateY(0);
  }


  /* Typewriter Casa OD */

  .project-hero-motion-ready .project-glass-card h1 {
    position:
      relative;
  }


  .project-hero-motion-ready .project-glass-card h1::after {
    content:
      "";

    display:
      inline-block;

    width:
      1px;

    height:
      .80em;

    margin-left:
      8px;

    vertical-align:
      -.03em;

    background:
      rgba(11,68,56,.55);

    animation:
      projectCursorBlink .82s
      steps(1)
      infinite;
  }


  .project-hero-motion-ready .project-glass-card h1.is-in::after {
    animation:
      projectCursorFade .45s ease
      forwards;
  }

}


/* =========================================================
   TYPEWRITER / ACCESIBILIDAD
========================================================= */

@keyframes projectCursorBlink {

  0%,
  48% {
    opacity:
      1;
  }

  49%,
  100% {
    opacity:
      0;
  }

}


@keyframes projectCursorFade {

  from {
    opacity:
      1;
  }

  to {
    opacity:
      0;
  }

}


@media (prefers-reduced-motion: reduce) {

  .project-glass-card,
  .project-hero-media,
  .project-glass-eyebrow,
  .project-glass-description,
  .project-glass-data,
  .project-glass-actions,
  .project-hero-signature {
    opacity:
      1 !important;

    transform:
      none !important;

    transition:
      none !important;
  }

}

/* =========================================================
   MASTER PROYECTOS 2026
   SECCIÓN DE PLANOS - GLASS
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     SECCIÓN
  ===================================================== */

  .project-plans-section {
    position: relative;

    min-height: 100svh;

    padding:
      110px
      6vw
      54px;

    box-sizing: border-box;

    background:
      linear-gradient(
        110deg,
        rgba(251,248,240,.82),
        rgba(251,248,240,.38)
      );

    overflow: hidden;

    scroll-margin-top: 82px;
  }


  /* utiliza el mismo fondo arquitectónico */
  .project-plans-section::before {
    content: "";

    position: absolute;
    inset: 0;

    background-image:
      inherit;

    background-size:
      cover;

    background-position:
      center;

    opacity: .28;

    pointer-events: none;
  }



  /* =====================================================
     RETÍCULA
  ===================================================== */

  .project-plans-shell {
    position: relative;
    z-index: 2;

    width: 100%;

    display: grid;

    grid-template-columns:
      minmax(300px, .50fr)
      minmax(720px, 1.50fr);

    gap:
      clamp(22px, 2.4vw, 38px);

    align-items: stretch;
  }



  /* =====================================================
     ISLA IZQUIERDA
  ===================================================== */

  .project-plans-info {
    min-height: 680px;

    padding:
      clamp(38px, 3vw, 54px);

    display: flex;
    flex-direction: column;

    box-sizing: border-box;

    border:
      1px solid
      rgba(255,255,255,.58);

    border-radius:
      24px;

    background:
      rgba(251,248,240,.50);

    backdrop-filter:
      blur(20px)
      saturate(118%);

    -webkit-backdrop-filter:
      blur(20px)
      saturate(118%);

    box-shadow:
      0 28px 58px
      rgba(11,68,56,.075);
  }


  .project-plans-number {
    margin-bottom: 24px;

    color:
      rgba(111,91,63,.72);

    font-size:
      .65rem;

    letter-spacing:
      .20em;
  }


  .project-plans-info h2 {
    margin:
      0 0 28px;

    color:
      var(--green-dark);

    font-size:
      clamp(2.4rem, 3.2vw, 4.3rem);

    line-height:
      1.05;

    font-weight:
      300;

    letter-spacing:
      -.045em;
  }


  .project-plans-lead,
  .project-plans-text {
    margin: 0;

    max-width: 380px;

    color:
      rgba(11,68,56,.65);

    font-size:
      .88rem;

    line-height:
      1.72;
  }


  .project-plans-divider {
    width: 100%;
    height: 1px;

    margin:
      28px 0;

    background:
      rgba(11,68,56,.13);
  }



  /* =====================================================
     BOTÓN
  ===================================================== */

  .project-plans-button {
    position: relative;

    width:
      min(220px, 100%);

    height:
      54px;

    margin-top:
      32px;

    padding:
      0 20px;

    display:
      flex;

    align-items:
      center;

    justify-content:
      space-between;

    box-sizing:
      border-box;

    border-radius:
      999px;

    background:
      var(--green-dark);

    color:
      var(--beige);

    text-decoration:
      none;

    font-size:
      .76rem;

    overflow:
      hidden;

    transition:
      transform .35s ease,
      box-shadow .35s ease;
  }


  .project-plans-button:hover {
    transform:
      translateY(-3px);

    box-shadow:
      0 16px 28px
      rgba(11,68,56,.17);
  }



  /* =====================================================
     INFORMACIÓN INFERIOR
  ===================================================== */

  .project-plans-project {
    margin-top:
      auto;

    padding-top:
      44px;

    display:
      flex;

    flex-direction:
      column;

    gap:
      7px;
  }


  .project-plans-project > span {
    width:
      28px;

    height:
      1px;

    margin-bottom:
      9px;

    background:
      rgba(11,68,56,.55);
  }


  .project-plans-project strong {
    color:
      var(--green-dark);

    font-size:
      1rem;

    font-weight:
      400;

    letter-spacing:
      .10em;
  }


  .project-plans-project small,
  .project-plans-signature {
    color:
      rgba(11,68,56,.48);

    font-size:
      .58rem;

    letter-spacing:
      .22em;
  }


  .project-plans-signature {
    margin:
      42px 0 0;

    text-transform:
      uppercase;
  }



  /* =====================================================
     VISOR GLASS
  ===================================================== */

  .project-plans-viewer {
    position:
      relative;

    min-width:
      0;

    min-height:
      680px;

    padding:
      24px;

    display:
      flex;

    flex-direction:
      column;

    box-sizing:
      border-box;

    border:
      1px solid
      rgba(255,255,255,.64);

    border-radius:
      24px;

    background:
      rgba(251,248,240,.30);

    backdrop-filter:
      blur(18px)
      saturate(115%);

    -webkit-backdrop-filter:
      blur(18px)
      saturate(115%);

    box-shadow:
      0 28px 58px
      rgba(11,68,56,.075);
  }



  /* =====================================================
     TOOLBAR
  ===================================================== */

  .project-plans-toolbar {
    min-height:
      42px;

    display:
      flex;

    align-items:
      center;

    justify-content:
      space-between;

    padding:
      0 4px 16px;

    color:
      rgba(111,91,63,.70);

    font-size:
      .63rem;

    letter-spacing:
      .20em;

    text-transform:
      uppercase;
  }


  .project-plans-toolbar-right {
    display:
      flex;

    align-items:
      center;

    gap:
      10px;
  }


  .project-plans-counter {
    margin-right:
      8px;
  }


  .plans-arrow {
    width:
      40px;

    height:
      40px;

    display:
      grid;

    place-items:
      center;

    border:
      1px solid
      rgba(11,68,56,.14);

    border-radius:
      50%;

    background:
      rgba(251,248,240,.38);

    color:
      var(--green-dark);

    cursor:
      pointer;

    transition:
      transform .3s ease,
      background .3s ease;
  }


  .plans-arrow:hover {
    transform:
      translateY(-2px);

    background:
      rgba(251,248,240,.74);
  }



  /* =====================================================
     STAGE
  ===================================================== */

  .project-plans-stage {
    position:
      relative;

    flex:
      1 1 auto;

    min-height:
      0;

    overflow:
      hidden;

    border-radius:
      18px;
  }


  .project-plan-sheet {
    position:
      absolute;

    inset:
      0;

    margin:
      0;

    padding:
      20px;

    display:
      flex;

    align-items:
      center;

    justify-content:
      center;

    box-sizing:
      border-box;

    opacity:
      0;

    transform:
      translateY(12px)
      scale(.99);

    pointer-events:
      none;

    transition:
      opacity .7s ease,
      transform .85s
      cubic-bezier(.22,.61,.36,1);
  }


  .project-plan-sheet.is-active {
    opacity:
      1;

    transform:
      translateY(0)
      scale(1);

    pointer-events:
      auto;
  }


  .project-plan-sheet img {
    max-width:
      100%;

    max-height:
      100%;

    object-fit:
      contain;

    border-radius:
      10px;

    box-shadow:
      0 18px 38px
      rgba(11,68,56,.07);

    transform-origin:
      center center;

    transition:
      transform .35s ease;
  }


  .project-plan-heading {
    position:
      absolute;

    top:
      18px;

    left:
      22px;

    z-index:
      3;

    display:
      flex;

    flex-direction:
      column;

    gap:
      3px;

    color:
      var(--green-dark);
  }


  .project-plan-heading span {
    font-size:
      .61rem;

    letter-spacing:
      .18em;
  }


  .project-plan-heading p {
    margin:
      0;

    font-size:
      .75rem;
  }



  /* =====================================================
     PIE DEL VISOR
  ===================================================== */

  .project-plans-footer {
    min-height:
      62px;

    padding:
      14px 4px 0;

    display:
      flex;

    align-items:
      center;

    justify-content:
      space-between;
  }



  /* tabs */

  .project-plan-tabs {
    display:
      flex;

    align-items:
      center;

    gap:
      6px;

    padding:
      4px;

    border:
      1px solid
      rgba(11,68,56,.09);

    border-radius:
      999px;

    background:
      rgba(251,248,240,.28);
  }


  .project-plan-tab {
    min-width:
      120px;

    height:
      38px;

    padding:
      0 18px;

    display:
      inline-flex;

    align-items:
      center;

    justify-content:
      center;

    gap:
      9px;

    border:
      0;

    border-radius:
      999px;

    background:
      transparent;

    color:
      rgba(11,68,56,.55);

    cursor:
      pointer;

    font-size:
      .70rem;

    transition:
      background .3s ease,
      color .3s ease;
  }


  .project-plan-tab > span {
    width:
      7px;

    height:
      7px;

    border-radius:
      50%;

    background:
      transparent;
  }


  .project-plan-tab.is-active {
    background:
      rgba(251,248,240,.78);

    color:
      var(--green-dark);
  }


  .project-plan-tab.is-active > span {
    background:
      var(--green-dark);
  }



  /* =====================================================
     UTILIDADES
  ===================================================== */

  .project-plan-utility {
    display:
      flex;

    align-items:
      center;

    gap:
      8px;
  }


  .plan-zoom-button {
    width:
      38px;

    height:
      38px;

    display:
      grid;

    place-items:
      center;

    border:
      1px solid
      rgba(11,68,56,.12);

    border-radius:
      12px;

    background:
      rgba(251,248,240,.40);

    color:
      var(--green-dark);

    cursor:
      pointer;

    font-size:
      1rem;
  }


  .plan-fullscreen-button {
    height:
      38px;

    padding:
      0 14px;

    display:
      flex;

    align-items:
      center;

    gap:
      8px;

    border:
      1px solid
      rgba(11,68,56,.12);

    border-radius:
      12px;

    background:
      rgba(251,248,240,.40);

    color:
      var(--green-dark);

    cursor:
      pointer;

    font-size:
      .64rem;
  }

}
/* =========================================================
   CASA OD / PLANOS
   AJUSTE FINO DE POSICIÓN Y PROPORCIONES
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     SECCIÓN COMPLETA
     Sube el contenido y lo contiene dentro del viewport
  ===================================================== */

  .project-plans-section {
    min-height: 100svh !important;
    height: 100svh !important;

    padding:
      88px
      6vw
      22px !important;

    box-sizing:
      border-box !important;

    scroll-margin-top:
      0 !important;
  }


  /* =====================================================
     RETÍCULA
     Izquierda más compacta / visor más protagonista
  ===================================================== */

  .project-plans-shell {
    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(320px, .42fr)
      minmax(0, 1.58fr) !important;

    gap:
      clamp(22px, 2.2vw, 34px) !important;

    align-items:
      stretch !important;
  }


  /* =====================================================
     ISLA EDITORIAL IZQUIERDA
  ===================================================== */

  .project-plans-info {
    width:
      100% !important;

    min-width:
      0 !important;

    min-height:
      0 !important;

    height:
      100% !important;

    padding:
      clamp(34px, 2.5vw, 46px) !important;

    border-radius:
      22px !important;
  }


  .project-plans-info h2 {
    font-size:
      clamp(2.65rem, 3.15vw, 4.05rem) !important;

    line-height:
      1.02 !important;

    letter-spacing:
      -.05em !important;

    margin-bottom:
      26px !important;
  }


  .project-plans-lead,
  .project-plans-text {
    max-width:
      340px !important;
  }


  /* =====================================================
     VISOR DE PLANOS
  ===================================================== */

  .project-plans-viewer {
    width:
      100% !important;

    min-width:
      0 !important;

    min-height:
      0 !important;

    height:
      100% !important;

    padding:
      20px !important;

    border-radius:
      22px !important;
  }


  /* =====================================================
     ZONA CENTRAL DEL PLANO
     Aprovecha toda la altura disponible
  ===================================================== */

  .project-plans-stage {
    flex:
      1 1 auto !important;

    min-height:
      0 !important;

    height:
      auto !important;
  }


  .project-plan-sheet {
    padding:
      12px 20px !important;
  }


  .project-plan-sheet img {
    width:
      auto !important;

    max-width:
      100% !important;

    height:
      100% !important;

    max-height:
      100% !important;

    object-fit:
      contain !important;
  }


  /* =====================================================
     TOOLBAR MÁS COMPACTA
  ===================================================== */

  .project-plans-toolbar {
    flex:
      0 0 auto !important;

    min-height:
      38px !important;

    padding:
      0 4px 10px !important;
  }


  /* =====================================================
     CONTROLES INFERIORES
  ===================================================== */

  .project-plans-footer {
    flex:
      0 0 auto !important;

    min-height:
      54px !important;

    padding:
      10px 4px 0 !important;
  }

}
/* =========================================================
   PLANOS / AJUSTE TÍTULO ISLA IZQUIERDA
========================================================= */

@media (min-width: 901px) {

  .project-plans-info h2 {
    max-width: 100% !important;

    font-size:
      clamp(2.2rem, 2.55vw, 3.2rem) !important;

    line-height:
      1.04 !important;

    letter-spacing:
      -0.045em !important;

    overflow-wrap:
      normal !important;

    word-break:
      normal !important;
  }

}
/* =========================================================
   PLANOS / AJUSTE FINAL TÍTULO ISLA EDITORIAL
========================================================= */

@media (min-width: 901px) {

  .project-plans-info h2 {
    width: 100% !important;
    max-width: 250px !important;

    font-size:
      clamp(2.05rem, 2.35vw, 2.95rem) !important;

    line-height:
      1.06 !important;

    letter-spacing:
      -0.04em !important;

    margin-bottom:
      28px !important;
  }

}
/* =========================================================
   MASTER PROYECTOS 2026
   CIERRE GLASS
========================================================= */

@media (min-width: 901px) {

  .project-closing {
    position: relative !important;

    min-height: 100svh !important;
    height: 100svh !important;

    padding:
      110px
      6vw
      42px !important;

    display:
      block !important;

    overflow:
      hidden !important;

    isolation:
      isolate !important;

    box-sizing:
      border-box !important;
  }


  /* =====================================================
     VELO GENERAL
  ===================================================== */

  .project-closing::before {
    content: "" !important;

    position:
      absolute !important;

    inset:
      0 !important;

    z-index:
      1 !important;

    background:
      linear-gradient(
        90deg,
        rgba(251,248,240,.68) 0%,
        rgba(251,248,240,.42) 38%,
        rgba(251,248,240,.10) 70%,
        rgba(251,248,240,.02) 100%
      ) !important;

    pointer-events:
      none !important;
  }



  /* =====================================================
     ISLA PRINCIPAL
  ===================================================== */

  .project-closing-glass {
    position:
      absolute !important;

    left:
      6vw !important;

    top:
      50% !important;

    z-index:
      3 !important;

    width:
      min(760px, 46vw) !important;

    min-height:
      500px !important;

    padding:
      58px
      52px
      46px !important;

    box-sizing:
      border-box !important;

    transform:
      translateY(-46%) !important;

    border:
      1px solid
      rgba(255,255,255,.60) !important;

    border-radius:
      24px !important;

    background:
      rgba(251,248,240,.52) !important;

    backdrop-filter:
      blur(22px)
      saturate(116%) !important;

    -webkit-backdrop-filter:
      blur(22px)
      saturate(116%) !important;

    box-shadow:
      0 28px 60px
      rgba(11,68,56,.07) !important;
  }


  .project-closing-label {
    margin:
      0 0 20px !important;

    color:
      var(--brown) !important;

    font-size:
      .70rem !important;

    letter-spacing:
      .20em !important;

    text-transform:
      uppercase !important;
  }


  .project-closing-line {
    display:
      block !important;

    width:
      28px !important;

    height:
      1px !important;

    margin-bottom:
      34px !important;

    background:
      rgba(111,91,63,.55) !important;
  }


  .project-closing-glass h2 {
    margin:
      0 0 30px !important;

    max-width:
      680px !important;

    color:
      var(--green-dark) !important;

    font-size:
      clamp(4.2rem, 6vw, 7rem) !important;

    line-height:
      .94 !important;

    font-weight:
      300 !important;

    letter-spacing:
      -.065em !important;
  }


  .project-closing-description {
    max-width:
      560px !important;

    margin:
      0 !important;

    color:
      rgba(11,68,56,.66) !important;

    font-size:
      .96rem !important;

    line-height:
      1.75 !important;
  }



  /* =====================================================
     PARTE INFERIOR DE LA ISLA
  ===================================================== */

  .project-closing-bottom {
    margin-top:
      42px !important;

    display:
      flex !important;

    align-items:
      flex-end !important;

    justify-content:
      space-between !important;

    gap:
      34px !important;
  }



  /* =====================================================
     BOTÓN GLASS
  ===================================================== */

  .project-closing-link-glass {
    position:
      relative !important;

    min-width:
      300px !important;

    height:
      58px !important;

    padding:
      0 24px !important;

    display:
      inline-flex !important;

    align-items:
      center !important;

    justify-content:
      space-between !important;

    box-sizing:
      border-box !important;

    border:
      1px solid
      rgba(11,68,56,.18) !important;

    border-radius:
      18px !important;

    background:
      rgba(251,248,240,.34) !important;

    backdrop-filter:
      blur(12px) !important;

    -webkit-backdrop-filter:
      blur(12px) !important;

    color:
      var(--green-dark) !important;

    text-decoration:
      none !important;

    font-size:
      .68rem !important;

    letter-spacing:
      .16em !important;

    text-transform:
      uppercase !important;

    transition:
      transform .35s cubic-bezier(.22,.61,.36,1),
      background-color .35s ease,
      box-shadow .35s ease !important;
  }


  .project-closing-link-glass:hover {
    transform:
      translateY(-3px) !important;

    background:
      rgba(251,248,240,.56) !important;

    box-shadow:
      0 14px 30px
      rgba(11,68,56,.08) !important;
  }


  .project-closing-arrow {
    font-size:
      1rem !important;

    transition:
      transform .35s
      cubic-bezier(.22,.61,.36,1) !important;
  }


  .project-closing-link-glass:hover
  .project-closing-arrow {
    transform:
      translateX(5px) !important;
  }



  /* =====================================================
     PALABRAS DENTRO DE LA ISLA PRINCIPAL
  ===================================================== */

  .project-closing-words {
    min-width:
      92px !important;
  }


  .project-closing-words > span {
    display:
      block !important;

    width:
      28px !important;

    height:
      1px !important;

    margin-bottom:
      13px !important;

    background:
      rgba(111,91,63,.48) !important;
  }


  .project-closing-words p {
    margin:
      0 !important;

    color:
      rgba(111,91,63,.78) !important;

    font-size:
      .62rem !important;

    line-height:
      1.65 !important;

    letter-spacing:
      .18em !important;

    text-transform:
      uppercase !important;
  }



  /* =====================================================
     ISLA DERECHA
  ===================================================== */

  .project-closing-side-glass {
    position:
      absolute !important;

    top:
      22% !important;

    right:
      7.5vw !important;

    z-index:
      3 !important;

    width:
      220px !important;

    min-height:
      190px !important;

    padding:
      34px !important;

    display:
      flex !important;

    flex-direction:
      column !important;

    justify-content:
      center !important;

    box-sizing:
      border-box !important;

    border:
      1px solid
      rgba(255,255,255,.52) !important;

    border-radius:
      24px !important;

    background:
      rgba(251,248,240,.28) !important;

    backdrop-filter:
      blur(18px)
      saturate(112%) !important;

    -webkit-backdrop-filter:
      blur(18px)
      saturate(112%) !important;

    box-shadow:
      0 24px 52px
      rgba(11,68,56,.07) !important;
  }


  .project-closing-side-symbol {
    margin-bottom:
      18px !important;

    color:
      var(--green-dark) !important;

    font-size:
      1.35rem !important;
  }


  .project-closing-side-glass > span {
    width:
      28px !important;

    height:
      1px !important;

    margin-bottom:
      18px !important;

    background:
      rgba(111,91,63,.48) !important;
  }


  .project-closing-side-glass p {
    margin:
      0 !important;

    color:
      rgba(111,91,63,.82) !important;

    font-size:
      .68rem !important;

    line-height:
      1.8 !important;

    letter-spacing:
      .19em !important;

    text-transform:
      uppercase !important;
  }



  /* =====================================================
     FIRMA
  ===================================================== */

  .project-closing-signature {
    position:
      absolute !important;

    left:
      6vw !important;

    bottom:
      36px !important;

    z-index:
      3 !important;

    display:
      flex !important;

    align-items:
      center !important;

    gap:
      14px !important;
  }


  .project-closing-signature span {
    width:
      28px !important;

    height:
      1px !important;

    background:
      rgba(111,91,63,.54) !important;
  }


  .project-closing-signature p {
    margin:
      0 !important;

    color:
      rgba(111,91,63,.72) !important;

    font-size:
      .60rem !important;

    letter-spacing:
      .20em !important;

    text-transform:
      uppercase !important;
  }

}
/* =========================================================
   CIERRE / CORRECCIÓN BOTÓN
========================================================= */

.project-closing-link-glass,
.project-closing-link-glass:visited,
.project-closing-link-glass:hover,
.project-closing-link-glass:active {
  color:
    var(--green-dark) !important;
}


.project-closing-link-glass span {
  color:
    inherit !important;
}


.project-closing-link-glass:hover {
  background:
    rgba(251,248,240,.66) !important;

  border-color:
    rgba(11,68,56,.26) !important;

  color:
    var(--green-dark) !important;
}
/* =========================================================
   MASTER PROYECTOS
   CIERRE - MOTION CORREGIDO
   NO ALTERA GEOMETRÍA NI POSICIONES
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     ESTADO INICIAL DE TEXTOS
  ===================================================== */

  .project-closing-motion-ready
  .project-closing-label,

  .project-closing-motion-ready
  .project-closing-line,

  .project-closing-motion-ready
  .project-closing-description,

  .project-closing-motion-ready
  .project-closing-bottom,

  .project-closing-motion-ready
  .project-closing-side-symbol,

  .project-closing-motion-ready
  .project-closing-side-glass p,

  .project-closing-motion-ready
  .project-closing-signature {

    opacity: 0;

    transform:
      translateY(10px);

    transition:
      opacity .65s ease,
      transform .72s
      cubic-bezier(.22,.61,.36,1);
  }


  /* =====================================================
     ESTADO VISIBLE
  ===================================================== */

  .project-closing-motion-ready
  .project-closing-label.is-in,

  .project-closing-motion-ready
  .project-closing-line.is-in,

  .project-closing-motion-ready
  .project-closing-description.is-in,

  .project-closing-motion-ready
  .project-closing-bottom.is-in,

  .project-closing-motion-ready
  .project-closing-side-symbol.is-in,

  .project-closing-motion-ready
  .project-closing-side-glass p.is-in,

  .project-closing-motion-ready
  .project-closing-signature.is-in {

    opacity: 1;

    transform:
      translateY(0);
  }



  /* =====================================================
     ISLAS
     SOLO OPACIDAD
     NO MODIFICAMOS TRANSFORM
  ===================================================== */

  .project-closing-motion-ready
  .project-closing-glass,

  .project-closing-motion-ready
  .project-closing-side-glass {

    opacity: 0;

    transition:
      opacity .85s ease;
  }


  .project-closing-motion-ready
  .project-closing-glass.is-in,

  .project-closing-motion-ready
  .project-closing-side-glass.is-in {

    opacity: 1;
  }



  /* =====================================================
     TYPEWRITER
  ===================================================== */

  .project-closing-motion-ready
  .project-closing-glass h2 {

    position: relative;
  }


  .project-closing-motion-ready
  .project-closing-glass h2::after {

    content: "";

    display: inline-block;

    width: 1px;
    height: .78em;

    margin-left: 8px;

    vertical-align: -.02em;

    background:
      rgba(11,68,56,.52);

    animation:
      projectClosingCursorBlink
      .82s steps(1)
      infinite;
  }


  .project-closing-motion-ready
  .project-closing-glass h2.is-in::after {

    animation:
      projectClosingCursorFade
      .45s ease
      forwards;
  }

}


@keyframes projectClosingCursorBlink {

  0%,
  48% {
    opacity: 1;
  }

  49%,
  100% {
    opacity: 0;
  }

}


@keyframes projectClosingCursorFade {

  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }

}
/* =========================================================
   MASTER PROYECTOS
   PLANOS - MOTION
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     ISLAS
     Solo aparición + desplazamiento muy leve
  ===================================================== */

  .project-plans-motion-ready
  .project-plans-info,

  .project-plans-motion-ready
  .project-plans-viewer {

    opacity: 0;

    transform:
      translateY(16px);

    transition:
      opacity .82s ease,
      transform .92s
      cubic-bezier(.22,.61,.36,1);
  }


  .project-plans-motion-ready
  .project-plans-info.is-in,

  .project-plans-motion-ready
  .project-plans-viewer.is-in {

    opacity: 1;

    transform:
      translateY(0);
  }



  /* =====================================================
     TEXTOS ISLA IZQUIERDA
  ===================================================== */

  .project-plans-motion-ready
  .project-plans-number,

  .project-plans-motion-ready
  .project-plans-lead,

  .project-plans-motion-ready
  .project-plans-divider,

  .project-plans-motion-ready
  .project-plans-text,

  .project-plans-motion-ready
  .project-plans-project,

  .project-plans-motion-ready
  .project-plans-signature {

    opacity: 0;

    transform:
      translateY(10px);

    transition:
      opacity .62s ease,
      transform .72s
      cubic-bezier(.22,.61,.36,1);
  }


  .project-plans-motion-ready
  .project-plans-number.is-in,

  .project-plans-motion-ready
  .project-plans-lead.is-in,

  .project-plans-motion-ready
  .project-plans-divider.is-in,

  .project-plans-motion-ready
  .project-plans-text.is-in,

  .project-plans-motion-ready
  .project-plans-project.is-in,

  .project-plans-motion-ready
  .project-plans-signature.is-in {

    opacity: 1;

    transform:
      translateY(0);
  }



  /* =====================================================
     ELEMENTOS DEL VISOR
  ===================================================== */

  .project-plans-motion-ready
  .project-plans-toolbar,

  .project-plans-motion-ready
  .project-plans-stage,

  .project-plans-motion-ready
  .project-plans-footer {

    opacity: 0;

    transform:
      translateY(10px);

    transition:
      opacity .68s ease,
      transform .78s
      cubic-bezier(.22,.61,.36,1);
  }


  .project-plans-motion-ready
  .project-plans-toolbar.is-in,

  .project-plans-motion-ready
  .project-plans-stage.is-in,

  .project-plans-motion-ready
  .project-plans-footer.is-in {

    opacity: 1;

    transform:
      translateY(0);
  }



  /* =====================================================
     TYPEWRITER
  ===================================================== */

  .project-plans-motion-ready
  .project-plans-info h2 {

    position: relative;
  }


  .project-plans-motion-ready
  .project-plans-info h2::after {

    content: "";

    display: inline-block;

    width: 1px;
    height: .80em;

    margin-left: 7px;

    vertical-align:
      -.02em;

    background:
      rgba(11,68,56,.52);

    animation:
      projectPlansCursorBlink
      .82s steps(1)
      infinite;
  }


  .project-plans-motion-ready
  .project-plans-info h2.is-in::after {

    animation:
      projectPlansCursorFade
      .45s ease
      forwards;
  }

}


@keyframes projectPlansCursorBlink {

  0%,
  48% {
    opacity: 1;
  }

  49%,
  100% {
    opacity: 0;
  }

}


@keyframes projectPlansCursorFade {

  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }

}
/* ==================================================
   DEPARTAMENTOS AE — AJUSTE FINO DE TÍTULO
================================================== */

.project-departamentos-ae .project-glass-card h1 {
  font-size: clamp(3.9rem, 6.2vw, 6.4rem);
  line-height: 0.9;
  letter-spacing: -0.045em;
  max-width: 5.2ch;
  overflow-wrap: anywhere;
}
/* =========================================================
   OFICINAS DC CONTROL
   HERO / AJUSTE FINAL DE ALTURA Y MARGEN INFERIOR
========================================================= */

@media (min-width: 901px) {

  .project-oficinas-dc-control
  .project-hero-glass {

    padding-top:
      84px !important;

    padding-bottom:
      28px !important;
  }


  .project-oficinas-dc-control
  .project-hero-shell {

    transform:
      translateY(10px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;
  }


  /* =====================================================
     VISOR PRINCIPAL
  ===================================================== */

  .project-oficinas-dc-control
  .project-main-image {

    height:
      clamp(
        370px,
        53svh,
        490px
      ) !important;
  }


  /* =====================================================
     MINIATURAS
  ===================================================== */

  .project-oficinas-dc-control
  .project-thumbnails {

    margin-top:
      10px !important;

    gap:
      10px !important;
  }


  .project-oficinas-dc-control
  .project-thumb,

  .project-oficinas-dc-control
  .project-thumb-more {

    height:
      64px !important;
  }


  /* =====================================================
     FIRMA INFERIOR
  ===================================================== */

  .project-oficinas-dc-control
  .project-hero-signature {

    margin-top:
      12px !important;

    margin-bottom:
      6px !important;
  }

}
/* =========================================================
   MASTER PROYECTOS
   OBRA TERMINADA / GALERÍA GLASS
========================================================= */

@media (min-width: 901px) {

  .project-built-section {
    position: relative;

    min-height: 100svh;
    height: 100svh;

    padding:
      88px
      6vw
      26px;

    box-sizing: border-box;

    overflow: hidden;
  }


  .project-built-shell {
    width: 100%;
    height: 100%;

    display: grid;

    grid-template-columns:
      minmax(300px, 360px)
      minmax(0, 1fr);

    gap:
      clamp(28px, 2.8vw, 44px);

    align-items: stretch;
  }


  /* =====================================================
     ISLA IZQUIERDA
  ===================================================== */

  .project-built-info {
    min-width: 0;

    padding:
      42px
      36px;

    display: flex;
    flex-direction: column;

    box-sizing: border-box;

    border:
      1px solid rgba(255,255,255,.60);

    border-radius:
      24px;

    background:
      rgba(251,248,240,.50);

    backdrop-filter:
      blur(20px)
      saturate(115%);

    -webkit-backdrop-filter:
      blur(20px)
      saturate(115%);

    box-shadow:
      0 28px 58px
      rgba(11,68,56,.07);
  }


  .project-built-number {
    margin-bottom: 18px;

    color:
      rgba(111,91,63,.72);

    font-size:
      .66rem;

    letter-spacing:
      .18em;
  }


  .project-built-eyebrow {
    margin:
      0 0 14px;

    color:
      var(--brown);

    font-size:
      .68rem;

    letter-spacing:
      .16em;

    text-transform:
      uppercase;
  }


  .project-built-info h2 {
    margin:
      0 0 26px;

    color:
      var(--green-dark);

    font-size:
      clamp(2.8rem, 3.6vw, 4.5rem);

    line-height:
      .96;

    font-weight:
      300;

    letter-spacing:
      -.05em;
  }


  .project-built-description,
  .project-built-text {
    margin: 0;

    color:
      rgba(11,68,56,.66);

    font-size:
      .86rem;

    line-height:
      1.72;
  }


  .project-built-divider {
    width: 100%;
    height: 1px;

    margin:
      26px 0;

    background:
      rgba(11,68,56,.13);
  }


  .project-built-project {
    margin-top: auto;

    padding-top:
      36px;

    display: flex;
    flex-direction: column;

    gap:
      6px;
  }


  .project-built-project > span {
    width: 28px;
    height: 1px;

    margin-bottom:
      8px;

    background:
      rgba(11,68,56,.50);
  }


  .project-built-project strong {
    color:
      var(--green-dark);

    font-size:
      .92rem;

    font-weight:
      400;
  }


  .project-built-project small {
    color:
      rgba(11,68,56,.48);

    font-size:
      .60rem;

    letter-spacing:
      .16em;
  }


  /* =====================================================
     VISOR
  ===================================================== */

  .project-built-media {
    min-width: 0;

    display: flex;
    flex-direction: column;
  }


  .project-built-main {
    position: relative;

    flex:
      1 1 auto;

    min-height: 0;

    overflow: hidden;

    border:
      1px solid rgba(255,255,255,.55);

    border-radius:
      22px;

    background:
      rgba(251,248,240,.20);

    box-shadow:
      0 28px 58px
      rgba(11,68,56,.07);
  }


  .project-built-image {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transition:
      opacity .24s ease,
      transform .32s
      cubic-bezier(.22,.61,.36,1);
  }


  .project-built-image.is-changing {
    opacity: .72;

    transform:
      scale(1.003);
  }


  /* =====================================================
     CONTROLES
  ===================================================== */

  .project-built-controls {
    position: absolute;

    top: 22px;
    right: 24px;

    z-index: 5;

    display: flex;

    align-items: center;

    gap:
      9px;
  }


  .project-built-counter {
    min-width: 58px;

    color:
      rgba(251,248,240,.94);

    font-size:
      .68rem;

    letter-spacing:
      .12em;
  }


  .project-built-arrow {
    width: 40px;
    height: 40px;

    display: grid;

    place-items: center;

    padding: 0;

    border:
      1px solid
      rgba(255,255,255,.46);

    border-radius:
      50%;

    background:
      rgba(251,248,240,.18);

    backdrop-filter:
      blur(12px);

    -webkit-backdrop-filter:
      blur(12px);

    color:
      rgba(251,248,240,.96);

    cursor: pointer;

    transition:
      transform .30s ease,
      background-color .30s ease;
  }


  .project-built-arrow:hover {
    transform:
      translateY(-2px);

    background:
      rgba(251,248,240,.32);
  }


  /* =====================================================
     MINIATURAS
  ===================================================== */

  .project-built-thumbnails {
    width: 100%;

    display: grid;

    grid-template-columns:
      repeat(5, minmax(0, 1fr));

    gap:
      10px;

    margin-top:
      10px;
  }


  .project-built-thumb {
    width: 100%;
    height: 66px;

    padding: 0;

    overflow: hidden;

    border:
      1px solid
      rgba(255,255,255,.50);

    border-radius:
      14px;

    background:
      rgba(251,248,240,.30);

    cursor: pointer;

    opacity: .62;

    transition:
      opacity .28s ease,
      transform .28s ease,
      border-color .28s ease;
  }


  .project-built-thumb:hover {
    opacity: .92;

    transform:
      translateY(-2px);
  }


  .project-built-thumb.is-active {
    opacity: 1;

    border-color:
      rgba(11,68,56,.68);
  }


  .project-built-thumb img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
  }

}
/* =========================================================
   OBRA TERMINADA / MOTION
========================================================= */

@media (min-width: 901px) {

  .project-built-motion-ready
  .project-built-info,

  .project-built-motion-ready
  .project-built-media {
    opacity: 0;

    transform:
      translateY(16px);

    transition:
      opacity .82s ease,
      transform .92s
      cubic-bezier(.22,.61,.36,1);
  }


  .project-built-motion-ready
  .project-built-info.is-in,

  .project-built-motion-ready
  .project-built-media.is-in {
    opacity: 1;

    transform:
      translateY(0);
  }


  .project-built-motion-ready
  .project-built-eyebrow,

  .project-built-motion-ready
  .project-built-description,

  .project-built-motion-ready
  .project-built-divider,

  .project-built-motion-ready
  .project-built-text,

  .project-built-motion-ready
  .project-built-project {
    opacity: 0;

    transform:
      translateY(10px);

    transition:
      opacity .62s ease,
      transform .72s
      cubic-bezier(.22,.61,.36,1);
  }


  .project-built-motion-ready
  .project-built-eyebrow.is-in,

  .project-built-motion-ready
  .project-built-description.is-in,

  .project-built-motion-ready
  .project-built-divider.is-in,

  .project-built-motion-ready
  .project-built-text.is-in,

  .project-built-motion-ready
  .project-built-project.is-in {
    opacity: 1;

    transform:
      translateY(0);
  }

}
/* =========================================================
   CASA CD
   OBRA TERMINADA / 6 MINIATURAS
========================================================= */

@media (min-width: 901px) {

  .project-casa-cd
  .project-built-thumbnails {

    grid-template-columns:
      repeat(6, minmax(0, 1fr)) !important;
  }

}
/* =========================================================
   CASA CD
   HERO / MARGEN INFERIOR Y MINIATURAS DENTRO DEL VIEWPORT
========================================================= */

@media (min-width: 901px) {

  .project-casa-cd
  .project-hero-glass {

    padding-top:
      84px !important;

    padding-bottom:
      30px !important;
  }


  .project-casa-cd
  .project-hero-shell {

    transform:
      translateY(8px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;
  }


  /* =====================================================
     VISOR PRINCIPAL
  ===================================================== */

  .project-casa-cd
  .project-main-image {

    height:
      clamp(
        365px,
        52svh,
        485px
      ) !important;
  }


  /* =====================================================
     MINIATURAS
  ===================================================== */

  .project-casa-cd
  .project-thumbnails {

    margin-top:
      10px !important;

    gap:
      10px !important;
  }


  .project-casa-cd
  .project-thumb,

  .project-casa-cd
  .project-thumb-more {

    height:
      62px !important;
  }


  /* =====================================================
     FIRMA INFERIOR
  ===================================================== */

  .project-casa-cd
  .project-hero-signature {

    margin-top:
      10px !important;

    margin-bottom:
      8px !important;
  }

}
/* =========================================================
   CASA CD
   OBRA TERMINADA / ALINEACIÓN FINAL CON ISLA IZQUIERDA
========================================================= */

@media (min-width: 901px) {

  .project-casa-cd
  .project-built-section {
    height: 100svh !important;
    min-height: 100svh !important;

    padding:
      88px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  /* =====================================================
     RETÍCULA
  ===================================================== */

  .project-casa-cd
  .project-built-shell {
    height:
      calc(100svh - 116px) !important;

    min-height:
      0 !important;

    align-items:
      stretch !important;
  }


  /* =====================================================
     ISLA IZQUIERDA Y BLOQUE DERECHO
     MISMA ALTURA VISUAL
  ===================================================== */

  .project-casa-cd
  .project-built-info,

  .project-casa-cd
  .project-built-media {
    height:
      100% !important;

    min-height:
      0 !important;
  }


  .project-casa-cd
  .project-built-media {
    display:
      flex !important;

    flex-direction:
      column !important;

    justify-content:
      flex-start !important;
  }


  /* =====================================================
     IMAGEN PRINCIPAL
     Más alta para aprovechar el vacío inferior
  ===================================================== */

  .project-casa-cd
  .project-built-main {
    flex:
      1 1 auto !important;

    height:
      auto !important;

    min-height:
      0 !important;

    max-height:
      none !important;
  }


  /* =====================================================
     MINIATURAS
  ===================================================== */

  .project-casa-cd
  .project-built-thumbnails {
    flex:
      0 0 auto !important;

    grid-template-columns:
      repeat(6, minmax(0, 1fr)) !important;

    gap:
      10px !important;

    margin-top:
      10px !important;

    margin-bottom:
      0 !important;
  }


  .project-casa-cd
  .project-built-thumb {
    height:
      62px !important;
  }

}
/* =========================================================
   OFICINAS CARGILL HMO
   HERO / AJUSTE DE ALTURA Y MARGEN INFERIOR
========================================================= */

@media (min-width: 901px) {

  .project-oficinas-cargill-hmo
  .project-hero-glass {

    padding-top:
      84px !important;

    padding-bottom:
      30px !important;
  }


  .project-oficinas-cargill-hmo
  .project-hero-shell {

    transform:
      translateY(8px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;
  }


  /* =====================================================
     VISOR PRINCIPAL
  ===================================================== */

  .project-oficinas-cargill-hmo
  .project-main-image {

    height:
      clamp(
        365px,
        52svh,
        485px
      ) !important;
  }


  /* =====================================================
     MINIATURAS
  ===================================================== */

  .project-oficinas-cargill-hmo
  .project-thumbnails {

    margin-top:
      10px !important;

    gap:
      10px !important;
  }


  .project-oficinas-cargill-hmo
  .project-thumb,

  .project-oficinas-cargill-hmo
  .project-thumb-more {

    height:
      62px !important;
  }


  /* =====================================================
     FIRMA INFERIOR
  ===================================================== */

  .project-oficinas-cargill-hmo
  .project-hero-signature {

    margin-top:
      10px !important;

    margin-bottom:
      8px !important;
  }

}
/* =========================================================
   CABAÑA CED
   HERO / ALTURA Y MARGEN INFERIOR
========================================================= */

@media (min-width: 901px) {

  .project-cabana-ced
  .project-hero-glass {

    padding-top:
      84px !important;

    padding-bottom:
      30px !important;
  }


  .project-cabana-ced
  .project-hero-shell {

    transform:
      translateY(8px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;
  }


  .project-cabana-ced
  .project-main-image {

    height:
      clamp(
        365px,
        52svh,
        485px
      ) !important;
  }


  .project-cabana-ced
  .project-thumbnails {

    margin-top:
      10px !important;

    gap:
      10px !important;
  }


  .project-cabana-ced
  .project-thumb,

  .project-cabana-ced
  .project-thumb-more {

    height:
      62px !important;
  }


  .project-cabana-ced
  .project-hero-signature {

    margin-top:
      10px !important;

    margin-bottom:
      8px !important;
  }

}
/* =========================================================
   CASA SP
   HERO + OBRA / CONTROL DE VIEWPORT
========================================================= */

@media (min-width: 901px) {

  /* =========================
     HERO
  ========================= */

  .project-casa-sp
  .project-hero-glass {
    padding-top: 84px !important;
    padding-bottom: 30px !important;
  }


  .project-casa-sp
  .project-hero-shell {
    transform:
      translateY(8px) !important;
  }


  .project-casa-sp
  .project-main-image {
    height:
      clamp(
        365px,
        52svh,
        485px
      ) !important;
  }


  .project-casa-sp
  .project-thumbnails {
    margin-top:
      10px !important;

    gap:
      10px !important;
  }


  .project-casa-sp
  .project-thumb,

  .project-casa-sp
  .project-thumb-more {
    height:
      62px !important;
  }



  /* =========================
     OBRA TERMINADA
  ========================= */

  .project-casa-sp
  .project-built-section {
    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      88px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  .project-casa-sp
  .project-built-shell {
    height:
      calc(100svh - 116px) !important;

    min-height:
      0 !important;

    align-items:
      stretch !important;
  }


  .project-casa-sp
  .project-built-info,

  .project-casa-sp
  .project-built-media {
    height:
      100% !important;

    min-height:
      0 !important;
  }


  .project-casa-sp
  .project-built-media {
    display:
      flex !important;

    flex-direction:
      column !important;
  }


  .project-casa-sp
  .project-built-main {
    flex:
      1 1 auto !important;

    height:
      auto !important;

    min-height:
      0 !important;

    max-height:
      none !important;
  }


  .project-casa-sp
  .project-built-thumbnails {
    flex:
      0 0 auto !important;

    grid-template-columns:
      repeat(6, minmax(0, 1fr)) !important;

    gap:
      10px !important;

    margin-top:
      10px !important;

    margin-bottom:
      0 !important;
  }


  .project-casa-sp
  .project-built-thumb {
    height:
      62px !important;
  }

}
/* =========================================================
   CASA EH
   HERO / CONTROL DE VIEWPORT
========================================================= */

@media (min-width: 901px) {

  .project-casa-eh
  .project-hero-glass {

    padding-top:
      84px !important;

    padding-bottom:
      30px !important;
  }


  .project-casa-eh
  .project-hero-shell {

    transform:
      translateY(8px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;
  }


  .project-casa-eh
  .project-main-image {

    height:
      clamp(
        365px,
        52svh,
        485px
      ) !important;
  }


  .project-casa-eh
  .project-thumbnails {

    margin-top:
      10px !important;

    gap:
      10px !important;
  }


  .project-casa-eh
  .project-thumb,

  .project-casa-eh
  .project-thumb-more {

    height:
      62px !important;
  }

}
/* =========================================================
   BODEGA LED CONCEPT
   HERO / ALINEACIÓN FINAL DEL MASTER
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     SECCIÓN
  ===================================================== */

  body.project-bodega-led-concept
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  /* =====================================================
     RETÍCULA GENERAL
  ===================================================== */

  body.project-bodega-led-concept
  .project-hero-shell {

    flex:
      1 1 auto !important;

    height:
      auto !important;

    min-height:
      0 !important;

    transform:
      translateY(6px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;

    align-items:
      stretch !important;
  }


  /* =====================================================
     ISLA IZQUIERDA + BLOQUE DERECHO
     MISMA ALTURA
  ===================================================== */

  body.project-bodega-led-concept
  .project-glass-card,

  body.project-bodega-led-concept
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    align-self:
      stretch !important;
  }


  /* =====================================================
     BLOQUE DERECHO
  ===================================================== */

  body.project-bodega-led-concept
  .project-hero-media {

    display:
      flex !important;

    flex-direction:
      column !important;

    padding-bottom:
      6px !important;
  }


  /* =====================================================
     VISOR PRINCIPAL
     CRECE SOLO HASTA EL ESPACIO DISPONIBLE
  ===================================================== */

  body.project-bodega-led-concept
  .project-main-image {

    flex:
      1 1 0 !important;

    width:
      100% !important;

    height:
      auto !important;

    min-height:
      0 !important;

    max-height:
      none !important;
  }


  /* =====================================================
     MINIATURAS
  ===================================================== */

  body.project-bodega-led-concept
  .project-thumbnails {

    flex:
      0 0 auto !important;

    margin:
      10px 0 0 !important;

    gap:
      10px !important;

    transform:
      none !important;
  }


  body.project-bodega-led-concept
  .project-thumb,

  body.project-bodega-led-concept
  .project-thumb-more {

    height:
      60px !important;
  }

}
/* =========================================================
   CENTRO OPERATIVO DC
   HERO + OBRA / CONTROL DE VIEWPORT
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     HERO
  ===================================================== */

  body.project-centro-operativo-dc
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-centro-operativo-dc
  .project-hero-shell {

    flex:
      1 1 auto !important;

    min-height:
      0 !important;

    transform:
      translateY(6px) !important;

    align-items:
      stretch !important;
  }


  body.project-centro-operativo-dc
  .project-glass-card,

  body.project-centro-operativo-dc
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;
  }


  body.project-centro-operativo-dc
  .project-hero-media {

    display:
      flex !important;

    flex-direction:
      column !important;

    padding-bottom:
      6px !important;
  }


  body.project-centro-operativo-dc
  .project-main-image {

    flex:
      1 1 0 !important;

    height:
      auto !important;

    min-height:
      0 !important;

    max-height:
      none !important;
  }


  body.project-centro-operativo-dc
  .project-thumbnails {

    flex:
      0 0 auto !important;

    grid-template-columns:
      repeat(5, minmax(0, 1fr)) !important;

    gap:
      10px !important;

    margin:
      10px 0 0 !important;
  }


  body.project-centro-operativo-dc
  .project-thumb {

    height:
      60px !important;
  }



  /* =====================================================
     NOTA DE INGENIERÍA
  ===================================================== */

  body.project-centro-operativo-dc
  .project-engineering-note {

    margin-top:
      22px;

    padding-top:
      18px;

    display:
      flex;

    gap:
      14px;

    border-top:
      1px solid
      rgba(11,68,56,.10);
  }


  body.project-centro-operativo-dc
  .project-engineering-note > span {

    width:
      22px;

    height:
      1px;

    flex:
      0 0 auto;

    margin-top:
      9px;

    background:
      rgba(11,68,56,.42);
  }


  body.project-centro-operativo-dc
  .project-engineering-note p {

    margin:
      0;

    max-width:
      420px;

    color:
      rgba(11,68,56,.55);

    font-size:
      .73rem;

    line-height:
      1.65;
  }



  /* =====================================================
     OBRA EN EJECUCIÓN
  ===================================================== */

  body.project-centro-operativo-dc
  .project-built-section {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      88px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-centro-operativo-dc
  .project-built-shell {

    height:
      calc(100svh - 116px) !important;

    min-height:
      0 !important;

    align-items:
      stretch !important;
  }


  body.project-centro-operativo-dc
  .project-built-info,

  body.project-centro-operativo-dc
  .project-built-media {

    height:
      100% !important;

    min-height:
      0 !important;
  }


  body.project-centro-operativo-dc
  .project-built-media {

    display:
      flex !important;

    flex-direction:
      column !important;
  }


  body.project-centro-operativo-dc
  .project-built-main {

    flex:
      1 1 auto !important;

    height:
      auto !important;

    min-height:
      0 !important;

    max-height:
      none !important;
  }


  body.project-centro-operativo-dc
  .project-built-thumbnails {

    flex:
      0 0 auto !important;

    grid-template-columns:
      repeat(5, minmax(0, 1fr)) !important;

    gap:
      10px !important;

    margin:
      10px 0 0 !important;
  }


  body.project-centro-operativo-dc
  .project-built-thumb {

    height:
      62px !important;
  }

}
/* =========================================================
   CENTRO OPERATIVO DC
   AJUSTE BOTÓN / FICHA DE INGENIERÍA
========================================================= */

@media (min-width: 901px) {

  /* Evitamos empujar la tarjeta hacia abajo */

  body.project-centro-operativo-dc
  .project-hero-shell {
    transform:
      translateY(0) !important;
  }


  /* Un poco menos de padding vertical */

  body.project-centro-operativo-dc
  .project-glass-card {
    padding:
      38px
      42px
      30px !important;
  }


  /* Compactamos ligeramente el título */

  body.project-centro-operativo-dc
  .project-glass-card h1 {
    margin-bottom:
      22px !important;

    font-size:
      clamp(3.8rem, 5.4vw, 6.3rem) !important;

    line-height:
      .91 !important;
  }


  /* Descripción */

  body.project-centro-operativo-dc
  .project-glass-description {
    margin-bottom:
      22px !important;

    line-height:
      1.58 !important;
  }


  /* Datos */

  body.project-centro-operativo-dc
  .project-glass-data {
    padding-top:
      18px !important;
  }


  /* Nota técnica más compacta */

  body.project-centro-operativo-dc
  .project-engineering-note {
    margin-top:
      16px !important;

    padding-top:
      14px !important;
  }


  body.project-centro-operativo-dc
  .project-engineering-note p {
    font-size:
      .69rem !important;

    line-height:
      1.50 !important;
  }


  /* =====================================================
     BOTÓN
  ===================================================== */

  body.project-centro-operativo-dc
  .project-glass-actions {
    margin-top:
      auto !important;

    padding-top:
      18px !important;

    padding-bottom:
      0 !important;
  }


  body.project-centro-operativo-dc
  .project-glass-primary {
    height:
      48px !important;
  }

}
/* =========================================================
   LÍNEA DE ALMACENAJE PROAOASS HMO
   INGENIERÍA / CONTROL DE VIEWPORT
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     HERO
  ===================================================== */

  body.project-linea-almacenaje-proaoass-hmo
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-linea-almacenaje-proaoass-hmo
  .project-hero-shell {

    flex:
      1 1 auto !important;

    height:
      auto !important;

    min-height:
      0 !important;

    transform:
      translateY(6px) !important;

    align-items:
      stretch !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;
  }


  /* =====================================================
     FICHA + VISOR
     MISMA ALTURA
  ===================================================== */

  body.project-linea-almacenaje-proaoass-hmo
  .project-glass-card,

  body.project-linea-almacenaje-proaoass-hmo
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    align-self:
      stretch !important;
  }


  /* =====================================================
     VISOR
  ===================================================== */

  body.project-linea-almacenaje-proaoass-hmo
  .project-hero-media {

    display:
      flex !important;

    flex-direction:
      column !important;

    padding-bottom:
      6px !important;
  }


body.project-linea-almacenaje-proaoass-hmo
.project-main-image {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: min(650px, calc(100svh - 240px)) !important;
  min-height: 0 !important;
  max-height: min(650px, calc(100svh - 240px)) !important;
}


  /* =====================================================
     MINIATURAS
  ===================================================== */

  body.project-linea-almacenaje-proaoass-hmo
  .project-thumbnails {

    flex:
      1 1 auto !important;

    grid-template-columns:
      repeat(5, minmax(0, 1fr)) !important;

    margin:
      10px 0 0 !important;

    gap:
      10px !important;

    transform:
      none !important;
  }


  body.project-linea-almacenaje-proaoass-hmo
  .project-thumb {

    height:
      100% !important;
  }


  /* =====================================================
     NOTA DE INGENIERÍA
  ===================================================== */

  body.project-linea-almacenaje-proaoass-hmo
  .project-engineering-note {

    margin-top:
      16px !important;

    padding-top:
      14px !important;

    display:
      flex;

    gap:
      14px;

    border-top:
      1px solid
      rgba(11,68,56,.10);
  }


  body.project-linea-almacenaje-proaoass-hmo
  .project-engineering-note > span {

    width:
      22px;

    height:
      1px;

    flex:
      0 0 auto;

    margin-top:
      9px;

    background:
      rgba(11,68,56,.42);
  }


  body.project-linea-almacenaje-proaoass-hmo
  .project-engineering-note p {

    margin:
      0;

    max-width:
      420px;

    color:
      rgba(11,68,56,.55);

    font-size:
      .69rem;

    line-height:
      1.50;
  }


  /* =====================================================
     CTA
  ===================================================== */

  body.project-linea-almacenaje-proaoass-hmo
  .project-glass-actions {

    margin-top:
      auto !important;

    padding-top:
      18px !important;
  }

}
/* =========================================================
   TORRE DE EXTRUSIÓN
   MASTER 1:1 / RENDERS + OBRA
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     01 — HERO
  ===================================================== */

  body.project-torre-extrusion
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-torre-extrusion
  .project-hero-shell {

    grid-template-columns:
      minmax(350px, .72fr)
      minmax(600px, 1.28fr) !important;

    gap:
      clamp(30px, 3vw, 48px) !important;

    transform:
      translateY(6px) !important;

    align-items:
      stretch !important;

    min-height:
      0 !important;
  }


  /* =====================================================
     GALERÍA 1:1
  ===================================================== */

  body.project-torre-extrusion
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      92px !important;

    grid-template-rows:
      1fr !important;

    gap:
      12px !important;

    align-items:
      center !important;
  }


  body.project-torre-extrusion
  .project-main-image {

    grid-column:
      1 !important;

    width:
      100% !important;

    height:
      auto !important;

    max-height:
      100% !important;

    aspect-ratio:
      1 / 1 !important;

    align-self:
      center !important;

    flex:
      none !important;
  }


  body.project-torre-extrusion
  .project-stage-image {

    object-fit:
      cover !important;
  }


  /* =====================================================
     3 MINIATURAS VERTICALES
  ===================================================== */

  body.project-torre-extrusion
  .project-thumbnails {

    grid-column:
      2 !important;

    width:
      92px !important;

    height:
      auto !important;

    display:
      grid !important;

    grid-template-columns:
      1fr !important;

    grid-template-rows:
      repeat(3, 92px) !important;

    gap:
      10px !important;

    align-self:
      center !important;

    margin:
      0 !important;

    transform:
      none !important;
  }


  body.project-torre-extrusion
  .project-thumb {

    width:
      92px !important;

    height:
      92px !important;

    aspect-ratio:
      1 / 1 !important;
  }



  /* =====================================================
     FICHA / INGENIERÍA
  ===================================================== */

  body.project-torre-extrusion
  .project-engineering-note {

    margin-top:
      16px !important;

    padding-top:
      14px !important;

    display:
      flex;

    gap:
      14px;

    border-top:
      1px solid
      rgba(11,68,56,.10);
  }


  body.project-torre-extrusion
  .project-engineering-note > span {

    width:
      22px;

    height:
      1px;

    margin-top:
      9px;

    flex:
      0 0 auto;

    background:
      rgba(11,68,56,.42);
  }


  body.project-torre-extrusion
  .project-engineering-note p {

    margin:
      0;

    font-size:
      .69rem;

    line-height:
      1.5;

    color:
      rgba(11,68,56,.55);
  }



  /* =====================================================
     02 — OBRA / MASTER 1:1
  ===================================================== */

  body.project-torre-extrusion
  .project-built-section {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      88px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-torre-extrusion
  .project-built-shell {

    height:
      calc(100svh - 116px) !important;

    min-height:
      0 !important;

    grid-template-columns:
      minmax(300px, 350px)
      minmax(0, 1fr) !important;

    gap:
      clamp(28px, 2.8vw, 44px) !important;

    align-items:
      stretch !important;
  }


  /* =====================================================
     GALERÍA DE OBRA
  ===================================================== */

  body.project-torre-extrusion
  .project-built-media {

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      230px !important;

    grid-template-rows:
      1fr !important;

    gap:
      14px !important;

    align-items:
      center !important;
  }


  body.project-torre-extrusion
  .project-built-main {

    grid-column:
      1 !important;

    width:
      100% !important;

    height:
      auto !important;

    max-height:
      100% !important;

    aspect-ratio:
      1 / 1 !important;

    align-self:
      center !important;

    flex:
      none !important;
  }


  body.project-torre-extrusion
  .project-built-image {

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;
  }


  /* =====================================================
   12 MINIATURAS / 2 x 6
   MISMA ALTURA QUE EL VISOR PRINCIPAL
===================================================== */

body.project-torre-extrusion
.project-built-media {

  height:
    100% !important;

  min-height:
    0 !important;

  display:
    grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    196px !important;

  grid-template-rows:
    minmax(0, 1fr) !important;

  gap:
    14px !important;

  align-items:
    stretch !important;
}


/* -----------------------------------------------------
   IMAGEN PRINCIPAL
----------------------------------------------------- */

body.project-torre-extrusion
.project-built-main {

  grid-column:
    1 !important;

  grid-row:
    1 !important;

  width:
    100% !important;

  height:
    100% !important;

  min-height:
    0 !important;

  max-height:
    none !important;

  aspect-ratio:
    auto !important;

  align-self:
    stretch !important;

  flex:
    none !important;
}


body.project-torre-extrusion
.project-built-image {

  width:
    100% !important;

  height:
    100% !important;

  min-height:
    0 !important;

  object-fit:
    cover !important;
}

/* -----------------------------------------------------
   RETÍCULA DE 12 MINIATURAS
   2 COLUMNAS × 6 FILAS
----------------------------------------------------- */

body.project-torre-extrusion
.project-built-thumbnails {

  grid-column:
    2 !important;

  grid-row:
    1 !important;

  width:
    196px !important;

  height:
    100% !important;

  min-height:
    0 !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  grid-template-rows:
    repeat(6, minmax(0, 1fr)) !important;

  gap:
    10px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  align-self:
    stretch !important;

  transform:
    none !important;
}


/* -----------------------------------------------------
   MINIATURAS
----------------------------------------------------- */

body.project-torre-extrusion
.project-built-thumb {

  width:
    100% !important;

  height:
    100% !important;

  min-width:
    0 !important;

  min-height:
    0 !important;

  aspect-ratio:
    auto !important;

  margin:
    0 !important;

  overflow:
    hidden !important;
}


body.project-torre-extrusion
.project-built-thumb img {

  display:
    block !important;

  width:
    100% !important;

  height:
    100% !important;

  object-fit:
    cover !important;
}
/* =========================================================
   PROYECTO GRANELEROS
   MASTER 1:1
   4 RENDERS + 28 FOTOS
========================================================= */

@media (min-width: 901px) {


  /* =====================================================
     01 — APERTURA
  ===================================================== */

  body.project-graneleros
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-graneleros
  .project-hero-shell {

    grid-template-columns:
      minmax(350px, .72fr)
      minmax(600px, 1.28fr) !important;

    gap:
      clamp(30px, 3vw, 48px) !important;

    transform:
      translateY(6px) !important;

    align-items:
      stretch !important;

    min-height:
      0 !important;
  }



  /* =====================================================
     GALERÍA RENDERS 1:1
  ===================================================== */

  body.project-graneleros
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      92px !important;

    grid-template-rows:
      minmax(0, 1fr) !important;

    gap:
      12px !important;

    align-items:
      center !important;
  }


  body.project-graneleros
  .project-main-image {

    grid-column:
      1 !important;

    grid-row:
      1 !important;

    width:
      100% !important;

    height:
      auto !important;

    max-height:
      100% !important;

    aspect-ratio:
      1 / 1 !important;

    align-self:
      center !important;

    flex:
      none !important;
  }


  body.project-graneleros
  .project-image-stage {

    width:
      100% !important;

    height:
      100% !important;
  }


  body.project-graneleros
  .project-stage-image {

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;
  }



  /* =====================================================
     4 MINIATURAS VERTICALES
  ===================================================== */

  body.project-graneleros
  .project-thumbnails {

    grid-column:
      2 !important;

    grid-row:
      1 !important;

    width:
      92px !important;

    height:
      auto !important;

    display:
      grid !important;

    grid-template-columns:
      1fr !important;

    grid-template-rows:
      repeat(4, 92px) !important;

    gap:
      10px !important;

    align-self:
      center !important;

    margin:
      0 !important;

    transform:
      none !important;
  }


  body.project-graneleros
  .project-thumb {

    width:
      92px !important;

    height:
      92px !important;

    min-width:
      0 !important;

    min-height:
      0 !important;

    aspect-ratio:
      1 / 1 !important;

    overflow:
      hidden !important;
  }


  body.project-graneleros
  .project-thumb img {

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;
  }



  /* =====================================================
     NOTA TÉCNICA
  ===================================================== */

  body.project-graneleros
  .project-engineering-note {

    margin-top:
      16px !important;

    padding-top:
      14px !important;

    display:
      flex;

    gap:
      14px;

    border-top:
      1px solid rgba(11,68,56,.10);
  }


  body.project-graneleros
  .project-engineering-note > span {

    width:
      22px;

    height:
      1px;

    flex:
      0 0 auto;

    margin-top:
      9px;

    background:
      rgba(11,68,56,.42);
  }


  body.project-graneleros
  .project-engineering-note p {

    margin:
      0;

    font-size:
      .69rem;

    line-height:
      1.50;

    color:
      rgba(11,68,56,.55);
  }



  /* =====================================================
     02 — OBRA
  ===================================================== */

  body.project-graneleros
  .project-built-section {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      88px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-graneleros
  .project-built-shell {

    height:
      calc(100svh - 116px) !important;

    min-height:
      0 !important;

    grid-template-columns:
      minmax(300px, 350px)
      minmax(0, 1fr) !important;

    gap:
      clamp(28px, 2.8vw, 44px) !important;

    align-items:
      stretch !important;
  }



  /* =====================================================
     VISOR + RETÍCULA
  ===================================================== */

  body.project-graneleros
  .project-built-media {

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      196px !important;

    grid-template-rows:
      minmax(0, 1fr) !important;

    gap:
      14px !important;

    align-items:
      stretch !important;
  }



  /* =====================================================
     FOTO PRINCIPAL
  ===================================================== */

  body.project-graneleros
  .project-built-main {

    grid-column:
      1 !important;

    grid-row:
      1 !important;

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;

    max-height:
      none !important;

    aspect-ratio:
      auto !important;

    align-self:
      stretch !important;

    flex:
      none !important;
  }


  body.project-graneleros
  .project-built-image {

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;

    object-fit:
      cover !important;
  }



  /* =====================================================
     RETÍCULA OBRA
     2 COLUMNAS × 6 FILAS
     10 MINIATURAS + VER MÁS
  ===================================================== */

  body.project-graneleros
  .project-built-thumbnails {

    grid-column:
      2 !important;

    grid-row:
      1 !important;

    width:
      196px !important;

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    grid-template-rows:
      repeat(6, minmax(0, 1fr)) !important;

    gap:
      10px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    align-self:
      stretch !important;

    transform:
      none !important;
  }



  /* =====================================================
     MINIATURAS
  ===================================================== */

  body.project-graneleros
  .project-built-thumb {

    width:
      100% !important;

    height:
      100% !important;

    min-width:
      0 !important;

    min-height:
      0 !important;

    aspect-ratio:
      auto !important;

    margin:
      0 !important;

    overflow:
      hidden !important;
  }


  body.project-graneleros
  .project-built-thumb img {

    display:
      block !important;

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;
  }



  /* =====================================================
     FOTOS 11–28
     EXISTEN PARA JS PERO NO OCUPAN ESPACIO
  ===================================================== */

  body.project-graneleros
  .project-built-thumb-hidden {

    display:
      none !important;
  }



  /* =====================================================
     VER MÁS
     ÚLTIMO RENGLÓN COMPLETO
  ===================================================== */

  body.project-graneleros
  .project-built-more {

    grid-column:
      1 / -1 !important;

    grid-row:
      6 !important;

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;

    margin:
      0 !important;

    padding:
      0 16px;

    border:
      1px solid rgba(11,68,56,.15);

    border-radius:
      14px;

    background:
      rgba(251,248,240,.58);

    color:
      #0B4438;

    cursor:
      pointer;

    display:
      grid;

    grid-template-columns:
      1fr auto;

    grid-template-rows:
      auto auto;

    align-content:
      center;

    column-gap:
      12px;

    text-align:
      left;

    backdrop-filter:
      blur(12px);

    -webkit-backdrop-filter:
      blur(12px);

    transition:
      background-color .3s ease,
      border-color .3s ease,
      transform .3s ease;
  }


  body.project-graneleros
  .project-built-more span {

    grid-column:
      1;

    grid-row:
      1;

    font-size:
      .74rem;

    font-weight:
      500;

    letter-spacing:
      .08em;

    text-transform:
      uppercase;
  }


  body.project-graneleros
  .project-built-more small {

    grid-column:
      1;

    grid-row:
      2;

    margin-top:
      3px;

    color:
      rgba(11,68,56,.48);

    font-size:
      .60rem;

    letter-spacing:
      .035em;
  }


  body.project-graneleros
  .project-built-more i {

    grid-column:
      2;

    grid-row:
      1 / 3;

    align-self:
      center;

    font-style:
      normal;

    font-size:
      1rem;

    transition:
      transform .3s ease;
  }


  body.project-graneleros
  .project-built-more:hover {

    background:
      rgba(251,248,240,.86);

    border-color:
      rgba(11,68,56,.30);
  }


  body.project-graneleros
  .project-built-more:hover i {

    transform:
      translateX(4px);
  }


  body.project-graneleros
  .project-built-more.is-active {

    background:
      rgba(11,68,56,.07);

    border-color:
      rgba(11,68,56,.42);
  }

}
/* =========================================================
   GRANELEROS
   AJUSTE FINAL APERTURA 1:1
   VISOR COMPLETO DENTRO DEL VIEWPORT
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     CONTENEDOR GENERAL
  ===================================================== */

  body.project-graneleros
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      24px !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;
  }


  body.project-graneleros
  .project-hero-shell {

    height:
      calc(100svh - 108px) !important;

    min-height:
      0 !important;

    align-items:
      stretch !important;

    transform:
      none !important;
  }


  /* =====================================================
     FICHA IZQUIERDA
     CONSERVAMOS EL AJUSTE COMPACTO
  ===================================================== */

  body.project-graneleros
  .project-glass-card {

    height:
      100% !important;

    min-height:
      0 !important;

    padding:
      32px
      38px
      24px !important;

    box-sizing:
      border-box !important;
  }


  body.project-graneleros
  .project-glass-card h1 {

    font-size:
      clamp(3.7rem, 5vw, 5.8rem) !important;

    line-height:
      .91 !important;

    margin-bottom:
      18px !important;
  }


  body.project-graneleros
  .project-glass-description {

    margin-bottom:
      16px !important;

    line-height:
      1.52 !important;
  }


  body.project-graneleros
  .project-glass-data {

    padding-top:
      15px !important;
  }


  body.project-graneleros
  .project-engineering-note {

    margin-top:
      12px !important;

    padding-top:
      11px !important;
  }


  body.project-graneleros
  .project-glass-actions {

    margin-top:
      auto !important;

    padding-top:
      12px !important;

    padding-bottom:
      0 !important;
  }



  /* =====================================================
     GALERÍA
  ===================================================== */

  body.project-graneleros
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      92px !important;

    grid-template-rows:
      minmax(0, 1fr) !important;

    gap:
      12px !important;

    align-items:
      center !important;
  }



  /* =====================================================
     VISOR PRINCIPAL
     CUADRADO REAL Y LIMITADO POR LA ALTURA DE PANTALLA
  ===================================================== */

  body.project-graneleros
  .project-main-image {

    grid-column:
      1 !important;

    grid-row:
      1 !important;

    width:
      min(
        100%,
        calc(100svh - 124px)
      ) !important;

    height:
      auto !important;

    aspect-ratio:
      1 / 1 !important;

    max-height:
      calc(100svh - 124px) !important;

    min-height:
      0 !important;

    justify-self:
      center !important;

    align-self:
      center !important;

    flex:
      none !important;
  }


  body.project-graneleros
  .project-image-stage {

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;
  }


  body.project-graneleros
  .project-stage-image {

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      contain !important;

    object-position:
      center center !important;
  }



  /* =====================================================
     MINIATURAS
  ===================================================== */

  body.project-graneleros
  .project-thumbnails {

    grid-column:
      2 !important;

    grid-row:
      1 !important;

    width:
      92px !important;

    height:
      auto !important;

    display:
      grid !important;

    grid-template-columns:
      1fr !important;

    grid-template-rows:
      repeat(4, 92px) !important;

    gap:
      10px !important;

    align-self:
      center !important;

    margin:
      0 !important;

    transform:
      none !important;
  }


  body.project-graneleros
  .project-thumb {

    width:
      92px !important;

    height:
      92px !important;

    aspect-ratio:
      1 / 1 !important;
  }

}
/* =========================================================
   LABORATORIO CARGILL
   MASTER 1:1
   9 RENDERS / APERTURA + CIERRE
========================================================= */

@media (min-width: 901px) {


  /* =====================================================
     CONTENEDOR GENERAL
  ===================================================== */

  body.project-laboratorio-cargill
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      24px !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;
  }



  body.project-laboratorio-cargill
  .project-hero-shell {

    height:
      calc(100svh - 108px) !important;

    min-height:
      0 !important;

    grid-template-columns:
      minmax(350px, .72fr)
      minmax(600px, 1.28fr) !important;

    gap:
      clamp(30px, 3vw, 48px) !important;

    align-items:
      stretch !important;

    transform:
      none !important;
  }



  /* =====================================================
     FICHA IZQUIERDA
  ===================================================== */

  body.project-laboratorio-cargill
  .project-glass-card {

    height:
      100% !important;

    min-height:
      0 !important;

    padding:
      32px
      38px
      24px !important;

    box-sizing:
      border-box !important;
  }



  body.project-laboratorio-cargill
  .project-glass-card h1 {

    font-size:
      clamp(3.6rem, 4.8vw, 5.7rem) !important;

    line-height:
      .92 !important;

    margin-bottom:
      18px !important;
  }



  body.project-laboratorio-cargill
  .project-glass-description {

    margin-bottom:
      16px !important;

    line-height:
      1.52 !important;
  }



  body.project-laboratorio-cargill
  .project-glass-data {

    padding-top:
      15px !important;
  }



  /* =====================================================
     NOTA TÉCNICA
  ===================================================== */

  body.project-laboratorio-cargill
  .project-engineering-note {

    margin-top:
      12px !important;

    padding-top:
      11px !important;

    display:
      flex;

    gap:
      14px;

    border-top:
      1px solid rgba(11,68,56,.10);
  }



  body.project-laboratorio-cargill
  .project-engineering-note > span {

    width:
      22px;

    height:
      1px;

    flex:
      0 0 auto;

    margin-top:
      9px;

    background:
      rgba(11,68,56,.42);
  }



  body.project-laboratorio-cargill
  .project-engineering-note p {

    margin:
      0;

    font-size:
      .67rem;

    line-height:
      1.45;

    color:
      rgba(11,68,56,.55);
  }



  body.project-laboratorio-cargill
  .project-glass-actions {

    margin-top:
      auto !important;

    padding-top:
      12px !important;

    padding-bottom:
      0 !important;
  }



  /* =====================================================
     GALERÍA
     VISOR + RETÍCULA 3 × 3
  ===================================================== */

  body.project-laboratorio-cargill
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      218px !important;

    grid-template-rows:
      minmax(0, 1fr) !important;

    gap:
      14px !important;

    align-items:
      center !important;
  }



  /* =====================================================
     VISOR PRINCIPAL 1:1
  ===================================================== */

  body.project-laboratorio-cargill
  .project-main-image {

    grid-column:
      1 !important;

    grid-row:
      1 !important;

    width:
      min(
        100%,
        calc(100svh - 124px)
      ) !important;

    height:
      auto !important;

    max-height:
      calc(100svh - 124px) !important;

    min-height:
      0 !important;

    aspect-ratio:
      1 / 1 !important;

    justify-self:
      center !important;

    align-self:
      center !important;

    flex:
      none !important;
  }



  body.project-laboratorio-cargill
  .project-image-stage {

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;
  }



  body.project-laboratorio-cargill
  .project-stage-image {

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      contain !important;

    object-position:
      center center !important;
  }



  /* =====================================================
     9 MINIATURAS
     3 COLUMNAS × 3 FILAS
  ===================================================== */

  body.project-laboratorio-cargill
  .project-thumbnails {

    grid-column:
      2 !important;

    grid-row:
      1 !important;

    width:
      218px !important;

    height:
      218px !important;

    display:
      grid !important;

    grid-template-columns:
      repeat(3, 1fr) !important;

    grid-template-rows:
      repeat(3, 1fr) !important;

    gap:
      8px !important;

    align-self:
      center !important;

    margin:
      0 !important;

    padding:
      0 !important;

    transform:
      none !important;
  }



  body.project-laboratorio-cargill
  .project-thumb {

    width:
      100% !important;

    height:
      100% !important;

    min-width:
      0 !important;

    min-height:
      0 !important;

    aspect-ratio:
      1 / 1 !important;

    overflow:
      hidden !important;
  }



  body.project-laboratorio-cargill
  .project-thumb img {

    display:
      block !important;

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;
  }

}
/* =========================================================
   ALMACÉN CARGILL
   MASTER 16:9
   7 RENDERS / APERTURA + CIERRE
========================================================= */

@media (min-width: 901px) {

  body.project-almacen-cargill
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-almacen-cargill
  .project-hero-shell {

    flex:
      1 1 auto !important;

    height:
      auto !important;

    min-height:
      0 !important;

    transform:
      translateY(6px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;

    align-items:
      stretch !important;
  }


  /* =====================================================
     FICHA + VISOR
  ===================================================== */

  body.project-almacen-cargill
  .project-glass-card,

  body.project-almacen-cargill
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    align-self:
      stretch !important;
  }


  /* =====================================================
     FICHA COMPACTA
  ===================================================== */

  body.project-almacen-cargill
  .project-glass-card {

    padding:
      36px
      40px
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-almacen-cargill
  .project-glass-card h1 {

    margin-bottom:
      20px !important;
  }


  body.project-almacen-cargill
  .project-glass-description {

    margin-bottom:
      18px !important;

    line-height:
      1.55 !important;
  }


  body.project-almacen-cargill
  .project-engineering-note {

    margin-top:
      14px !important;

    padding-top:
      12px !important;

    display:
      flex;

    gap:
      14px;

    border-top:
      1px solid rgba(11,68,56,.10);
  }


  body.project-almacen-cargill
  .project-engineering-note > span {

    width:
      22px;

    height:
      1px;

    flex:
      0 0 auto;

    margin-top:
      9px;

    background:
      rgba(11,68,56,.42);
  }


  body.project-almacen-cargill
  .project-engineering-note p {

    margin:
      0;

    font-size:
      .68rem;

    line-height:
      1.48;

    color:
      rgba(11,68,56,.55);
  }


  body.project-almacen-cargill
  .project-glass-actions {

    margin-top:
      auto !important;

    padding-top:
      16px !important;
  }



  /* =====================================================
     VISOR 16:9
  ===================================================== */

  body.project-almacen-cargill
  .project-hero-media {

    display:
      flex !important;

    flex-direction:
      column !important;

    padding-bottom:
      6px !important;
  }


  body.project-almacen-cargill
  .project-main-image {

    flex:
      1 1 0 !important;

    width:
      100% !important;

    height:
      auto !important;

    min-height:
      0 !important;

    max-height:
      none !important;
  }


  body.project-almacen-cargill
  .project-image-stage {

    width:
      100% !important;

    height:
      100% !important;
  }


  body.project-almacen-cargill
  .project-stage-image {

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;
  }



  /* =====================================================
     MINIATURAS
     5 + VER MÁS
  ===================================================== */

  body.project-almacen-cargill
  .project-thumbnails {

    flex:
      0 0 auto !important;

    grid-template-columns:
      repeat(6, minmax(0, 1fr)) !important;

    gap:
      10px !important;

    margin:
      10px 0 0 !important;

    transform:
      none !important;
  }


  body.project-almacen-cargill
  .project-thumb,

  body.project-almacen-cargill
  .project-thumb-more {

    height:
      60px !important;
  }

}
/* =========================================================
   PARQUE TOSSÁ
   MASTER 16:9
   7 RENDERS / APERTURA + CIERRE
========================================================= */

@media (min-width: 901px) {

  /* =====================================================
     HERO
  ===================================================== */

  body.project-parque-tossa
  .project-hero-glass {

    height:
      100svh !important;

    min-height:
      100svh !important;

    padding:
      84px
      6vw
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-parque-tossa
  .project-hero-shell {

    flex:
      1 1 auto !important;

    height:
      auto !important;

    min-height:
      0 !important;

    transform:
      translateY(6px) !important;

    gap:
      clamp(34px, 3.4vw, 56px) !important;

    align-items:
      stretch !important;
  }



  /* =====================================================
     FICHA + VISOR
  ===================================================== */

  body.project-parque-tossa
  .project-glass-card,

  body.project-parque-tossa
  .project-hero-media {

    height:
      100% !important;

    min-height:
      0 !important;

    align-self:
      stretch !important;
  }



  /* =====================================================
     FICHA
  ===================================================== */

  body.project-parque-tossa
  .project-glass-card {

    padding:
      36px
      40px
      28px !important;

    box-sizing:
      border-box !important;
  }


  body.project-parque-tossa
  .project-glass-card h1 {

    margin-bottom:
      20px !important;
  }


  body.project-parque-tossa
  .project-glass-description {

    margin-bottom:
      18px !important;

    line-height:
      1.55 !important;
  }



  /* =====================================================
     NOTA TÉCNICA
  ===================================================== */

  body.project-parque-tossa
  .project-engineering-note {

    margin-top:
      14px !important;

    padding-top:
      12px !important;

    display:
      flex;

    gap:
      14px;

    border-top:
      1px solid rgba(11,68,56,.10);
  }


  body.project-parque-tossa
  .project-engineering-note > span {

    width:
      22px;

    height:
      1px;

    flex:
      0 0 auto;

    margin-top:
      9px;

    background:
      rgba(11,68,56,.42);
  }


  body.project-parque-tossa
  .project-engineering-note p {

    margin:
      0;

    font-size:
      .68rem;

    line-height:
      1.48;

    color:
      rgba(11,68,56,.55);
  }


  body.project-parque-tossa
  .project-glass-actions {

    margin-top:
      auto !important;

    padding-top:
      16px !important;
  }



  /* =====================================================
     VISOR 16:9
  ===================================================== */

  body.project-parque-tossa
  .project-hero-media {

    display:
      flex !important;

    flex-direction:
      column !important;

    padding-bottom:
      6px !important;
  }


  body.project-parque-tossa
  .project-main-image {

    flex:
      1 1 0 !important;

    width:
      100% !important;

    height:
      auto !important;

    min-height:
      0 !important;

    max-height:
      none !important;
  }


  body.project-parque-tossa
  .project-image-stage {

    width:
      100% !important;

    height:
      100% !important;
  }


  body.project-parque-tossa
  .project-stage-image {

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;
  }



  /* =====================================================
     MINIATURAS
     5 + VER MÁS
  ===================================================== */

  body.project-parque-tossa
  .project-thumbnails {

    flex:
      0 0 auto !important;

    grid-template-columns:
      repeat(6, minmax(0, 1fr)) !important;

    gap:
      10px !important;

    margin:
      10px 0 0 !important;

    transform:
      none !important;
  }


body.project-parque-tossa
.project-thumb,

body.project-parque-tossa
.project-thumb-more {

  height:
    60px !important;
}

} /* cierre de la regla */

} /* cierre del @media (min-width: 901px) */

/* =========================================================
   E ORIGEN
   MOBILE 2026 — HERO FINAL
   TÍTULO + VISOR + CTA
========================================================= */

.hero-button-mobile,
.hero-mobile-explore {
  display: none;
}


@media (max-width: 768px) {


  /* =====================================================
     HEADER / ISLA SUPERIOR
  ===================================================== */

  body:not(.project-page)
  .site-header {

    position:
      fixed !important;

    top:
      16px !important;

    left:
      5vw !important;

    width:
      90vw !important;

    height:
      68px !important;

    padding:
      0 20px !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      space-between !important;

    box-sizing:
      border-box !important;

    border:
      1px solid rgba(255,255,255,.72) !important;

    border-radius:
      20px !important;

    background:
      rgba(251,248,240,.66) !important;

    -webkit-backdrop-filter:
      blur(18px) saturate(120%) !important;

    backdrop-filter:
      blur(18px) saturate(120%) !important;

    box-shadow:
      0 12px 34px rgba(11,68,56,.08),
      inset 0 1px 0 rgba(255,255,255,.70) !important;

    z-index:
      1000 !important;
  }


  body:not(.project-page)
  .site-header.is-scrolled {

    top:
      10px !important;

    left:
      5vw !important;

    width:
      90vw !important;
  }


  body:not(.project-page)
  .site-header
  .wordmark {

    margin:
      0 !important;

    padding:
      0 !important;

    color:
      #0B4438 !important;

    font-size:
      .92rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .38em !important;

    text-decoration:
      none !important;
  }


  body:not(.project-page)
  .site-header
  .wordmark::after {

    display:
      none !important;
  }



  /* =====================================================
     HAMBURGUESA
  ===================================================== */

  body:not(.project-page)
  .mobile-menu-toggle {

    width:
      30px !important;

    height:
      22px !important;

    padding:
      0 !important;

    margin:
      0 !important;

    display:
      flex !important;

    flex-direction:
      column !important;

    justify-content:
      space-between !important;

    align-items:
      stretch !important;

    border:
      0 !important;

    background:
      transparent !important;
  }


  body:not(.project-page)
  .mobile-menu-toggle span {

    width:
      100% !important;

    height:
      1px !important;

    margin:
      0 !important;

    background:
      #0B4438 !important;
  }



  /* =====================================================
     HERO GENERAL
  ===================================================== */

  body:not(.project-page)
  #inicio.hero {

    position:
      relative !important;

    width:
      100% !important;

    min-height:
      100svh !important;

    height:
      auto !important;

    margin:
      0 !important;

    padding:
      116px
      5vw
      34px !important;

    display:
      flex !important;

    flex-direction:
      column !important;

    align-items:
      stretch !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;

    background:
      #fbf8f0 !important;
  }



  /* =====================================================
     FONDO MÓVIL
  ===================================================== */

  body:not(.project-page)
  #inicio
  .hero-mobile-bg {

    display:
      block !important;

    position:
      absolute !important;

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;

    object-position:
      48% center !important;

    z-index:
      0 !important;

    filter:
      saturate(.84)
      contrast(.95)
      brightness(1.05) !important;
  }


  body:not(.project-page)
  #inicio.hero::before {

    content:
      "";

    position:
      absolute;

    inset:
      0;

    z-index:
      1;

    pointer-events:
      none;

    background:
      linear-gradient(
        180deg,
        rgba(251,248,240,.04) 0%,
        rgba(251,248,240,.06) 44%,
        rgba(251,248,240,.22) 72%,
        rgba(251,248,240,.45) 100%
      ) !important;
  }



  /* =====================================================
     BLOQUE DE TÍTULO
  ===================================================== */

  body:not(.project-page)
  #inicio
  .hero-copy {

    position:
      relative !important;

    z-index:
      3 !important;

    width:
      100% !important;

    height:
      auto !important;

    min-height:
      0 !important;

    margin:
      0 !important;

    padding:
      0 !important;

    display:
      block !important;

    transform:
      none !important;
  }


  body:not(.project-page)
  #inicio
  .hero-label {

    position:
      static !important;

    margin:
      0
      0
      24px !important;

    color:
      rgba(11,68,56,.70) !important;

    font-size:
      .62rem !important;

    font-weight:
      400 !important;

    line-height:
      1 !important;

    letter-spacing:
      .20em !important;

    text-transform:
      lowercase !important;
  }


  body:not(.project-page)
  #inicio
  .hero-typing-title {

    position:
      static !important;

    width:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;

    color:
      #0B4438 !important;

    font-size:
      clamp(3.05rem, 13.4vw, 4.55rem) !important;

    font-weight:
      300 !important;

    line-height:
      .98 !important;

    letter-spacing:
      -.052em !important;
  }


  body:not(.project-page)
  #inicio
  .hero-typing-title
  .typing-line {

    display:
      block !important;

    width:
      max-content !important;

    max-width:
      100% !important;

    min-height:
      .98em !important;

    margin:
      0 0 .19em !important;

    white-space:
      nowrap !important;
  }


  body:not(.project-page)
  #inicio
  .hero-typing-title
  .typing-line:last-child {

    margin-bottom:
      0 !important;
  }



  /* Botón original solo escritorio */

  body:not(.project-page)
  #inicio
  .hero-button-desktop {

    display:
      none !important;
  }



  /* =====================================================
     OCULTAR ELEMENTOS DESCARTADOS
  ===================================================== */

  body:not(.project-page)
  #inicio
  .hero-description,

  body:not(.project-page)
  #inicio
  .hero-mobile-editorial,

  body:not(.project-page)
  #inicio
  .hero-mobile-line {

    display:
      none !important;
  }



  /* =====================================================
     VISOR / ISLA GLASS
  ===================================================== */

body:not(.project-page)
#inicio
.hero-showcase {

  position:
    relative !important;

  z-index:
    4 !important;

  display:
    block !important;

  width:
    100% !important;

  margin:
    1px 0 0 !important;

  padding:
    7px !important;

  box-sizing:
    border-box !important;

  border:
    1px solid rgba(255,255,255,.74) !important;

  border-radius:
    20px !important;

  background:
    rgba(251,248,240,.22) !important;

  -webkit-backdrop-filter:
    blur(10px) saturate(110%) !important;

  backdrop-filter:
    blur(10px) saturate(110%) !important;

  box-shadow:
    0 14px 34px rgba(11,68,56,.07),
    inset 0 1px 0 rgba(255,255,255,.54) !important;

  overflow:
    hidden !important;

  opacity:
    1 !important;

  transform:
    none !important;
}


  /* Toolbar solo desktop */

  body:not(.project-page)
  #inicio
  .hero-showcase-toolbar {

    display:
      none !important;
  }



  body:not(.project-page)
  #inicio
  .hero-showcase-main {

    display:
      block !important;

    width:
      100% !important;

    margin:
      0 !important;
  }



  body:not(.project-page)
  #inicio
  .hero-showcase
  .hero-visual-link {

    display:
      block !important;

    width:
      100% !important;

    margin:
      0 !important;

    text-decoration:
      none !important;
  }



  /* =====================================================
     VENTANA DE IMAGEN
  ===================================================== */

body:not(.project-page)
#inicio
.hero-showcase
.hero-visual {

  position:
    relative !important;

  width:
    100% !important;

  height:
    auto !important;

  max-height:
    none !important;

  aspect-ratio:
    1 / 1 !important;

  margin:
    0 !important;

  border-radius:
    15px !important;

  overflow:
    hidden !important;

  background:
    rgba(251,248,240,.25) !important;

  box-shadow:
    none !important;
}


  body:not(.project-page)
  #inicio
  .hero-showcase
  .hero-visual-slide {

    position:
      absolute !important;

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;

    opacity:
      0 !important;

    transform:
      scale(1.015) !important;

    transition:
      opacity .9s cubic-bezier(.22,.61,.36,1),
      transform 1.6s cubic-bezier(.22,.61,.36,1) !important;
  }


  body:not(.project-page)
  #inicio
  .hero-showcase
  .hero-visual-slide.is-active {

    opacity:
      1 !important;

    transform:
      scale(1) !important;

    z-index:
      2 !important;
  }



  body:not(.project-page)
  #inicio
  .hero-showcase
  .hero-visual-slide img {

    display:
      block !important;

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;

    object-position:
      center center !important;

    transform:
      scale(1.025) !important;

    transition:
      transform 5.2s ease !important;
  }


  body:not(.project-page)
  #inicio
  .hero-showcase
  .hero-visual-slide.is-active img {

    transform:
      scale(1.055) !important;
  }



  /* Texto de proyecto oculto en móvil */

  body:not(.project-page)
  #inicio
  .hero-visual-caption {

    display:
      none !important;
  }



  /* Miniaturas ocultas en móvil */

  body:not(.project-page)
  #inicio
  .hero-thumb-rail {

    display:
      none !important;
  }



  /* =====================================================
     CTA / MISMO MARGEN DE LAS ISLAS
  ===================================================== */

  body:not(.project-page)
  #inicio
  .hero-button-mobile,

  body:not(.project-page)
  #inicio
  .hero-button-mobile:link,

  body:not(.project-page)
  #inicio
  .hero-button-mobile:visited {

    position:
      relative !important;

    z-index:
      4 !important;

    width:
      100% !important;

    height:
      62px !important;

    margin:
      12px 0 0 !important;

    padding:
      0 28px !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      space-between !important;

    box-sizing:
      border-box !important;

    border:
      1px solid rgba(255,255,255,.74) !important;

    border-radius:
      18px !important;

    background:
      rgba(251,248,240,.58) !important;

    -webkit-backdrop-filter:
      blur(16px) saturate(118%) !important;

    backdrop-filter:
      blur(16px) saturate(118%) !important;

    box-shadow:
      0 12px 30px rgba(11,68,56,.07),
      inset 0 1px 0 rgba(255,255,255,.62) !important;

    color:
      #0B4438 !important;

    text-decoration:
      none !important;

    text-transform:
      uppercase !important;
  }


  body:not(.project-page)
  #inicio
  .hero-button-mobile span:first-child {

    font-size:
      .69rem !important;

    font-weight:
      500 !important;

    letter-spacing:
      .25em !important;
  }


  body:not(.project-page)
  #inicio
  .hero-button-mobile span:last-child {

    font-size:
      1.14rem !important;

    font-weight:
      300 !important;
  }



  /* =====================================================
     EXPLORA
  ===================================================== */

  body:not(.project-page)
  #inicio
  .hero-mobile-explore,

  body:not(.project-page)
  #inicio
  .hero-mobile-explore:link,

  body:not(.project-page)
  #inicio
  .hero-mobile-explore:visited {

    position:
      relative !important;

    z-index:
      4 !important;

    align-self:
      flex-end !important;

    margin:
      30px
      4px
      0
      0 !important;

    padding:
      0 !important;

    display:
      flex !important;

    flex-direction:
      column !important;

    align-items:
      center !important;

    gap:
      7px !important;

    color:
      rgba(11,68,56,.52) !important;

    text-decoration:
      none !important;
  }


  body:not(.project-page)
  #inicio
  .hero-mobile-explore span {

    font-size:
      .48rem !important;

    letter-spacing:
      .24em !important;

    text-transform:
      uppercase !important;
  }


  body:not(.project-page)
  #inicio
  .hero-mobile-explore i {

    font-size:
      1.15rem !important;

    font-style:
      normal !important;

    line-height:
      1 !important;
  }

}
/* =========================================================
   E ORIGEN
   MOBILE 2026 — NOSOTROS MASTER
   COMPACTO + GLASS
========================================================= */

@media (max-width: 768px) {


  /* =====================================================
     SECCIÓN
  ===================================================== */

  body:not(.project-page)
  #nosotros.section,
  body:not(.project-page)
  #nosotros.about-section {

    position:
      relative !important;

    width:
      100% !important;

    min-height:
      100svh !important;

    margin:
      0 !important;

    padding:
      108px
      5vw
      28px !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;

    background:
      linear-gradient(
        180deg,
        #fbf8f0 0%,
        #f8f4ea 100%
      ) !important;
  }



  /* =====================================================
     LUZ EDITORIAL DE FONDO
  ===================================================== */

  body:not(.project-page)
  #nosotros::before {

    content:
      "";

    position:
      absolute;

    inset:
      0;

    pointer-events:
      none;

    background:
      radial-gradient(
        circle at 92% 18%,
        rgba(139,161,141,.12),
        transparent 28%
      ),
      radial-gradient(
        circle at 12% 72%,
        rgba(192,169,145,.10),
        transparent 34%
      );

    z-index:
      0;
  }



  /* =====================================================
     GRID GENERAL
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-grid {

    position:
      relative !important;

    z-index:
      1 !important;

    width:
      100% !important;

    max-width:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;

    display:
      block !important;

    grid-template-columns:
      none !important;

    gap:
      0 !important;
  }



  /* =====================================================
     COLUMNA DEL TÍTULO
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-heading {

    position:
      relative !important;

    top:
      auto !important;

    width:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;

    border:
      0 !important;

    border-radius:
      0 !important;

    background:
      transparent !important;

    box-shadow:
      none !important;

    backdrop-filter:
      none !important;

    -webkit-backdrop-filter:
      none !important;
  }


  body:not(.project-page)
  #nosotros
  .about-heading::before,

  body:not(.project-page)
  #nosotros
  .about-heading::after {

    display:
      none !important;
  }



  /* =====================================================
     LABEL
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .section-label {

    margin:
      0 0 20px !important;

    color:
      rgba(111,91,63,.84) !important;

    font-size:
      .66rem !important;

    font-weight:
      400 !important;

    line-height:
      1 !important;

    letter-spacing:
      .24em !important;

    text-transform:
      uppercase !important;
  }



  /* =====================================================
     TÍTULO
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-heading h2 {

    width:
      100% !important;

    max-width:
      350px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    color:
      #0B4438 !important;

    font-size:
      clamp(2.15rem, 9.6vw, 2.72rem) !important;

    font-weight:
      300 !important;

    line-height:
      1.04 !important;

    letter-spacing:
      -.047em !important;
  }


  /*
    El JS construye dos spans para el typewriter.
    En móvil permitimos que esas líneas respiren y rompan
    naturalmente según el ancho del teléfono.
  */

  body:not(.project-page)
  #nosotros
  .about-title-typing
  .about-type-line,

  body:not(.project-page)
  #nosotros
  .about-heading h2
  .about-typing-line {

    display:
      inline !important;

    min-height:
      0 !important;

    white-space:
      normal !important;
  }


  body:not(.project-page)
  #nosotros
  .about-title-typing
  .about-type-line:first-child::after {

    margin-right:
      .15em;
  }



  /* =====================================================
     LÍNEA EDITORIAL
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-heading h2::after {

    content:
      "" !important;

    display:
      block !important;

    width:
      0 !important;

    height:
      1px !important;

    margin:
      22px 0 0 !important;

    background:
      rgba(11,68,56,.38) !important;

    transition:
      width .9s cubic-bezier(.22,.61,.36,1) !important;
  }


  body:not(.project-page)
  #nosotros
  .about-heading h2.is-complete::after,

  body:not(.project-page)
  #nosotros
  .about-heading h2.about-typing-complete::after {

    width:
      52px !important;
  }



  /* =====================================================
     IMAGEN EDITORIAL
     SE SUPRIME EN MÓVIL
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-editorial-image {

    display:
      none !important;
  }



  /* =====================================================
     COPY
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-content {

    width:
      100% !important;

    margin:
      30px 0 0 !important;

    padding:
      0 !important;
  }


  body:not(.project-page)
  #nosotros
  .about-lead {

    width:
      100% !important;

    max-width:
      none !important;

    margin:
      0 !important;

    color:
      rgba(11,68,56,.92) !important;

    font-size:
      .89rem !important;

    font-weight:
      400 !important;

    line-height:
      1.60 !important;

    letter-spacing:
      -.008em !important;
  }


  body:not(.project-page)
  #nosotros
  .about-content
  > p:not(.about-lead) {

    width:
      100% !important;

    max-width:
      none !important;

    margin:
      20px 0 0 !important;

    color:
      rgba(55,61,58,.67) !important;

    font-size:
      .82rem !important;

    font-weight:
      400 !important;

    line-height:
      1.56 !important;

    letter-spacing:
      -.006em !important;
  }



  /* =====================================================
     RETÍCULA DE VALORES
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values {

    position:
      relative !important;

    width:
      100% !important;

    margin:
      28px 0 0 !important;

    padding:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    grid-template-rows:
      auto auto !important;

    gap:
      12px !important;

    border:
      0 !important;
  }



  /* =====================================================
     ISLAS GLASS
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values article {

    position:
      relative !important;

    width:
      100% !important;

    min-width:
      0 !important;

    min-height:
      142px !important;

    margin:
      0 !important;

    padding:
      16px
      16px
      18px !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;

    border:
      1px solid rgba(255,255,255,.70) !important;

    border-radius:
      18px !important;

    background:
      linear-gradient(
        145deg,
        rgba(251,248,240,.66),
        rgba(251,248,240,.42)
      ) !important;

    -webkit-backdrop-filter:
      blur(16px) saturate(118%) !important;

    backdrop-filter:
      blur(16px) saturate(118%) !important;

    box-shadow:
      0 12px 30px rgba(11,68,56,.055),
      inset 0 1px 0 rgba(255,255,255,.68) !important;

    border-bottom:
      1px solid rgba(255,255,255,.70) !important;
  }



  /* =====================================================
     REFLEJO SUTIL
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values article::before {

    content:
      "" !important;

    display:
      block !important;

    position:
      absolute !important;

    width:
      96px !important;

    height:
      96px !important;

    top:
      -44px !important;

    right:
      -38px !important;

    border:
      1px solid rgba(255,255,255,.48) !important;

    border-radius:
      50% !important;

    background:
      radial-gradient(
        circle,
        rgba(139,161,141,.09),
        transparent 67%
      ) !important;

    pointer-events:
      none !important;
  }



  /* =====================================================
     FLECHA DE CADA ISLA
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values article::after {

    content:
      "→" !important;

    display:
      block !important;

    position:
      absolute !important;

    right:
      14px !important;

    bottom:
      13px !important;

    color:
      rgba(11,68,56,.62) !important;

    font-size:
      .95rem !important;

    font-weight:
      300 !important;

    line-height:
      1 !important;
  }



  /* =====================================================
     NÚMEROS
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values article span {

    display:
      block !important;

    margin:
      0 0 13px !important;

    color:
      rgba(111,91,63,.82) !important;

    font-size:
      .58rem !important;

    font-weight:
      400 !important;

    line-height:
      1 !important;

    letter-spacing:
      .22em !important;
  }



  /* =====================================================
     TÍTULOS DE TARJETA
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values article h3 {

    max-width:
      calc(100% - 10px) !important;

    margin:
      0 0 10px !important;

    color:
      #0B4438 !important;

    font-size:
      clamp(.97rem, 4.2vw, 1.12rem) !important;

    font-weight:
      300 !important;

    line-height:
      1.15 !important;

    letter-spacing:
      -.03em !important;
  }



  /* =====================================================
     COPY DE TARJETA
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values article p {

    max-width:
      calc(100% - 16px) !important;

    margin:
      0 !important;

    color:
      rgba(11,68,56,.60) !important;

    font-size:
      .66rem !important;

    font-weight:
      400 !important;

    line-height:
      1.45 !important;

    display:
      -webkit-box !important;

    -webkit-line-clamp:
      3 !important;

    -webkit-box-orient:
      vertical !important;

    overflow:
      hidden !important;
  }



  /* =====================================================
     TERCERA ISLA
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-values article:nth-child(3) {

    grid-column:
      1 / -1 !important;

    min-height:
      108px !important;

    padding-right:
      52px !important;
  }


  body:not(.project-page)
  #nosotros
  .about-values article:nth-child(3) h3 {

    margin-bottom:
      9px !important;
  }


  body:not(.project-page)
  #nosotros
  .about-values article:nth-child(3) p {

    max-width:
      88% !important;

    -webkit-line-clamp:
      2 !important;
  }



  /* =====================================================
     MOVIMIENTO
     CONSERVA EL JS ACTUAL, PERO MÁS SUTIL EN MÓVIL
  ===================================================== */

  body:not(.project-page)
  #nosotros
  .about-motion-copy {

    transform:
      translateY(12px) !important;

    transition:
      opacity .72s ease,
      transform .78s cubic-bezier(.22,.61,.36,1) !important;
  }


  body:not(.project-page)
  #nosotros
  .about-motion-copy.is-in {

    transform:
      translateY(0) !important;
  }


  body:not(.project-page)
  #nosotros
  .about-motion-value {

    transform:
      translateY(14px) !important;

    transition:
      opacity .7s ease,
      transform .76s cubic-bezier(.22,.61,.36,1) !important;
  }


  body:not(.project-page)
  #nosotros
  .about-motion-value.is-in {

    transform:
      translateY(0) !important;
  }

}
/* =========================================================
   E ORIGEN
   MOBILE 2026 — PROCESO MASTER
   COMPACTO + GLASS 2 x 2
========================================================= */

@media (max-width: 768px) {


  /* =====================================================
     SECCIÓN
  ===================================================== */

  body:not(.project-page)
  #proceso.process-section,
  body:not(.project-page)
  #proceso.process-section-2026 {

    position:
      relative !important;

    width:
      100% !important;

    min-height:
      100svh !important;

    margin:
      0 !important;

    padding:
      108px
      5vw
      30px !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;

    background:
      linear-gradient(
        180deg,
        #fbf8f0 0%,
        #f7f3e9 100%
      ) !important;

    border:
      0 !important;
  }



  /* =====================================================
     REFLEJOS DE FONDO
     SOLO PARA QUE EL GLASS NO QUEDE PLANO
  ===================================================== */

  body:not(.project-page)
  #proceso::before {

    content:
      "";

    position:
      absolute;

    inset:
      0;

    z-index:
      0;

    pointer-events:
      none;

    background:
      radial-gradient(
        circle at 92% 12%,
        rgba(139,161,141,.10),
        transparent 26%
      ),
      radial-gradient(
        circle at 6% 78%,
        rgba(192,169,145,.10),
        transparent 32%
      );
  }



  /* =====================================================
     CONTENEDOR
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-content-2026 {

    position:
      relative !important;

    z-index:
      1 !important;

    width:
      100% !important;

    max-width:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }



  /* =====================================================
     INTRO
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-intro-2026 {

    width:
      100% !important;

    max-width:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }



  /* =====================================================
     LABEL
  ===================================================== */

  body:not(.project-page)
  #proceso
  .section-label {

    margin:
      0 0 20px !important;

    color:
      rgba(111,91,63,.84) !important;

    font-size:
      .66rem !important;

    font-weight:
      400 !important;

    line-height:
      1 !important;

    letter-spacing:
      .24em !important;

    text-transform:
      uppercase !important;
  }



  /* =====================================================
     TÍTULO
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-intro-2026 h2 {

    width:
      100% !important;

    max-width:
      355px !important;

    margin:
      0 !important;

    color:
      #0B4438 !important;

    font-size:
      clamp(2.02rem, 9.1vw, 2.58rem) !important;

    font-weight:
      300 !important;

    line-height:
      1.04 !important;

    letter-spacing:
      -.048em !important;
  }



  /* =====================================================
     ELIMINAR TEXTO DE APOYO EN MÓVIL
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-description-2026 {

    display:
      none !important;
  }



  /* =====================================================
     GRID 2 × 2
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-grid-2026 {

    width:
      100% !important;

    margin:
      28px 0 0 !important;

    padding:
      0 !important;

    display:
      grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    grid-template-rows:
      repeat(2, auto) !important;

    gap:
      12px !important;
  }



  /* =====================================================
     TARJETAS GLASS
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-card-2026 {

    position:
      relative !important;

    width:
      100% !important;

    min-width:
      0 !important;

    min-height:
      190px !important;

    margin:
      0 !important;

    padding:
      15px
      14px
      16px !important;

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;

    border:
      1px solid rgba(255,255,255,.72) !important;

    border-radius:
      18px !important;

    background:
      linear-gradient(
        145deg,
        rgba(251,248,240,.64),
        rgba(251,248,240,.38)
      ) !important;

    -webkit-backdrop-filter:
      blur(16px) saturate(118%) !important;

    backdrop-filter:
      blur(16px) saturate(118%) !important;

    box-shadow:
      0 12px 30px rgba(11,68,56,.055),
      inset 0 1px 0 rgba(255,255,255,.66) !important;

    border-top:
      1px solid rgba(255,255,255,.72) !important;
  }



  /* =====================================================
     REFLEJO CIRCULAR SUTIL
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-card-2026::before {

    content:
      "";

    position:
      absolute;

    width:
      96px;

    height:
      96px;

    top:
      -44px;

    right:
      -38px;

    border:
      1px solid rgba(255,255,255,.45);

    border-radius:
      50%;

    background:
      radial-gradient(
        circle,
        rgba(139,161,141,.08),
        transparent 67%
      );

    pointer-events:
      none;
  }



  /* =====================================================
     NÚMERO
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-number {

    display:
      block !important;

    margin:
      0 0 12px !important;

    color:
      rgba(111,91,63,.80) !important;

    font-size:
      .58rem !important;

    line-height:
      1 !important;

    letter-spacing:
      .22em !important;
  }



  /* =====================================================
     ÍCONO
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-icon-wrap {

    width:
      36px !important;

    height:
      36px !important;

    margin:
      0 0 12px !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      center !important;

    border:
      1px solid rgba(255,255,255,.70) !important;

    border-radius:
      50% !important;

    background:
      rgba(251,248,240,.42) !important;

    -webkit-backdrop-filter:
      blur(8px) !important;

    backdrop-filter:
      blur(8px) !important;
  }


  body:not(.project-page)
  #proceso
  .process-icon-img {

    width:
      19px !important;

    height:
      19px !important;

    object-fit:
      contain !important;
  }



  /* =====================================================
     TÍTULOS
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-card-2026 h3 {

    margin:
      0 0 10px !important;

    color:
      #0B4438 !important;

    font-size:
      clamp(.98rem, 4.15vw, 1.12rem) !important;

    font-weight:
      300 !important;

    line-height:
      1.13 !important;

    letter-spacing:
      -.03em !important;
  }



  /* =====================================================
     DESCRIPCIONES
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-card-2026 p {

    margin:
      0 !important;

    color:
      rgba(11,68,56,.61) !important;

    font-size:
      .67rem !important;

    line-height:
      1.47 !important;

    display:
      -webkit-box !important;

    -webkit-box-orient:
      vertical !important;

    -webkit-line-clamp:
      4 !important;

    overflow:
      hidden !important;
  }



  /* =====================================================
     AJUSTES POR TARJETA
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-card-2026:nth-child(3) p,

  body:not(.project-page)
  #proceso
  .process-card-2026:nth-child(4) p {

    -webkit-line-clamp:
      4 !important;
  }



  /* =====================================================
     MOVIMIENTO MÓVIL MÁS SUAVE
  ===================================================== */

  body:not(.project-page)
  #proceso
  .process-card-2026 {

    transition:
      opacity .72s ease,
      transform .78s cubic-bezier(.22,.61,.36,1),
      background-color .3s ease !important;
  }

}
/* =========================================================
   MOBILE — PROCESO
   AJUSTE POSICIÓN VERTICAL
========================================================= */

@media (max-width: 768px) {

  body:not(.project-page)
  #proceso.process-section,
  body:not(.project-page)
  #proceso.process-section-2026 {

    padding-top:
      132px !important;
  }

}
/* SERVICIOS / MÓVIL */
@media (max-width: 768px) {
  #servicios .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 26px !important;
    align-items: stretch !important;
  }

  #servicios .services-grid > article,
  #servicios .services-grid .service-card,
  #servicios .services-grid .service-editorial-item {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 148px !important;
    padding: 16px 14px 17px !important;
    border-radius: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    background: rgba(251, 248, 240, 0.43) !important;
    border: 1px solid rgba(255, 255, 255, 0.74) !important;
    box-shadow:
      0 10px 28px rgba(11, 68, 56, 0.055),
      inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
    -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
    backdrop-filter: blur(14px) saturate(125%) !important;
    transform: none !important;
  }

  /* En móvil dejamos únicamente el título, el número y el ícono */
  #servicios .services-grid > article p,
  #servicios .services-grid .service-card p,
  #servicios .services-grid .service-editorial-item p {
    display: none !important;
  }

  #servicios .service-icon {
    width: 31px !important;
    height: 31px !important;
    margin: 0 0 10px !important;
  }

  #servicios .service-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  #servicios .services-grid > article span,
  #servicios .services-grid .service-card span,
  #servicios .services-grid .service-editorial-item span {
    margin: 0 0 9px !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.16em !important;
  }

  #servicios .services-grid > article h3,
  #servicios .services-grid .service-card h3,
  #servicios .services-grid .service-editorial-item h3 {
    min-height: 0 !important;
    margin: 0 !important;
    font-family: inherit !important;
    font-size: clamp(1.02rem, 4.25vw, 1.22rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    font-weight: 300 !important;
    overflow-wrap: anywhere;
  }
}

/* Desvanecimiento progresivo al aparecer en pantalla */
@supports (animation-timeline: view()) {
  @media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
    #servicios .services-grid > article {
      animation: servicesIslandFade linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 55%;
    }
  }
}

@keyframes servicesIslandFade {
  from {
    opacity: 0.28;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 360px) {
  #servicios .services-grid {
    gap: 10px !important;
  }

  #servicios .services-grid > article,
  #servicios .services-grid .service-card,
  #servicios .services-grid .service-editorial-item {
    padding-right: 11px !important;
    padding-left: 11px !important;
  }
}
@media (max-width: 768px) {
  #servicios .section-label {
    position: relative !important;
    top: 32px !important;
    margin-bottom: 30px !important;
  }

  #servicios .section-intro .services-title {
    margin-top: -64px !important;
  }

  #servicios .section-intro {
    margin-bottom: 6px !important;
  }

  #servicios .services-grid {
    margin-top: 0 !important;
  }
}
@media (max-width: 768px) {
  html body #proceso.section.process-section {
    padding-top: 112px !important;
  }
}
/* ARQUITECTURA · ajustes para móvil */
@media (max-width: 768px) {
  /* Acerca el fondo y el título a la barra superior */
  html body #proyectos.projects-section {
    padding-top: 20px !important;
  }

  html body #proyectos #arquitectura.projects-feature-bg {
    padding-top: 48px !important;
    scroll-margin-top: 90px;
  }

  html body #arquitectura .projects-intro {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
  }

  html body #arquitectura .projects-intro h2 {
    margin: 0 !important;
    padding: 0 !important;
  }

  html body #arquitectura .portfolio-block,
  html body #arquitectura .portfolio-block-heading,
  html body #arquitectura .projects-grid {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html body #arquitectura .portfolio-block-heading {
    margin-bottom: 16px !important;
  }

  /* Islas glass */
  html body #arquitectura .project-card {
    background: rgba(251, 248, 240, 0.46) !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;
    -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
    backdrop-filter: blur(14px) saturate(120%) !important;
    box-shadow:
      0 16px 38px rgba(11, 68, 56, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.65) !important;
  }

  /* Desvanecimiento al entrar en pantalla */
  #arquitectura .arch-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition:
      opacity 0.7s ease,
      transform 0.8s cubic-bezier(.22, .61, .36, 1);
  }

  #arquitectura .arch-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* Cursor del título mientras se escribe */
  #arquitectura .projects-intro h2.is-typing::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 0.78em;
    margin-left: 0.04em;
    background: currentColor;
    animation: arch-cursor 0.7s steps(1) infinite;
  }

  @keyframes arch-cursor {
    50% { opacity: 0; }
  }
}

@media (prefers-reduced-motion: reduce) {
  #arquitectura .arch-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  #arquitectura .projects-intro h2.is-typing::after {
    display: none;
  }
}
/* ARQUITECTURA · miniaturas y transición móvil */
@media (max-width: 768px) {
  #mas-proyectos .more-project-card {
    background: rgba(251, 248, 240, 0.48) !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    -webkit-backdrop-filter: blur(16px) saturate(125%) !important;
    backdrop-filter: blur(16px) saturate(125%) !important;
    box-shadow:
      0 16px 36px rgba(11, 68, 56, 0.09),
      inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  }

  /* Entrada: usamos opacidad para conservar el movimiento de las tarjetas */
  #mas-proyectos .more-project-card.more-reveal {
    opacity: 0;
    transition:
      opacity 0.75s ease,
      background-color 0.35s ease,
      box-shadow 0.4s ease !important;
  }

  #mas-proyectos .more-project-card.more-reveal.is-visible {
    opacity: 1;
  }

  /* Velo que aparece al abrir un proyecto */
  body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: #fbf8f0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.38s ease;
  }

  body.is-opening-project::after {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  #mas-proyectos .more-project-card.more-reveal {
    opacity: 1 !important;
    transition: none !important;
  }

  body::after {
    transition: none !important;
  }
}
/* INGENIERÍA · composición vertical móvil */
@media (max-width: 768px) {
  html body #ingenieria.technical-projects {
    margin-top: 0 !important;
    padding-top: 0 !important;
    scroll-margin-top: 88px;
  }

  html body #ingenieria .engineering-feature-bg {
    padding-top: 26px !important;
  }

  html body #ingenieria .technical-projects-heading {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
  }

  html body #ingenieria .technical-projects-heading .section-label {
    margin: 0 0 12px !important;
    padding: 0 !important;
  }

  html body #ingenieria .technical-projects-heading h3 {
    margin: 0 !important;
    padding: 0 !important;
  }

  html body #ingenieria .technical-grid {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
/* INGENIERÍA · efectos para móvil */
@media (max-width: 768px) {
  #ingenieria .technical-card,
  #mas-proyectos-ingenieria .more-project-card {
    background: rgba(251, 248, 240, 0.46) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    -webkit-backdrop-filter: blur(14px) saturate(122%) !important;
    backdrop-filter: blur(14px) saturate(122%) !important;
    box-shadow:
      0 16px 38px rgba(11, 68, 56, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
  }

  /* Textos y tarjetas aparecen al entrar en pantalla */
  #ingenieria .engineering-reveal,
  #mas-proyectos-ingenieria .engineering-reveal {
    opacity: 0;
    transition: opacity 0.75s ease !important;
  }

  #ingenieria .engineering-reveal.is-visible,
  #mas-proyectos-ingenieria .engineering-reveal.is-visible {
    opacity: 1;
  }

  /* Cursor únicamente mientras se escribe el título */
  #ingenieria .technical-projects-heading h3.is-mobile-typing::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 0.78em;
    margin-left: 0.04em;
    background: currentColor;
    animation: engineering-mobile-cursor 0.72s steps(1) infinite;
  }

  @keyframes engineering-mobile-cursor {
    50% { opacity: 0; }
  }
}

@media (prefers-reduced-motion: reduce) {
  #ingenieria .engineering-reveal,
  #mas-proyectos-ingenieria .engineering-reveal {
    opacity: 1 !important;
    transition: none !important;
  }

  #ingenieria .technical-projects-heading h3.is-mobile-typing::after {
    display: none;
  }
}
/* Texto alternativo sólo para el diseño móvil */
#contacto .contact-copy-mobile,
#contacto .contact-button-mobile {
  display: none;
}

@media (max-width: 768px) {
  #contacto .contact-copy-desktop,
  #contacto .contact-button-desktop {
    display: none;
  }

  #contacto .contact-copy-mobile,
  #contacto .contact-button-mobile {
    display: inline;
  }

  /* Fondo y altura natural: permite ver las cuatro islas */
  html body #contacto.contact-section-2026 {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 112px 6vw 72px !important;
    background: #0b2923 !important;
    overflow: hidden !important;
  }

  /* Recupera la imagen móvil del fondo */
  html body #contacto > .contact-mobile-bg {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    z-index: -2 !important;
  }

  html body #contacto .contact-grid-2026 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start !important;
  }

  /* Permite ordenar el botón después de las tarjetas en móvil */
  html body #contacto .contact-heading-2026 {
    display: contents !important;
  }

  html body #contacto .contact-heading-2026 .section-label {
    grid-row: 1;
    margin: 0 0 24px !important;
    color: #c0a991 !important;
  }

  html body #contacto .contact-heading-2026 h2 {
    grid-row: 2;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #fbf8f0 !important;
    font-size: clamp(2.45rem, 10vw, 3.15rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: normal !important;
  }

  html body #contacto .contact-description {
    grid-row: 3;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 32px !important;
    color: rgba(251, 248, 240, 0.84) !important;
    font-size: 0.94rem !important;
    line-height: 1.55 !important;
  }

  /* Cuatro islas glass en una sola columna */
  html body #contacto .contact-info-2026 {
    grid-row: 4;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    justify-self: stretch !important;
  }

  html body #contacto .contact-card-2026 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 84px !important;
    padding: 16px 14px !important;
    display: grid !important;
    grid-template-columns: 25px 28px minmax(0, 1fr) !important;
    gap: 12px !important;
    border: 1px solid rgba(251, 248, 240, 0.27) !important;
    border-radius: 18px !important;
    background: rgba(8, 62, 51, 0.66) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
    backdrop-filter: blur(16px) saturate(120%) !important;
    box-shadow:
      0 16px 32px rgba(0, 0, 0, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  }

  html body #contacto .contact-card-2026 .contact-card-arrow {
    display: none !important;
  }

  html body #contacto .contact-card-2026 .contact-icon,
  html body #contacto .contact-card-2026 .contact-icon svg {
    width: 26px !important;
    height: 26px !important;
  }

  html body #contacto .contact-card-2026 .contact-detail {
    min-width: 0 !important;
  }

  html body #contacto .contact-card-2026 .contact-detail a,
  html body #contacto .contact-card-2026 .contact-location {
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
  }

  /* Llamado principal después de las islas */
  html body #contacto .contact-whatsapp-button {
    grid-row: 5;
    justify-self: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 22px 0 0 !important;
    padding: 0 16px !important;
    border: 1px solid rgba(139, 161, 141, 0.8) !important;
    border-radius: 999px !important;
    background: rgba(0, 76, 62, 0.82) !important;
    color: #fbf8f0 !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
  }

  html body #contacto .contact-whatsapp-button .contact-button-arrow {
    color: #fbf8f0 !important;
  }
}
/* Elementos nuevos reservados para móvil */
.site-footer .footer-location,
.site-footer .footer-copy-mobile {
  display: none;
}

@media (max-width: 768px) {
  /* El contenido termina donde termina Contacto */
  html body main:has(#contacto) {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  html body .contact-footer-bg {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  html body #contacto.contact-section-2026 {
    margin-bottom: 0 !important;
    padding-bottom: 56px !important;
  }

  /* Pie verde unido al fondo arquitectónico */
  html body .site-footer {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 14px !important;
    row-gap: 26px !important;
    align-items: end !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 32px 6vw 30px !important;

    background: #0b4438 !important;
    border-top: 1px solid rgba(251, 248, 240, 0.55) !important;
    box-sizing: border-box !important;
  }

  html body .site-footer .footer-brand {
    grid-column: 1 / -1;
    margin: 0 !important;
    padding-bottom: 22px !important;
    border-bottom: 1px solid rgba(251, 248, 240, 0.35);
  }

  html body .site-footer .footer-logo {
    margin: 0 0 12px !important;
    color: #fbf8f0 !important;
    font-size: 1.65rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.28em !important;
    line-height: 1.1 !important;
    text-transform: lowercase !important;
  }

  html body .site-footer .footer-brand p:not(.footer-logo) {
    margin: 0 !important;
    color: rgba(251, 248, 240, 0.82) !important;
    font-size: 0.78rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.4 !important;
  }

  html body .site-footer .footer-links,
  html body .site-footer .footer-copy-desktop {
    display: none !important;
  }

  html body .site-footer .footer-location {
    display: block !important;
    grid-column: 1;
    min-width: 0;
    margin: 0 !important;
    color: rgba(251, 248, 240, 0.78) !important;
    font-size: 0.69rem !important;
    letter-spacing: 0.04em !important;
    line-height: 1.4 !important;
  }

  html body .site-footer .footer-copy {
    grid-column: 2;
    margin: 0 !important;
    text-align: right !important;
  }

  html body .site-footer .footer-copy-mobile {
    display: inline !important;
    color: rgba(251, 248, 240, 0.78) !important;
    font-size: 0.69rem !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap;
  }
}
/* CONTACTO + PIE · corrección móvil */
@media (max-width: 768px) {
  /* Acerca el pie al final visible de Contacto */
  html body:has(#contacto) .site-footer {
    margin-top: -114px !important;
    z-index: 30 !important;
  }

  /* Texto del pie con contraste suficiente */
  html body:has(#contacto) .site-footer .footer-logo {
    color: #fbf8f0 !important;
  }

  html body:has(#contacto) .site-footer .footer-brand p:not(.footer-logo),
  html body:has(#contacto) .site-footer .footer-location,
  html body:has(#contacto) .site-footer .footer-copy,
  html body:has(#contacto) .site-footer .footer-copy-mobile {
    color: rgba(251, 248, 240, 0.88) !important;
    opacity: 1 !important;
  }
}
/* CASA OD · master móvil */
.od-mobile-master {
  display: none !important;
}

@media (max-width: 768px) {
  html {
    scroll-behavior: smooth;
  }

  body.project-casa-od {
    background: #fbf8f0 !important;
  }

  /* Conserva intacto el contenido de escritorio */
  body.project-casa-od > .project-header,
  body.project-casa-od main > :not(.od-mobile-master) {
    display: none !important;
  }

  body.project-casa-od .od-mobile-master {
    display: block !important;
    padding-bottom: 112px;
    color: #0b4438;
  }

  body.project-casa-od .od-glass {
    background: rgba(251, 248, 240, .68);
    border: 1px solid rgba(255, 255, 255, .72);
    -webkit-backdrop-filter: blur(16px) saturate(120%);
    backdrop-filter: blur(16px) saturate(120%);
    box-shadow:
      0 16px 38px rgba(11, 68, 56, .09),
      inset 0 1px 0 rgba(255, 255, 255, .65);
  }

  body.project-casa-od .od-mobile-header {
    position: fixed;
    top: 12px;
    left: 5vw;
    right: 5vw;
    z-index: 100;
    height: 66px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 20px;
    background: rgba(251, 248, 240, .78);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  body.project-casa-od .od-mobile-header a {
    color: #0b4438;
    text-decoration: none;
    font-size: .9rem;
    letter-spacing: .34em;
  }

  body.project-casa-od .od-mobile-header-mark {
    display: grid;
    gap: 6px;
    width: 29px;
  }

  body.project-casa-od .od-mobile-header-mark span {
    display: block;
    height: 1px;
    background: #0b4438;
  }

  body.project-casa-od .od-mobile-cover {
    position: relative;
    min-height: 100svh;
    padding: 110px 5vw 44px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
    box-sizing: border-box;
    isolation: isolate;
  }

  body.project-casa-od .od-mobile-cover-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  body.project-casa-od .od-mobile-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
      to bottom,
      rgba(251, 248, 240, .16),
      transparent 45%,
      rgba(251, 248, 240, .18)
    );
  }

  body.project-casa-od .od-mobile-title,
  body.project-casa-od .od-mobile-facts {
    width: 100%;
    box-sizing: border-box;
    border-radius: 22px;
  }

  body.project-casa-od .od-mobile-title {
    padding: 24px 22px;
  }

  body.project-casa-od .od-eyebrow,
  body.project-casa-od .od-section-label {
    color: #6f5b3f;
    font-size: .68rem;
    font-weight: 400;
    letter-spacing: .19em;
    text-transform: uppercase;
  }

  body.project-casa-od .od-eyebrow {
    margin: 0 0 12px;
  }

  body.project-casa-od .od-mobile-title h1 {
    margin: 0 0 10px;
    color: #0b4438;
    font-size: clamp(2.8rem, 12vw, 4.1rem);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -.05em;
  }

  body.project-casa-od .od-mobile-title > p:last-child {
    margin: 0;
    font-size: .9rem;
    line-height: 1.45;
  }

  body.project-casa-od .od-mobile-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px;
  }

  body.project-casa-od .od-mobile-facts > div {
    min-width: 0;
    padding: 14px 10px;
  }

  body.project-casa-od .od-mobile-facts > div:nth-child(odd) {
    border-right: 1px solid rgba(11, 68, 56, .14);
  }

  body.project-casa-od .od-mobile-facts > div:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11, 68, 56, .14);
  }

  body.project-casa-od .od-mobile-facts span,
  body.project-casa-od .od-mobile-facts strong {
    display: block;
  }

  body.project-casa-od .od-mobile-facts span {
    margin-bottom: 7px;
    color: #6f5b3f;
    font-size: .62rem;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  body.project-casa-od .od-mobile-facts strong {
    font-size: .83rem;
    font-weight: 400;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  body.project-casa-od .od-mobile-section {
    padding: 32px 5vw 0;
    scroll-margin-top: 94px;
  }

  body.project-casa-od #ficha-casa-od {
    scroll-margin-top: 110px;
  }

  body.project-casa-od .od-section-label {
    display: block;
    margin: 0 0 12px;
    padding: 12px 16px;
    border-radius: 999px;
    font-weight: 400;
  }

  body.project-casa-od .od-mobile-gallery,
  body.project-casa-od .od-mobile-plans {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.project-casa-od .od-mobile-gallery a,
  body.project-casa-od .od-mobile-plans a {
    display: block;
    min-width: 0;
    overflow: hidden;
    border-radius: 14px;
  }

  body.project-casa-od .od-mobile-gallery a:first-child {
    grid-column: 1 / -1;
  }

  body.project-casa-od .od-mobile-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 1.45;
    object-fit: cover;
  }

  body.project-casa-od .od-mobile-gallery a:first-child img {
    aspect-ratio: 1.65;
  }

  body.project-casa-od .od-mobile-plans a {
    padding: 5px;
    background: rgba(251, 248, 240, .72);
    border: 1px solid rgba(255, 255, 255, .8);
    box-shadow: 0 10px 24px rgba(11, 68, 56, .07);
  }

  body.project-casa-od .od-mobile-plans img {
    display: block;
    width: 100%;
    height: auto;
  }

  body.project-casa-od .od-mobile-back {
    padding: 38px 5vw 0;
  }

  body.project-casa-od .od-mobile-back a {
    display: block;
    padding: 18px;
    border-radius: 16px;
    color: #0b4438;
    text-align: center;
    text-decoration: none;
  }

  body.project-casa-od .od-mobile-dock {
    position: fixed;
    z-index: 101;
    left: 50%;
    bottom: max(14px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    width: min(76vw, 320px);
    height: 62px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 999px;
  }

  body.project-casa-od .od-mobile-dock a {
    display: grid;
    place-items: center;
    height: 100%;
    color: #0b4438;
  }

  body.project-casa-od .od-mobile-dock svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}
@media (max-width: 768px) {
  body.project-casa-od .od-mobile-menu-toggle {
    display: grid;
    align-content: center;
    gap: 6px;
    width: 36px;
    height: 36px;
    padding: 4px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  body.project-casa-od .od-mobile-menu-toggle span {
    display: block;
    width: 29px;
    height: 1px;
    background: #0b4438;
    transition: transform .25s ease, opacity .25s ease;
  }

  body.project-casa-od .od-mobile-menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(7px) rotate(45deg);
  }

  body.project-casa-od .od-mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  body.project-casa-od .od-mobile-menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-7px) rotate(-45deg);
  }

  body.project-casa-od .od-mobile-menu[hidden] {
    display: none !important;
  }

  body.project-casa-od .od-mobile-menu {
    position: fixed;
    z-index: 99;
    top: 88px;
    left: 5vw;
    right: 5vw;
    display: grid;
    padding: 12px 18px;
    border-radius: 20px;
  }

  body.project-casa-od .od-mobile-menu a {
    display: block;
    padding: 15px 8px;
    color: #0b4438;
    font-size: .85rem;
    letter-spacing: .04em;
    text-decoration: none;
    border-bottom: 1px solid rgba(11, 68, 56, .13);
  }

  body.project-casa-od .od-mobile-menu a:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.project-casa-od .od-mobile-menu-toggle span {
    transition: none;
  }
}
/* DEPARTAMENTOS AE · MASTER MÓVIL */
.ae-mobile-master {
  display: none !important;
}

@media (max-width: 768px) {
  body.project-departamentos-ae {
    background: #fbf8f0 !important;
  }

  /* Oculta sólo en móvil las secciones anteriores de esta página */
  body.project-departamentos-ae > .project-header,
  body.project-departamentos-ae main > :not(.ae-mobile-master) {
    display: none !important;
  }

  body.project-departamentos-ae .ae-mobile-master {
    display: block !important;
    padding-bottom: 112px;
    color: #0b4438;
  }

  body.project-departamentos-ae .ae-glass {
    background: rgba(251, 248, 240, .68);
    border: 1px solid rgba(255, 255, 255, .72);
    -webkit-backdrop-filter: blur(16px) saturate(120%);
    backdrop-filter: blur(16px) saturate(120%);
    box-shadow:
      0 16px 38px rgba(11, 68, 56, .09),
      inset 0 1px 0 rgba(255, 255, 255, .65);
  }

  /* Barra superior y menú funcional */
  body.project-departamentos-ae .ae-mobile-header {
    position: fixed;
    top: 12px;
    left: 5vw;
    right: 5vw;
    z-index: 100;
    height: 66px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 20px;
    background: rgba(251, 248, 240, .78);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  body.project-departamentos-ae .ae-wordmark {
    color: #0b4438;
    font-size: .9rem;
    letter-spacing: .34em;
    text-decoration: none;
  }

  body.project-departamentos-ae .ae-menu-button {
    display: grid;
    align-content: center;
    gap: 6px;
    width: 34px;
    height: 40px;
    padding: 2px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  body.project-departamentos-ae .ae-menu-button span {
    display: block;
    width: 29px;
    height: 1px;
    background: #0b4438;
  }

  body.project-departamentos-ae .ae-mobile-menu[hidden] {
    display: none !important;
  }

  body.project-departamentos-ae .ae-mobile-menu {
    position: fixed;
    top: 90px;
    left: 5vw;
    right: 5vw;
    z-index: 99;
    display: grid;
    padding: 12px 20px;
    border-radius: 20px;
  }

  body.project-departamentos-ae .ae-mobile-menu a {
    padding: 14px 4px;
    color: #0b4438;
    text-decoration: none;
    border-bottom: 1px solid rgba(11, 68, 56, .12);
  }

  body.project-departamentos-ae .ae-mobile-menu a:last-child {
    border-bottom: 0;
  }

  /* Portada */
  body.project-departamentos-ae .ae-mobile-cover {
    position: relative;
    min-height: 100svh;
    padding: 110px 5vw 44px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
    box-sizing: border-box;
    isolation: isolate;
  }

  body.project-departamentos-ae .ae-cover-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  body.project-departamentos-ae .ae-mobile-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
      to bottom,
      rgba(251, 248, 240, .16),
      transparent 45%,
      rgba(251, 248, 240, .18)
    );
  }

  body.project-departamentos-ae .ae-title-card,
  body.project-departamentos-ae .ae-facts {
    width: 100%;
    box-sizing: border-box;
    border-radius: 22px;
  }

  body.project-departamentos-ae .ae-title-card {
    padding: 24px 22px;
  }

  body.project-departamentos-ae .ae-eyebrow,
  body.project-departamentos-ae .ae-section-label {
    color: #6f5b3f;
    font-size: .68rem;
    letter-spacing: .19em;
    text-transform: uppercase;
  }

  body.project-departamentos-ae .ae-eyebrow {
    margin: 0 0 12px;
  }

  body.project-departamentos-ae .ae-title-card h1 {
    margin: 0 0 10px;
    color: #0b4438;
    font-size: clamp(2.5rem, 10vw, 4rem);
    font-weight: 300;
    line-height: 1.03;
    letter-spacing: -.05em;
  }

  body.project-departamentos-ae .ae-project-description {
    margin: 0;
    font-size: .9rem;
    line-height: 1.45;
  }

  body.project-departamentos-ae .ae-project-description:empty {
    display: none;
  }

  /* Ficha: dos columnas */
  body.project-departamentos-ae .ae-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px;
    scroll-margin-top: 110px;
  }

  body.project-departamentos-ae .ae-facts article {
    min-width: 0;
    padding: 14px 10px;
  }

  body.project-departamentos-ae .ae-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11, 68, 56, .14);
  }

  body.project-departamentos-ae .ae-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11, 68, 56, .14);
  }

  body.project-departamentos-ae .ae-facts span,
  body.project-departamentos-ae .ae-facts strong {
    display: block;
  }

  body.project-departamentos-ae .ae-facts span {
    margin-bottom: 7px;
    color: #6f5b3f;
    font-size: .62rem;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  body.project-departamentos-ae .ae-facts strong {
    font-size: .83rem;
    font-weight: 400;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  /* Espacios y planos */
  body.project-departamentos-ae .ae-section {
    padding: 32px 5vw 0;
    scroll-margin-top: 94px;
  }

  body.project-departamentos-ae .ae-section-label {
    display: block;
    margin: 0 0 12px;
    padding: 12px 16px;
    border-radius: 999px;
    font-weight: 400;
  }

  body.project-departamentos-ae .ae-gallery,
  body.project-departamentos-ae .ae-plans {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.project-departamentos-ae .ae-gallery a,
  body.project-departamentos-ae .ae-plans a {
    display: block;
    min-width: 0;
    overflow: hidden;
    border-radius: 14px;
  }

  body.project-departamentos-ae .ae-gallery a:first-child,
  body.project-departamentos-ae .ae-gallery a:last-child {
    grid-column: 1 / -1;
  }

  body.project-departamentos-ae .ae-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 1.45;
    object-fit: cover;
  }

  body.project-departamentos-ae .ae-gallery a:first-child img,
  body.project-departamentos-ae .ae-gallery a:last-child img {
    aspect-ratio: 1.65;
  }

  body.project-departamentos-ae .ae-plans a {
    padding: 5px;
    background: rgba(251, 248, 240, .72);
    border: 1px solid rgba(255, 255, 255, .8);
    box-shadow: 0 10px 24px rgba(11, 68, 56, .07);
  }

  body.project-departamentos-ae .ae-plans img {
    display: block;
    width: 100%;
    height: auto;
  }

  body.project-departamentos-ae .ae-back {
    padding: 38px 5vw 0;
  }

  body.project-departamentos-ae .ae-back a {
    display: block;
    padding: 18px;
    border-radius: 16px;
    color: #0b4438;
    text-align: center;
    text-decoration: none;
  }

  /* Barra inferior de cuatro iconos */
  body.project-departamentos-ae .ae-dock {
    position: fixed;
    z-index: 101;
    left: 50%;
    bottom: max(14px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    width: min(76vw, 320px);
    height: 62px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 999px;
  }

  body.project-departamentos-ae .ae-dock a {
    display: grid;
    place-items: center;
    height: 100%;
    color: #0b4438;
  }

  body.project-departamentos-ae .ae-dock svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}
@media (max-width: 768px) {
  .project-departamentos-ae .ae-project-description {
    margin: 14px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }
}
@media (max-width: 768px) {
  .project-departamentos-ae .ae-mobile-menu[hidden] {
    display: none !important;
  }

  .project-departamentos-ae .ae-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 1001;
    top: 88px;
    left: 22px;
    right: 22px;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 22px;
    background: rgba(251, 248, 240, 0.76);
    box-shadow: 0 18px 45px rgba(12, 47, 39, 0.16);
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
    animation: ae-menu-enter 240ms ease both;
  }

  .project-departamentos-ae .ae-mobile-menu a {
    display: block;
    padding: 13px 16px;
    border-radius: 13px;
    color: #0b4438;
    text-decoration: none;
  }

  .project-departamentos-ae .ae-mobile-menu a:active {
    background: rgba(11, 68, 56, 0.09);
  }

  .project-departamentos-ae .ae-menu-button {
    position: relative;
    z-index: 1002;
    cursor: pointer;
  }

  @keyframes ae-menu-enter {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-departamentos-ae .ae-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .dc-mobile-master {
    display: none !important;
  }
}

@media (max-width: 768px) {
  body.project-oficinas-dc-control {
    background: #fbf8f0;
  }

  body.project-oficinas-dc-control main > :not(.dc-mobile-master),
  body.project-oficinas-dc-control > .site-header,
  body.project-oficinas-dc-control > .project-header {
    display: none !important;
  }

  body.project-oficinas-dc-control main {
    display: block;
    padding: 0;
    margin: 0;
    max-width: none;
  }

  body.project-oficinas-dc-control .dc-mobile-master {
    display: block;
    color: #0b4438;
    padding-bottom: 110px;
  }

  body.project-oficinas-dc-control .dc-mobile-master *,
  body.project-oficinas-dc-control .dc-mobile-master *::before,
  body.project-oficinas-dc-control .dc-mobile-master *::after {
    box-sizing: border-box;
  }

  body.project-oficinas-dc-control .dc-glass {
    border: 1px solid rgba(255, 255, 255, .82);
    background: rgba(251, 248, 240, .75);
    box-shadow: 0 16px 38px rgba(19, 43, 36, .12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  body.project-oficinas-dc-control .dc-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 20px;
    background: rgba(251, 248, 240, .78);
    box-shadow: 0 12px 35px rgba(18, 45, 38, .12);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  body.project-oficinas-dc-control .dc-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  body.project-oficinas-dc-control .dc-menu-button {
    position: relative;
    z-index: 1002;
    display: flex;
    width: 34px;
    height: 36px;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  body.project-oficinas-dc-control .dc-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  body.project-oficinas-dc-control .dc-mobile-menu[hidden] {
    display: none !important;
  }

  body.project-oficinas-dc-control .dc-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: dc-enter .25s ease both;
  }

  body.project-oficinas-dc-control .dc-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    text-decoration: none;
    font-size: 15px;
  }

  body.project-oficinas-dc-control .dc-mobile-menu a:active {
    background: rgba(11, 68, 56, .1);
  }

  body.project-oficinas-dc-control .dc-mobile-cover {
    position: relative;
    min-height: 100svh;
    min-height: 100vh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  body.project-oficinas-dc-control .dc-cover-image {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  body.project-oficinas-dc-control .dc-title-card,
  body.project-oficinas-dc-control .dc-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  body.project-oficinas-dc-control .dc-title-card {
    padding: 22px 20px 25px;
  }

  body.project-oficinas-dc-control .dc-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  body.project-oficinas-dc-control .dc-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(34px, 10vw, 46px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  body.project-oficinas-dc-control .dc-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  body.project-oficinas-dc-control .dc-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  body.project-oficinas-dc-control .dc-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  body.project-oficinas-dc-control .dc-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11, 68, 56, .17);
  }

  body.project-oficinas-dc-control .dc-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11, 68, 56, .17);
  }

  body.project-oficinas-dc-control .dc-facts span,
  body.project-oficinas-dc-control .dc-facts strong {
    display: block;
  }

  body.project-oficinas-dc-control .dc-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  body.project-oficinas-dc-control .dc-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  body.project-oficinas-dc-control .dc-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  body.project-oficinas-dc-control .dc-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  body.project-oficinas-dc-control .dc-gallery {
    display: grid;
    gap: 18px;
  }

  body.project-oficinas-dc-control .dc-gallery a {
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 20px;
    background: rgba(255, 255, 255, .52);
    padding: 7px;
    box-shadow: 0 14px 34px rgba(19, 43, 36, .1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  body.project-oficinas-dc-control .dc-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  body.project-oficinas-dc-control .dc-gallery-plans a {
    max-width: 520px;
    margin-inline: auto;
  }

  body.project-oficinas-dc-control .dc-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    text-decoration: none;
    font-size: 13px;
  }

  body.project-oficinas-dc-control .dc-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 13%;
    width: 74%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  body.project-oficinas-dc-control .dc-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  body.project-oficinas-dc-control .dc-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.project-oficinas-dc-control .dc-lightbox[hidden] {
    display: none !important;
  }

  body.project-oficinas-dc-control .dc-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3, 25, 20, .88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  body.project-oficinas-dc-control .dc-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  body.project-oficinas-dc-control .dc-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    background: rgba(251, 248, 240, .8);
    color: #0b4438;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
  }

  @keyframes dc-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  body.project-oficinas-dc-control .dc-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .cd-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-casa-cd { background: #fbf8f0; }

  body.project-casa-cd main > :not(.cd-mobile-master),
  body.project-casa-cd > .site-header,
  body.project-casa-cd > .project-header {
    display: none !important;
  }

  body.project-casa-cd main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-casa-cd .cd-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-casa-cd .cd-mobile-master *,
  .project-casa-cd .cd-mobile-master *::before,
  .project-casa-cd .cd-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-casa-cd .cd-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-casa-cd .cd-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-casa-cd .cd-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-casa-cd .cd-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-casa-cd .cd-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-casa-cd .cd-mobile-menu[hidden] { display: none !important; }

  .project-casa-cd .cd-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: cd-enter .25s ease both;
  }

  .project-casa-cd .cd-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    text-decoration: none;
    font-size: 15px;
  }

  .project-casa-cd .cd-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-casa-cd .cd-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-casa-cd .cd-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-casa-cd .cd-title-card,
  .project-casa-cd .cd-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-casa-cd .cd-title-card { padding: 22px 20px 25px; }

  .project-casa-cd .cd-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-casa-cd .cd-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(38px, 11vw, 48px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-casa-cd .cd-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-casa-cd .cd-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-casa-cd .cd-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-casa-cd .cd-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-casa-cd .cd-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-casa-cd .cd-facts span,
  .project-casa-cd .cd-facts strong { display: block; }

  .project-casa-cd .cd-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-casa-cd .cd-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-casa-cd .cd-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-casa-cd .cd-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-casa-cd .cd-gallery {
    display: grid;
    gap: 18px;
  }

  .project-casa-cd .cd-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-casa-cd .cd-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-casa-cd .cd-gallery-plans a {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
  }

  .project-casa-cd .cd-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-casa-cd .cd-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 13%;
    width: 74%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-casa-cd .cd-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-casa-cd .cd-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-casa-cd .cd-lightbox[hidden] { display: none !important; }

  .project-casa-cd .cd-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-casa-cd .cd-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-casa-cd .cd-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes cd-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-casa-cd .cd-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .ch-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-oficinas-cargill-hmo { background: #fbf8f0; }

  body.project-oficinas-cargill-hmo main > :not(.ch-mobile-master),
  body.project-oficinas-cargill-hmo > .site-header,
  body.project-oficinas-cargill-hmo > .project-header {
    display: none !important;
  }

  body.project-oficinas-cargill-hmo main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-oficinas-cargill-hmo .ch-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-oficinas-cargill-hmo .ch-mobile-master *,
  .project-oficinas-cargill-hmo .ch-mobile-master *::before,
  .project-oficinas-cargill-hmo .ch-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-oficinas-cargill-hmo .ch-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-oficinas-cargill-hmo .ch-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-oficinas-cargill-hmo .ch-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-oficinas-cargill-hmo .ch-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-oficinas-cargill-hmo .ch-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-oficinas-cargill-hmo .ch-mobile-menu[hidden] {
    display: none !important;
  }

  .project-oficinas-cargill-hmo .ch-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: ch-enter .25s ease both;
  }

  .project-oficinas-cargill-hmo .ch-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    font-size: 15px;
    text-decoration: none;
  }

  .project-oficinas-cargill-hmo .ch-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-oficinas-cargill-hmo .ch-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-oficinas-cargill-hmo .ch-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-oficinas-cargill-hmo .ch-title-card,
  .project-oficinas-cargill-hmo .ch-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-oficinas-cargill-hmo .ch-title-card {
    padding: 22px 20px 25px;
  }

  .project-oficinas-cargill-hmo .ch-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-oficinas-cargill-hmo .ch-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(34px, 10vw, 46px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-oficinas-cargill-hmo .ch-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-oficinas-cargill-hmo .ch-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-oficinas-cargill-hmo .ch-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-oficinas-cargill-hmo .ch-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-oficinas-cargill-hmo .ch-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-oficinas-cargill-hmo .ch-facts span,
  .project-oficinas-cargill-hmo .ch-facts strong {
    display: block;
  }

  .project-oficinas-cargill-hmo .ch-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-oficinas-cargill-hmo .ch-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-oficinas-cargill-hmo .ch-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-oficinas-cargill-hmo .ch-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-oficinas-cargill-hmo .ch-gallery {
    display: grid;
    gap: 18px;
  }

  .project-oficinas-cargill-hmo .ch-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-oficinas-cargill-hmo .ch-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-oficinas-cargill-hmo .ch-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-oficinas-cargill-hmo .ch-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 18%;
    width: 64%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-oficinas-cargill-hmo .ch-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-oficinas-cargill-hmo .ch-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-oficinas-cargill-hmo .ch-lightbox[hidden] {
    display: none !important;
  }

  .project-oficinas-cargill-hmo .ch-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-oficinas-cargill-hmo .ch-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-oficinas-cargill-hmo .ch-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes ch-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-oficinas-cargill-hmo .ch-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .ced-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-cabana-ced { background: #fbf8f0; }

  body.project-cabana-ced main > :not(.ced-mobile-master),
  body.project-cabana-ced > .site-header,
  body.project-cabana-ced > .project-header {
    display: none !important;
  }

  body.project-cabana-ced main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-cabana-ced .ced-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-cabana-ced .ced-mobile-master *,
  .project-cabana-ced .ced-mobile-master *::before,
  .project-cabana-ced .ced-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-cabana-ced .ced-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-cabana-ced .ced-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-cabana-ced .ced-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-cabana-ced .ced-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-cabana-ced .ced-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-cabana-ced .ced-mobile-menu[hidden] {
    display: none !important;
  }

  .project-cabana-ced .ced-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: ced-enter .25s ease both;
  }

  .project-cabana-ced .ced-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    font-size: 15px;
    text-decoration: none;
  }

  .project-cabana-ced .ced-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-cabana-ced .ced-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-cabana-ced .ced-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-cabana-ced .ced-title-card,
  .project-cabana-ced .ced-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-cabana-ced .ced-title-card {
    padding: 22px 20px 25px;
  }

  .project-cabana-ced .ced-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-cabana-ced .ced-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(38px, 11vw, 48px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-cabana-ced .ced-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-cabana-ced .ced-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
    scroll-margin-top: 180px;
  }

  .project-cabana-ced .ced-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-cabana-ced .ced-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-cabana-ced .ced-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-cabana-ced .ced-facts span,
  .project-cabana-ced .ced-facts strong {
    display: block;
  }

  .project-cabana-ced .ced-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-cabana-ced .ced-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-cabana-ced .ced-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-cabana-ced .ced-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-cabana-ced .ced-gallery {
    display: grid;
    gap: 18px;
  }

  .project-cabana-ced .ced-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-cabana-ced .ced-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-cabana-ced .ced-gallery-plans a {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
  }

  .project-cabana-ced .ced-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-cabana-ced .ced-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 13%;
    width: 74%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-cabana-ced .ced-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-cabana-ced .ced-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-cabana-ced .ced-lightbox[hidden] {
    display: none !important;
  }

  .project-cabana-ced .ced-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-cabana-ced .ced-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-cabana-ced .ced-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes ced-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-cabana-ced .ced-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .sp-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-casa-sp { background: #fbf8f0; }

  body.project-casa-sp main > :not(.sp-mobile-master),
  body.project-casa-sp > .site-header,
  body.project-casa-sp > .project-header {
    display: none !important;
  }

  body.project-casa-sp main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-casa-sp .sp-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-casa-sp .sp-mobile-master *,
  .project-casa-sp .sp-mobile-master *::before,
  .project-casa-sp .sp-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-casa-sp .sp-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-casa-sp .sp-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-casa-sp .sp-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-casa-sp .sp-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-casa-sp .sp-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-casa-sp .sp-mobile-menu[hidden] { display: none !important; }

  .project-casa-sp .sp-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: sp-enter .25s ease both;
  }

  .project-casa-sp .sp-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    text-decoration: none;
    font-size: 15px;
  }

  .project-casa-sp .sp-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-casa-sp .sp-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-casa-sp .sp-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-casa-sp .sp-title-card,
  .project-casa-sp .sp-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-casa-sp .sp-title-card { padding: 22px 20px 25px; }

  .project-casa-sp .sp-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-casa-sp .sp-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(38px, 11vw, 48px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-casa-sp .sp-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-casa-sp .sp-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-casa-sp .sp-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-casa-sp .sp-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-casa-sp .sp-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-casa-sp .sp-facts span,
  .project-casa-sp .sp-facts strong { display: block; }

  .project-casa-sp .sp-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-casa-sp .sp-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-casa-sp .sp-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-casa-sp .sp-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-casa-sp .sp-gallery {
    display: grid;
    gap: 18px;
  }

  .project-casa-sp .sp-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-casa-sp .sp-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-casa-sp .sp-gallery-plans a {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
  }

  .project-casa-sp .sp-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-casa-sp .sp-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 13%;
    width: 74%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-casa-sp .sp-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-casa-sp .sp-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-casa-sp .sp-lightbox[hidden] { display: none !important; }

  .project-casa-sp .sp-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-casa-sp .sp-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-casa-sp .sp-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes sp-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-casa-sp .sp-mobile-menu:not([hidden]) {
    animation: none;
  }
}

@media (min-width: 769px) {
  .eh-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-casa-eh { background: #fbf8f0; }

  body.project-casa-eh main > :not(.eh-mobile-master),
  body.project-casa-eh > .site-header,
  body.project-casa-eh > .project-header {
    display: none !important;
  }

  body.project-casa-eh main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-casa-eh .eh-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-casa-eh .eh-mobile-master *,
  .project-casa-eh .eh-mobile-master *::before,
  .project-casa-eh .eh-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-casa-eh .eh-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-casa-eh .eh-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-casa-eh .eh-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-casa-eh .eh-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-casa-eh .eh-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-casa-eh .eh-mobile-menu[hidden] {
    display: none !important;
  }

  .project-casa-eh .eh-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: eh-enter .25s ease both;
  }

  .project-casa-eh .eh-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    text-decoration: none;
    font-size: 15px;
  }

  .project-casa-eh .eh-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-casa-eh .eh-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-casa-eh .eh-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-casa-eh .eh-title-card,
  .project-casa-eh .eh-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-casa-eh .eh-title-card {
    padding: 22px 20px 25px;
  }

  .project-casa-eh .eh-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-casa-eh .eh-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(38px, 11vw, 48px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-casa-eh .eh-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-casa-eh .eh-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-casa-eh .eh-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-casa-eh .eh-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-casa-eh .eh-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-casa-eh .eh-facts span,
  .project-casa-eh .eh-facts strong {
    display: block;
  }

  .project-casa-eh .eh-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-casa-eh .eh-facts strong {
    color: #0b4438;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  .project-casa-eh .eh-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-casa-eh .eh-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-casa-eh .eh-gallery {
    display: grid;
    gap: 18px;
  }

  .project-casa-eh .eh-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-casa-eh .eh-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-casa-eh .eh-gallery-plans a {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
  }

  .project-casa-eh .eh-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-casa-eh .eh-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 18%;
    width: 64%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-casa-eh .eh-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-casa-eh .eh-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-casa-eh .eh-lightbox[hidden] {
    display: none !important;
  }

  .project-casa-eh .eh-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-casa-eh .eh-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-casa-eh .eh-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes eh-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-casa-eh .eh-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .bl-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-bodega-led-concept { background: #fbf8f0; }

  body.project-bodega-led-concept main > :not(.bl-mobile-master),
  body.project-bodega-led-concept > .site-header,
  body.project-bodega-led-concept > .project-header {
    display: none !important;
  }

  body.project-bodega-led-concept main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-bodega-led-concept .bl-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-bodega-led-concept .bl-mobile-master *,
  .project-bodega-led-concept .bl-mobile-master *::before,
  .project-bodega-led-concept .bl-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-bodega-led-concept .bl-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-bodega-led-concept .bl-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-bodega-led-concept .bl-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-bodega-led-concept .bl-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-bodega-led-concept .bl-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-bodega-led-concept .bl-mobile-menu[hidden] {
    display: none !important;
  }

  .project-bodega-led-concept .bl-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: bl-enter .25s ease both;
  }

  .project-bodega-led-concept .bl-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    font-size: 15px;
    text-decoration: none;
  }

  .project-bodega-led-concept .bl-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-bodega-led-concept .bl-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-bodega-led-concept .bl-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-bodega-led-concept .bl-title-card,
  .project-bodega-led-concept .bl-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-bodega-led-concept .bl-title-card {
    padding: 22px 20px 25px;
  }

  .project-bodega-led-concept .bl-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-bodega-led-concept .bl-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(35px, 10vw, 46px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-bodega-led-concept .bl-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-bodega-led-concept .bl-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-bodega-led-concept .bl-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-bodega-led-concept .bl-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-bodega-led-concept .bl-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-bodega-led-concept .bl-facts span,
  .project-bodega-led-concept .bl-facts strong {
    display: block;
  }

  .project-bodega-led-concept .bl-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-bodega-led-concept .bl-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-bodega-led-concept .bl-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-bodega-led-concept .bl-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-bodega-led-concept .bl-gallery {
    display: grid;
    gap: 18px;
  }

  .project-bodega-led-concept .bl-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-bodega-led-concept .bl-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-bodega-led-concept .bl-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-bodega-led-concept .bl-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 18%;
    width: 64%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-bodega-led-concept .bl-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-bodega-led-concept .bl-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-bodega-led-concept .bl-lightbox[hidden] {
    display: none !important;
  }

  .project-bodega-led-concept .bl-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-bodega-led-concept .bl-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-bodega-led-concept .bl-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes bl-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-bodega-led-concept .bl-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .co-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-centro-operativo-dc {
    height: auto !important;
    overflow-y: auto !important;
    background: #fbf8f0;
  }

  body.project-centro-operativo-dc main > :not(.co-mobile-master),
  body.project-centro-operativo-dc > .site-header,
  body.project-centro-operativo-dc > .project-header {
    display: none !important;
  }

  body.project-centro-operativo-dc main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-centro-operativo-dc .co-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-centro-operativo-dc .co-mobile-master *,
  .project-centro-operativo-dc .co-mobile-master *::before,
  .project-centro-operativo-dc .co-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-centro-operativo-dc .co-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-centro-operativo-dc .co-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-centro-operativo-dc .co-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-centro-operativo-dc .co-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-centro-operativo-dc .co-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-centro-operativo-dc .co-mobile-menu[hidden] {
    display: none !important;
  }

  .project-centro-operativo-dc .co-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: co-enter .25s ease both;
  }

  .project-centro-operativo-dc .co-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    font-size: 15px;
    text-decoration: none;
  }

  .project-centro-operativo-dc .co-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-centro-operativo-dc .co-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-centro-operativo-dc .co-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-centro-operativo-dc .co-title-card,
  .project-centro-operativo-dc .co-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-centro-operativo-dc .co-title-card {
    padding: 22px 20px 25px;
  }

  .project-centro-operativo-dc .co-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-centro-operativo-dc .co-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(34px, 10vw, 46px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-centro-operativo-dc .co-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-centro-operativo-dc .co-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-centro-operativo-dc .co-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-centro-operativo-dc .co-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-centro-operativo-dc .co-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-centro-operativo-dc .co-facts span,
  .project-centro-operativo-dc .co-facts strong {
    display: block;
  }

  .project-centro-operativo-dc .co-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-centro-operativo-dc .co-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-centro-operativo-dc .co-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-centro-operativo-dc .co-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-centro-operativo-dc .co-gallery {
    display: grid;
    gap: 18px;
  }

  .project-centro-operativo-dc .co-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-centro-operativo-dc .co-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-centro-operativo-dc .co-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-centro-operativo-dc .co-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 13%;
    width: 74%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-centro-operativo-dc .co-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-centro-operativo-dc .co-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-centro-operativo-dc .co-lightbox[hidden] {
    display: none !important;
  }

  .project-centro-operativo-dc .co-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-centro-operativo-dc .co-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-centro-operativo-dc .co-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes co-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-centro-operativo-dc .co-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .lp-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-linea-proaoass {
    height: auto !important;
    overflow-y: auto !important;
    background: #fbf8f0;
  }

  body.project-linea-proaoass main > :not(.lp-mobile-master),
  body.project-linea-proaoass > .site-header,
  body.project-linea-proaoass > .project-header {
    display: none !important;
  }

  body.project-linea-proaoass main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-linea-proaoass .lp-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-linea-proaoass .lp-mobile-master *,
  .project-linea-proaoass .lp-mobile-master *::before,
  .project-linea-proaoass .lp-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-linea-proaoass .lp-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-linea-proaoass .lp-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-linea-proaoass .lp-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-linea-proaoass .lp-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-linea-proaoass .lp-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-linea-proaoass .lp-mobile-menu[hidden] {
    display: none !important;
  }

  .project-linea-proaoass .lp-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: lp-enter .25s ease both;
  }

  .project-linea-proaoass .lp-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    font-size: 15px;
    text-decoration: none;
  }

  .project-linea-proaoass .lp-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-linea-proaoass .lp-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-linea-proaoass .lp-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-linea-proaoass .lp-title-card,
  .project-linea-proaoass .lp-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-linea-proaoass .lp-title-card {
    padding: 22px 20px 25px;
  }

  .project-linea-proaoass .lp-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-linea-proaoass .lp-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(31px, 8.5vw, 42px);
    font-weight: 300;
    line-height: 1.08;
    letter-spacing: -.045em;
  }

  .project-linea-proaoass .lp-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-linea-proaoass .lp-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-linea-proaoass .lp-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-linea-proaoass .lp-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-linea-proaoass .lp-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-linea-proaoass .lp-facts span,
  .project-linea-proaoass .lp-facts strong {
    display: block;
  }

  .project-linea-proaoass .lp-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-linea-proaoass .lp-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-linea-proaoass .lp-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-linea-proaoass .lp-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-linea-proaoass .lp-gallery {
    display: grid;
    gap: 18px;
  }

  .project-linea-proaoass .lp-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-linea-proaoass .lp-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-linea-proaoass .lp-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-linea-proaoass .lp-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 18%;
    width: 64%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-linea-proaoass .lp-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-linea-proaoass .lp-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-linea-proaoass .lp-lightbox[hidden] {
    display: none !important;
  }

  .project-linea-proaoass .lp-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-linea-proaoass .lp-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-linea-proaoass .lp-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes lp-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-linea-proaoass .lp-mobile-menu:not([hidden]) {
    animation: none;
  }
}
@media (min-width: 769px) {
  .te-mobile-master { display: none !important; }
}

@media (max-width: 768px) {
  body.project-torre-extrusion {
    height: auto !important;
    overflow-y: auto !important;
    background: #fbf8f0;
  }

  body.project-torre-extrusion main > :not(.te-mobile-master),
  body.project-torre-extrusion > .site-header,
  body.project-torre-extrusion > .project-header {
    display: none !important;
  }

  body.project-torre-extrusion main {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .project-torre-extrusion .te-mobile-master {
    display: block;
    padding-bottom: 110px;
    color: #0b4438;
  }

  .project-torre-extrusion .te-mobile-master *,
  .project-torre-extrusion .te-mobile-master *::before,
  .project-torre-extrusion .te-mobile-master *::after {
    box-sizing: border-box;
  }

  .project-torre-extrusion .te-glass {
    border: 1px solid rgba(255,255,255,.85);
    background: rgba(251,248,240,.76);
    box-shadow: 0 16px 38px rgba(19,43,36,.12);
    -webkit-backdrop-filter: blur(19px);
    backdrop-filter: blur(19px);
  }

  .project-torre-extrusion .te-mobile-header {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 5.5%;
    width: 89%;
    height: 68px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
  }

  .project-torre-extrusion .te-wordmark {
    color: #0b4438;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .project-torre-extrusion .te-menu-button {
    position: relative;
    z-index: 1002;
    width: 34px;
    height: 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .project-torre-extrusion .te-menu-button span {
    display: block;
    width: 30px;
    height: 1px;
    background: #0b4438;
  }

  .project-torre-extrusion .te-mobile-menu[hidden] {
    display: none !important;
  }

  .project-torre-extrusion .te-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 999;
    top: 90px;
    left: 5.5%;
    width: 89%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 21px;
    animation: te-enter .25s ease both;
  }

  .project-torre-extrusion .te-mobile-menu a {
    padding: 13px 16px;
    border-radius: 12px;
    color: #0b4438;
    font-size: 15px;
    text-decoration: none;
  }

  .project-torre-extrusion .te-mobile-menu a:active {
    background: rgba(11,68,56,.1);
  }

  .project-torre-extrusion .te-cover {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    padding: 111px 5.5% 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .project-torre-extrusion .te-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .project-torre-extrusion .te-title-card,
  .project-torre-extrusion .te-facts {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 21px;
  }

  .project-torre-extrusion .te-title-card {
    padding: 22px 20px 25px;
  }

  .project-torre-extrusion .te-eyebrow {
    margin: 0 0 12px;
    color: #806e54;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .project-torre-extrusion .te-title-card h1 {
    margin: 0;
    color: #0b4438;
    font-size: clamp(35px, 10vw, 46px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .project-torre-extrusion .te-description {
    margin: 15px 0 0;
    color: #285b50;
    font-size: 14px;
    line-height: 1.55;
  }

  .project-torre-extrusion .te-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 14px;
  }

  .project-torre-extrusion .te-facts article {
    min-width: 0;
    padding: 12px 8px;
  }

  .project-torre-extrusion .te-facts article:nth-child(odd) {
    border-right: 1px solid rgba(11,68,56,.17);
  }

  .project-torre-extrusion .te-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(11,68,56,.17);
  }

  .project-torre-extrusion .te-facts span,
  .project-torre-extrusion .te-facts strong {
    display: block;
  }

  .project-torre-extrusion .te-facts span {
    margin-bottom: 7px;
    color: #806e54;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .project-torre-extrusion .te-facts strong {
    color: #0b4438;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
  }

  .project-torre-extrusion .te-section {
    padding: 34px 5.5% 24px;
    scroll-margin-top: 92px;
  }

  .project-torre-extrusion .te-section-label {
    display: inline-block;
    margin: 0 0 21px;
    padding: 10px 15px;
    border-radius: 14px;
    color: #0b4438;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .project-torre-extrusion .te-gallery {
    display: grid;
    gap: 18px;
  }

  .project-torre-extrusion .te-gallery a {
    display: block;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 20px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 14px 34px rgba(19,43,36,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .project-torre-extrusion .te-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  .project-torre-extrusion .te-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    font-size: 13px;
    text-decoration: none;
  }

  .project-torre-extrusion .te-dock {
    position: fixed;
    z-index: 1000;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 13%;
    width: 74%;
    min-height: 63px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border-radius: 40px;
  }

  .project-torre-extrusion .te-dock a {
    display: grid;
    place-items: center;
    min-height: 52px;
    color: #0b4438;
  }

  .project-torre-extrusion .te-dock svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .project-torre-extrusion .te-lightbox[hidden] {
    display: none !important;
  }

  .project-torre-extrusion .te-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 55px 12px 25px;
    background: rgba(3,25,20,.88);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }

  .project-torre-extrusion .te-lightbox img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
  }

  .project-torre-extrusion .te-lightbox-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(251,248,240,.8);
    color: #0b4438;
    font-size: 28px;
    cursor: pointer;
  }

  @keyframes te-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-torre-extrusion .te-mobile-menu:not([hidden]) {
    animation: none;
  }
}
/* ===== GRANELEROS · MASTER MÓVIL ===== */

.gr-mobile-master {
  display: none;
}

@media (max-width: 767px) {
  body.project-graneleros {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.project-graneleros.gr-lightbox-open {
    overflow: hidden !important;
  }

  body.project-graneleros main > :not(.gr-mobile-master) {
    display: none !important;
  }

  body.project-graneleros .gr-mobile-master {
    display: block;
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding-bottom: 110px;
    background: #f7f5ee;
    color: #10493f;
    font-family: inherit;
  }

  .gr-mobile-master,
  .gr-mobile-master * {
    box-sizing: border-box;
  }

  .gr-mobile-master button,
  .gr-mobile-master a {
    -webkit-tap-highlight-color: transparent;
  }

  .gr-glass {
    background: rgba(248, 247, 240, .73);
    border: 1px solid rgba(255, 255, 255, .82);
    box-shadow: 0 15px 35px rgba(18, 43, 37, .12);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  .gr-mobile-header {
    position: fixed;
    z-index: 100;
    top: 12px;
    left: 5%;
    width: 90%;
    height: 68px;
    padding: 0 21px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .gr-wordmark {
    color: #10493f;
    font-size: 14px;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .gr-menu-button {
    width: 34px;
    height: 34px;
    padding: 5px 1px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .gr-menu-button span {
    display: block;
    width: 29px;
    height: 1px;
    background: #10493f;
    transition: transform .25s ease, opacity .25s ease;
  }

  .gr-menu-button[aria-expanded="true"] span:first-child {
    transform: translateY(9px) rotate(45deg);
  }

  .gr-menu-button[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .gr-menu-button[aria-expanded="true"] span:last-child {
    transform: translateY(-9px) rotate(-45deg);
  }

  .gr-mobile-menu {
    position: fixed;
    z-index: 99;
    top: 89px;
    left: 5%;
    width: 90%;
    padding: 17px 22px;
    border-radius: 20px;
  }

  .gr-mobile-menu[hidden] {
    display: none !important;
  }

  .gr-mobile-menu a {
    display: block;
    padding: 13px 3px;
    color: #10493f;
    border-bottom: 1px solid rgba(16, 73, 63, .16);
    text-decoration: none;
    font-size: 16px;
  }

  .gr-mobile-menu a:last-child {
    border-bottom: 0;
  }

  .gr-cover {
    position: relative;
    height: 100svh;
    min-height: 690px;
    overflow: hidden;
    background: #6c9ec0;
  }

  .gr-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(10, 33, 31, .12),
      transparent 35%,
      transparent 58%,
      rgba(8, 34, 30, .32)
    );
    pointer-events: none;
  }

  .gr-cover-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
  }

  .gr-title-card,
  .gr-facts {
    position: absolute;
    z-index: 1;
    left: 5.5%;
    width: 89%;
    border-radius: 21px;
  }

  .gr-title-card {
    top: 111px;
    padding: 24px 21px 22px;
  }

  .gr-eyebrow {
    margin: 0 0 12px;
    color: #766c59;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .19em;
    text-transform: uppercase;
  }

  .gr-title-card h1 {
    margin: 0 0 10px;
    color: #10493f;
    font-size: clamp(38px, 11vw, 49px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.045em;
  }

  .gr-description {
    margin: 0;
    max-width: 34ch;
    color: #315c53;
    font-size: 14px;
    line-height: 1.6;
  }

  .gr-facts {
    bottom: 39px;
    padding: 13px 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .gr-facts article {
    min-height: 65px;
    padding: 12px 9px;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  .gr-facts article:nth-child(odd) {
    border-right: 1px solid rgba(16, 73, 63, .16);
  }

  .gr-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(16, 73, 63, .16);
  }

  .gr-facts span {
    color: #746c59;
    font-size: 9px;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .gr-facts strong {
    color: #10493f;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
  }

  .gr-section {
    padding: 47px 5.5% 18px;
    scroll-margin-top: 95px;
  }

  .gr-section-heading {
    min-height: 64px;
    padding: 13px 18px;
    margin-bottom: 20px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 13px;
  }

  .gr-section-heading > span {
    color: #8b7b61;
    font-size: 11px;
    letter-spacing: .13em;
  }

  .gr-section-heading h2 {
    margin: 0;
    flex: 1;
    color: #10493f;
    font-size: 24px;
    font-weight: 300;
  }

  .gr-section-heading small {
    color: #6b847a;
    font-size: 11px;
  }

  .gr-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .gr-photo,
  .gr-work-photo {
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 17px;
    background: rgba(255, 255, 255, .54);
    box-shadow: 0 12px 25px rgba(18, 43, 37, .1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    cursor: pointer;
    overflow: hidden;
  }

  .gr-photo {
    width: 100%;
    aspect-ratio: 3 / 4;
  }

  .gr-photo img,
  .gr-work-photo img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 12px;
    object-fit: cover;
  }

  .gr-work-section {
    padding-bottom: 45px;
  }

  .gr-work-intro {
    margin: -4px 0 18px;
    color: #507269;
    font-size: 13px;
    line-height: 1.5;
  }

  .gr-carousel {
    display: flex;
    gap: 13px;
    margin-right: -5.8vw;
    padding: 3px 5.8vw 16px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 0;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }

  .gr-carousel::-webkit-scrollbar {
    display: none;
  }

  .gr-work-photo {
    position: relative;
    flex: 0 0 min(73vw, 290px);
    height: 350px;
    scroll-snap-align: start;
  }

  .gr-work-photo::after {
    content: attr(data-number);
    position: absolute;
    right: 16px;
    bottom: 16px;
    padding: 8px 10px;
    border-radius: 20px;
    color: #10493f;
    background: rgba(250, 249, 243, .78);
    font-size: 11px;
    letter-spacing: .08em;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  .gr-carousel-controls {
    width: max-content;
    min-width: 174px;
    height: 49px;
    margin: 10px auto 0;
    padding: 4px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
  }

  .gr-carousel-controls button {
    width: 39px;
    height: 39px;
    border: 0;
    border-radius: 50%;
    color: #10493f;
    background: rgba(255, 255, 255, .52);
    font-size: 22px;
    cursor: pointer;
  }

  .gr-carousel-count {
    min-width: 64px;
    color: #315c53;
    font-size: 11px;
    letter-spacing: .12em;
    text-align: center;
  }

  .gr-bottom-dock {
    position: fixed;
    z-index: 98;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12%;
    width: 76%;
    height: 64px;
    padding: 5px 14px;
    border-radius: 35px;
    display: flex;
    justify-content: space-around;
    align-items: center;
  }

  .gr-bottom-dock a {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    color: #10493f;
    font-size: 25px;
    line-height: 1;
    text-decoration: none;
  }

  .gr-lightbox[hidden] {
    display: none !important;
  }

  .gr-lightbox {
    position: fixed;
    z-index: 200;
    inset: 0;
    padding: 75px 12px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(6, 24, 21, .92);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  .gr-lightbox img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .gr-lightbox button {
    position: absolute;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .15);
    font-size: 25px;
    cursor: pointer;
  }

  .gr-lightbox-close {
    top: 19px;
    right: 19px;
  }

  .gr-lightbox-prev {
    left: 13px;
    bottom: 24px;
  }

  .gr-lightbox-next {
    right: 13px;
    bottom: 24px;
  }

  .gr-lightbox-caption {
    position: absolute;
    bottom: 35px;
    left: 65px;
    right: 65px;
    color: #fff;
    font-size: 12px;
    text-align: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    .gr-title-card,
    .gr-facts,
    .gr-section-heading,
    .gr-gallery,
    .gr-work-intro,
    .gr-carousel {
      animation: gr-appear .7s both;
    }

    .gr-facts { animation-delay: .16s; }

    @keyframes gr-appear {
      from { opacity: 0; transform: translateY(18px); }
      to   { opacity: 1; transform: translateY(0); }
    }
  }
}
@media (max-width: 767px) {
  .gr-bottom-dock svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #10493f;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}
@media (max-width: 767px) {
  body.project-graneleros > header.site-header {
    display: none !important;
  }

  body.project-graneleros .gr-mobile-header {
    display: flex !important;
    position: fixed;
    top: 12px;
    left: 5%;
    width: 90%;
    z-index: 100;
  }

  body.project-graneleros .gr-menu-button {
    display: flex !important;
  }
}
/* ===== LABORATORIO CARGILL · MASTER MÓVIL ===== */

.lc-mobile-master {
  display: none;
}

@media (max-width: 767px) {
  body.project-laboratorio-cargill {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.project-laboratorio-cargill.lc-lightbox-open {
    overflow: hidden !important;
  }

  body.project-laboratorio-cargill > header.site-header {
    display: none !important;
  }

  body.project-laboratorio-cargill main > :not(.lc-mobile-master) {
    display: none !important;
  }

  body.project-laboratorio-cargill .lc-mobile-master {
    display: block;
    position: relative;
    min-height: 100vh;
    padding-bottom: 105px;
    background: #f7f5ee;
    color: #10493f;
  }

  .lc-mobile-master,
  .lc-mobile-master * {
    box-sizing: border-box;
  }

  .lc-mobile-master button,
  .lc-mobile-master a {
    -webkit-tap-highlight-color: transparent;
  }

  .lc-glass {
    background: rgba(248, 247, 240, .73);
    border: 1px solid rgba(255, 255, 255, .83);
    box-shadow: 0 15px 35px rgba(18, 43, 37, .12);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  .lc-mobile-header {
    position: fixed;
    z-index: 100;
    top: 12px;
    left: 5%;
    width: 90%;
    height: 68px;
    padding: 0 21px;
    border-radius: 20px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }

  .lc-wordmark {
    color: #10493f;
    font-size: 14px;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .lc-menu-button {
    width: 34px;
    height: 34px;
    padding: 5px 1px;
    display: flex !important;
    flex-direction: column;
    justify-content: space-around;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .lc-menu-button span {
    display: block;
    width: 29px;
    height: 1px;
    background: #10493f;
    transition: transform .25s ease, opacity .25s ease;
  }

  .lc-menu-button[aria-expanded="true"] span:first-child {
    transform: translateY(9px) rotate(45deg);
  }

  .lc-menu-button[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .lc-menu-button[aria-expanded="true"] span:last-child {
    transform: translateY(-9px) rotate(-45deg);
  }

  .lc-mobile-menu {
    position: fixed;
    z-index: 99;
    top: 89px;
    left: 5%;
    width: 90%;
    padding: 17px 22px;
    border-radius: 20px;
  }

  .lc-mobile-menu[hidden] {
    display: none !important;
  }

  .lc-mobile-menu a {
    display: block;
    padding: 13px 3px;
    border-bottom: 1px solid rgba(16, 73, 63, .16);
    color: #10493f;
    font-size: 16px;
    text-decoration: none;
  }

  .lc-mobile-menu a:last-child {
    border-bottom: 0;
  }

  .lc-cover {
    position: relative;
    height: 100svh;
    min-height: 690px;
    overflow: hidden;
    background: #6d9dc2;
  }

  .lc-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(10, 33, 31, .12),
      transparent 35%,
      transparent 57%,
      rgba(8, 34, 30, .31)
    );
    pointer-events: none;
  }

  .lc-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .lc-title-card,
  .lc-facts {
    position: absolute;
    z-index: 1;
    left: 5.5%;
    width: 89%;
    border-radius: 21px;
  }

  .lc-title-card {
    top: 111px;
    padding: 24px 21px 23px;
  }

  .lc-eyebrow {
    margin: 0 0 13px;
    color: #766c59;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .lc-title-card h1 {
    margin: 0 0 13px;
    color: #10493f;
    font-size: clamp(37px, 10.6vw, 48px);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: -.045em;
  }

  .lc-description {
    margin: 0;
    color: #315c53;
    font-size: 14px;
    line-height: 1.6;
  }

  .lc-facts {
    bottom: 39px;
    padding: 13px 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .lc-facts article {
    min-height: 65px;
    padding: 12px 9px;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  .lc-facts article:nth-child(odd) {
    border-right: 1px solid rgba(16, 73, 63, .16);
  }

  .lc-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(16, 73, 63, .16);
  }

  .lc-facts span {
    color: #746c59;
    font-size: 9px;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .lc-facts strong {
    color: #10493f;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
  }

  .lc-section {
    padding: 47px 5.5% 18px;
    scroll-margin-top: 95px;
  }

  .lc-section-heading {
    min-height: 64px;
    margin-bottom: 20px;
    padding: 13px 18px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 13px;
  }

  .lc-section-heading > span {
    color: #8b7b61;
    font-size: 11px;
    letter-spacing: .13em;
  }

  .lc-section-heading h2 {
    flex: 1;
    margin: 0;
    color: #10493f;
    font-size: 23px;
    font-weight: 300;
  }

  .lc-section-heading small {
    color: #6b847a;
    font-size: 11px;
  }

  .lc-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .lc-photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 17px;
    background: rgba(255, 255, 255, .54);
    box-shadow: 0 12px 25px rgba(18, 43, 37, .1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    cursor: pointer;
    overflow: hidden;
  }

  .lc-photo img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    object-fit: cover;
  }

  .lc-existing-section {
    padding-bottom: 45px;
  }

  .lc-existing-photo {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
  }

  .lc-bottom-dock {
    position: fixed;
    z-index: 98;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12%;
    width: 76%;
    height: 64px;
    padding: 5px 14px;
    border-radius: 35px;
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

  .lc-bottom-dock a {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    color: #10493f;
    text-decoration: none;
  }

  .lc-bottom-dock svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #10493f;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .lc-lightbox[hidden] {
    display: none !important;
  }

  .lc-lightbox {
    position: fixed;
    z-index: 200;
    inset: 0;
    padding: 75px 12px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(6, 24, 21, .92);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  .lc-lightbox img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .lc-lightbox button {
    position: absolute;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .15);
    font-size: 25px;
    cursor: pointer;
  }

  .lc-lightbox-close {
    top: 19px;
    right: 19px;
  }

  .lc-lightbox-prev {
    left: 13px;
    bottom: 24px;
  }

  .lc-lightbox-next {
    right: 13px;
    bottom: 24px;
  }

  .lc-lightbox-caption {
    position: absolute;
    right: 65px;
    bottom: 35px;
    left: 65px;
    color: white;
    font-size: 12px;
    text-align: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    .lc-title-card,
    .lc-facts,
    .lc-section-heading,
    .lc-gallery,
    .lc-existing-photo {
      animation: lc-appear .7s both;
    }

    .lc-facts {
      animation-delay: .16s;
    }

    @keyframes lc-appear {
      from {
        opacity: 0;
        transform: translateY(18px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
  }
}
/* ===== ALMACÉN CARGILL · MASTER MÓVIL ===== */

.ac-mobile-master {
  display: none;
}

@media (max-width: 767px) {
  body.project-almacen-cargill {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.project-almacen-cargill.ac-lightbox-open {
    overflow: hidden !important;
  }

  body.project-almacen-cargill > header.site-header {
    display: none !important;
  }

  body.project-almacen-cargill main > :not(.ac-mobile-master) {
    display: none !important;
  }

  body.project-almacen-cargill .ac-mobile-master {
    display: block;
    position: relative;
    min-height: 100vh;
    padding-bottom: 110px;
    background: #f7f5ee;
    color: #10493f;
  }

  .ac-mobile-master,
  .ac-mobile-master * {
    box-sizing: border-box;
  }

  .ac-mobile-master a,
  .ac-mobile-master button {
    -webkit-tap-highlight-color: transparent;
  }

  .ac-glass {
    background: rgba(248, 247, 240, .73);
    border: 1px solid rgba(255, 255, 255, .83);
    box-shadow: 0 15px 35px rgba(18, 43, 37, .12);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  /* Barra superior y menú */
  .ac-mobile-header {
    position: fixed;
    z-index: 100;
    top: 12px;
    left: 5%;
    width: 90%;
    height: 68px;
    padding: 0 21px;
    border-radius: 20px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }

  .ac-wordmark {
    color: #10493f;
    font-size: 14px;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .ac-menu-button {
    width: 34px;
    height: 34px;
    padding: 5px 1px;
    border: 0;
    display: flex !important;
    flex-direction: column;
    justify-content: space-around;
    background: transparent;
    cursor: pointer;
  }

  .ac-menu-button span {
    display: block;
    width: 29px;
    height: 1px;
    background: #10493f;
    transition: transform .25s ease, opacity .25s ease;
  }

  .ac-menu-button[aria-expanded="true"] span:first-child {
    transform: translateY(9px) rotate(45deg);
  }

  .ac-menu-button[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .ac-menu-button[aria-expanded="true"] span:last-child {
    transform: translateY(-9px) rotate(-45deg);
  }

  .ac-mobile-menu {
    position: fixed;
    z-index: 99;
    top: 89px;
    left: 5%;
    width: 90%;
    padding: 17px 22px;
    border-radius: 20px;
  }

  .ac-mobile-menu[hidden] {
    display: none !important;
  }

  .ac-mobile-menu a {
    display: block;
    padding: 13px 3px;
    border-bottom: 1px solid rgba(16, 73, 63, .16);
    color: #10493f;
    font-size: 16px;
    text-decoration: none;
  }

  .ac-mobile-menu a:last-child {
    border-bottom: 0;
  }

  /* Portada */
  .ac-cover {
    position: relative;
    height: 100svh;
    min-height: 690px;
    overflow: hidden;
    background: #789cb0;
  }

  .ac-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(10, 33, 31, .12),
      transparent 35%,
      transparent 57%,
      rgba(8, 34, 30, .31)
    );
    pointer-events: none;
  }

  .ac-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .ac-title-card,
  .ac-facts {
    position: absolute;
    z-index: 1;
    left: 5.5%;
    width: 89%;
    border-radius: 21px;
  }

  .ac-title-card {
    top: 111px;
    padding: 24px 21px 23px;
  }

  .ac-eyebrow {
    margin: 0 0 13px;
    color: #766c59;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .ac-title-card h1 {
    margin: 0 0 13px;
    color: #10493f;
    font-size: clamp(37px, 10.6vw, 48px);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: -.045em;
  }

  .ac-description {
    margin: 0;
    color: #315c53;
    font-size: 14px;
    line-height: 1.6;
  }

  .ac-facts {
    bottom: 39px;
    padding: 13px 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    scroll-margin-top: 95px;
  }

  .ac-facts article {
    min-height: 65px;
    padding: 12px 9px;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  .ac-facts article:nth-child(odd) {
    border-right: 1px solid rgba(16, 73, 63, .16);
  }

  .ac-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(16, 73, 63, .16);
  }

  .ac-facts span {
    color: #746c59;
    font-size: 9px;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .ac-facts strong {
    color: #10493f;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
  }

  /* Galería */
  .ac-section {
    padding: 47px 5.5% 18px;
    scroll-margin-top: 95px;
  }

  .ac-section-heading {
    min-height: 64px;
    margin-bottom: 20px;
    padding: 13px 18px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 13px;
  }

  .ac-section-heading > span {
    color: #8b7b61;
    font-size: 11px;
    letter-spacing: .13em;
  }

  .ac-section-heading h2 {
    flex: 1;
    margin: 0;
    color: #10493f;
    font-size: 24px;
    font-weight: 300;
  }

  .ac-section-heading small {
    color: #6b847a;
    font-size: 11px;
  }

  .ac-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .ac-photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 17px;
    background: rgba(255, 255, 255, .54);
    box-shadow: 0 12px 25px rgba(18, 43, 37, .1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    cursor: pointer;
    overflow: hidden;
  }

  .ac-photo img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    object-fit: cover;
  }

  /* Barra inferior */
  .ac-bottom-dock {
    position: fixed;
    z-index: 98;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12%;
    width: 76%;
    height: 64px;
    padding: 5px 14px;
    border-radius: 35px;
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

  .ac-bottom-dock a {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    text-decoration: none;
  }

  .ac-bottom-dock svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #10493f;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* Visor */
  .ac-lightbox[hidden] {
    display: none !important;
  }

  .ac-lightbox {
    position: fixed;
    z-index: 200;
    inset: 0;
    padding: 75px 12px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(6, 24, 21, .92);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  .ac-lightbox img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .ac-lightbox button {
    position: absolute;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    color: white;
    background: rgba(255, 255, 255, .15);
    font-size: 25px;
    cursor: pointer;
  }

  .ac-lightbox-close { top: 19px; right: 19px; }
  .ac-lightbox-prev { left: 13px; bottom: 24px; }
  .ac-lightbox-next { right: 13px; bottom: 24px; }

  .ac-lightbox-caption {
    position: absolute;
    right: 65px;
    bottom: 35px;
    left: 65px;
    color: white;
    font-size: 12px;
    text-align: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    .ac-title-card,
    .ac-facts,
    .ac-section-heading,
    .ac-gallery {
      animation: ac-appear .7s both;
    }

    .ac-facts { animation-delay: .16s; }

    @keyframes ac-appear {
      from { opacity: 0; transform: translateY(18px); }
      to   { opacity: 1; transform: translateY(0); }
    }
  }
}
/* ===== PARQUE TOSSÁ · MASTER MÓVIL ===== */

.pt-mobile-master {
  display: none;
}

@media (max-width: 767px) {
  body.project-parque-tossa {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.project-parque-tossa.pt-lightbox-open {
    overflow: hidden !important;
  }

  body.project-parque-tossa > header.site-header {
    display: none !important;
  }

  body.project-parque-tossa main > :not(.pt-mobile-master) {
    display: none !important;
  }

  body.project-parque-tossa .pt-mobile-master {
    display: block;
    position: relative;
    min-height: 100vh;
    padding-bottom: 110px;
    background: #f7f5ee;
    color: #10493f;
  }

  .pt-mobile-master,
  .pt-mobile-master * {
    box-sizing: border-box;
  }

  .pt-mobile-master button,
  .pt-mobile-master a {
    -webkit-tap-highlight-color: transparent;
  }

  .pt-glass {
    background: rgba(248, 247, 240, .73);
    border: 1px solid rgba(255, 255, 255, .83);
    box-shadow: 0 15px 35px rgba(18, 43, 37, .12);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  /* Encabezado */
  .pt-mobile-header {
    position: fixed;
    z-index: 100;
    top: 12px;
    left: 5%;
    width: 90%;
    height: 68px;
    padding: 0 21px;
    border-radius: 20px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }

  .pt-wordmark {
    color: #10493f;
    font-size: 14px;
    letter-spacing: .39em;
    text-decoration: none;
    white-space: nowrap;
  }

  .pt-menu-button {
    width: 34px;
    height: 34px;
    padding: 5px 1px;
    border: 0;
    display: flex !important;
    flex-direction: column;
    justify-content: space-around;
    background: transparent;
    cursor: pointer;
  }

  .pt-menu-button span {
    display: block;
    width: 29px;
    height: 1px;
    background: #10493f;
    transition: transform .25s ease, opacity .25s ease;
  }

  .pt-menu-button[aria-expanded="true"] span:first-child {
    transform: translateY(9px) rotate(45deg);
  }

  .pt-menu-button[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .pt-menu-button[aria-expanded="true"] span:last-child {
    transform: translateY(-9px) rotate(-45deg);
  }

  .pt-mobile-menu {
    position: fixed;
    z-index: 99;
    top: 89px;
    left: 5%;
    width: 90%;
    padding: 17px 22px;
    border-radius: 20px;
  }

  .pt-mobile-menu[hidden] {
    display: none !important;
  }

  .pt-mobile-menu a {
    display: block;
    padding: 13px 3px;
    border-bottom: 1px solid rgba(16, 73, 63, .16);
    color: #10493f;
    font-size: 16px;
    text-decoration: none;
  }

  .pt-mobile-menu a:last-child {
    border-bottom: 0;
  }

  /* Portada horizontal adaptada al teléfono */
  .pt-cover {
    position: relative;
    height: 100svh;
    min-height: 690px;
    overflow: hidden;
    background: #cad4c7;
  }

  .pt-cover::before {
    content: "";
    position: absolute;
    inset: -18px;
    background: url("assets/img/proyectos/parque-tossa/portada.jpg")
                center / cover no-repeat;
    filter: blur(23px) brightness(.88);
    transform: scale(1.06);
  }

  .pt-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(17, 47, 38, .06),
      rgba(17, 47, 38, .10) 52%,
      rgba(17, 47, 38, .33)
    );
    pointer-events: none;
  }

  .pt-cover-image {
    position: absolute;
    top: 39%;
    left: 0;
    width: 100%;
    height: 29%;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 13px 25px rgba(19, 38, 30, .2));
  }

  .pt-title-card,
  .pt-facts {
    position: absolute;
    z-index: 1;
    left: 5.5%;
    width: 89%;
    border-radius: 21px;
  }

  .pt-title-card {
    top: 111px;
    padding: 24px 21px 23px;
  }

  .pt-eyebrow {
    margin: 0 0 13px;
    color: #766c59;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .pt-title-card h1 {
    margin: 0 0 13px;
    color: #10493f;
    font-size: clamp(37px, 10.6vw, 48px);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: -.045em;
  }

  .pt-description {
    margin: 0;
    color: #315c53;
    font-size: 14px;
    line-height: 1.6;
  }

  .pt-facts {
    bottom: 39px;
    padding: 13px 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    scroll-margin-top: 95px;
  }

  .pt-facts article {
    min-height: 65px;
    padding: 12px 9px;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  .pt-facts article:nth-child(odd) {
    border-right: 1px solid rgba(16, 73, 63, .16);
  }

  .pt-facts article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(16, 73, 63, .16);
  }

  .pt-facts span {
    color: #746c59;
    font-size: 9px;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .pt-facts strong {
    color: #10493f;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
  }

  /* Galería */
  .pt-section {
    padding: 47px 5.5% 18px;
    scroll-margin-top: 95px;
  }

  .pt-section-heading {
    min-height: 64px;
    margin-bottom: 20px;
    padding: 13px 18px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 13px;
  }

  .pt-section-heading > span {
    color: #8b7b61;
    font-size: 11px;
    letter-spacing: .13em;
  }

  .pt-section-heading h2 {
    flex: 1;
    margin: 0;
    color: #10493f;
    font-size: 24px;
    font-weight: 300;
  }

  .pt-section-heading small {
    color: #6b847a;
    font-size: 11px;
  }

  .pt-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pt-photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 17px;
    background: rgba(255, 255, 255, .54);
    box-shadow: 0 12px 25px rgba(18, 43, 37, .1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    cursor: pointer;
    overflow: hidden;
  }

  .pt-photo img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    object-fit: cover;
  }

  /* Barra inferior */
  .pt-bottom-dock {
    position: fixed;
    z-index: 98;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12%;
    width: 76%;
    height: 64px;
    padding: 5px 14px;
    border-radius: 35px;
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

  .pt-bottom-dock a {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    text-decoration: none;
  }

  .pt-bottom-dock svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #10493f;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* Visor de imágenes */
  .pt-lightbox[hidden] {
    display: none !important;
  }

  .pt-lightbox {
    position: fixed;
    z-index: 200;
    inset: 0;
    padding: 75px 12px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(6, 24, 21, .92);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  .pt-lightbox img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .pt-lightbox button {
    position: absolute;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    color: white;
    background: rgba(255, 255, 255, .15);
    font-size: 25px;
    cursor: pointer;
  }

  .pt-lightbox-close { top: 19px; right: 19px; }
  .pt-lightbox-prev { left: 13px; bottom: 24px; }
  .pt-lightbox-next { right: 13px; bottom: 24px; }

  .pt-lightbox-caption {
    position: absolute;
    right: 65px;
    bottom: 35px;
    left: 65px;
    color: white;
    font-size: 12px;
    text-align: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    .pt-title-card,
    .pt-facts,
    .pt-section-heading,
    .pt-gallery {
      animation: pt-appear .7s both;
    }

    .pt-facts { animation-delay: .16s; }

    @keyframes pt-appear {
      from { opacity: 0; transform: translateY(18px); }
      to   { opacity: 1; transform: translateY(0); }
    }
  }
}
@media (max-width: 767px) {
  body.project-parque-tossa .pt-cover-image {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: none;
  }
}
/* =========================================================
   MENÚ PRINCIPAL MÓVIL · ISLA GLASS
========================================================= */

@media (max-width: 768px) {

  body:not(.project-page) .site-header.is-menu-open {
    z-index: 10000 !important;
  }

  body:not(.project-page) .site-header .main-nav,
  body:not(.project-page) .site-header nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;

    width: 100% !important;
    height: calc(100svh - 28px) !important;
    max-height: none !important;

    box-sizing: border-box !important;
    padding: 112px 20px 128px !important;
    margin: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none;

    border: 1px solid rgba(255, 255, 255, .84) !important;
    border-radius: 21px !important;

    background: rgba(247, 244, 234, .84) !important;
    -webkit-backdrop-filter: blur(30px) saturate(115%) !important;
    backdrop-filter: blur(30px) saturate(115%) !important;

    box-shadow:
      0 22px 60px rgba(20, 43, 34, .18),
      inset 0 1px 0 rgba(255, 255, 255, .82) !important;

    counter-reset: menu-item !important;

    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(calc(100% + 9vw)) !important;

    transition:
      transform .5s cubic-bezier(.22, .61, .36, 1),
      opacity .32s ease,
      visibility .32s ease !important;

    z-index: 10003 !important;
  }

  body:not(.project-page) .site-header .main-nav::-webkit-scrollbar,
  body:not(.project-page) .site-header nav::-webkit-scrollbar {
    display: none;
  }

  body:not(.project-page) .site-header.is-menu-open .main-nav,
  body:not(.project-page) .site-header.is-menu-open nav {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
  }

  /* Marca y botón de cierre por encima del panel */
  body:not(.project-page) .site-header .wordmark,
  body:not(.project-page) .site-header .mobile-menu-toggle {
    position: relative !important;
    z-index: 10005 !important;
  }

  body:not(.project-page) .site-header.is-menu-open .wordmark {
    font-size: .92rem !important;
    letter-spacing: .38em !important;
  }

  /* Enlaces */
  body:not(.project-page) .site-header .main-nav a,
  body:not(.project-page) .site-header nav a {
    position: relative !important;

    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 15px !important;

    width: 100% !important;
    min-height: 67px !important;
    padding: 9px 14px !important;
    margin: 0 !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(11, 68, 56, .13) !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #0b4438 !important;

    font-size: clamp(1.55rem, 6.8vw, 1.9rem) !important;
    font-weight: 300 !important;
    line-height: 1.12 !important;
    letter-spacing: -.045em !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: lowercase !important;

    transition: background-color .25s ease !important;
  }

  body:not(.project-page) .site-header .main-nav a:first-child,
  body:not(.project-page) .site-header nav a:first-child {
    border-top: 0 !important;
  }

  body:not(.project-page) .site-header .main-nav a:last-of-type,
  body:not(.project-page) .site-header nav a:last-of-type {
    border-bottom: 0 !important;
  }

  /* Números originales, ahora alineados con el texto */
  body:not(.project-page) .site-header .main-nav a::before,
  body:not(.project-page) .site-header nav a::before {
    content: "0" counter(menu-item) !important;
    counter-increment: menu-item !important;

    grid-column: 1 !important;
    display: block !important;

    margin: 0 !important;
    color: #837761 !important;
    font-size: .7rem !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
  }

  body:not(.project-page) .site-header .main-nav a::after,
  body:not(.project-page) .site-header nav a::after {
    display: none !important;
    content: none !important;
  }

  /* Resalte discreto del apartado seleccionado */
  body:not(.project-page) .site-header .main-nav a:hover,
  body:not(.project-page) .site-header .main-nav a:focus-visible,
  body:not(.project-page) .site-header .main-nav a[aria-current="location"],
  body:not(.project-page) .site-header nav a:hover,
  body:not(.project-page) .site-header nav a:focus-visible,
  body:not(.project-page) .site-header nav a[aria-current="location"] {
    border-radius: 999px !important;
    background: rgba(139, 161, 141, .23) !important;
    outline: none !important;
  }

  /* Contacto al pie: conserva exactamente los textos existentes */
  body:not(.project-page) .site-header .main-nav::before,
  body:not(.project-page) .site-header nav::before {
    content:
      "e origen arquitectura & ingeniería\a"
      "jose.cazares@eorigen.mx\a"
      "3331877755" !important;

    position: absolute !important;
    left: 22px !important;
    right: 22px !important;
    bottom: 23px !important;

    width: auto !important;
    max-width: none !important;
    padding: 18px 0 0 !important;

    transform: none !important;
    border-top: 1px solid rgba(11, 68, 56, .16) !important;

    color: #42675b !important;
    font-size: .75rem !important;
    line-height: 1.75 !important;
    letter-spacing: .02em !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: pre-line !important;
    pointer-events: none !important;
  }

  /* Teléfonos de menor altura */
  @media (max-height: 720px) {
    body:not(.project-page) .site-header .main-nav,
    body:not(.project-page) .site-header nav {
      justify-content: flex-start !important;
      padding-top: 88px !important;
      padding-bottom: 115px !important;
    }

    body:not(.project-page) .site-header .main-nav a,
    body:not(.project-page) .site-header nav a {
      min-height: 56px !important;
      font-size: 1.5rem !important;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.project-page) .site-header .main-nav,
  body:not(.project-page) .site-header nav {
    transition: none !important;
  }
}
/* Galerías móviles: imagen principal + parejas
   Se aplica a Espacios y Obra; excluye Planos. */
@media (max-width: 768px) {
  body.project-oficinas-dc-control .dc-gallery:not(.dc-gallery-plans),
  body.project-casa-cd .cd-gallery:not(.cd-gallery-plans),
  body.project-oficinas-cargill-hmo .ch-gallery,
  body.project-cabana-ced .ced-gallery:not(.ced-gallery-plans),
  body.project-casa-sp .sp-gallery:not(.sp-gallery-plans),
  body.project-casa-eh .eh-gallery:not(.eh-gallery-plans),
  body.project-bodega-led-concept .bl-gallery,
  body.project-centro-operativo-dc .co-gallery,
  body.project-linea-proaoass .lp-gallery,
  body.project-torre-extrusion .te-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.project-oficinas-dc-control .dc-gallery:not(.dc-gallery-plans) > a,
  body.project-casa-cd .cd-gallery:not(.cd-gallery-plans) > a,
  body.project-oficinas-cargill-hmo .ch-gallery > a,
  body.project-cabana-ced .ced-gallery:not(.ced-gallery-plans) > a,
  body.project-casa-sp .sp-gallery:not(.sp-gallery-plans) > a,
  body.project-casa-eh .eh-gallery:not(.eh-gallery-plans) > a,
  body.project-bodega-led-concept .bl-gallery > a,
  body.project-centro-operativo-dc .co-gallery > a,
  body.project-linea-proaoass .lp-gallery > a,
  body.project-torre-extrusion .te-gallery > a {
    min-width: 0;
  }

  /* Primera foto protagonista; si hay una foto suelta al final,
     también ocupa las dos columnas. */
  :is(
    .dc-gallery:not(.dc-gallery-plans),
    .cd-gallery:not(.cd-gallery-plans),
    .ch-gallery,
    .ced-gallery:not(.ced-gallery-plans),
    .sp-gallery:not(.sp-gallery-plans),
    .eh-gallery:not(.eh-gallery-plans),
    .bl-gallery,
    .co-gallery,
    .lp-gallery,
    .te-gallery
  ) > a:first-child,
  :is(
    .dc-gallery:not(.dc-gallery-plans),
    .cd-gallery:not(.cd-gallery-plans),
    .ch-gallery,
    .ced-gallery:not(.ced-gallery-plans),
    .sp-gallery:not(.sp-gallery-plans),
    .eh-gallery:not(.eh-gallery-plans),
    .bl-gallery,
    .co-gallery,
    .lp-gallery,
    .te-gallery
  ) > a:last-child:nth-child(even) {
    grid-column: 1 / -1;
  }

  :is(
    .dc-gallery:not(.dc-gallery-plans),
    .cd-gallery:not(.cd-gallery-plans),
    .ch-gallery,
    .ced-gallery:not(.ced-gallery-plans),
    .sp-gallery:not(.sp-gallery-plans),
    .eh-gallery:not(.eh-gallery-plans),
    .bl-gallery,
    .co-gallery,
    .lp-gallery,
    .te-gallery
  ) > a img {
    width: 100%;
    height: auto;
    aspect-ratio: 1.45;
    object-fit: cover;
  }

  :is(
    .dc-gallery:not(.dc-gallery-plans),
    .cd-gallery:not(.cd-gallery-plans),
    .ch-gallery,
    .ced-gallery:not(.ced-gallery-plans),
    .sp-gallery:not(.sp-gallery-plans),
    .eh-gallery:not(.eh-gallery-plans),
    .bl-gallery,
    .co-gallery,
    .lp-gallery,
    .te-gallery
  ) > a:first-child img,
  :is(
    .dc-gallery:not(.dc-gallery-plans),
    .cd-gallery:not(.cd-gallery-plans),
    .ch-gallery,
    .ced-gallery:not(.ced-gallery-plans),
    .sp-gallery:not(.sp-gallery-plans),
    .eh-gallery:not(.eh-gallery-plans),
    .bl-gallery,
    .co-gallery,
    .lp-gallery,
    .te-gallery
  ) > a:last-child:nth-child(even) img {
    aspect-ratio: 1.65;
  }
}
@media (max-width: 767px) {
  .gr-mobile-master .gr-back-link {
    display: block;
    width: max-content;
    margin: 0 auto 110px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    text-decoration: none;
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  body.project-laboratorio-cargill .lc-gallery > .lc-photo:first-child,
  body.project-laboratorio-cargill .lc-gallery > .lc-photo:last-child {
    grid-column: 1 / -1;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 767px) {
  body.project-laboratorio-cargill .lc-back-link {
    display: block;
    width: max-content;
    margin: 0 auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    text-decoration: none;
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  body.project-almacen-cargill .ac-gallery > .ac-photo:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 767px) {
  body.project-almacen-cargill .ac-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    text-decoration: none;
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  body.project-parque-tossa .pt-gallery > .pt-photo:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 767px) {
  body.project-parque-tossa .pt-back-link {
    display: block;
    width: max-content;
    margin: 30px auto 20px;
    padding: 13px 18px;
    border-radius: 16px;
    color: #0b4438;
    text-decoration: none;
    font-size: 13px;
  }
}
@media (min-width: 769px) {
  #inicio .hero-thumb-rail {
    gap: 8px;
  }

  #inicio .hero-thumb {
    width: 52px;
    aspect-ratio: 4 / 5;
    flex: 0 0 auto;
  }
}
@media (min-width: 769px) {
  #inicio .hero-thumb-rail .hero-thumb-caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 58px;
    min-height: 54px;
    margin-top: auto;
    padding: 6px 3px;
    border: 1px solid rgba(11, 68, 56, .16);
    border-radius: 10px;
    background: rgba(251, 248, 240, .75);
    color: #0b4438;
    font-size: 8px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .08em;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(11, 68, 56, .06);
    transition: background .25s ease, transform .25s ease;
  }

  #inicio .hero-thumb-rail .hero-thumb-caption::after {
    content: "↓";
    margin-top: 3px;
    font-size: 13px;
    line-height: 1;
  }

  #inicio .hero-thumb-rail .hero-thumb-caption:hover {
    background: #fbf8f0;
    transform: translateY(-2px);
  }
}
/* NOSOTROS · composición glass de escritorio */
@media (min-width: 901px) {
  #nosotros.about-section {
    padding-top: 112px !important;
    padding-bottom: 112px !important;
  }

  #nosotros .about-grid {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr) !important;
    gap: clamp(38px, 4vw, 72px) !important;
    align-items: stretch !important;
    width: min(100%, 1660px) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding: clamp(38px, 4vw, 70px) !important;
    border: 1px solid rgba(255, 255, 255, .82) !important;
    border-radius: 26px !important;
    background: rgba(251, 248, 240, .48) !important;
    box-shadow: 0 24px 60px rgba(11, 68, 56, .08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(115%) !important;
    backdrop-filter: blur(18px) saturate(115%) !important;
    box-sizing: border-box !important;
  }

  #nosotros .about-heading {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    min-width: 0 !important;
  }

  #nosotros .about-heading h2 {
    max-width: 720px !important;
    margin-bottom: 0 !important;
    font-size: clamp(3rem, 3.7vw, 4.25rem) !important;
    line-height: 1.04 !important;
  }

  #nosotros .about-heading h2::after {
    margin-top: 28px !important;
  }

  #nosotros .about-editorial-image {
    width: 100% !important;
    max-width: none !important;
    margin-top: 32px !important;
    border: 1px solid rgba(255, 255, 255, .8) !important;
    border-radius: 19px !important;
    box-shadow: 0 18px 42px rgba(11, 68, 56, .09) !important;
  }

  #nosotros .about-editorial-image img {
    width: 100% !important;
    aspect-ratio: 1.65 / 1 !important;
    object-fit: cover !important;
  }

  #nosotros .about-editorial-image::after {
    display: none !important;
  }

  #nosotros .about-content {
    min-width: 0 !important;
    padding-top: 0 !important;
  }

  /* Los dos párrafos forman la primera isla */
  #nosotros .about-content > .about-lead,
  #nosotros .about-content > p:not(.about-lead) {
    max-width: none !important;
    margin: 0 !important;
    padding-inline: clamp(22px, 2vw, 34px) !important;
    background: rgba(255, 255, 255, .38) !important;
    border-left: 1px solid rgba(255, 255, 255, .8) !important;
    border-right: 1px solid rgba(255, 255, 255, .8) !important;
  }

  #nosotros .about-content > .about-lead {
    padding-top: 30px !important;
    padding-bottom: 16px !important;
    border-top: 1px solid rgba(255, 255, 255, .8) !important;
    border-radius: 20px 20px 0 0 !important;
    font-size: clamp(1rem, 1.15vw, 1.18rem) !important;
    line-height: 1.6 !important;
  }

  #nosotros .about-content > p:not(.about-lead) {
    padding-top: 0 !important;
    padding-bottom: 32px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .8) !important;
    border-radius: 0 0 20px 20px !important;
    color: rgba(11, 68, 56, .68) !important;
    line-height: 1.7 !important;
  }

  #nosotros .about-values {
    display: grid !important;
    gap: 14px !important;
    margin-top: 18px !important;
    border: 0 !important;
  }

  #nosotros .about-values article {
    min-height: 108px !important;
    padding: 20px 26px !important;
    border: 1px solid rgba(255, 255, 255, .82) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .4) !important;
    box-shadow: 0 10px 28px rgba(11, 68, 56, .045) !important;
    box-sizing: border-box !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    transition: transform .3s ease, background .3s ease !important;
  }

  #nosotros .about-values article:hover {
    padding-left: 26px !important;
    transform: translateY(-3px) !important;
    background: rgba(255, 255, 255, .62) !important;
  }

  #nosotros .about-values article::before,
  #nosotros .about-values article::after {
    display: none !important;
    content: none !important;
  }

  #nosotros .about-values article span {
    margin-bottom: 7px !important;
    font-size: .67rem !important;
  }

  #nosotros .about-values article h3 {
    margin: 0 0 5px !important;
    font-size: 1.12rem !important;
  }

  #nosotros .about-values article p {
    margin: 0 !important;
    font-size: .87rem !important;
    line-height: 1.5 !important;
  }
}
@media (min-width: 901px) {
  #nosotros .about-content {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  #nosotros .about-values {
    flex: 1 1 auto !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  }

  #nosotros .about-values article {
    min-height: 0 !important;
  }
}
@media (min-width: 901px) {
  #nosotros.about-section {
    padding-top: 88px !important;
    padding-bottom: 24px !important;
  }

  #nosotros .about-grid {
    padding: 30px 38px !important;
  }

  #nosotros .about-heading h2 {
    max-width: 640px !important;
    font-size: clamp(2.55rem, 3vw, 3.5rem) !important;
    line-height: 1.06 !important;
  }

  #nosotros .about-heading h2::after {
    margin-top: 20px !important;
  }

  #nosotros .about-editorial-image {
    margin-top: 22px !important;
  }

  #nosotros .about-editorial-image img {
    aspect-ratio: 1.8 / 1 !important;
  }

  #nosotros .about-content > .about-lead {
    padding-top: 22px !important;
    padding-bottom: 12px !important;
  }

  #nosotros .about-content > p:not(.about-lead) {
    padding-bottom: 22px !important;
  }

  #nosotros .about-values {
    gap: 10px !important;
    margin-top: 12px !important;
  }

  #nosotros .about-values article {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}
@media (min-width: 901px) {
  #servicios.section.services-section {
    padding-top: 96px !important;
    padding-bottom: 24px !important;
    scroll-margin-top: 0 !important;
  }

  #servicios .section-intro {
    margin-bottom: 12px !important;
  }

  #servicios .section-intro .section-label {
    margin-bottom: 8px !important;
  }

  #servicios .services-title {
    font-size: clamp(2.7rem, 3.4vw, 4rem) !important;
  }

  #servicios .services-grid {
    gap: 14px 22px !important;
    margin-top: 18px !important;
  }

  #servicios .services-grid > article,
  #servicios .services-grid .service-card,
  #servicios .services-grid .service-editorial-item {
    min-height: 235px !important;
    padding: 20px 24px !important;
  }
}
