/* Consistent logo rhythm for the home allies marquee. */

html body[data-page="inicio"] main section.allies-home {
  --ally-logo-gap: clamp(1.75rem, 3vw, 3.25rem);
  --ally-logo-width: clamp(8.7rem, 10.8vw, 10.9rem);
  --ally-logo-height: clamp(4.1rem, 5vw, 5rem);
  padding-top: clamp(3.5rem, 6vw, 5.5rem) !important;
  padding-bottom: clamp(3.5rem, 6vw, 5.5rem) !important;
}

html body[data-page="inicio"] main section.allies-home .allies-home__track {
  gap: 0 !important;
}

html body[data-page="inicio"] main section.allies-home .allies-home__group {
  align-items: center !important;
  gap: var(--ally-logo-gap) !important;
  padding-right: var(--ally-logo-gap) !important;
}

html body[data-page="inicio"] main section.allies-home .ally-logo {
  flex: 0 0 var(--ally-logo-width) !important;
  display: grid !important;
  place-items: center !important;
  width: var(--ally-logo-width) !important;
  min-width: var(--ally-logo-width) !important;
  height: var(--ally-logo-height) !important;
  min-height: var(--ally-logo-height) !important;
  padding: 0.35rem 0.45rem !important;
}

html body[data-page="inicio"] main section.allies-home .ally-logo img,
html body[data-page="inicio"] main section.allies-home .ally-logo--3m img,
html body[data-page="inicio"] main section.allies-home .ally-logo--bd img,
html body[data-page="inicio"] main section.allies-home .ally-logo--enel img,
html body[data-page="inicio"] main section.allies-home .ally-logo--fabrica img,
html body[data-page="inicio"] main section.allies-home .ally-logo--iff img,
html body[data-page="inicio"] main section.allies-home .ally-logo--solventum img,
html body[data-page="inicio"] main section.allies-home .ally-logo--target img,
html body[data-page="inicio"] main section.allies-home .ally-logo--rtvc img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] main section.allies-home {
    --ally-logo-gap: 1.25rem;
    --ally-logo-width: clamp(6.9rem, 31vw, 7.9rem);
    --ally-logo-height: clamp(3.35rem, 15vw, 3.9rem);
    padding-top: clamp(2.75rem, 10vw, 4rem) !important;
    padding-bottom: clamp(2.75rem, 10vw, 4rem) !important;
  }
}

/* Extra breathing room for wider/square marks so they do not clip inside the marquee. */
html body[data-page="inicio"] main section.allies-home {
  --ally-logo-width: clamp(8.7rem, 10.8vw, 10.9rem);
  --ally-logo-height: clamp(4.1rem, 5vw, 5rem);
}

html body[data-page="inicio"] main section.allies-home .ally-logo {
  padding: 0.45rem 0.65rem !important;
  overflow: visible !important;
}

html body[data-page="inicio"] main section.allies-home .ally-logo img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

html body[data-page="inicio"] main section.allies-home .ally-logo--3m,
html body[data-page="inicio"] main section.allies-home .ally-logo--iff {
  flex-basis: clamp(9.5rem, 11.6vw, 11.8rem) !important;
  width: clamp(9.5rem, 11.6vw, 11.8rem) !important;
  min-width: clamp(9.5rem, 11.6vw, 11.8rem) !important;
}

html body[data-page="inicio"] main section.allies-home .ally-logo--3m img {
  max-width: 92% !important;
  max-height: 86% !important;
}

html body[data-page="inicio"] main section.allies-home .ally-logo--iff img {
  max-width: 84% !important;
  max-height: 84% !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] main section.allies-home {
    --ally-logo-width: clamp(6.9rem, 31vw, 7.9rem);
    --ally-logo-height: clamp(3.35rem, 15vw, 3.9rem);
  }

  html body[data-page="inicio"] main section.allies-home .ally-logo--3m,
  html body[data-page="inicio"] main section.allies-home .ally-logo--iff {
    flex-basis: clamp(7.7rem, 35vw, 8.8rem) !important;
    width: clamp(7.7rem, 35vw, 8.8rem) !important;
    min-width: clamp(7.7rem, 35vw, 8.8rem) !important;
  }
}

/* Unified descriptive copy size across home editorial sections. */
html body[data-page="inicio"] main .services-preview__intro,
html body[data-page="inicio"] main .services-preview__summary,
html body[data-page="inicio"] main .allies-home__intro,
html body[data-page="inicio"] main .home-project-showcase__summary,
html body[data-page="inicio"] main .section-heading__copy > p{
  font-size: 20.48px !important;
  line-height: 1.58 !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] main .services-preview__intro,
  html body[data-page="inicio"] main .services-preview__summary,
  html body[data-page="inicio"] main .allies-home__intro,
  html body[data-page="inicio"] main .home-project-showcase__summary,
  html body[data-page="inicio"] main .section-heading__copy > p{
    font-size: 20.48px !important;
    line-height: 1.52 !important;
  }
}
/* Final home harmonization: one readable copy scale, shared heading treatment and mobile cleanup. */
html body[data-page="inicio"] main .services-preview__intro,
html body[data-page="inicio"] main .services-preview__summary,
html body[data-page="inicio"] main .services-drift__card p:last-child,
html body[data-page="inicio"] main .approach-process__body,
html body[data-page="inicio"] main .approach-process__quote,
html body[data-page="inicio"] main .allies-home__intro,
html body[data-page="inicio"] main .home-project-showcase__summary,
html body[data-page="inicio"] main .section-heading__copy > p:not(.eyebrow),
html body[data-page="inicio"] main .final-contact-editorial__copy{
  font-size: 20.48px !important;
  line-height: 1.48 !important;
}

html body[data-page="inicio"] main .home-project-showcase__summary {
  font-size: clamp(0.95rem, 1.1vw, 1.05rem) !important;
  line-height: 1.5 !important;
  max-width: min(100%, 34rem) !important;
}

html body[data-page="inicio"] main .services-preview__intro,
html body[data-page="inicio"] main .services-preview__summary,
html body[data-page="inicio"] main .allies-home__intro,
html body[data-page="inicio"] main .home-project-showcase__summary,
html body[data-page="inicio"] main .section-heading__copy > p:not(.eyebrow),
html body[data-page="inicio"] main .final-contact-editorial__copy{
  width: min(100%, 48rem) !important;
  max-width: 48rem !important;
  margin-inline: auto !important;
}

/* The project heading now follows the same two-line home heading system. */
html body[data-page="inicio"] .home-project-showcase__intro {
  pointer-events: auto !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 {
  display: block !important;
  width: min(100%, 44rem) !important;
  max-width: 44rem !important;
  padding-left: clamp(2rem, 3vw, 2.9rem) !important;
  color: #00b8c5 !important;
  font-family: "FigtreeHeroLocal", "Figtree", sans-serif !important;
  font-size: clamp(2.8rem, 5vw, 5.2rem) !important;
  font-weight: 300 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.05em !important;
  text-align: left !important;
  text-wrap: balance !important;
  transition: transform 360ms cubic-bezier(0.19, 1, 0.22, 1), color 260ms ease, text-shadow 360ms ease !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 span,
html body[data-page="inicio"] .home-project-showcase__intro h2 strong {
  display: block !important;
  white-space: normal !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 span {
  color: #00b8c5 !important;
  font-family: "FigtreeHeroLocal", "Figtree", sans-serif !important;
  font-weight: 300 !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 strong {
  color: #c91235 !important;
  font-family: "FigtreeBoldLocal", "FigtreeHeroLocal", "Figtree", sans-serif !important;
  font-weight: 700 !important;
}

html body[data-page="inicio"] .home-project-showcase__intro:hover h2,
html body[data-page="inicio"] .home-project-showcase__intro:focus-within h2 {
  transform: translateY(-0.08em) !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] main .services-preview__intro,
  html body[data-page="inicio"] main .services-preview__summary,
  html body[data-page="inicio"] main .services-drift__card p:last-child,
  html body[data-page="inicio"] main .approach-process__body,
  html body[data-page="inicio"] main .approach-process__quote,
  html body[data-page="inicio"] main .allies-home__intro,
  html body[data-page="inicio"] main .home-project-showcase__summary,
  html body[data-page="inicio"] main .section-heading__copy > p:not(.eyebrow),
  html body[data-page="inicio"] main .final-contact-editorial__copy{
    font-size: 20.48px !important;
    line-height: 1.48 !important;
  }

  html body[data-page="inicio"] .home-project-showcase__intro {
    width: min(100%, calc(100% - 2rem)) !important;
    padding: 2rem 0 1.2rem !important;
  }

  html body[data-page="inicio"] .home-project-showcase__intro h2 {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1.55rem !important;
    font-size: clamp(2.15rem, 9.3vw, 3.15rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
    text-align: left !important;
  }

  /* The illustration above the CTA adds height but no information on small screens. */
  html body[data-page="inicio"] .final-contact-editorial__art,
  html body[data-page="inicio"] .final-contact-editorial__illustration {
    display: none !important;
    visibility: hidden !important;
  }

  html body[data-page="inicio"] .final-contact-section.final-contact-section--editorial .final-contact-editorial {
    grid-template-columns: 1fr !important;
  }

  /* Remove the encoded video's hairline frame on mobile while keeping its proportions. */
  html body[data-page="inicio"] .home-hero .hero-title__artwork {
    overflow: hidden !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  html body[data-page="inicio"] .home-hero .hero-title__artwork video {
    display: block !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
    clip-path: inset(0 1px 1px 0) !important;
  }
}
@media (max-width: 760px) {
  html body[data-page="inicio"] .loading-screen__figure {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
    clip-path: inset(0 1px 1px 0) !important;
  }

  html body[data-page="inicio"] main .allies-home__intro,
  html body[data-page="inicio"] main .section-heading__copy > p:not(.eyebrow) {
    width: min(calc(100% - 1.5rem), 48rem) !important;
  }
}

html body[data-page="inicio"] .home-project-showcase__intro h2 {
  position: relative !important;
  width: min(100%, 48rem) !important;
  max-width: 48rem !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #24394b !important;
  font-family: "FigtreeHeroLocal", "Figtree", sans-serif !important;
  font-size: clamp(2.2rem, 4.35vw, 4.15rem) !important;
  font-weight: 300 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
  text-align: center !important;
  text-wrap: balance !important;
  text-shadow: none !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2::before {
  content: "" !important;
  position: absolute !important;
  left: clamp(-4.5rem, -5.8vw, -2rem) !important;
  top: 0.9em !important;
  width: clamp(1rem, 1.45vw, 1.35rem) !important;
  height: clamp(1rem, 1.45vw, 1.35rem) !important;
  border-radius: 50% !important;
  background: #37dfc1 !important;
  box-shadow: 0 14px 30px rgba(55, 223, 193, 0.2) !important;
  transform: translateY(-50%) !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2::after {
  content: none !important;
  display: none !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 span,
html body[data-page="inicio"] .home-project-showcase__intro h2 strong {
  display: block !important;
  white-space: normal !important;
  color: #24394b !important;
  text-shadow: none !important;
}

@media (max-width: 760px) {

  html body[data-page="inicio"] .home-project-showcase__intro h2 {
    width: min(100%, 22rem) !important;
    max-width: 22rem !important;
    font-size: clamp(1.95rem, 8.2vw, 2.75rem) !important;
    line-height: 1 !important;
  }

  html body[data-page="inicio"] .home-project-showcase__intro h2::before {
    left: -1.15rem !important;
    top: 0.72em !important;
    width: 0.85rem !important;
    height: 0.85rem !important;
  }
}

html body[data-page="inicio"] .home-project-showcase__intro:hover h2::before,
html body[data-page="inicio"] .home-project-showcase__intro:focus-within h2::before {
  background: #21d8bd !important;
  box-shadow: 0 20px 42px rgba(55, 223, 193, 0.34) !important;
  transform: translateY(-50%) scale(1.08) rotate(-8deg) !important;
}
/* Project heading parity with “Cada decisión creativa nace de”: no decorative dot. */
html body[data-page="inicio"] .home-project-showcase__intro {
  display: grid !important;
  place-items: center !important;
  justify-items: center !important;
  width: min(100%, 62rem) !important;
  padding: clamp(2.4rem, 4vw, 3.6rem) 1rem clamp(1.4rem, 2.5vw, 2.2rem) !important;
  text-align: center !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 {
  position: relative !important;
  width: 100% !important;
  max-width: 56rem !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #24394b !important;
  font-family: "FigtreeHeroLocal", "Figtree", sans-serif !important;
  font-size: clamp(2.3rem, 3.35vw, 3.9rem) !important;
  font-weight: 300 !important;
  line-height: 0.94 !important;
  letter-spacing: -0.065em !important;
  text-align: center !important;
  text-wrap: balance !important;
  text-shadow: none !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2::before,
html body[data-page="inicio"] .home-project-showcase__intro h2::after {
  content: none !important;
  display: none !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 span,
html body[data-page="inicio"] .home-project-showcase__intro h2 strong {
  display: block !important;
  width: 100% !important;
  white-space: normal !important;
  color: #24394b !important;
  text-shadow: none !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 span {
  font-family: "FigtreeHeroLocal", "Figtree", sans-serif !important;
  font-weight: 300 !important;
}

html body[data-page="inicio"] .home-project-showcase__intro h2 strong {
  font-family: "FigtreeBoldLocal", "FigtreeHeroLocal", "Figtree", sans-serif !important;
  font-weight: 700 !important;
}

html body[data-page="inicio"] .home-project-showcase__intro:hover h2,
html body[data-page="inicio"] .home-project-showcase__intro:focus-within h2 {
  color: #24394b !important;
  transform: translateY(-0.06em) !important;
}

html body[data-page="inicio"] .home-project-showcase__intro:hover h2 span,
html body[data-page="inicio"] .home-project-showcase__intro:focus-within h2 span {
  color: #00b8c5 !important;
  text-shadow: 0 10px 28px rgba(0, 184, 197, 0.16) !important;
}

html body[data-page="inicio"] .home-project-showcase__intro:hover h2 strong,
html body[data-page="inicio"] .home-project-showcase__intro:focus-within h2 strong {
  color: #c91235 !important;
  text-shadow: 0 12px 30px rgba(201, 18, 53, 0.16) !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] .home-project-showcase__intro {
    width: min(100%, calc(100% - 1.5rem)) !important;
    padding: 1.8rem 0.75rem 1.15rem !important;
  }

  html body[data-page="inicio"] .home-project-showcase__intro h2 {
    width: 100% !important;
    max-width: 18.5ch !important;
    font-size: clamp(2.1rem, 6vw, 3rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.03em !important;
    white-space: normal !important;
    text-wrap: normal !important;
    overflow-wrap: break-word !important;
  }
}
/* Final spacing and scale pass for the project heading, allies copy and mobile CTA. */
html body[data-page="inicio"] .home-project-showcase__intro h2 {
  font-size: clamp(3rem, 4vw, 4.75rem) !important;
}

html body[data-page="inicio"] main .allies-home__intro {
  font-size: 20.48px !important;
  line-height: 1.48 !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] .home-project-showcase__intro h2 {
    font-size: clamp(2.2rem, 9vw, 3rem) !important;
    line-height: 0.98 !important;
  }

  html body[data-page="inicio"] main .allies-home__intro {
    font-size: 20.48px !important;
    line-height: 1.45 !important;
  }

  /* The illustration is hidden on mobile, so keep only a short breathing strip. */
  html body[data-page="inicio"] .final-contact-section.final-contact-section--editorial {
    background: linear-gradient(
      180deg,
      #ffffff 0,
      #ffffff clamp(3.25rem, 10vw, 4.75rem),
      #0c5777 clamp(3.25rem, 10vw, 4.75rem),
      #0c5777 100%
    ) !important;
  }

  html body[data-page="inicio"] .final-contact-editorial {
    padding-top: 0 !important;
  }
}
@media (max-width: 760px) {
  html body[data-page="inicio"] main section.allies-home {
    padding-top: 1.5rem !important;
    padding-bottom: 1.25rem !important;
  }

  html body[data-page="inicio"] main section.allies-home .allies-home__heading {
    margin-bottom: 0.55rem !important;
  }

  html body[data-page="inicio"] main section.allies-home .allies-home__marquee {
    min-height: 5.25rem !important;
    padding-block: 0.55rem !important;
    overflow-y: visible !important;
  }
}

html body[data-page="inicio"] main section.allies-home .ally-logo--fabrica img {
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Taller project canvas and a shared left edge for the project copy. */
html body[data-page="inicio"] .home-project-showcase__viewport {
  min-height: clamp(32rem, 78svh, 48rem) !important;
}

html body[data-page="inicio"] .home-project-showcase__media {
  inset: 0 !important;
}

html body[data-page="inicio"] .home-project-showcase__media img {
  transform: scale(1.035);
}

html body[data-page="inicio"] .home-project-showcase__slide.is-active .home-project-showcase__media img {
  transform: scale(1);
}

html body[data-page="inicio"] main .home-project-showcase__content {
  align-items: start;
}

html body[data-page="inicio"] main .home-project-showcase__summary {
  width: min(100%, 39rem) !important;
  max-width: 39rem !important;
  margin-inline: 0 !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] .home-project-showcase__viewport {
    min-height: clamp(28rem, 78svh, 42rem) !important;
  }

  html body[data-page="inicio"] .home-project-showcase__intro h2 {
    width: min(100%, 16.5ch) !important;
    max-width: 16.5ch !important;
    font-size: clamp(2rem, 7vw, 2.95rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  html body[data-page="inicio"] .home-project-showcase__summary {
    font-size: clamp(0.95rem, 1.1vw, 1.05rem) !important;
    line-height: 1.5 !important;
    max-width: min(100%, 34rem) !important;
  }
}

@media (max-width: 760px) and (max-height: 560px) and (orientation: landscape) {
  html body[data-page="inicio"] .home-project-showcase__viewport {
    min-height: 34rem !important;
  }
}

/* El titular principal conserva una jerarquía mayor que los títulos internos. */
html body[data-page="inicio"] .home-hero .hero__content--stacked,
html body[data-page="inicio"] .home-hero .hero__copy--center {
  width: min(calc(100vw - 3rem), 80rem) !important;
  max-width: 80rem !important;
}

html body[data-page="inicio"] .home-hero .hero-title {
  width: min(100%, 78rem) !important;
  max-width: 78rem !important;
}

html body[data-page="inicio"] .home-hero .hero-title__main {
  font-size: clamp(2.8rem, 3.5vw, 4.2rem) !important;
  line-height: .98 !important;
  white-space: nowrap !important;
}

html body[data-page="inicio"] .home-hero .hero-title__secondary {
  font-size: clamp(3rem, 3.8vw, 4.6rem) !important;
  line-height: .96 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] .home-hero .hero__content--stacked,
  html body[data-page="inicio"] .home-hero .hero__copy--center {
    width: min(calc(100vw - 1.5rem), 34rem) !important;
  }

  html body[data-page="inicio"] .home-hero .hero-title {
    width: 100% !important;
  }

  html body[data-page="inicio"] .home-hero .hero-title__main {
    font-size: clamp(1.3rem, 5.5vw, 2.5rem) !important;
  }

  html body[data-page="inicio"] .home-hero .hero-title__secondary {
    font-size: clamp(1.4rem, 5.1vw, 2.6rem) !important;
  }
}

html body[data-page="inicio"] .home-hero .button--liquid-home {
  min-width: 19.5rem !important;
  min-height: 5rem !important;
  padding-inline: 2rem !important;
}

html body[data-page="inicio"] .home-hero .button--liquid-home .button__label {
  font-size: 1.25rem !important;
  line-height: 1.08 !important;
}

@media (max-width: 760px) {
  html body[data-page="inicio"] .home-hero .button--liquid-home {
    min-width: min(15.5rem, calc(100vw - 3rem)) !important;
    min-height: 4.35rem !important;
  }

  html body[data-page="inicio"] .home-hero .button--liquid-home .button__label {
    font-size: 1.05rem !important;
  }
}

/* Responsive audit 2026-08: restore a clear mobile type hierarchy. */
@media (max-width: 760px) {
  html body[data-page="inicio"] .home-hero .hero-title {
    max-width: 34rem !important;
    overflow: visible !important;
  }

  html body[data-page="inicio"] .home-hero .hero-title__main,
  html body[data-page="inicio"] .home-hero .hero-title__secondary {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    text-wrap: balance !important;
  }

  html body[data-page="inicio"] .home-hero .hero-title__main {
    font-size: clamp(2rem, 8vw, 2.75rem) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
  }

  html body[data-page="inicio"] .home-hero .hero-title__secondary {
    font-size: clamp(2.2rem, 8.8vw, 3rem) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
  }

  html body[data-page="inicio"] main .services-preview__intro,
  html body[data-page="inicio"] main .services-preview__summary,
  html body[data-page="inicio"] main .approach-process__body,
  html body[data-page="inicio"] main .approach-process__quote,
  html body[data-page="inicio"] main .allies-home__intro,
  html body[data-page="inicio"] main .home-project-showcase__summary,
  html body[data-page="inicio"] main .section-heading__copy > p:not(.eyebrow),
  html body[data-page="inicio"] main .final-contact-editorial__copy{
    font-size: clamp(1rem, 4.2vw, 1.125rem) !important;
    line-height: 1.5 !important;
  }
}
