/* Focused visual fixes for the published static site. */
.hero {
  display: block !important;
  min-height: calc(100svh - 76px);
  padding: 0;
}
.hero-feature {
  background: #090909;
  display: block;
  height: clamp(640px, calc(100svh - 76px), 940px);
  isolation: isolate;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.hero-feature::before {
  background: linear-gradient(90deg, #090909f2 0%, #090909d9 31%, #09090973 49%, #09090900 72%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.hero-feature > .hero-copy {
  align-items: flex-start;
  background: transparent !important;
  display: flex;
  flex-direction: column;
  grid-area: auto;
  justify-content: center;
  margin: 0 !important;
  max-width: min(58%, 820px);
  min-height: 100%;
  padding: clamp(2rem, 7vw, 7rem);
  position: relative;
  width: 100%;
  z-index: 2;
}
.hero h1 {
  font-size: clamp(3.1rem, 4.8vw, 5.2rem) !important;
  letter-spacing: -.065em;
  line-height: .94;
  margin: 0 !important;
  max-width: none;
  text-align: left !important;
  width: 100% !important;
}
.hero-actions { gap: .65rem; margin-top: 1.5rem; }
.hero-actions .button { font-size: .7rem; gap: .7rem; padding: .82rem .92rem; }
.hero-perception-visual {
  aspect-ratio: auto;
  background: transparent;
  border: 0;
  inset: 0;
  margin: 0;
  overflow: hidden;
  position: absolute;
  z-index: 0;
}
.hero-perception-visual::after {
  background: linear-gradient(0deg, #09090966, transparent 36%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.hero-perception-visual img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
}
.hero-perception-visual figcaption {
  bottom: 1.2rem;
  color: #ffffff;
  font-size: .72rem;
  letter-spacing: .12em;
  position: absolute;
  right: 1.2rem;
  text-transform: uppercase;
  z-index: 1;
}
.hero-actions a[href="/materiais"] {
  background: #fff !important;
  border: 1px solid #fff !important;
  color: #080808 !important;
  font-weight: 700;
}
.hero-actions a[href="/materiais"]:hover,
.hero-actions a[href="/materiais"]:focus-visible {
  background: #ffffff !important;
  border-color: #ff5265 !important;
  color: #080808 !important;
}
.site-header nav a[href="/materiais"] {
  background: #fff;
  border: 1px solid #fff;
  color: #080808;
  padding: .72rem .95rem;
}
.site-header nav a[href="/materiais"]:hover,
.site-header nav a[href="/materiais"]:focus-visible {
  background: #ffffff;
  border-color: #ff5265;
  color: #080808;
}
.hero-cases {
  border-bottom: 1px solid #d5d5d5;
  margin: 0 auto 4rem;
  max-width: 1600px;
  padding: 0 5vw 4rem;
}
.hero-cases .hero-work-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hero-cases .hero-work-tile { aspect-ratio: 1.6; }
.blog-hero { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); }
.blog-hero h1 { max-width: 920px; }
.blog-hero p { max-width: 610px; }
.article-share { border-top: 1px solid var(--line); margin-top: 2.5rem; padding-top: 1.5rem; }
.article-share nav { display: flex; flex-wrap: wrap; gap: .75rem; }
.article-share a { border: 1px solid var(--line); font-size: .8rem; padding: .7rem 1rem; }
.article-share a:hover, .article-share a:focus-visible { background: var(--ink); color: #fff; }

/* Unified LR visual system: warm editorial imagery, full-bleed heroes, clear CTAs. */
:root {
  --signal: #c8102e;
  --signal-deep: #a00c24;
  --blue: #e2e2e2;
  --acid: #ff5265;
}
.page--home {
  --paper: #f0f0f0;
  --paper-deep: #e2e2e2;
  --ink: #090909;
  --ink-soft: #232323;
  --muted: #626262;
  --line: #d0d0d0;
  --line-dark: #333333;
  --white: #ffffff;
  --signal: #c8102e;
  --signal-deep: #a00c24;
  --blue: #e2e2e2;
  --acid: #ff5265;
}
.book-page {
  --book-ink: #090909;
  --book-ivory: #f0f0f0;
  --book-blue: #e2e2e2;
  --book-violet: #c8102e;
  --book-cyan: #ff5265;
}
.section--blue { background: #e2e2e2 !important; }
.inner-hero--image {
  align-items: end;
  display: flex;
  isolation: isolate;
  min-height: clamp(620px, 76svh, 900px);
  overflow: hidden;
  padding-bottom: clamp(4rem, 8vw, 7.5rem);
  position: relative;
}
.inner-hero--image::before {
  background: linear-gradient(90deg, #090909f2 0%, #090909d9 35%, #09090970 66%, #09090918 100%), linear-gradient(0deg, #09090972, transparent 50%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}
.inner-hero__image {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
  z-index: -2;
}
.inner-hero--image .inner-hero__grid {
  align-items: end;
  grid-template-columns: minmax(120px, .4fr) minmax(0, 1.6fr);
  max-width: 1500px;
  width: 100%;
}
.inner-hero--image .section-label,
.inner-hero--image h1,
.inner-hero--image .inner-hero__grid p { color: #ffffff; }
.inner-hero--image h1 {
  font-size: clamp(3rem, 7.2vw, 7.1rem);
  line-height: .94;
  margin-bottom: 1.2rem;
  max-width: 1000px;
}
.inner-hero--image h1 em { color: #ff5265; }
.inner-hero--image .inner-hero__grid p:not(.section-label) {
  color: #eaeaea;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  max-width: 620px;
}
.inner-hero--image .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.65rem; }
.inner-hero--image .hero-actions .button { min-height: 3.25rem; }
.button--signal,
.button-primary,
.button-accent,
.button-commercial,
.nav-cta,
.header-cta {
  background: #c8102e !important;
  border-color: #c8102e !important;
  color: #ffffff !important;
}
.button--signal:hover,
.button-primary:hover,
.button-accent:hover,
.button-commercial:hover,
.nav-cta:hover,
.header-cta:hover,
.button--signal:focus-visible,
.button-primary:focus-visible,
.button-accent:focus-visible,
.button-commercial:focus-visible,
.nav-cta:focus-visible,
.header-cta:focus-visible {
  background: #a00c24 !important;
  border-color: #a00c24 !important;
  color: #ffffff !important;
}
.button:focus-visible,
.button-primary:focus-visible,
.button-accent:focus-visible,
.nav-cta:focus-visible,
.header-cta:focus-visible {
  outline: 3px solid #ff5265;
  outline-offset: 3px;
}
.button--paper,
.button-ghost,
.button-commercial-alt {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #090909 !important;
}
.button--paper:hover,
.button-ghost:hover,
.button-commercial-alt:hover {
  background: #e2e2e2 !important;
  border-color: #e2e2e2 !important;
  color: #090909 !important;
}
.page--home .hero__copy h1 em { color: #ff5265 !important; }
.page--home .button--signal { background: #c8102e !important; color: #ffffff !important; }
.page--home .button--outline-light:hover { color: #ff5265 !important; border-color: #ff5265 !important; }
.case-detail-hero {
  isolation: isolate;
  min-height: clamp(600px, 76svh, 900px);
  overflow: hidden;
  position: relative;
}
.case-detail-hero::after {
  background: linear-gradient(90deg, #090909f0 0%, #090909c9 42%, #09090940 100%), linear-gradient(0deg, #09090950, transparent 46%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.case-detail-hero__image {
  inset: 0;
  margin: 0 !important;
  position: absolute;
  z-index: -2;
}
.case-detail-hero__image img { height: 100%; object-fit: cover; width: 100%; }
.case-detail-hero__copy { align-items: end; min-height: inherit; position: relative; z-index: 1; }
.case-detail-hero__copy,
.case-detail-hero__copy h1,
.case-detail-hero__client { color: #ffffff !important; }
.article-visual {
  aspect-ratio: 2.15;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 2.5rem 0 4rem !important;
  max-width: none !important;
  overflow: hidden;
  width: 100%;
}
.article-visual img { height: 100%; object-fit: cover; width: 100%; }
.article-shell article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 clamp(1.5rem, 4vw, 4rem); }
.article-shell .article-hero--visual {
  align-content: center;
  background-color: #090909;
  background-image: linear-gradient(90deg, #090909f0 0%, #090909d6 55%, #09090935 100%), var(--article-hero-image);
  background-position: center, center;
  background-size: cover;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 0 2rem calc(50% - 50vw);
  min-height: clamp(540px, 68svh, 800px);
  padding: clamp(3rem, 8vw, 7rem) clamp(2rem, 9vw, 9rem);
  width: 100vw;
}
.article-shell .article-hero--visual h1 { color: #ffffff; font-size: clamp(2.8rem, 6.5vw, 6.3rem); line-height: .96; max-width: 1100px; }
.article-shell .article-hero--visual .article-deck { color: #eaeaea; font-size: clamp(1rem, 1.45vw, 1.2rem); max-width: 700px; }
.article-shell .article-hero--visual .eyebrow { color: #ff5265; }
.article-shell .article-hero--visual .article-info { color: #e0e0e0; }
.article-shell .article-hero--visual + .article-visual { display: none; }
.article-shell .article-body { grid-column: 1 / -1; }
.diagnostic-hero {
  isolation: isolate;
  min-height: clamp(620px, 76svh, 900px);
  overflow: hidden;
  position: relative;
}
.diagnostic-hero::after {
  background: linear-gradient(90deg, #090909f0 0%, #090909c9 42%, #09090940 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.diagnostic-hero__image { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; z-index: -2; }
.diagnostic-hero > div { position: relative; z-index: 1; }
.diagnostic-hero h1,
.diagnostic-hero .system-lead { color: #ffffff !important; }
.diagnostic-visual { background: #ffffff !important; color: #090909 !important; }
.diagnostic-visual span,
.diagnostic-visual p,
.diagnostic-visual small { color: #090909 !important; }
.diagnostic-visual strong { color: #c8102e !important; }
.diagnostic-hero .diagnostic-visual { background: transparent !important; border: 0 !important; box-shadow: none !important; color: #ffffff !important; }
.diagnostic-hero .diagnostic-visual span,
.diagnostic-hero .diagnostic-visual p,
.diagnostic-hero .diagnostic-visual small { color: #ffffff !important; }
.diagnostic-hero .diagnostic-visual strong { color: #ff5265 !important; }
.has-hero-art {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.has-hero-art::before {
  background: linear-gradient(90deg, #090909f2 0%, #090909d9 46%, #09090968 100%), linear-gradient(0deg, #09090966, transparent 45%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.page-hero-art {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
  z-index: -2;
}
.services-page-hero.has-hero-art,
.materials-hero.has-hero-art,
.book-page-hero.has-hero-art,
.portfolio-hero.has-hero-art,
.blog-hero.has-hero-art {
  align-items: end;
  background: #090909;
  color: #ffffff;
  display: flex;
  min-height: clamp(620px, 76svh, 900px);
  padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 7vw, 7rem);
}
.services-page-hero.has-hero-art > div,
.materials-hero.has-hero-art > div,
.book-page-hero.has-hero-art > div,
.portfolio-hero.has-hero-art > *:not(.page-hero-art),
.blog-hero.has-hero-art > *:not(.page-hero-art) {
  position: relative;
  z-index: 1;
}
.services-page-hero.has-hero-art > div,
.materials-hero.has-hero-art > div,
.book-page-hero.has-hero-art > div { max-width: 900px; }
.services-page-hero.has-hero-art h1,
.materials-hero.has-hero-art h1,
.book-page-hero.has-hero-art h1,
.portfolio-hero.has-hero-art h1,
.blog-hero.has-hero-art h1 { color: #ffffff; max-width: 1100px; }
.services-page-hero.has-hero-art .eyebrow,
.materials-hero.has-hero-art .eyebrow,
.book-page-hero.has-hero-art .eyebrow,
.portfolio-hero.has-hero-art .eyebrow,
.blog-hero.has-hero-art .eyebrow { color: #ff5265; }
.services-page-hero.has-hero-art .system-lead,
.materials-hero.has-hero-art .system-lead,
.book-page-hero.has-hero-art .system-lead,
.portfolio-hero.has-hero-art > p:not(.eyebrow),
.blog-hero.has-hero-art > p:not(.eyebrow) { color: #eaeaea; max-width: 680px; }
.services-page-hero.has-hero-art .services-page-visual,
.materials-hero.has-hero-art .materials-hero-note { background: transparent; border: 0; box-shadow: none; color: #ffffff; }
.services-page-hero.has-hero-art .services-page-visual strong,
.materials-hero.has-hero-art .materials-hero-note strong { color: #ff5265; }
.book-page-hero.has-hero-art { grid-template-columns: minmax(0, 1fr); }
.book-page-hero.has-hero-art > .book-page-cover { display: none; }
.book-page-hero.has-hero-art > div:last-child { max-width: 1000px; }
.portfolio-hero.has-hero-art,
.blog-hero.has-hero-art { align-content: end; display: block; padding-top: clamp(7rem, 15vw, 13rem); }
.portfolio-detail-hero.has-hero-art {
  align-items: start;
  background: #090909;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: end;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: clamp(600px, 74svh, 900px);
  padding: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 7vw, 7rem);
  width: 100vw;
}
.portfolio-detail-hero.has-hero-art > *:not(.page-hero-art) { position: relative; z-index: 1; }
.portfolio-detail-hero.has-hero-art .eyebrow { color: #ff5265; }
.portfolio-detail-hero.has-hero-art h1 { color: #ffffff; font-size: clamp(3rem, 7vw, 7rem); max-width: 1100px; }
.portfolio-detail-hero.has-hero-art .portfolio-detail-deck,
.portfolio-detail-hero.has-hero-art .portfolio-back { color: #eaeaea; }
.portfolio-detail-visual-column--plat .portfolio-detail-image--plat { margin: 0; }
.portfolio-detail-visual-column--plat .portfolio-detail-image--plat figcaption,
.portfolio-detail-visual-column--behance .portfolio-detail-image--behance figcaption { color: #4d4d4d; font-size: .9rem; line-height: 1.5; padding: .9rem 1rem 1rem; }
.portfolio-detail-visual-column--behance .portfolio-detail-image--behance { margin: 0; }
.portfolio-detail-visual-column--behance .portfolio-detail-image--behance img { object-position: center 58%; }
.blog-hero.has-hero-art { min-height: clamp(580px, 72svh, 820px); }
.portfolio-hero.has-hero-art { min-height: clamp(560px, 70svh, 820px); }
.about-page-hero.about-hero-full { background: #090909; color: #ffffff; min-height: clamp(650px, 78svh, 930px); overflow: hidden; position: relative; }
.about-page-hero.about-hero-full::before { background: linear-gradient(90deg, #090909f2 0%, #090909e8 45%, #0909092b 100%); content: ""; inset: 0; position: absolute; z-index: -1; }
.about-page-hero.about-hero-full .page-hero-art { inset: auto 0 0 auto; height: 100%; object-fit: contain; object-position: right bottom; width: min(48%, 760px); }
.about-page-hero.about-hero-full .about-page-hero-copy { position: relative; z-index: 1; }
.about-page-hero.about-hero-full .about-page-portrait { display: none; }
.about-page-hero.about-hero-full .eyebrow,
.about-page-hero.about-hero-full h1,
.about-page-hero.about-hero-full .about-page-role,
.about-page-hero.about-hero-full .about-page-lead { color: #ffffff; }
.about-page-hero.about-hero-full h1 span { color: #ff5265; }
.portfolio-hero.has-hero-art { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.blog-hero.has-hero-art { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
@media (max-width: 760px) {
  .inner-hero--image { min-height: 680px; padding-bottom: 3.5rem; }
  .inner-hero--image .inner-hero__grid { grid-template-columns: 1fr; gap: 1rem; }
  .inner-hero--image h1 { font-size: clamp(3rem, 13vw, 5rem); max-width: 13ch; }
  .inner-hero--image::before { background: linear-gradient(180deg, #09090920 0%, #09090948 28%, #090909e8 76%, #090909f5 100%); }
  .inner-hero--image .hero-actions { align-items: stretch; flex-direction: column; }
  .inner-hero--image .hero-actions .button { justify-content: center; width: 100%; }
  .case-detail-hero { min-height: 640px; }
  .case-detail-hero__copy { min-height: 640px; }
  .article-visual { aspect-ratio: 1.25; }
  .article-shell article { display: block; }
  .article-shell .article-hero--visual {
    margin: 0 0 2rem calc(50% - 50vw);
    min-height: 680px;
    padding: 8rem 1.25rem 3rem;
    width: 100vw;
  }
  .services-page-hero.has-hero-art,
  .materials-hero.has-hero-art,
  .book-page-hero.has-hero-art,
  .portfolio-hero.has-hero-art,
  .blog-hero.has-hero-art { min-height: 700px; padding: 7rem 1.25rem 3rem; }
  .portfolio-detail-hero.has-hero-art { min-height: 680px; padding: 7rem 1.25rem 3rem; }
  .services-page-hero.has-hero-art,
  .materials-hero.has-hero-art,
  .book-page-hero.has-hero-art { align-items: end; display: flex; flex-direction: column; justify-content: end; }
  .services-page-hero.has-hero-art .services-page-visual,
  .materials-hero.has-hero-art .materials-hero-note { align-self: start; padding: 1rem 0; }
  .about-page-hero.about-hero-full { min-height: 800px; padding-bottom: 3rem; }
  .about-page-hero.about-hero-full .page-hero-art { height: 62%; max-width: 100%; object-position: right bottom; width: 100%; }
  .about-page-hero.about-hero-full::before { background: linear-gradient(180deg, #090909e8 0%, #090909cf 40%, #09090900 76%); }
  .about-page-hero.about-hero-full .about-page-hero-copy { max-width: 100%; }
}
@media (max-width: 900px) {
  .hero { min-height: auto; }
  .hero-feature { height: clamp(700px, calc(100svh - 68px), 920px); min-height: 700px; }
  .hero-feature::before { background: linear-gradient(90deg, #090909e8 0%, #0909099c 44%, #09090924 100%); }
  .hero-feature > .hero-copy { max-width: min(68%, 760px); }
  .hero h1 { font-size: clamp(3rem, 8.5vw, 5.2rem) !important; max-width: none; }
  .hero-perception-visual img { object-position: 54% center; }
  .hero-cases { padding-bottom: 2.5rem; }
  .hero-cases .hero-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-hero { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .hero-feature { height: max(740px, calc(100svh - 64px)); min-height: 740px; }
  .hero-feature::before { background: linear-gradient(180deg, #09090900 0%, #09090912 23%, #0909099c 48%, #090909f2 72%, #090909 100%); }
  .hero-feature > .hero-copy {
    background: transparent !important;
    min-height: 0;
    justify-content: flex-end;
    max-width: none;
    padding: 13rem 1.25rem 2rem !important;
  }
  .hero h1 { font-size: clamp(2.65rem, 12vw, 4rem) !important; max-width: none; }
  .hero h1 span { color: #ff5265 !important; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: .65rem; margin-top: 1.25rem; }
  .hero-actions .button { justify-content: center; min-height: 48px; width: 100%; }
  .hero-proof, .hero-note { display: none !important; }
  .hero-perception-visual img { object-position: 57% center; }
  .hero-cases { padding-left: 1rem; padding-right: 1rem; }
  .hero-cases .hero-work-tile { aspect-ratio: 1.1; }
  .site-header { gap: .75rem; padding-left: 1rem; padding-right: 1rem; }
  .site-header .brand-mark { flex: 0 0 auto; font-size: 1.08rem; }
  .site-header nav { flex: 0 1 auto; gap: .35rem; font-size: .54rem; white-space: nowrap; }
  .site-header nav a:not(.nav-cta):not([href="/portfolio"]):not([href="/livro"]) { display: none; }
  .site-header nav .nav-cta { font-size: .52rem; letter-spacing: .03em; padding: .45rem .48rem; }
}

/* Editorial covers: a shared espresso, paper and copper treatment for every article. */
.blog-card-image {
  aspect-ratio: 16 / 9;
  background: #090909;
  margin: 0 0 1.25rem;
  overflow: hidden;
  position: relative;
}
.blog-card-image::after {
  background: linear-gradient(135deg, #c8102e30 0%, transparent 58%), linear-gradient(0deg, #09090952 0%, transparent 66%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.blog-card-image img {
  display: block;
  filter: saturate(.78) sepia(.16) hue-rotate(-8deg) contrast(1.04);
  height: 100%;
  object-fit: cover;
  transition: filter .35s ease, transform .6s cubic-bezier(.2,.7,.2,1);
  width: 100%;
}
.blog-card:hover .blog-card-image img,
.blog-card:focus-visible .blog-card-image img {
  filter: saturate(.9) sepia(.1) hue-rotate(-8deg) contrast(1.05);
  transform: scale(1.035);
}
.blog-card[href*="jornada-academica-cfa"] .blog-card-image img { filter: none; }
.blog-list > .blog-card:first-child {
  grid-row: auto !important;
  min-height: 0 !important;
}
.blog-list > .blog-card h2,
.blog-list > .blog-card h3 { margin: 1.2rem 0 1.2rem !important; }
.article-shell .article-hero--visual {
  background-image: linear-gradient(90deg, #090909f2 0%, #090909d9 52%, #09090968 100%), linear-gradient(135deg, #c8102e25 0%, transparent 62%), var(--article-hero-image);
  background-blend-mode: normal, color, normal;
}
@media (prefers-reduced-motion: reduce) {
  .blog-card-image img { transition: none; }
}
.portfolio-card-image:has(img[src*="case-plat-stage.png"]) { aspect-ratio: 626 / 710; background: #090909; }
.portfolio-card-image:has(img[src*="case-plat-stage.png"]) img { object-fit: contain; }
.case-image:has(img[src*="case-plat-stage.png"]) { aspect-ratio: 626 / 710; background: #090909; }
.case-image:has(img[src*="case-plat-stage.png"]) img { object-fit: contain; }
.case-detail-hero--plat::after { background: linear-gradient(90deg, #090909 0%, #090909 34%, #0909099c 54%, #09090926 72%, transparent 100%); }
.case-detail-hero--plat .case-detail-hero__image img { object-fit: contain; object-position: right center; }
.case-detail-gallery--plat { background: #f1f1f1; display: grid; gap: clamp(1rem, 2.4vw, 2rem); grid-template-columns: minmax(0, 1fr); padding: clamp(3rem, 7vw, 6rem) max(5vw, calc((100vw - 1340px) / 2)); }
.case-detail-gallery--plat .case-detail-gallery__intro { align-self: end; grid-column: 1 / -1; margin-bottom: .5rem; max-width: 760px; }
.case-detail-gallery--plat .case-detail-gallery__intro .section-label { color: #c8102e; font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

/* Homepage articles: two current blog entries, derived from the published blog index at build time. */
.insights-layout .article-grid {
  align-items: stretch;
  display: grid;
  gap: clamp(.75rem, 1.5vw, 1.25rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}
.article-grid .article-carousel-card {
  background: var(--brand-ink, #080808);
  color: var(--brand-white, #ffffff);
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-decoration: none;
}
.article-grid .article-carousel-card > img {
  aspect-ratio: 16 / 10;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.article-grid .article-carousel-copy {
  align-items: flex-start;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1rem, 1.6vw, 1.5rem);
}
.article-grid .article-carousel-copy > span {
  color: #c9c9c9;
  font-size: .72rem;
  line-height: 1.5;
}
.article-grid .article-carousel-copy h3 {
  font-size: clamp(1.25rem, 1.65vw, 1.8rem);
  letter-spacing: -.045em;
  line-height: 1.08;
  margin: .85rem 0;
}
.article-grid .article-carousel-copy p {
  color: #d0d0d0;
  font-size: .88rem;
  line-height: 1.55;
  margin: 0 0 1.25rem;
}
.article-grid .article-carousel-copy strong {
  color: var(--brand-sage, #d3d3d3);
  font-size: .7rem;
  letter-spacing: .06em;
  margin-top: auto;
  text-transform: uppercase;
}
.article-grid .article-carousel-card:hover img,
.article-grid .article-carousel-card:focus-visible img {
  filter: saturate(.9) contrast(1.04);
  transform: scale(1.025);
}
.article-grid .article-carousel-card:focus-visible {
  outline: 3px solid var(--brand-coral, #c8102e);
  outline-offset: 4px;
}
@media (max-width: 680px) {
  .insights-layout .article-grid { grid-template-columns: 1fr; }
  .article-grid .article-carousel-copy h3 { font-size: clamp(1.5rem, 7vw, 2rem); }
}

/* Book page: high-contrast thesis and a responsive, non-chapter-based method infographic. */
.book-page {
  --book-ink: #202020;
  --book-ivory: #ffffff;
  --book-blue: #f5f5f5;
  --book-violet: #c8102e;
  --book-cyan: #e8e8e8;
  background: #fff;
  color: #202020;
}
.book-page .book-page-hero.has-hero-art {
  isolation: isolate;
  position: relative;
  background: #090909;
}
.book-page .book-page-hero.has-hero-art::before {
  background: linear-gradient(90deg, #090909f5 0%, #090909e8 36%, #090909c9 68%, #0909098f 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}
.book-page .book-page-hero.has-hero-art h1,
.book-page .book-page-hero.has-hero-art .system-lead { color: #fff; }
.book-page .book-page-hero.has-hero-art .eyebrow { color: #e8e8e8; }
.book-page .book-page-hero-actions a[href="/#contato"],
.book-page .site-header .nav-cta,
.book-page .system-callout a[href="/#contato"] {
  background: #c8102e !important;
  border-color: #c8102e !important;
  color: #fff !important;
}
.book-page .book-page-hero-actions a[href="/#contato"]:hover,
.book-page .book-page-hero-actions a[href="/#contato"]:focus-visible,
.book-page .site-header .nav-cta:hover,
.book-page .site-header .nav-cta:focus-visible,
.book-page .system-callout a[href="/#contato"]:hover,
.book-page .system-callout a[href="/#contato"]:focus-visible {
  background: #a00c24 !important;
  border-color: #a00c24 !important;
  color: #fff !important;
}
.book-page .book-page-hero-actions a:first-child {
  background: #fff !important;
  border-color: #fff !important;
  color: #202020 !important;
}
.book-page .book-page-hero-actions a:first-child:hover,
.book-page .book-page-hero-actions a:first-child:focus-visible {
  background: #efefef !important;
  border-color: #efefef !important;
  color: #202020 !important;
}
.book-page .book-page-author-copy h2,
.book-page .book-page-copy h2,
.book-page .book-page-author-copy > p:not(.eyebrow),
.book-page .book-page-copy > p { color: #202020; }
.book-page .book-page-author-tags span { border-color: #757575; color: #202020; font-size: .72rem; }
.book-page .book-page-form-wrap {
  background: #f5f5f5;
  border: 1px solid #a7a7a7;
  color: #202020;
}
.book-page .book-page-form-wrap .eyebrow { color: #a00c24; }
.book-page .book-page-form-wrap h2 { color: #202020; }
.book-page .book-page-form-wrap > div > p:last-child { color: #434343; }
.book-page .book-page-form-wrap .hubspot-form-shell {
  background: #fff;
  border-color: #818181;
  color: #202020;
}
.book-page .book-page-form-wrap .hubspot-form-kicker { color: #202020; }
.book-page .book-page-form-wrap .hubspot-form-note { color: #434343; }
.book-page .book-page-form-wrap .book-form .button-primary,
.book-page .book-page-form-wrap .book-success .button-primary {
  background: #c8102e;
  border-color: #c8102e;
  color: #fff;
}
.book-page .book-page-form-wrap .book-form .button-primary:hover,
.book-page .book-page-form-wrap .book-form .button-primary:focus-visible,
.book-page .book-page-form-wrap .book-success .button-primary:hover,
.book-page .book-page-form-wrap .book-success .button-primary:focus-visible {
  background: #a00c24;
  border-color: #a00c24;
  color: #fff;
}
.book-page a:focus-visible,
.book-page button:focus-visible,
.book-page input:focus-visible {
  outline: 3px solid #c8102e;
  outline-offset: 3px;
}
.book-method-section {
  background: #232323;
  color: #fff;
  margin: clamp(4rem, 8vw, 7rem) 0;
  padding: clamp(2rem, 5vw, 5rem);
}
.book-method-heading {
  align-items: end;
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
}
.book-method-intro .eyebrow,
.book-method-thesis-label { color: #ff5265; }
.book-method-intro h2 {
  color: #fff;
  font-size: clamp(2.2rem, 4.3vw, 4.8rem);
  letter-spacing: -.055em;
  line-height: .98;
  margin: .7rem 0 1rem;
  max-width: 15ch;
}
.book-method-intro > p:last-child {
  color: #eaeaea;
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
  max-width: 760px;
}
.book-method-thesis {
  border-left: 3px solid #ff5265;
  padding: .2rem 0 .2rem 1.25rem;
}
.book-method-thesis-label {
  font-family: var(--font-geist-mono), "Courier New", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0 0 .65rem;
  text-transform: uppercase;
}
.book-method-thesis > p:last-child {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.2;
  margin: 0;
}
.book-method-steps {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: clamp(2rem, 4vw, 3.5rem) 0 0;
  padding: 0;
}
.book-method-steps li {
  background: #fff;
  border: 1px solid #dfdfdf;
  border-top: 4px solid #c8102e;
  color: #202020;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  min-width: 0;
  padding: clamp(1rem, 1.5vw, 1.4rem);
}
.book-method-step-number {
  color: #c8102e;
  font-family: var(--font-geist-mono), "Courier New", monospace;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.book-method-steps h3 {
  color: #202020;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.05rem, 1.25vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.18;
  margin: 0 0 .6rem;
}
.book-method-steps p {
  color: #434343;
  font-size: .92rem;
  line-height: 1.55;
  margin: 0;
}
.book-method-note {
  color: #eaeaea;
  font-size: .88rem;
  line-height: 1.5;
  margin: 1.1rem 0 0;
}
.book-page .book-page-faq {
  background: #202020;
  color: #fff;
}
.book-page .book-page-faq .eyebrow,
.book-page .book-page-faq article h3 { color: #ff5265; }
.book-page .book-page-faq article { border-color: #909090; }
.book-page .book-page-faq article p { color: #f3f3f3; font-size: 1rem; }
.book-page .system-callout {
  background: #232323;
  color: #fff;
}
.book-page .system-callout .eyebrow,
.book-page .system-callout h2 { color: #fff; }
@media (max-width: 1000px) {
  .book-method-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .book-method-heading { grid-template-columns: 1fr; }
  .book-method-section { padding: 1.5rem; }
}
@media (max-width: 560px) {
  .book-method-steps { grid-template-columns: 1fr; }
  .book-method-steps li { min-height: 0; }
}
.case-detail-gallery--plat .case-detail-gallery__intro h2 { color: #090909; font: 500 clamp(2rem, 4vw, 4.2rem)/1 Georgia, serif; letter-spacing: -.055em; margin-top: .75rem; }
.case-detail-gallery--plat figure { margin: 0; min-width: 0; }
.case-detail-gallery--plat img { aspect-ratio: 1.65; background: #090909; display: block; object-fit: cover; width: 100%; }
.case-detail-gallery--plat figcaption { color: #4d4d4d; font-size: .9rem; line-height: 1.5; padding-top: .75rem; }
@media (max-width: 680px) { .case-detail-gallery--plat { grid-template-columns: 1fr; padding: 3rem 1.25rem; } .case-detail-gallery--plat .case-detail-gallery__intro { grid-column: auto; } }

/* Portfolio case pages: let real project imagery carry the visual column instead
   of leaving a short thumbnail strip beside a long narrative. */
.portfolio-shell,
.portfolio-detail-shell { padding-top: 0; }
.portfolio-detail-layout { align-items: stretch; }
.portfolio-detail-visual-column {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.portfolio-detail-visual-column > .portfolio-detail-image {
  flex: 1 1 auto;
  min-height: 0;
}
.portfolio-detail-supporting {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}
.portfolio-detail-gallery {
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  min-height: 330px;
}
.portfolio-detail-gallery figure { min-height: 0; }
.portfolio-detail-gallery figure:first-child { grid-row: auto; }
.portfolio-detail-gallery img { aspect-ratio: auto; min-height: 100%; }
.portfolio-detail-visual-column--plat .portfolio-detail-image--plat,
.portfolio-detail-visual-column--behance .portfolio-detail-image--behance {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: clamp(430px, 48vw, 680px);
}
.portfolio-detail-visual-column--plat .portfolio-detail-image--plat img,
.portfolio-detail-visual-column--behance .portfolio-detail-image--behance img {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  object-fit: cover;
}
.portfolio-detail-visual-column--plat .portfolio-detail-image--plat figcaption,
.portfolio-detail-visual-column--behance .portfolio-detail-image--behance figcaption { flex: 0 0 auto; }
@media (max-width: 980px) {
  .portfolio-detail-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto;
    min-height: 0;
  }
  .portfolio-detail-visual-column--plat .portfolio-detail-image--plat,
  .portfolio-detail-visual-column--behance .portfolio-detail-image--behance { min-height: 0; }
}

/* Green identifies actions that start a conversation, diagnosis, or engagement. */
:root {
  --contact-green: #c8102e;
  --contact-green-hover: #a00c24;
  --contact-green-dark: #a00c24;
  --contact-green-soft: #efefef;
  --contact-green-soft-hover: #e4e4e4;
  --contact-green-ink: #c8102e;
  --contact-green-outline: #ff5265;
}

a.nav-cta,
a.header-cta,
a.contact-main,
a.about-cta,
a.button[href*="#contato"],
a.button[href*="/diagnostico-de-marca"],
a.materials-diagnostic-banner__cta,
.contact-section button[type="submit"],
.lead-form-footer button[type="submit"] {
  background: var(--contact-green) !important;
  border-color: var(--contact-green) !important;
  color: #fff !important;
}

a.nav-cta:hover,
a.header-cta:hover,
a.contact-main:hover,
a.about-cta:hover,
a.button[href*="#contato"]:hover,
a.button[href*="/diagnostico-de-marca"]:hover,
a.materials-diagnostic-banner__cta:hover,
.contact-section button[type="submit"]:hover,
.lead-form-footer button[type="submit"]:hover,
a.nav-cta:focus-visible,
a.header-cta:focus-visible,
a.contact-main:focus-visible,
a.about-cta:focus-visible,
a.button[href*="#contato"]:focus-visible,
a.button[href*="/diagnostico-de-marca"]:focus-visible,
a.materials-diagnostic-banner__cta:focus-visible,
.contact-section button[type="submit"]:focus-visible,
.lead-form-footer button[type="submit"]:focus-visible {
  background: var(--contact-green-hover) !important;
  border-color: var(--contact-green-hover) !important;
  color: #fff !important;
}

a.button-commercial[href*="#contato"].button-commercial-alt,
a.button-commercial[href*="/diagnostico-de-marca"].button-commercial-alt,
.inner-hero--image .hero-actions a.button-commercial[href*="/diagnostico-de-marca"],
.services-page-hero .services-page-actions a.button-commercial[href*="/diagnostico-de-marca"],
.services-offer-card:nth-child(2) a.button-commercial[href*="#contato"] {
  background: var(--contact-green-soft) !important;
  border-color: var(--contact-green) !important;
  color: var(--contact-green-ink) !important;
}

a.button-commercial[href*="#contato"].button-commercial-alt:hover,
a.button-commercial[href*="/diagnostico-de-marca"].button-commercial-alt:hover,
.inner-hero--image .hero-actions a.button-commercial[href*="/diagnostico-de-marca"]:hover,
.services-page-hero .services-page-actions a.button-commercial[href*="/diagnostico-de-marca"]:hover,
.services-offer-card:nth-child(2) a.button-commercial[href*="#contato"]:hover,
a.button-commercial[href*="#contato"].button-commercial-alt:focus-visible,
a.button-commercial[href*="/diagnostico-de-marca"].button-commercial-alt:focus-visible,
.inner-hero--image .hero-actions a.button-commercial[href*="/diagnostico-de-marca"]:focus-visible,
.services-page-hero .services-page-actions a.button-commercial[href*="/diagnostico-de-marca"]:focus-visible,
.services-offer-card:nth-child(2) a.button-commercial[href*="#contato"]:focus-visible {
  background: var(--contact-green-soft-hover) !important;
  border-color: var(--contact-green-hover) !important;
  color: #a00c24 !important;
}

.services-offer-card:nth-child(3) a.button-commercial[href*="#contato"] {
  background: var(--contact-green-dark) !important;
  border-color: var(--contact-green-dark) !important;
  color: #fff !important;
}

.services-offer-card:nth-child(3) a.button-commercial[href*="#contato"]:hover,
.services-offer-card:nth-child(3) a.button-commercial[href*="#contato"]:focus-visible {
  background: #a00c24 !important;
  border-color: #a00c24 !important;
  color: #fff !important;
}

.materials-diagnostic-banner__secondary {
  background: rgba(23, 107, 69, .16) !important;
  border-color: var(--contact-green-outline) !important;
  color: #ffffff !important;
}

.materials-diagnostic-banner__secondary:hover,
.materials-diagnostic-banner__secondary:focus-visible {
  background: rgba(23, 107, 69, .34) !important;
  border-color: #ff5265 !important;
  color: #fff !important;
}

a.nav-cta:focus-visible,
a.header-cta:focus-visible,
a.contact-main:focus-visible,
a.about-cta:focus-visible,
a.button[href*="#contato"]:focus-visible,
a.button[href*="/diagnostico-de-marca"]:focus-visible,
a.materials-diagnostic-banner__cta:focus-visible,
a.materials-diagnostic-banner__secondary:focus-visible,
.contact-section button[type="submit"]:focus-visible,
.lead-form-footer button[type="submit"]:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--contact-green) !important;
}
@media (max-width: 680px) {
  .portfolio-detail-gallery {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }
  .portfolio-detail-gallery img { aspect-ratio: 16 / 9; min-height: 0; }
  .portfolio-detail-visual-column--plat .portfolio-detail-image--plat,
  .portfolio-detail-visual-column--behance .portfolio-detail-image--behance { min-height: 0; }
}

/* Unified horizontal band for organizations and client marks. */
.about-brands {
  align-items: center;
  border-block: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  display: grid;
  gap: clamp(1rem, 2.5vw, 2.25rem);
  grid-column: 1 / -1;
  grid-template-columns: minmax(12rem, .28fr) minmax(0, 1fr);
  padding: clamp(1rem, 2vw, 1.5rem) 0;
}
.about-brand-list {
  align-items: center;
  display: flex !important;
  flex-flow: row wrap;
  gap: .35rem clamp(.8rem, 1.7vw, 1.5rem);
  justify-content: space-between;
  min-width: 0;
}
.about-brand-list .about-brand-name {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  display: inline-flex !important;
  flex: 0 1 auto;
  flex-direction: row;
  gap: .5rem;
  justify-content: flex-start;
  min-height: 2.75rem;
  padding: .25rem 0 !important;
  text-align: left;
  text-transform: none;
  white-space: nowrap;
}
.about-brand-mark {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  flex: 0 0 2.6rem;
  height: 1.8rem;
  justify-content: center;
  letter-spacing: normal;
  overflow: hidden;
  padding: .1rem;
  width: 2.6rem;
}
.about-brand-mark img {
  display: block;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
.about-brand-mark--dark { background: #272727; }
.about-brand-mark--photo { background: #090909; }
.about-brand-list .about-brand-label {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  color: var(--brand-ink);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.25;
  padding: 0 !important;
  text-align: left;
  text-transform: none;
}
.about-brand-list .about-brand-name:focus-visible {
  outline: 3px solid var(--contact-green, #c8102e);
  outline-offset: 2px;
}
@media (max-width: 680px) {
  .about-brands { grid-template-columns: 1fr; gap: .75rem; }
  .about-brand-list { justify-content: flex-start; gap: .2rem .9rem; }
  .about-brand-list .about-brand-name { white-space: normal; }
}

/* Tese editorial: conectar percepção do cliente às decisões de gestão. */
.thesis-section { background: #f0f0f0 !important; overflow: hidden; padding-bottom: clamp(2.5rem, 4vw, 4rem) !important; }
.thesis-intro { align-items: end; display: grid; gap: clamp(1.5rem, 5vw, 4.5rem); grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .72fr); margin: 0 0 clamp(1.5rem, 2.5vw, 2.25rem); }
.thesis-intro h2 { font-size: clamp(2.7rem, 5.2vw, 5.2rem); letter-spacing: -.075em; line-height: .94; margin: .8rem 0 0; max-width: 950px; }
.thesis-intro h2 em { color: #c8102e; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.thesis-intro > p { color: #636363; font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.7; margin: 0 0 .35rem; max-width: 37rem; }
.thesis-visuals { align-items: stretch; display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.thesis-visual { background: #242624; color: #fff; margin: 0; min-width: 0; overflow: hidden; position: relative; }
.thesis-visual img { display: block; height: clamp(13rem, 21vw, 19rem); object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); width: 100%; }
.thesis-visual:hover img { transform: scale(1.025); }
.thesis-visual figcaption { background: linear-gradient(transparent, rgba(14,12,11,.88)); bottom: 0; display: grid; gap: .45rem; left: 0; padding: 3.5rem clamp(1rem, 2.2vw, 2rem) 1.2rem; position: absolute; right: 0; }
.thesis-visual figcaption span, .thesis-stages article > span { color: #c8102e; font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.thesis-visual figcaption span { color: #ff5265; }
.thesis-journey { margin-top: clamp(1.5rem, 2.5vw, 2.25rem); }
.thesis-journey > .eyebrow { margin-bottom: 1rem; }
.thesis-stages { border-top: 1px solid #d0d0d0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.thesis-stages article { border-right: 1px solid #d0d0d0; padding: 1.25rem clamp(1rem, 2.2vw, 2rem) 1.4rem 0; }
.thesis-stages article + article { padding-left: clamp(1rem, 2.2vw, 2rem); }
.thesis-stages article:last-child { border-right: 0; }
.thesis-stages h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); letter-spacing: -.045em; margin: .8rem 0 .45rem; }
.thesis-stages article p { color: #636363; font-size: .94rem; line-height: 1.55; margin: 0; max-width: 25rem; }
.thesis-mission { border-top: 1px solid #d0d0d0; display: grid; gap: .8rem; margin-top: 1.5rem; padding-top: 1rem; }
.thesis-mission__quote { align-items: start; display: grid; gap: clamp(1rem, 3vw, 2.5rem); grid-template-columns: minmax(8rem, .35fr) minmax(0, 1.65fr); }
.thesis-mission__quote > span { color: #636363; font-size: .75rem; font-weight: 700; letter-spacing: .12em; padding-top: .4rem; text-transform: uppercase; }
.thesis-mission__quote blockquote { color: #181817; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.35rem, 2.2vw, 2.1rem); letter-spacing: -.045em; line-height: 1.15; margin: 0; max-width: 60rem; }
.thesis-value-chain { border-top: 1px solid #d0d0d0; counter-reset: thesis-step; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; margin: .35rem 0 0; padding: 0; }
.thesis-value-chain li { color: #33332f; counter-increment: thesis-step; font-size: .86rem; font-weight: 650; line-height: 1.3; min-width: 0; padding: .65rem 1rem .2rem 0; position: relative; }
.thesis-value-chain li::before { color: #c8102e; content: "0" counter(thesis-step) " / 06"; display: block; font-family: monospace; font-size: .65rem; letter-spacing: .08em; margin-bottom: .3rem; }
.thesis-value-chain li:not(:last-child)::after { color: #c8102e; content: "→"; font-size: 1rem; position: absolute; right: .25rem; top: .68rem; }
.thesis-value-note { color: #636363; font-size: .8rem; line-height: 1.45; margin: 0; }
.thesis-section + .signals-section { padding-top: clamp(2.5rem, 4vw, 4rem) !important; }
.service-card__visual { aspect-ratio: 16 / 9; margin: -1.6rem -1.6rem 1.3rem; overflow: hidden; }
.service-card__visual img { display: block; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); width: 100%; }
.service-card:hover .service-card__visual img { transform: scale(1.035); }
.service-card__visual + .service-card__top + h3 { margin-top: 1.1rem; }
.service-solution-image { aspect-ratio: 16 / 9; margin: 0 0 1rem; overflow: hidden; }
.service-solution-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
@media (max-width: 760px) {
  .thesis-intro { align-items: start; grid-template-columns: 1fr; gap: 1.2rem; }
  .thesis-intro h2 { font-size: clamp(2.7rem, 12vw, 5rem); }
  .thesis-visuals { grid-template-columns: 1fr; }
  .thesis-visual img { height: auto; aspect-ratio: 16 / 9; }
  .thesis-stages { grid-template-columns: 1fr; }
  .thesis-stages article, .thesis-stages article + article { border-right: 0; border-bottom: 1px solid #d0d0d0; padding: 1.1rem 0; }
  .thesis-stages article:last-child { border-bottom: 0; }
  .thesis-mission__quote { grid-template-columns: 1fr; gap: .7rem; }
  .thesis-value-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .thesis-value-chain li::after { display: none; }
  .thesis-section + .signals-section { padding-top: 2.5rem !important; }
}

/* Book page: show the physical edition and keep the hero focused on the book and its message. */
.book-page .book-page-hero.has-hero-art {
  align-items: center;
  display: grid;
  gap: clamp(1.5rem, 4vw, 4.5rem);
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
  min-height: clamp(600px, 76svh, 860px);
}
.book-page .book-page-hero.has-hero-art > .book-page-cover {
  display: block;
  max-width: none;
  width: 100%;
}
.book-page .book-page-cover img {
  aspect-ratio: 3 / 2;
  border: 0;
  box-shadow: none;
  display: block;
  height: auto;
  max-height: 70svh;
  object-fit: contain;
  width: 100%;
}
.book-page .book-page-hero.has-hero-art > div:last-child { max-width: 760px; }
.book-page .book-page-topics { display: none !important; }
.book-page .book-page-hero-actions .book-contact-cta,
.book-page .book-page-hero-actions a[href="/#contato"] {
  background: #c8102e !important;
  border-color: #c8102e !important;
  color: #fff !important;
}
.book-page .book-page-hero-actions .book-contact-cta:hover,
.book-page .book-page-hero-actions .book-contact-cta:focus-visible,
.book-page .book-page-hero-actions a[href="/#contato"]:hover,
.book-page .book-page-hero-actions a[href="/#contato"]:focus-visible {
  background: #a00c24 !important;
  border-color: #a00c24 !important;
  color: #fff !important;
}
@media (max-width: 760px) {
  .book-page .book-page-hero.has-hero-art {
    align-items: start;
    display: grid;
    flex-direction: initial;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
    justify-content: initial;
    min-height: 0;
    padding: 6rem 1.25rem 3rem;
  }
  .book-page .book-page-cover img { max-height: none; }
  .book-page .book-page-hero-actions { flex-wrap: wrap; }
}

.services-objective { background: #242624 !important; color: #ffffff; margin: clamp(4rem, 7vw, 7rem) 0; padding: clamp(2rem, 5vw, 4.5rem); }
.services-objective__intro { display: grid; gap: 2rem; grid-template-columns: minmax(10rem, .55fr) minmax(0, 1.45fr); margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.services-objective__intro h2 { font-size: clamp(2.2rem, 4.8vw, 4.7rem); letter-spacing: -.065em; line-height: .98; margin: 0; max-width: 850px; }
.services-objective__intro > div > p { color: #d0d0d0; font-size: clamp(1rem, 1.2vw, 1.13rem); line-height: 1.65; margin: 1rem 0 0; max-width: 760px; }
.services-objective .eyebrow, .services-objective .section-label { color: #ff5265; }
.brand-value-flow { border-top: 1px solid #ffffff40; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.brand-value-flow li { min-width: 0; padding: 1.25rem clamp(1rem, 2vw, 2rem) 1.1rem 0; position: relative; }
.brand-value-flow li + li { border-left: 1px solid #ffffff40; padding-left: clamp(1rem, 2vw, 2rem); }
.brand-value-flow li > span { color: #ff5265; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.brand-value-flow h3 { font-size: clamp(1.35rem, 2.3vw, 2rem); letter-spacing: -.045em; line-height: 1.08; margin: 1.3rem 0 .6rem; }
.brand-value-flow p { color: #d0d0d0; font-size: 1rem; line-height: 1.55; margin: 0; max-width: 26rem; }
.services-objective__note { border-top: 1px solid #ffffff40; color: #d0d0d0; font-size: .9rem; line-height: 1.5; margin: 1rem 0 0; padding-top: 1rem; }
@media (max-width: 760px) {
  .services-objective { margin: 3.5rem 0; padding: 1.4rem; }
  .services-objective__intro { grid-template-columns: 1fr; gap: .8rem; }
  .services-objective__intro h2 { font-size: clamp(2.1rem, 10vw, 3.7rem); }
  .brand-value-flow { grid-template-columns: 1fr; }
  .brand-value-flow li, .brand-value-flow li + li { border-left: 0; border-top: 1px solid #ffffff40; padding: 1.1rem 0; }
  .brand-value-flow h3 { margin-top: .6rem; }
}

/* Executive FAQ: visible answers and equivalent structured data are emitted together. */
.ai-faq-section {
  align-items: start;
  background: #f0f0f0;
  color: #191817;
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr);
  margin: clamp(3rem, 6vw, 5.5rem) auto;
  max-width: 84rem;
  padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 3.5rem);
  scroll-margin-top: 6rem;
  width: calc(100% - 3rem);
}
.ai-faq-heading .eyebrow { color: #c8102e; }
.ai-faq-heading h2 {
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  letter-spacing: -.06em;
  line-height: 1;
  margin: .9rem 0 1rem;
  max-width: 12ch;
}
.ai-faq-heading > p:last-child { color: #636363; font-size: 1rem; line-height: 1.6; margin: 0; max-width: 27rem; }
.ai-faq-list { border-top: 1px solid #d0d0d0; min-width: 0; }
.ai-faq-item {
  align-items: start;
  border-bottom: 1px solid #d0d0d0;
  display: grid;
  gap: clamp(1rem, 3vw, 2.5rem);
  grid-template-columns: minmax(12rem, .82fr) minmax(0, 1.18fr);
  padding: 1.15rem 0;
}
.ai-faq-item h3 { font-size: 1rem; letter-spacing: -.015em; line-height: 1.45; margin: 0; }
.ai-faq-item p { color: #555555; font-size: 1rem; line-height: 1.6; margin: 0; }
@media (max-width: 760px) {
  .ai-faq-section { gap: 1.6rem; grid-template-columns: 1fr; margin: 2.5rem auto; padding: 1.5rem 1.25rem; width: calc(100% - 2rem); }
  .ai-faq-heading h2 { max-width: 16ch; }
  .ai-faq-item { gap: .45rem; grid-template-columns: 1fr; padding: 1rem 0; }
}
