/* Client marks: shared grid, transparent vectors and optical sizing. */
.client-logo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(112px, auto);
  align-items: stretch;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  border: 1px solid #d9ddd5;
  background: #fff;
}
@media (min-width: 1024px) {
  .about-copy-wrap {
    max-width: 54rem;
  }
  .about-copy-wrap > p {
    text-wrap: pretty;
  }
  .about-team-desktop > .about-team-row {
    transform: translateX(-4px);
  }
}
.client-logo-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  height: auto;
  box-sizing: border-box;
  overflow: hidden;
  padding: 24px;
  background: #fff;
  border-right: 1px solid #d9ddd5;
  border-bottom: 1px solid #d9ddd5;
  transition: background-color 220ms ease;
}
.client-logo-image {
  display: block;
  width: calc(var(--logo-width) * .68);
  max-width: 68%;
  height: auto;
  max-height: calc(var(--logo-height) * .68);
  object-fit: contain;
  object-position: center;
  transform: scale(var(--logo-optical-scale, 1));
  transform-origin: center;
}
@media (min-width: 768px) {
  .client-logo-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .client-logo-grid { grid-auto-rows: minmax(96px, auto); }
  .client-logo-card { min-height: 0; padding: 16px 12px; }
  .client-logo-image {
    width: calc(var(--logo-width) * .544);
    max-height: calc(var(--logo-height) * .544);
  }
}
@media (hover: hover) {
  .client-logo-card:hover { background-color: #fff; }
}

/* Homepage previews stay compact and legible on narrow screens. */
@media (max-width: 767px) {
  #empresas .group .p-4 h3,
  #segmentos .group .p-4 h3 {
    font-size: 0.8rem !important;
    line-height: 1.22 !important;
  }

  #empresas .group .p-4 p,
  #segmentos .group .p-4 p {
    font-size: 0.7rem !important;
    line-height: 1.35 !important;
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .client-logo-card { transition: none; }
}

.section-carousel-cta {
  display: flex;
  justify-content: flex-end;
  max-width: 1180px;
  margin: -1.75rem auto 1.5rem;
  padding: 0 2rem;
}

.section-carousel-cta a {
  color: #a07830;
  font-family: "Inter", sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.scope-proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1180px;
  margin: 0 auto 2.75rem;
  border: 1px solid #e5e2dc;
  background: #f5f4f1;
}

.scope-proof-strip > div {
  min-width: 0;
  padding: 1.15rem 1.25rem;
}

.scope-proof-strip > div + div {
  border-left: 1px solid #e5e2dc;
}

.scope-proof-strip strong {
  display: block;
  margin-bottom: 0.45rem;
  color: #a07830;
  font-family: "Inter", sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.scope-proof-strip p {
  margin: 0;
  color: #4a5550;
  font-family: "Inter", sans-serif;
  font-size: 0.76rem;
  line-height: 1.55;
}

.process-intro {
  max-width: 620px;
  margin: -1.5rem auto 2.75rem;
  color: #4a5550;
  font-family: "Inter", sans-serif;
  font-size: 0.9rem;
  line-height: 1.65;
  text-align: center;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 980px;
  margin: 0 auto;
  border-top: 1px solid #d9ddd5;
  border-bottom: 1px solid #d9ddd5;
}

.process-grid article {
  min-width: 0;
  padding: 1.4rem 1.5rem 1.5rem;
}

.process-grid article + article {
  border-left: 1px solid #d9ddd5;
}

.process-grid span {
  color: #a07830;
  font-family: "Inter", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.process-grid h3 {
  margin: 0.85rem 0 0.45rem;
  color: #111a14;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.55rem;
  line-height: 1.05;
}

.process-grid p {
  margin: 0;
  color: #4a5550;
  font-family: "Inter", sans-serif;
  font-size: 0.78rem;
  line-height: 1.55;
}

.process-cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

/* Detailed pages use a quieter editorial rhythm instead of a dense tile wall. */
.scope-proof-strip {
  background: transparent;
  border-right: 0;
  border-left: 0;
}

.escopo-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 4.5rem) clamp(2rem, 5vw, 5.5rem);
  overflow: visible;
  border: 0;
  background: transparent;
}

.escopo-detail-card {
  min-height: 0;
  padding: 1.35rem 0 1.65rem;
  background: transparent;
  border-top: 1px solid #d9ddd5;
  transition: border-color 220ms ease;
}

.escopo-detail-card:hover {
  z-index: auto;
  background: transparent;
  box-shadow: none;
  transform: none;
  border-color: #c9a84c;
}

.escopo-detail-card::after {
  right: 0;
  bottom: -1.25rem;
  font-size: 7rem;
}

html.scroll-reveal-ready .scope-proof-strip > div,
html.scroll-reveal-ready .escopo-detail-card,
html.scroll-reveal-ready .market-detail-card,
html.scroll-reveal-ready .process-grid article {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 650ms ease, transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.scroll-reveal-ready .scope-proof-strip > div:nth-child(2),
html.scroll-reveal-ready .escopo-detail-card:nth-child(even),
html.scroll-reveal-ready .market-detail-card:nth-child(even),
html.scroll-reveal-ready .process-grid article:nth-child(2) {
  transition-delay: 90ms;
}

html.scroll-reveal-ready .scope-proof-strip > div:nth-child(3),
html.scroll-reveal-ready .process-grid article:nth-child(3) {
  transition-delay: 170ms;
}

html.scroll-reveal-ready .scope-proof-strip > div.is-visible,
html.scroll-reveal-ready .escopo-detail-card.is-visible,
html.scroll-reveal-ready .market-detail-card.is-visible,
html.scroll-reveal-ready .process-grid article.is-visible {
  opacity: 1;
  transform: none;
}

.scope-page {
  padding-top: 4.5rem;
  background: #f5f4f1;
}

.scope-page-hero {
  padding: clamp(4rem, 8vw, 7.25rem) 0 clamp(3.25rem, 6vw, 5.5rem);
  background: #f5f4f1;
  border-bottom: 1px solid #e5e2dc;
}

.scope-page-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: clamp(2rem, 7vw, 7.5rem);
  align-items: end;
  max-width: 1220px;
  margin: 0 auto;
}

.scope-page-hero-main { min-width: 0; }

.scope-page-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(3rem, 7.2vw, 6.4rem);
  line-height: 0.88;
}

.scope-page-hero-aside {
  max-width: 430px;
  padding: 0 0 0.25rem clamp(1.25rem, 3vw, 2.75rem);
  border-left: 1px solid rgba(201, 168, 76, 0.6);
}

.scope-page-hero-copy {
  max-width: 410px;
  margin: 0 0 1.75rem;
  color: #4a5550;
  font-family: "Inter", sans-serif;
  font-size: 0.98rem;
  line-height: 1.7;
}

.scope-page-hero-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem 0;
  margin-bottom: 1.25rem;
  border-top: 1px solid #e5e2dc;
  border-bottom: 1px solid #e5e2dc;
}

.scope-page-hero-fact { display: grid; gap: 0.15rem; }
.scope-page-hero-fact strong { color: #111a14; font-family: "Cormorant Garamond", serif; font-size: 2.25rem; line-height: 1; }
.scope-page-hero-fact span { color: #8a9490; font-family: "Inter", sans-serif; font-size: 0.62rem; letter-spacing: 0.12em; line-height: 1.35; text-transform: uppercase; }

.scope-page-back {
  padding: 0;
  border: 0;
  background: transparent;
  color: #a07830;
  cursor: pointer;
  font-family: "Inter", sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.scope-detail-section {
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(5rem, 9vw, 8rem);
  background: #fff;
}

.scope-detail-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.7fr);
  gap: clamp(2rem, 8vw, 9rem);
  align-items: end;
  max-width: 1180px;
  margin: 0 auto clamp(2.5rem, 5vw, 4.25rem);
}

.scope-detail-lead h2 {
  max-width: 700px;
  margin: 0;
  color: #111a14;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.4rem);
  font-weight: 600;
  line-height: 0.95;
}

.scope-detail-lead-aside {
  max-width: 360px;
  justify-self: end;
  padding-bottom: 0.15rem;
}

.scope-detail-lead-aside p {
  margin: 0 0 1.25rem;
  color: #4a5550;
  font-family: "Inter", sans-serif;
  font-size: 0.92rem;
  line-height: 1.65;
}

.scope-detail-lead-aside button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #a07830;
  cursor: pointer;
  font-family: "Inter", sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.escopo-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  max-width: 1180px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #d9ddd5;
  background: #d9ddd5;
}

.escopo-detail-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 22rem;
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 5.5rem;
  padding: 1.35rem 1.25rem 1.25rem;
  background: #fff;
  border: 0;
  transition: background-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.escopo-detail-card::after {
  position: absolute;
  right: -0.2rem;
  bottom: -1.5rem;
  color: rgba(201, 168, 76, 0.08);
  content: attr(data-index);
  font-family: "Cormorant Garamond", serif;
  font-size: 8.5rem;
  font-weight: 600;
  line-height: 1;
  pointer-events: none;
}

.escopo-detail-card:hover {
  z-index: 1;
  background: #fbfaf6;
  box-shadow: 0 12px 28px rgba(17, 26, 20, 0.08);
  transform: translateY(-3px);
}

.escopo-detail-card-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 2.2rem;
  margin-bottom: 1.1rem;
}

.escopo-detail-index {
  color: #a07830;
  font-family: "Inter", sans-serif;
  font-size: 0.63rem;
  font-weight: 600;
  letter-spacing: 0.17em;
}

.escopo-detail-label {
  max-width: 66%;
  color: #8a9490;
  font-family: "Inter", sans-serif;
  font-size: 0.57rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-align: right;
  text-transform: uppercase;
}

.escopo-detail-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 0.65rem;
  color: #111a14;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.7rem;
  line-height: 1.04;
  font-weight: 600;
}

.escopo-detail-intro {
  position: relative;
  z-index: 1;
  margin: 0 0 1rem;
  color: #4a5550;
  font-family: "Inter", sans-serif;
  font-size: 0.82rem;
  line-height: 1.6;
}

.escopo-detail-card ul { position: relative; z-index: 1; display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.escopo-detail-card li { position: relative; padding-left: 0.85rem; color: #4a5550; font-family: "Inter", sans-serif; font-size: 0.76rem; line-height: 1.45; }
.escopo-detail-card li::before { position: absolute; top: 0.58em; left: 0; width: 0.3rem; height: 0.3rem; border-radius: 50%; background: #c9a84c; content: ""; }
.escopo-detail-cta { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 0.3rem; width: fit-content; margin-top: auto; padding: 1.1rem 0 0; border: 0; background: transparent; color: #a07830; cursor: pointer; font-family: "Inter", sans-serif; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
[role="button"]:focus-visible, .escopo-detail-cta:focus-visible, .scope-detail-lead-aside button:focus-visible, .scope-page-back:focus-visible { outline: 2px solid #c9a84c; outline-offset: 3px; }

.market-detail-section {
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(5rem, 9vw, 8rem);
  background: #fff;
}

.market-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  max-width: 1180px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #d9ddd5;
  background: #d9ddd5;
}

.market-detail-grid::after {
  display: none;
}

.market-detail-card {
  position: relative;
  display: flex;
  min-height: 19rem;
  flex-direction: column;
  padding: 1.35rem 1.25rem 1.25rem;
  background: #fff;
  transition: background-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.market-detail-card:hover {
  z-index: 1;
  background: #fbfaf6;
  box-shadow: 0 12px 28px rgba(17, 26, 20, 0.08);
  transform: translateY(-3px);
}

.market-detail-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 4rem; }
.market-detail-index { color: #a07830; font-family: "Inter", sans-serif; font-size: 0.63rem; font-weight: 600; letter-spacing: 0.17em; }
.market-detail-tag { color: #8a9490; font-family: "Inter", sans-serif; font-size: 0.57rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.market-detail-card h3 { margin: 0 0 0.55rem; color: #111a14; font-family: "Cormorant Garamond", serif; font-size: 1.75rem; line-height: 1.02; font-weight: 600; }
.market-detail-card p { margin: 0; color: #4a5550; font-family: "Inter", sans-serif; font-size: 0.82rem; line-height: 1.6; }
.market-detail-cta { margin-top: auto; padding: 1.1rem 0 0; border: 0; background: transparent; color: #a07830; cursor: pointer; font-family: "Inter", sans-serif; font-size: 0.57rem; font-weight: 600; letter-spacing: 0.09em; text-align: left; text-transform: uppercase; white-space: nowrap; }

@media (max-width: 1199px) {
  .escopo-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
  .market-detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .market-detail-grid::after { display: none; }
}

@media (max-width: 767px) {
  .section-carousel-cta {
    justify-content: flex-start;
    margin: -1.75rem 0 1.5rem;
    padding: 0 1rem;
  }

  .scope-proof-strip { grid-template-columns: minmax(0, 1fr); }
  .scope-proof-strip > div + div {
    border-top: 1px solid #e5e2dc;
    border-left: 0;
  }

  .process-intro {
    margin-top: -1.25rem;
    margin-bottom: 2rem;
    font-size: 0.82rem;
  }

  .process-grid { grid-template-columns: minmax(0, 1fr); }
  .process-grid article + article {
    border-top: 1px solid #d9ddd5;
    border-left: 0;
  }

  .scope-page { padding-top: 4rem; }
  .scope-page-hero { padding: 3.5rem 0 3rem; }
  .scope-page-hero-inner { display: block; }
  .scope-page-hero h1 { max-width: 580px; font-size: clamp(2.75rem, 13vw, 4rem); line-height: 0.92; }
  .scope-page-hero-aside { max-width: 100%; margin-top: 2rem; padding: 1.5rem 0 0; border-top: 1px solid rgba(201, 168, 76, 0.6); border-left: 0; }
  .scope-page-hero-copy { font-size: 0.9rem; }
  .scope-detail-lead { display: block; margin-bottom: 2.5rem; }
  .scope-detail-lead h2 { font-size: clamp(2.35rem, 11vw, 3.6rem); }
  .scope-detail-lead-aside { max-width: 100%; margin-top: 1.5rem; }
  .escopo-detail-grid, .market-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .market-detail-grid::after { display: none; }
  .escopo-detail-card { min-height: 0; padding: 1.35rem 1.15rem 1.2rem; }
  .escopo-detail-card h3, .market-detail-card h3 { font-size: 1.65rem; }
  .market-detail-card { min-height: 16rem; }
  .market-detail-card-top { margin-bottom: 3.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html.scroll-reveal-ready .scope-proof-strip > div,
  html.scroll-reveal-ready .escopo-detail-card,
  html.scroll-reveal-ready .market-detail-card,
  html.scroll-reveal-ready .process-grid article {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .escopo-detail-card, .market-detail-card { transition: none; }
}

/* Markets detail page follows the same open editorial rhythm as the scope page. */
.market-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 4.5rem) clamp(2rem, 5vw, 5.5rem);
  overflow: visible;
  border: 0;
  background: transparent;
}

.market-detail-card {
  min-height: 0;
  padding: 1.35rem 0 1.65rem;
  background: transparent;
  border-top: 1px solid #d9ddd5;
  transition: border-color 220ms ease;
}

.market-detail-card:hover {
  z-index: auto;
  background: transparent;
  box-shadow: none;
  transform: none;
  border-color: #c9a84c;
}

.market-detail-card-top {
  margin-bottom: 1.45rem;
}

.market-detail-card h3 {
  font-size: 1.7rem;
}

.market-detail-cta {
  margin-top: 1.15rem;
  padding: 0;
}

@media (max-width: 767px) {
  .market-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .market-detail-card {
    min-height: 0;
    padding: 1.35rem 1.15rem 1.2rem;
  }

  .market-detail-card-top {
    margin-bottom: 1.25rem;
  }
}
