/* ============================================================
   Home — seções específicas
   ============================================================ */

/* ─── 01 · Hero · solid dark + Flavia em destaque ─── */
.hero {
  position: relative;
  min-height: 100svh;
  background: var(--bg-dark-deep);
  color: var(--color-text);
  overflow: hidden;
  padding-top: clamp(7rem, 12vh, 9rem);
  padding-bottom: clamp(3rem, 6vw, 5rem);
  display: flex;
  align-items: center;
}
/* Atmosfera de palco · bg image + gradient de profundidade */
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--bg-dark-deep);
}
.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.85;
  will-change: transform;
}
.hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(55% 70% at 78% 55%, rgba(245, 143, 39, 0.10) 0%, transparent 70%),
    radial-gradient(60% 70% at 25% 50%, rgba(12, 12, 12, 0.85) 0%, rgba(12, 12, 12, 0.45) 50%, transparent 75%),
    linear-gradient(180deg, rgba(12,12,12,0.45) 0%, transparent 30%, transparent 65%, rgba(12,12,12,0.88) 100%);
}

/* Cutout da Flavia · destaque visual principal */
.hero__cutout {
  position: absolute;
  bottom: 0;
  right: clamp(0rem, 4vw, 8rem);
  height: 96%;
  z-index: 1;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.hero__cutout::before {
  content: "";
  position: absolute;
  inset: 8% -5% -5% -5%;
  background:
    radial-gradient(50% 55% at 50% 60%, rgba(245, 143, 39, 0.22) 0%, transparent 65%),
    radial-gradient(70% 80% at 50% 80%, rgba(245, 143, 39, 0.08) 0%, transparent 75%);
  z-index: -1;
  pointer-events: none;
  filter: blur(8px);
}
.hero__cutout img {
  height: 100%;
  width: auto;
  object-fit: contain;
  object-position: bottom right;
  filter: drop-shadow(-16px 28px 36px rgba(0, 0, 0, 0.55))
          drop-shadow(0 -8px 24px rgba(245, 143, 39, 0.10));
}
@media (max-width: 1080px) {
  .hero__cutout { height: 76%; right: -4rem; opacity: 0.55; }
}
@media (max-width: 720px) {
  .hero__cutout { display: none; }
}
.hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-12);
  align-items: end;
}
.hero__content {
  max-width: 46rem;
}
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--line-dark-strong);
  border-radius: var(--r-pill);
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text);
  margin-bottom: var(--s-6);
  backdrop-filter: blur(8px);
}
.hero__eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(245,143,39,0.18);
}
.hero__headline {
  font-family: var(--font-display);
  font-size: clamp(2.125rem, 1.5rem + 3.2vw, 4.25rem);
  line-height: 1.06;
  letter-spacing: -0.025em;
  font-weight: 400;
  color: var(--color-text);
  margin-bottom: 1.5rem;
  text-wrap: balance;
  max-width: 22ch;
}
.hero__headline em {
  font-style: normal;
  font-weight: 600;
  color: var(--color-text);
}
.hero__headline em.accent {
  color: var(--color-accent);
  font-weight: 600;
  font-style: normal;
}
.hero__sub {
  font-family: var(--font-sans);
  font-size: clamp(1rem, 0.92rem + 0.35vw, 1.15rem);
  line-height: 1.6;
  color: var(--color-text-muted);
  max-width: 36rem;
  margin-bottom: var(--s-5);
  font-weight: 400;
  letter-spacing: -0.005em;
  text-wrap: pretty;
}
.hero__ctas {
  display: flex;
  gap: var(--s-4);
  flex-wrap: wrap;
  align-items: center;
}
.hero__meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  padding-top: 2rem;
  margin-top: 3rem;
  border-top: 1px solid var(--line-dark);
  max-width: 56rem;
  text-align: center;
}
.hero__meta-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.hero__meta-item .num {
  font-family: var(--font-display);
  font-size: clamp(1.375rem, 1.1rem + 0.7vw, 1.875rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--color-text);
  font-weight: 500;
  display: block;
}
.hero__meta-item .num em { font-style: normal; color: var(--color-accent); font-weight: 600; }
.hero__meta-item .label {
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-soft);
  white-space: nowrap;
  font-weight: 500;
}
.hero__meta-item:last-child .label {
  white-space: normal;
  max-width: 18ch;
  line-height: 1.35;
}
.hero__scroll {
  position: absolute;
  bottom: var(--s-6);
  right: var(--gutter-x);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: var(--s-3);
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text-soft);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.hero__scroll::after {
  content: "";
  width: 1px; height: 60px;
  background: linear-gradient(to top, transparent, var(--color-text-soft));
  animation: scroll-line 2.4s var(--ease-in-out) infinite;
}
@keyframes scroll-line {
  0%   { transform: scaleY(0); transform-origin: top; }
  45%  { transform: scaleY(1); transform-origin: top; }
  55%  { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}

@media (max-width: 860px) {
  .hero { min-height: 95svh; padding-top: 7rem; }
  .hero__meta { grid-template-columns: repeat(2, 1fr); gap: var(--s-5); }
  .hero__scroll { display: none; }
}

/* ─── 02 · Authority strip (eventos mundiais) ─── */
.authority {
  background: var(--bg-dark);
  color: var(--color-text);
  border-top: 1px solid var(--line-dark);
}
.authority__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-12);
  align-items: end;
  margin-bottom: var(--s-14);
}
.authority__head h2 {
  font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
  line-height: 1.05;
  max-width: 22ch;
}
.authority__head h2 em {
  font-style: italic;
  color: var(--color-accent);
  font-weight: 300;
}
.authority__head p {
  font-size: var(--fs-body-lg);
  color: var(--color-text-muted);
  line-height: 1.55;
  max-width: 38ch;
  font-weight: 300;
}

.authority__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--s-5);
}
.authority__card {
  position: relative;
  background: var(--bg-dark-elevated);
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line-dark);
  transition: transform var(--d-base) var(--ease-out), border-color var(--d-base) var(--ease-out);
}
.authority__card:hover {
  transform: translateY(-2px);
  border-color: var(--color-accent-line);
}
.authority__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1200ms var(--ease-out);
}
.authority__card:hover img { transform: scale(1.03); }
.authority__card-inner {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.authority__card--wide .authority__card-inner { aspect-ratio: 16 / 11; }
.authority__card--tall .authority__card-inner { aspect-ratio: 3 / 4; }

.authority__card-meta {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.75rem;
  background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.55) 55%, transparent 100%);
  z-index: 2;
}
.authority__card-meta .tag {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 0.5rem;
  font-weight: 600;
}
.authority__card-meta h4 {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 0.85rem + 0.6vw, 1.375rem);
  color: var(--color-text);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.015em;
}
.authority__card-meta p {
  font-size: var(--fs-micro);
  color: var(--color-text-muted);
  margin-top: 0.375rem;
  letter-spacing: 0;
}

/* Layout 12-col: hero card + 2 cards à direita + faixa inferior */
.authority__card--1 { grid-column: span 7; }
.authority__card--2 { grid-column: span 5; }
.authority__card--3 { grid-column: span 4; }
.authority__card--4 { grid-column: span 4; }
.authority__card--5 { grid-column: span 4; }

@media (max-width: 980px) {
  .authority__head { grid-template-columns: 1fr; gap: var(--s-6); }
  .authority__card--1, .authority__card--2 { grid-column: span 12; }
  .authority__card--3, .authority__card--4, .authority__card--5 { grid-column: span 6; }
}
@media (max-width: 620px) {
  .authority__card--3, .authority__card--4, .authority__card--5 { grid-column: span 12; }
}

/* ─── 03 · Mestre de Cerimônias — carrossel orientado à esquerda ─── */
.mc {
  background: var(--color-accent);
  color: #fff;
  position: relative;
  overflow: hidden;
  padding-block: clamp(6rem, 10vw, 10rem);
}
.mc::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 80% at 80% 20%, rgba(255,255,255,0.10), transparent 60%),
    radial-gradient(50% 70% at 10% 90%, rgba(0,0,0,0.12), transparent 60%);
  pointer-events: none;
}
.mc > * { position: relative; z-index: 1; }
.mc .mc__copy .eyebrow { color: #fff; }
.mc .mc__copy h2 { color: #fff; }
.mc .mc__copy h2 em { color: #1E1E1E; font-style: italic; font-weight: 400; }
.mc .mc__copy > p { color: rgba(255,255,255,0.92); }
.mc .mc__copy ul { border-top-color: rgba(255,255,255,0.32); }
.mc .mc__copy ul li { color: rgba(255,255,255,0.95); }
.mc .mc__copy ul li::before { background: #1E1E1E; }
.mc .mc__copy .btn-link { color: #1E1E1E; border-bottom-color: rgba(30,30,30,0.4); }
.mc .mc__copy .btn-link:hover { color: #fff; border-bottom-color: #fff; }
.mc .mc__copy p strong { color: #1E1E1E; }
.mc__inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--s-10);
  align-items: center;
}

/* Carrossel — coluna esquerda · fundo claro */
.mc__carousel {
  position: relative;
  height: clamp(520px, 64vh, 720px);
  overflow: hidden;
  border-radius: var(--r-xl);
  background: transparent;
  mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
}
.mc__carousel::before {
  content: none;
}
.mc__carousel-track {
  display: flex;
  gap: var(--s-3);
  height: 100%;
  padding: var(--s-2) 0;
  width: max-content;
  animation: mc-scroll 36s linear infinite;
}
.mc__carousel:hover .mc__carousel-track { animation-play-state: paused; }
@keyframes mc-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - var(--s-3) / 2)); }
}
.mc__carousel-card {
  position: relative;
  height: 100%;
  aspect-ratio: 3 / 4;
  width: auto;
  border-radius: var(--r-lg);
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid var(--line-light);
  box-shadow: 0 24px 48px -24px rgba(13,13,13,0.32);
  transition: transform var(--d-base) var(--ease-out), box-shadow var(--d-base) var(--ease-out);
}
.mc__carousel-card:hover {
  box-shadow: 0 32px 56px -24px rgba(13,13,13,0.42);
}
.mc__carousel-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mc__carousel-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,0.75) 100%);
}
.mc__carousel-card .label {
  position: absolute;
  bottom: var(--s-3);
  left: var(--s-3);
  right: var(--s-3);
  z-index: 2;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-mid);
  text-transform: uppercase;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: var(--s-1);
}
.mc__carousel-card .label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
  flex-shrink: 0;
}

/* Copy — coluna direita */
.mc__copy { max-width: 36rem; }
.mc__copy h2 {
  font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem);
  line-height: 1.08;
  margin-bottom: var(--s-3);
  margin-top: var(--s-2);
  font-weight: 500;
}
.mc__copy > p {
  font-size: var(--fs-body-lg);
  color: var(--color-ink-muted);
  line-height: 1.6;
  max-width: 42ch;
  margin-bottom: var(--s-4);
  font-weight: 400;
}
.mc__copy ul {
  display: grid;
  gap: var(--s-2);
  margin-bottom: var(--s-6);
  padding-top: var(--s-3);
  border-top: 1px solid var(--line-light);
}
.mc__copy ul li {
  font-size: var(--fs-body);
  color: var(--color-ink);
  display: flex;
  gap: var(--s-2);
  align-items: baseline;
  font-weight: 400;
}
.mc__copy ul li::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--color-accent);
  flex-shrink: 0;
  transform: translateY(-4px);
}

@media (max-width: 1080px) {
  .mc__inner { grid-template-columns: 1fr; gap: var(--s-8); }
  .mc__carousel { height: clamp(440px, 56vh, 600px); }
}

/* ─── 04 · Differentials ─── */
.diff {
  background: var(--bg-light-warm);
}
.diff__head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--s-12);
  align-items: end;
  margin-bottom: var(--s-14);
}
.diff__head h2 {
  font-size: clamp(2rem, 1.5rem + 2.4vw, 3.5rem);
  line-height: 1.05;
  max-width: 18ch;
}
.diff__head h2 em {
  font-style: italic;
  color: var(--color-accent);
  font-weight: 300;
}
.diff__head p {
  font-size: var(--fs-body-lg);
  color: var(--color-ink-muted);
  line-height: 1.6;
  max-width: 42ch;
  font-weight: 300;
}
.diff__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-5);
}
.diff__card {
  background: var(--bg-light-elevated);
  border: 1px solid var(--line-light);
  border-radius: var(--r-lg);
  padding: 2.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: transform var(--d-base) var(--ease-out), box-shadow var(--d-base) var(--ease-out), border-color var(--d-base) var(--ease-out);
}
.diff__card:hover {
  transform: translateY(-3px);
  border-color: var(--color-accent-line);
  box-shadow: var(--shadow-card);
}
.diff__card-num {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: var(--tracking-mid);
  color: var(--color-accent);
  font-feature-settings: "tnum";
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.diff__card-num::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line-light);
}
.diff__card h4 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--color-ink);
  font-weight: 400;
}
.diff__card p {
  font-size: var(--fs-body-sm);
  color: var(--color-ink-muted);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .diff__head { grid-template-columns: 1fr; gap: var(--s-6); }
  .diff__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .diff__grid { grid-template-columns: 1fr; }
}

/* ─── 05 · Vídeos · layout normal sem stack ─── */
.videos {
  background: var(--bg-dark);
  color: var(--color-text);
  position: relative;
  overflow: hidden;
}
.videos .lead,
.videos p { color: var(--color-text-muted); }
.videos .section-head h2 { color: var(--color-text); }
.videos__inner {
  max-width: 64rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  width: 100%;
}
.videos__inner > .section-head { margin-bottom: 0; }
.videos__cards {
  display: grid;
  gap: var(--s-6);
  margin-bottom: 0;
}
.video-card {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  cursor: pointer;
  box-shadow: var(--shadow-dark);
  border: 1px solid var(--line-dark-strong);
  transition: transform var(--d-base) var(--ease-out);
}
.video-card:hover { transform: translateY(-3px); }
.video-card img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1200ms var(--ease-out), filter var(--d-base) var(--ease-out);
}
.video-card:hover img { transform: scale(1.04); }
.video-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20,20,20,0.20) 0%, rgba(20,20,20,0.55) 100%);
  transition: background var(--d-base) var(--ease-out);
}
.video-card:hover::after {
  background: linear-gradient(180deg, rgba(20,20,20,0.10) 0%, rgba(20,20,20,0.45) 100%);
}
.video-card__lang {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  background: rgba(20,20,20,0.55);
  backdrop-filter: blur(12px);
  border: 1px solid var(--line-dark-strong);
  border-radius: var(--r-pill);
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text);
}
.video-card__lang svg { width: 18px; height: 18px; border-radius: 2px; }
.video-card__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
}
.video-card__play span {
  width: 76px; height: 76px;
  border-radius: 50%;
  background: rgba(255,255,255,0.94);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 40px -12px rgba(0,0,0,0.6);
  transition: transform var(--d-base) var(--ease-out), background var(--d-base) var(--ease-out);
}
.video-card:hover .video-card__play span {
  transform: scale(1.06);
  background: var(--color-accent);
}
.video-card__play svg {
  width: 26px; height: 26px;
  fill: var(--bg-dark);
  margin-left: 4px;
}

.videos__cta {
  text-align: center;
}

/* Cards de vídeo · layout normal empilhado */
.videos__cards {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media (max-width: 640px) {
  .videos__cards { gap: 1.5rem; }
  .video-card__play span { width: 60px; height: 60px; }
  .video-card__play svg { width: 20px; height: 20px; }
}

/* ─── 06 · Authority stats ─── */
.stats {
  background: var(--bg-light);
  position: relative;
}
.stats__inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--s-16);
  align-items: center;
}
.stats__copy h2 {
  font-size: clamp(2rem, 1.5rem + 2.2vw, 3.25rem);
  line-height: 1.05;
  margin-bottom: var(--s-5);
}
.stats__copy h2 em { font-style: italic; color: var(--color-accent); font-weight: 300; }
.stats__copy > p {
  font-size: var(--fs-body-lg);
  color: var(--color-ink-muted);
  line-height: 1.6;
  margin-bottom: var(--s-8);
  max-width: 38ch;
  font-weight: 300;
}
.stats__numbers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-6);
  padding: var(--s-8) 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  margin-bottom: var(--s-8);
}
.stats__num .num {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 1.5rem + 2.4vw, 3.5rem);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--color-ink);
  font-weight: 400;
  display: block;
}
.stats__num .num em { font-style: normal; color: var(--color-accent); }
.stats__num .label {
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-mid);
  text-transform: uppercase;
  color: var(--color-ink-soft);
  margin-top: var(--s-3);
  display: block;
}
.stats__areas { display: grid; gap: var(--s-3); }
.stats__areas h6 {
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--s-3);
  font-weight: 500;
}
.stats__areas ul { display: grid; gap: var(--s-3); }
.stats__areas li {
  font-size: var(--fs-body);
  color: var(--color-ink);
  display: flex;
  gap: var(--s-3);
  align-items: baseline;
}
.stats__areas li::before {
  content: "—";
  color: var(--color-accent);
  flex-shrink: 0;
}

.stats__visual {
  position: relative;
}
.stats__loop {
  position: relative;
  aspect-ratio: 4/5;
  background: var(--bg-dark-deep);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lift);
}
.stats__loop-frame {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 600ms var(--ease-in-out);
}
.stats__loop-frame.is-active { opacity: 1; }
.stats__loop-frame img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.stats__loop-caption {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  background: rgba(20,20,20,0.55);
  backdrop-filter: blur(12px);
  border-radius: var(--r-pill);
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  letter-spacing: 0.04em;
  color: var(--color-text);
  border: 1px solid var(--line-dark-strong);
}

@media (max-width: 980px) {
  .stats__inner { grid-template-columns: 1fr; gap: var(--s-12); }
}

/* ─── 07 · Strategic value ─── */
.strategic {
  background: var(--bg-dark);
  color: var(--color-text);
  position: relative;
  overflow: hidden;
}
.strategic__inner {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--s-16);
  align-items: center;
}
.strategic__visual {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-dark);
}
.strategic__visual img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.strategic__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(20,20,20,0.85) 100%);
}
.strategic__visual-meta {
  position: absolute;
  bottom: var(--s-8);
  left: var(--s-8);
  right: var(--s-8);
  z-index: 2;
}
.strategic__visual-meta .tag {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--s-2);
}
.strategic__visual-meta p {
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.25;
  color: var(--color-text);
}
.strategic__copy h2 {
  font-size: clamp(2rem, 1.4rem + 2.6vw, 3.75rem);
  line-height: 1.05;
  margin-bottom: var(--s-6);
  max-width: 18ch;
}
.strategic__copy h2 em { font-style: italic; color: var(--color-accent); font-weight: 300; }
.strategic__copy > p {
  font-size: var(--fs-body-lg);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: var(--s-8);
  font-weight: 300;
}
.strategic__list {
  display: grid;
  gap: var(--s-5);
}
.strategic__list-item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1.25rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--line-dark);
}
.strategic__list-item .num {
  font-family: var(--font-display);
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  color: var(--color-accent);
  padding-top: 0.45rem;
  font-feature-settings: "tnum";
}
.strategic__list-item h5 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--color-text);
  margin-bottom: var(--s-2);
}
.strategic__list-item p {
  font-size: var(--fs-body-sm);
  color: var(--color-text-muted);
  line-height: 1.55;
}

@media (max-width: 980px) {
  .strategic__inner { grid-template-columns: 1fr; gap: var(--s-12); }
}

/* ─── 08 · Events showcase · scroll-driven ─── */
.events {
  background: var(--bg-light);
  padding-block: clamp(7rem, 12vw, 12rem);
}
.events__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-12);
  align-items: end;
  margin-bottom: var(--s-12);
}
.events__head h2 {
  font-size: clamp(2rem, 1.5rem + 2.4vw, 3.5rem);
  line-height: 1.05;
  max-width: 16ch;
}
.events__head h2 em { font-style: italic; color: var(--color-accent); font-weight: 300; }
.events__head p {
  font-size: var(--fs-body-lg);
  color: var(--color-ink-muted);
  line-height: 1.6;
  max-width: 42ch;
  font-weight: 300;
}

.events__tabs {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: var(--s-10);
  align-items: start;
  border-top: 1px solid var(--line-light);
  padding-top: var(--s-10);
}
.events__nav {
  display: grid;
  gap: 0.5rem;
  position: sticky;
  top: 104px;
}
.events__nav-helper {
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.events__nav-helper::before {
  content: "";
  width: 32px;
  height: 1px;
  background: currentColor;
}
.events__nav-btn {
  display: grid;
  grid-template-columns: 28px 1fr auto auto;
  align-items: center;
  gap: 0.875rem;
  width: 100%;
  text-align: left;
  padding: 1.125rem 1rem;
  font-family: var(--font-display);
  font-size: 1.0625rem;
  letter-spacing: -0.01em;
  color: var(--color-ink-muted);
  border: 1px solid transparent;
  border-radius: var(--r-md);
  transition: color var(--d-base) var(--ease-out),
              background var(--d-base) var(--ease-out),
              border-color var(--d-base) var(--ease-out),
              padding var(--d-base) var(--ease-out);
  position: relative;
  font-weight: 500;
  cursor: pointer;
}
.events__nav-btn .nav-num {
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-accent);
  letter-spacing: 0.06em;
  font-feature-settings: "tnum";
  opacity: 0.7;
}
.events__nav-btn .nav-arrow {
  width: 22px;
  height: 22px;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity var(--d-base) var(--ease-out), transform var(--d-base) var(--ease-out);
  color: var(--color-accent);
}
.events__nav-btn .count {
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-mid);
  color: var(--color-ink-soft);
  font-feature-settings: "tnum";
  font-weight: 500;
}
.events__nav-btn:hover {
  color: var(--color-ink);
  background: rgba(13, 13, 13, 0.03);
}
.events__nav-btn.is-active {
  color: var(--color-ink);
  background: var(--color-accent-soft);
  border-color: var(--color-accent-line);
  font-weight: 600;
}
.events__nav-btn.is-active .nav-num { opacity: 1; }
.events__nav-btn.is-active .count { color: var(--color-accent); }
.events__nav-btn.is-active .nav-arrow {
  opacity: 1;
  transform: translateX(0);
}

.events__panels {
  display: grid;
  gap: clamp(5rem, 8vw, 8rem);
}
.events__panel {
  display: block;
  scroll-margin-top: 140px;
  opacity: 0.42;
  filter: saturate(0.6);
  transition: opacity 600ms var(--ease-out), filter 600ms var(--ease-out);
  padding-block: var(--s-4);
  position: relative;
}
.events__panel::before {
  content: "";
  position: absolute;
  left: -1.25rem;
  top: 0.25rem;
  bottom: 0.25rem;
  width: 2px;
  background: var(--color-accent);
  opacity: 0;
  transform: scaleY(0.3);
  transform-origin: center;
  transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out);
  border-radius: 2px;
}
.events__panel.is-in-view {
  opacity: 1;
  filter: saturate(1);
}
.events__panel.is-in-view::before {
  opacity: 1;
  transform: scaleY(1);
}
.events__panel-meta {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 1rem;
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  font-weight: 600;
}
.events__panel-meta::before {
  content: "";
  width: 32px;
  height: 1px;
  background: currentColor;
}
.events__panel-title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
  line-height: 1.1;
  margin-bottom: 2rem;
  letter-spacing: -0.02em;
  color: var(--color-ink);
  font-weight: 500;
  text-wrap: balance;
}
.events__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s-2);
}
.events__list li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 1rem;
  padding: 1.125rem 0;
  border-bottom: 1px solid var(--line-light);
  font-size: var(--fs-body);
  color: var(--color-ink);
  line-height: 1.4;
  font-weight: 400;
}
.events__list li .num {
  font-family: var(--font-display);
  font-size: 0.8rem;
  color: var(--color-accent);
  padding-top: 5px;
  font-feature-settings: "tnum";
}
.events__list li strong { font-weight: 500; }

@media (max-width: 980px) {
  .events__head { grid-template-columns: 1fr; gap: var(--s-6); }
  .events__tabs { grid-template-columns: 1fr; gap: var(--s-6); }
  .events__nav {
    position: sticky;
    top: 96px;
    z-index: 5;
    grid-auto-flow: column;
    overflow-x: auto;
    padding: 0.75rem;
    background: var(--bg-light);
    margin-inline: calc(var(--gutter-x) * -1);
    padding-inline: var(--gutter-x);
    border-bottom: 1px solid var(--line-light);
    gap: 0.5rem;
    scrollbar-width: none;
  }
  .events__nav::-webkit-scrollbar { display: none; }
  .events__nav-helper { display: none; }
  .events__nav-btn {
    white-space: nowrap;
    min-width: max-content;
    padding: 0.625rem 0.875rem;
    font-size: 0.875rem;
    border: 1px solid var(--line-light-strong);
    border-radius: var(--r-pill);
    grid-template-columns: auto auto auto;
    gap: 0.5rem;
  }
  .events__nav-btn .nav-arrow { display: none; }
  .events__nav-btn .count { display: none; }
  .events__nav-btn.is-active { border-color: var(--color-accent); background: var(--color-accent-soft); }
  .events__panel { scroll-margin-top: 220px; }
  .events__panel::before { display: none; }
  .events__list { grid-template-columns: 1fr; }
}

/* ─── 09 · Versatility (marquee) ─── */
.versatility {
  background: var(--bg-dark-deep);
  color: var(--color-text);
  overflow: hidden;
}
.versatility__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--s-4);
  max-width: 62rem;
  margin: 0 auto var(--s-12);
}
.versatility__head h2 {
  font-size: clamp(2rem, 1.5rem + 2.4vw, 3.5rem);
  line-height: 1.05;
  max-width: 24ch;
  text-wrap: balance;
}
.versatility__head h2 em { font-style: italic; color: var(--color-accent); font-weight: 300; }
.versatility__head p {
  font-size: var(--fs-body-lg);
  color: var(--color-text-muted);
  line-height: 1.55;
  max-width: 56ch;
  font-weight: 300;
}
.marquee {
  display: flex;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.marquee__track {
  display: flex;
  gap: var(--s-5);
  animation: marquee-scroll 38s linear infinite;
  flex-shrink: 0;
  min-width: 100%;
  padding-block: var(--s-4);
}
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-100% - var(--s-5))); }
}
.marquee__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 1.75rem;
  border: 1px solid var(--line-dark);
  border-radius: var(--r-pill);
  font-family: var(--font-display);
  font-size: clamp(1rem, 0.85rem + 0.4vw, 1.25rem);
  letter-spacing: -0.015em;
  color: var(--color-text);
  white-space: nowrap;
  background: var(--bg-dark-elevated);
  font-weight: 500;
}
.marquee__chip::before {
  content: "";
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--color-accent);
  flex-shrink: 0;
}
.marquee + .marquee {
  margin-top: var(--s-4);
}
.marquee--reverse .marquee__track { animation-direction: reverse; animation-duration: 46s; }

@media (max-width: 980px) {
  .versatility__head { grid-template-columns: 1fr; gap: var(--s-6); }
}

/* ─── 10 · Eventos temáticos · sem hat, tags nas fotos ─── */
.thematic {
  background: var(--bg-light-warm);
}
.thematic__inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--s-10);
  align-items: stretch;
}
.thematic__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 36rem;
}
.thematic__copy h2 {
  font-size: clamp(2rem, 1.5rem + 2.4vw, 3.5rem);
  line-height: 1.05;
  margin-bottom: var(--s-3);
  max-width: 16ch;
  font-weight: 500;
}
.thematic__copy h2 em { font-style: italic; color: var(--color-accent); font-weight: 500; }
.thematic__copy > p {
  font-size: var(--fs-body-lg);
  color: var(--color-ink-muted);
  line-height: 1.6;
  margin-bottom: var(--s-3);
  font-weight: 400;
  text-wrap: pretty;
}
.thematic__copy > p:last-child { margin-bottom: 0; }

.thematic__visual {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
  min-height: 520px;
  align-self: stretch;
}
.thematic__visual-tile {
  position: relative;
  background: var(--bg-dark-elevated);
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line-light);
  transition: transform var(--d-base) var(--ease-out);
}
.thematic__visual-tile:hover { transform: translateY(-2px); }
.thematic__visual-tile:first-child {
  grid-row: span 2;
}
.thematic__visual-tile img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 900ms var(--ease-out);
}
.thematic__visual-tile:hover img { transform: scale(1.04); }

/* Vídeo ocupando o tile (reel vertical) */
.thematic__visual-video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

/* Degrade sutil de baixo */
.thematic__visual-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.72) 100%);
  pointer-events: none;
  z-index: 1;
}

/* Tag (label) sobre a foto */
.thematic__visual-tile-label {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  right: 1.25rem;
  z-index: 2;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.thematic__visual-tile-label::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--color-accent);
  flex-shrink: 0;
}

/* Estado placeholder (sem foto ainda) */
.thematic__visual-tile--placeholder {
  background: linear-gradient(135deg, var(--bg-light-elevated), var(--bg-light-warm));
  border: 1px dashed var(--line-light-strong);
}
.thematic__visual-tile--placeholder::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -65%);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58F27' stroke-width='1.4' opacity='0.6'><rect x='3' y='5' width='18' height='14' rx='2'/><circle cx='9' cy='11' r='2'/><path d='M3 17l5-4 4 3 5-5 4 4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
}
.thematic__visual-tile--placeholder::after {
  background: linear-gradient(180deg, transparent 50%, rgba(13,13,13,0.10) 100%);
}
.thematic__visual-tile--placeholder .thematic__visual-tile-label {
  color: var(--color-ink-muted);
}
.thematic__visual-tile--placeholder .thematic__visual-tile-label::before {
  background: var(--color-accent);
}

@media (max-width: 980px) {
  .thematic__inner { grid-template-columns: 1fr; gap: var(--s-8); }
  .thematic__visual { min-height: 480px; }
}

/* ─── 11 · Locução ─── */
.voice {
  background: var(--bg-dark);
  color: var(--color-text);
  position: relative;
  overflow: hidden;
}
.voice__inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--s-16);
  align-items: center;
}
.voice__copy h2 {
  font-size: clamp(2rem, 1.4rem + 2.6vw, 3.75rem);
  line-height: 1.05;
  margin-bottom: var(--s-6);
  max-width: 18ch;
}
.voice__copy h2 em { font-style: italic; color: var(--color-accent); font-weight: 300; }
.voice__copy p {
  font-size: var(--fs-body-lg);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: var(--s-8);
  max-width: 42ch;
  font-weight: 300;
}
.voice__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem 2rem;
  max-width: 36rem;
}
.voice__list li {
  font-size: var(--fs-body-sm);
  color: var(--color-text);
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  text-wrap: balance;
  line-height: 1.4;
}
.voice__list li::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
  flex-shrink: 0;
  transform: translateY(-2px);
}

.voice__visual {
  position: relative;
  aspect-ratio: 1/1;
  border-radius: var(--r-2xl);
  background: radial-gradient(circle at 30% 30%, rgba(245,143,39,0.18), transparent 60%), var(--bg-dark-elevated);
  border: 1px solid var(--line-dark);
  display: flex;
  align-items: center;
  justify-content: center;
}
.voice__waveform {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 40%;
}
.voice__waveform span {
  display: block;
  width: 4px;
  background: var(--color-accent);
  border-radius: var(--r-pill);
  animation: wave 1.4s var(--ease-in-out) infinite;
  height: 30%;
  opacity: 0.6;
}
.voice__waveform span:nth-child(1)  { animation-delay: 0s; height: 30%; }
.voice__waveform span:nth-child(2)  { animation-delay: 0.1s; height: 55%; }
.voice__waveform span:nth-child(3)  { animation-delay: 0.2s; height: 80%; }
.voice__waveform span:nth-child(4)  { animation-delay: 0.3s; height: 95%; }
.voice__waveform span:nth-child(5)  { animation-delay: 0.4s; height: 65%; }
.voice__waveform span:nth-child(6)  { animation-delay: 0.5s; height: 90%; }
.voice__waveform span:nth-child(7)  { animation-delay: 0.6s; height: 50%; }
.voice__waveform span:nth-child(8)  { animation-delay: 0.7s; height: 75%; }
.voice__waveform span:nth-child(9)  { animation-delay: 0.8s; height: 40%; }
.voice__waveform span:nth-child(10) { animation-delay: 0.9s; height: 60%; }
.voice__waveform span:nth-child(11) { animation-delay: 1s; height: 85%; }
.voice__waveform span:nth-child(12) { animation-delay: 1.1s; height: 35%; }
@keyframes wave {
  0%, 100% { transform: scaleY(0.7); opacity: 0.5; }
  50%      { transform: scaleY(1.2); opacity: 1; }
}
.voice__mic {
  position: absolute;
  bottom: var(--s-8);
  left: var(--s-8);
  font-family: var(--font-display);
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  color: var(--color-text-soft);
  display: flex;
  align-items: center;
  gap: var(--s-3);
}
.voice__mic::before {
  content: "";
  width: 32px; height: 1px;
  background: var(--color-accent);
}

@media (max-width: 980px) {
  .voice__inner { grid-template-columns: 1fr; gap: var(--s-12); }
  .voice__list { grid-template-columns: 1fr; }
}

/* ============================================================
   Contato · página única (one-fold, cabe em 1 viewport)
   ============================================================ */
.contact-onefold {
  min-height: calc(100vh - var(--s-20));
  display: flex;
  align-items: center;
  padding-block: var(--s-8);
  background: var(--bg-light);
}
.contact-onefold__inner {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: var(--s-10);
  align-items: center;
}
.contact-onefold__copy {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.contact-onefold__copy .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  font-weight: 600;
  color: var(--color-accent);
}
.contact-onefold__copy .eyebrow::before {
  content: "";
  width: 1.5rem;
  height: 1px;
  background: var(--color-accent);
}
.contact-onefold__copy h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: var(--tracking-display);
  color: var(--color-ink);
  margin: 0;
  text-wrap: balance;
}
.contact-onefold__copy h1 em {
  font-style: italic;
  color: var(--color-accent);
  font-weight: 300;
}
.contact-onefold__copy p {
  font-size: var(--fs-body);
  color: var(--color-ink-muted);
  line-height: 1.5;
  font-weight: 400;
  max-width: 42ch;
  margin: 0;
}
.contact-onefold__channels {
  margin-top: var(--s-4);
  display: grid;
  gap: var(--s-1);
  padding-top: var(--s-3);
  border-top: 1px solid var(--line-light);
}
.contact-onefold__channel {
  display: grid;
  grid-template-columns: 7rem 1fr;
  align-items: baseline;
  gap: var(--s-3);
  padding: 0.625rem 0;
  text-decoration: none;
  border-bottom: 1px solid var(--line-light);
  transition: background var(--d-base) var(--ease-out),
              padding var(--d-base) var(--ease-out);
}
.contact-onefold__channel:hover {
  padding-inline: var(--s-2);
  background: var(--bg-light-warm);
}
.contact-onefold__channel:last-child { border-bottom: none; }
.contact-onefold__channel-label {
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  font-weight: 600;
  color: var(--color-accent);
}
.contact-onefold__channel-value {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  color: var(--color-ink);
  letter-spacing: -0.005em;
  word-break: break-word;
}

/* Formulário */
.contact-onefold__form {
  display: grid;
  gap: var(--s-3);
  padding: var(--s-5);
  background: var(--bg-light-elevated);
  border: 1px solid var(--line-light);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-card);
}
.contact-onefold__form .field { margin: 0; }
.contact-onefold__form .field label {
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-ink-muted);
  font-weight: 600;
  margin-bottom: 0.25rem;
  display: block;
}
.contact-onefold__form .field input,
.contact-onefold__form .field textarea {
  width: 100%;
  padding: 0.6875rem 0.875rem;
  font-size: 0.9375rem;
  font-family: var(--font-sans);
  border: 1px solid var(--line-light-strong);
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--color-ink);
  outline: none;
  transition: border-color var(--d-base) var(--ease-out);
}
.contact-onefold__form .field input:focus {
  border-color: var(--color-accent);
}
.contact-onefold__form .field--row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-2);
}
.contact-onefold__form .btn {
  margin-top: var(--s-2);
}

@media (max-width: 980px) {
  .contact-onefold {
    min-height: auto;
    padding-block: var(--s-6);
  }
  .contact-onefold__inner {
    grid-template-columns: 1fr;
    gap: var(--s-5);
  }
}
@media (max-width: 560px) {
  .contact-onefold__channel {
    grid-template-columns: 6rem 1fr;
  }
  .contact-onefold__form { padding: var(--s-4); }
  .contact-onefold__form .field--row {
    grid-template-columns: 1fr;
    gap: var(--s-2);
  }
}

/* ============================================================
   Stats simple · trajetória resumida com foto da Flavia
   ============================================================ */
.stats-simple {
  background: var(--bg-light);
  padding-block: var(--section-y-lg);
}
.stats-simple__inner {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: var(--s-10);
  align-items: center;
  max-width: var(--container-wide);
  margin-inline: auto;
}
.stats-simple__copy {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}
.stats-simple__copy .eyebrow {
  color: var(--color-accent);
}
.stats-simple__copy h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.5rem + 2.2vw, 3.25rem);
  line-height: 1.06;
  letter-spacing: var(--tracking-display);
  color: var(--color-ink);
  text-wrap: balance;
  max-width: 22ch;
  margin: 0;
}
.stats-simple__copy h2 em {
  font-style: italic;
  color: var(--color-accent);
  font-weight: 400;
}
.stats-simple__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--s-2);
  padding-top: var(--s-4);
  border-top: 1px solid var(--line-light);
}
.stats-simple__list li {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  font-size: var(--fs-body);
  color: var(--color-ink-muted);
  line-height: 1.45;
  font-weight: 400;
}
/* Ícone de check (badge laranja) no lugar do antigo traço */
.stats-simple__list .lp-checklist__check {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--color-accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.stats-simple__list .lp-checklist__check svg { width: 0.95rem; height: 0.95rem; }

.stats-simple__visual {
  position: relative;
  border-radius: var(--r-2xl);
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--bg-light-warm);
}
.stats-simple__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform var(--d-cinematic) var(--ease-emphasized);
}
.stats-simple__visual:hover img {
  transform: scale(1.03);
}

@media (max-width: 900px) {
  .stats-simple__inner {
    grid-template-columns: 1fr;
    gap: var(--s-8);
  }
  .stats-simple__visual {
    max-width: 28rem;
    margin-inline: auto;
  }
}

/* ─── Voice player (waveform vertical + controles embaixo) ─── */
.voice__visual--player {
  display: flex;
  flex-direction: column;
  padding: var(--s-8) var(--s-6) var(--s-5);
  position: relative;
  aspect-ratio: 1/1;
  border-radius: var(--r-2xl);
  background: radial-gradient(circle at 30% 30%, rgba(245,143,39,0.18), transparent 60%), var(--bg-dark-elevated);
  border: 1px solid var(--line-dark);
  overflow: hidden;
}

/* Waveform vertical central */
.voice__visual--player .voice__waveform {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1;
  margin: 0 auto;
  width: 100%;
  max-width: 22rem;
}
.voice__visual--player .voice__waveform span {
  width: 4px;
  background: var(--color-accent);
  border-radius: var(--r-pill);
  animation: wave 1.4s var(--ease-in-out) infinite;
  animation-play-state: paused;
  opacity: 0.8;
  display: block;
}
.voice__visual--player .voice__waveform span:nth-child(1)  { animation-delay: 0s;    height: 25%; }
.voice__visual--player .voice__waveform span:nth-child(2)  { animation-delay: 0.07s; height: 45%; }
.voice__visual--player .voice__waveform span:nth-child(3)  { animation-delay: 0.14s; height: 65%; }
.voice__visual--player .voice__waveform span:nth-child(4)  { animation-delay: 0.21s; height: 85%; }
.voice__visual--player .voice__waveform span:nth-child(5)  { animation-delay: 0.28s; height: 70%; }
.voice__visual--player .voice__waveform span:nth-child(6)  { animation-delay: 0.35s; height: 90%; }
.voice__visual--player .voice__waveform span:nth-child(7)  { animation-delay: 0.42s; height: 55%; }
.voice__visual--player .voice__waveform span:nth-child(8)  { animation-delay: 0.49s; height: 80%; }
.voice__visual--player .voice__waveform span:nth-child(9)  { animation-delay: 0.56s; height: 100%; }
.voice__visual--player .voice__waveform span:nth-child(10) { animation-delay: 0.63s; height: 100%; }
.voice__visual--player .voice__waveform span:nth-child(11) { animation-delay: 0.70s; height: 80%; }
.voice__visual--player .voice__waveform span:nth-child(12) { animation-delay: 0.77s; height: 60%; }
.voice__visual--player .voice__waveform span:nth-child(13) { animation-delay: 0.84s; height: 90%; }
.voice__visual--player .voice__waveform span:nth-child(14) { animation-delay: 0.91s; height: 50%; }
.voice__visual--player .voice__waveform span:nth-child(15) { animation-delay: 0.98s; height: 70%; }
.voice__visual--player .voice__waveform span:nth-child(16) { animation-delay: 1.05s; height: 55%; }
.voice__visual--player .voice__waveform span:nth-child(17) { animation-delay: 1.12s; height: 40%; }
.voice__visual--player .voice__waveform span:nth-child(18) { animation-delay: 1.19s; height: 25%; }

.voice__visual--player.is-playing .voice__waveform span {
  animation-play-state: running;
  opacity: 1;
}

/* Controles abaixo do waveform: linha horizontal com botão + barra + tempo */
.voice__visual--player .voice-player__controls {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  width: 100%;
  margin-top: var(--s-5);
  position: relative;
  z-index: 2;
}
.voice__visual--player .voice-player__btn {
  /* Reset do grid antigo */
  grid-row: auto !important;
  grid-column: auto !important;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--color-accent);
  color: #fff;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: transform var(--d-base) var(--ease-out),
              background var(--d-base) var(--ease-out),
              box-shadow var(--d-base) var(--ease-out);
  box-shadow: 0 8px 24px -8px var(--accent-glow);
  padding: 0;
}
.voice__visual--player .voice-player__btn:hover {
  transform: scale(1.06);
  background: var(--color-accent-hover);
  box-shadow: 0 12px 32px -8px var(--accent-glow);
}
.voice__visual--player .voice-player__btn::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid var(--color-accent-line);
  opacity: 0;
  transition: opacity var(--d-base) var(--ease-out);
  pointer-events: none;
}
.voice__visual--player.is-playing .voice-player__btn::before {
  opacity: 1;
  animation: voice-pulse 1.6s ease-out infinite;
}
@keyframes voice-pulse {
  0%   { transform: scale(1);   opacity: 0.7; }
  100% { transform: scale(1.4); opacity: 0; }
}
.voice__visual--player .voice-player__btn svg {
  width: 20px;
  height: 20px;
}
.voice-player__icon-pause { display: none; }
.voice__visual--player.is-playing .voice-player__icon-play { display: none; }
.voice__visual--player.is-playing .voice-player__icon-pause { display: block; }

/* Coluna com barra de progresso + tempo */
.voice__visual--player .voice-player__bar {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.voice__visual--player .voice-player__progress {
  height: 4px;
  border-radius: var(--r-pill);
  background: rgba(255,255,255,0.12);
  overflow: hidden;
  cursor: pointer;
  width: 100%;
}
.voice__visual--player .voice-player__progress-fill {
  height: 100%;
  width: 0%;
  background: var(--color-accent);
  border-radius: var(--r-pill);
  transition: width 0.1s linear;
}
.voice__visual--player .voice-player__time {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  color: var(--color-text-soft);
  font-variant-numeric: tabular-nums;
  gap: var(--s-2);
}

/* Esconde o seletor antigo :has() que mexia no padding interno */
.voice__visual:has(.voice-player):not(.voice__visual--player) {
  aspect-ratio: auto;
  background: radial-gradient(circle at 30% 30%, rgba(245,143,39,0.20), transparent 60%), var(--bg-dark-elevated);
  padding: var(--s-10) var(--s-6) var(--s-12);
  position: relative;
  border: 1px solid var(--line-dark);
  border-radius: var(--r-2xl);
}

/* "Estúdio · Eventos · Webinars" — mantém posição embaixo à esquerda */
.voice__visual--player .voice__mic {
  position: relative;
  bottom: auto;
  left: auto;
  margin-top: var(--s-4);
  font-family: var(--font-display);
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  color: var(--color-text-soft);
  display: flex;
  align-items: center;
  gap: var(--s-3);
}

@media (max-width: 560px) {
  .voice__visual--player { padding: var(--s-6) var(--s-4); }
  .voice__visual--player .voice-player__btn {
    width: 3rem;
    height: 3rem;
  }
  .voice__visual--player .voice-player__controls {
    gap: var(--s-2);
  }
}

/* ─── 12 · Testimonials ─── */
.testimonials {
  background: var(--bg-light);
}
.testimonials__head {
  text-align: center;
  max-width: 56rem;
  margin: 0 auto var(--s-14);
}
.testimonials__head h2 {
  font-size: clamp(2rem, 1.5rem + 2.4vw, 3.5rem);
  line-height: 1.05;
  margin-inline: auto;
}
.testimonials__head h2 em { font-style: italic; color: var(--color-accent); font-weight: 300; }

.testimonials__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s-6);
}
.testimonial {
  background: var(--bg-light-elevated);
  border: 1px solid var(--line-light);
  border-radius: var(--r-lg);
  padding: 2.5rem;
  position: relative;
  transition: box-shadow var(--d-base) var(--ease-out), transform var(--d-base) var(--ease-out);
}
.testimonial:hover {
  box-shadow: var(--shadow-card);
  transform: translateY(-2px);
}
.testimonial__quote {
  font-family: var(--font-display);
  font-size: 4rem;
  line-height: 0.6;
  color: var(--color-accent);
  position: absolute;
  top: 1.5rem;
  left: 2.5rem;
  pointer-events: none;
  font-weight: 600;
}
.testimonial blockquote {
  font-family: var(--font-display);
  font-size: 1.35rem;
  line-height: 1.45;
  color: var(--color-ink);
  margin-bottom: var(--s-6);
  margin-top: var(--s-6);
  letter-spacing: -0.015em;
  font-weight: 400;
  font-style: italic;
}
.testimonial__author {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding-top: var(--s-5);
  border-top: 1px solid var(--line-light);
}
.testimonial__author-initial {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--color-accent-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  color: var(--color-accent);
  font-size: 1.125rem;
  font-weight: 600;
  flex-shrink: 0;
}
.testimonial__author-photo {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  flex-shrink: 0;
  border: 1px solid var(--line-light);
  background: var(--bg-light-warm);
}
.testimonial__author-info {
  display: flex;
  flex-direction: column;
}
.testimonial__author-info strong {
  font-family: var(--font-sans);
  font-size: var(--fs-body-sm);
  color: var(--color-ink);
  font-weight: 500;
}
.testimonial__author-info span {
  font-size: var(--fs-micro);
  color: var(--color-ink-soft);
}

/* Esconde cards além do 4º até o "Ver mais" */
.testimonials__grid > .testimonial:nth-child(n+5) { display: none; }
.testimonials__grid.is-expanded > .testimonial:nth-child(n+5) {
  display: block;
  animation: dep-in 600ms var(--ease-emphasized) both;
}
@keyframes dep-in {
  from { opacity: 0; transform: translateY(20px); filter: blur(6px); }
  to   { opacity: 1; transform: translateY(0); filter: blur(0); }
}
.testimonials__grid > .testimonial:nth-child(5)  { animation-delay: 0ms; }
.testimonials__grid > .testimonial:nth-child(6)  { animation-delay: 80ms; }
.testimonials__grid > .testimonial:nth-child(7)  { animation-delay: 160ms; }
.testimonials__grid > .testimonial:nth-child(8)  { animation-delay: 240ms; }
.testimonials__grid > .testimonial:nth-child(9)  { animation-delay: 320ms; }
.testimonials__grid > .testimonial:nth-child(10) { animation-delay: 400ms; }

.testimonials__more {
  display: flex;
  justify-content: center;
  margin-top: var(--s-6);
}
.testimonials__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 1.75rem;
  background: transparent;
  border: 1px solid var(--line-light-strong);
  border-radius: var(--r-pill);
  font-family: var(--font-sans);
  font-size: var(--fs-body-sm);
  font-weight: 500;
  letter-spacing: var(--tracking-mid);
  text-transform: uppercase;
  color: var(--color-ink);
  cursor: pointer;
  transition: background 480ms var(--ease-emphasized),
              color 380ms var(--ease-out),
              border-color 380ms var(--ease-out),
              transform 480ms var(--ease-emphasized);
}
.testimonials__btn svg {
  width: 16px; height: 16px;
  transition: transform 480ms var(--ease-emphasized);
}
.testimonials__btn:hover {
  background: var(--color-ink);
  color: var(--bg-light);
  border-color: var(--color-ink);
  transform: translateY(-2px);
}
.testimonials__btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

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

/* ─── 13 · Clients ─── */
.clients {
  background: var(--bg-light-warm);
  border-top: 1px solid var(--line-light);
}
.clients__head { text-align: center; max-width: 50rem; margin: 0 auto var(--s-12); }
.clients__head h2 {
  font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);
  line-height: 1.1;
}
.clients__head p {
  font-size: var(--fs-body-lg);
  color: var(--color-ink-muted);
  margin-top: var(--s-4);
  font-weight: 300;
}
/* ─── Logos de clientes — fundo dark institucional ─── */
.clients {
  background: var(--bg-dark);
  color: var(--color-text);
  border-top: 1px solid var(--line-dark);
}
.clients .eyebrow { color: var(--color-accent); }
.clients .clients__head h2 { color: var(--color-text); }
.clients .clients__head p { color: var(--color-text-muted); }

.clients__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: var(--s-8);
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.client-logo {
  aspect-ratio: 16 / 9;
  background: var(--bg-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.75rem 2rem;
  transition: background var(--d-base) var(--ease-out);
}
.client-logo:hover {
  background: var(--bg-dark-elevated);
}
.client-logo img {
  max-width: 100%;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.78;
  transition: opacity var(--d-base) var(--ease-out), transform var(--d-base) var(--ease-out);
  filter: brightness(1);
}
.client-logo:hover img {
  opacity: 1;
  transform: scale(1.04);
}
@media (max-width: 980px) { .clients__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px) { .clients__grid { grid-template-columns: repeat(2, 1fr); } }

/* ─── 14 · Contact ─── */
.contact {
  background: var(--bg-dark);
  color: var(--color-text);
  position: relative;
  overflow: hidden;
}
.contact__inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--s-16);
  align-items: start;
}
.contact__copy h2 {
  font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);
  line-height: 1.02;
  margin-bottom: var(--s-6);
  max-width: 16ch;
}
.contact__copy h2 em { font-style: italic; color: var(--color-accent); font-weight: 300; }
.contact__copy p {
  font-size: var(--fs-body-lg);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: var(--s-8);
  max-width: 38ch;
  font-weight: 300;
}
.contact__channels {
  display: grid;
  gap: var(--s-5);
  margin-top: var(--s-10);
}
.contact__channel {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--line-dark);
}
.contact__channel-label {
  font-family: var(--font-sans);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-mid);
  text-transform: uppercase;
  color: var(--color-accent);
  width: 100px;
  flex-shrink: 0;
}
.contact__channel a {
  font-family: var(--font-display);
  font-size: 1.35rem;
  letter-spacing: -0.02em;
  color: var(--color-text);
  transition: color var(--d-base) var(--ease-out);
}
.contact__channel a:hover { color: var(--color-accent); }

.contact__form {
  background: var(--bg-dark-elevated);
  border: 1px solid var(--line-dark);
  border-radius: var(--r-xl);
  padding: 2.5rem;
}
.contact__form-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.375rem;
  margin-bottom: 2rem;
  padding: 0.375rem;
  background: var(--bg-dark-deep);
  border-radius: var(--r-pill);
}
.contact__form-toggle button {
  padding: 0.75rem 1.25rem;
  border-radius: var(--r-pill);
  font-family: var(--font-sans);
  font-size: var(--fs-body-sm);
  font-weight: 500;
  letter-spacing: var(--tracking-mid);
  text-transform: uppercase;
  color: var(--color-text-soft);
  transition: background var(--d-base) var(--ease-out), color var(--d-base) var(--ease-out);
}
.contact__form-toggle button.is-active {
  background: var(--color-accent);
  color: var(--bg-dark);
}
.field { display: grid; gap: 0.5rem; margin-bottom: 1.25rem; }
.field--row { grid-template-columns: 1fr 1fr; gap: 1rem; }
.field label {
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-mid);
  text-transform: uppercase;
  color: var(--color-text-soft);
  font-weight: 500;
}
.field input, .field textarea {
  width: 100%;
  padding: 0.875rem 1.125rem;
  background: var(--bg-dark-deep);
  border: 1px solid var(--line-dark);
  border-radius: var(--r-md);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  color: var(--color-text);
  transition: border-color var(--d-base) var(--ease-out), background var(--d-base) var(--ease-out);
}
.field input:focus, .field textarea:focus {
  outline: 0;
  border-color: var(--color-accent);
  background: var(--bg-dark);
}
.field input::placeholder, .field textarea::placeholder { color: var(--color-text-soft); }
.contact__form .btn { width: 100%; margin-top: var(--s-3); }

.contact__form-group { display: none; }
.contact__form-group.is-active { display: block; animation: fade-in 400ms var(--ease-out); }
@keyframes fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 980px) {
  .contact__inner { grid-template-columns: 1fr; gap: var(--s-12); }
  .field--row { grid-template-columns: 1fr; }
  .contact__form { padding: var(--s-8); }
}

/* ─── Social bar ─── */
.social {
  background: var(--bg-dark-deep);
  padding: var(--s-12) 0;
  border-top: 1px solid var(--line-dark);
  text-align: center;
}
.social h6 {
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--s-6);
}
.social__list {
  display: flex;
  gap: var(--s-3);
  justify-content: center;
  flex-wrap: wrap;
}
.social__list a {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1.25rem;
  border: 1px solid var(--line-dark-strong);
  border-radius: var(--r-pill);
  font-family: var(--font-sans);
  font-size: var(--fs-body-sm);
  color: var(--color-text);
  transition: background var(--d-base) var(--ease-out), border-color var(--d-base) var(--ease-out), color var(--d-base) var(--ease-out);
}
.social__list a:hover {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--bg-dark);
}
.social__list svg { width: 18px; height: 18px; }

/* Hint do carousel — só aparece no mobile via responsivo abaixo */
.authority__hint { display: none; }

/* ============================================================
   ░░ RESPONSIVO · HOME ░░
   ============================================================ */

/* ─── Tablet · 1080px ─── */
@media (max-width: 1080px) {
  .hero__cutout { height: 76%; right: -3rem; opacity: 0.5; }
}

/* ─── Tablet pequeno · 880px ─── */
@media (max-width: 880px) {
  .hero { min-height: 92svh; padding-top: 6rem; padding-bottom: 3rem; }
  .hero__headline { font-size: clamp(1.875rem, 1.4rem + 2vw, 2.75rem); max-width: 18ch; }
  .hero__sub { font-size: 1rem; max-width: 32rem; }
  .hero__scroll { display: none; }
  .hero__meta {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding-top: 1.5rem;
    margin-top: 2rem;
  }
  .hero__meta-item .num { font-size: 1.125rem; }
  .hero__meta-item .label { font-size: 0.625rem; letter-spacing: 0.05em; }
}

/* ─── Mobile · 720px ─── */
@media (max-width: 720px) {
  .hero {
    min-height: 88svh;
    padding-top: 5.5rem;
    padding-bottom: 2.5rem;
  }
  .hero__cutout { display: none; }
  .hero__content { max-width: 100%; }
  .hero__eyebrow { padding: 0.375rem 0.75rem; font-size: 0.625rem; }
  .hero__ctas { flex-direction: column; align-items: stretch; gap: 0.75rem; }
  .hero__ctas .btn { width: 100%; }
  .hero__meta {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-top: 1.5rem;
    margin-top: 2rem;
    text-align: left;
  }
  .hero__meta-item {
    flex-direction: row;
    align-items: baseline;
    gap: 0.75rem;
    justify-content: flex-start;
  }
  .hero__meta-item .num { font-size: 1.0625rem; white-space: nowrap; }
  .hero__meta-item .label { font-size: 0.625rem; white-space: normal; max-width: none; }

  /* HERO META · oculto em vertical */
  .hero__meta { display: none; }
  .hero__content { padding-bottom: 0; }

  /* AUTHORITY · hint + carousel horizontal */
  .authority__hint {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-soft);
    font-weight: 500;
    margin-bottom: 1rem;
    opacity: 0.85;
  }
  .authority__hint svg {
    width: 22px; height: 12px;
    color: var(--color-accent);
    animation: hint-swipe 1.6s ease-in-out infinite;
  }
  @keyframes hint-swipe {
    0%, 100% { transform: translateX(0); opacity: 0.55; }
    50%      { transform: translateX(6px); opacity: 1; }
  }

  .authority__grid {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 1.5rem;
    margin-inline: calc(var(--gutter-x) * -1);
    padding-inline: var(--gutter-x);
  }
  .authority__grid::-webkit-scrollbar { display: none; }
  .authority__card,
  .authority__card--1, .authority__card--2,
  .authority__card--3, .authority__card--4, .authority__card--5 {
    grid-column: unset;
    flex: 0 0 82vw;
    max-width: 320px;
    scroll-snap-align: start;
  }
  .authority__card-inner,
  .authority__card--wide .authority__card-inner,
  .authority__card--tall .authority__card-inner {
    aspect-ratio: 4 / 5;
  }
  .authority__card-meta { padding: 1.25rem; }
  .authority__card-meta h4 { font-size: 1.0625rem; }

  /* MC · carrossel mais baixo */
  .mc__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .mc__carousel { height: 360px; }
  .mc__carousel-card { aspect-ratio: 4 / 5; }

  /* DIFF · cards single column */
  .diff__head { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2.5rem; }
  .diff__grid { grid-template-columns: 1fr; gap: 0.875rem; }
  .diff__card { padding: 1.75rem; gap: 0.75rem; }
  .diff__card h4 { font-size: 1.25rem; }

  /* VIDEOS · mobile */
  .videos__inner { gap: 2rem; }
  .videos__cards { gap: 1.25rem; }
  .video-card__lang { top: 1rem; left: 1rem; padding: 0.375rem 0.75rem; font-size: 0.625rem; }
  .video-card__play span { width: 56px; height: 56px; }
  .video-card__play svg { width: 18px; height: 18px; }

  /* STATS · stack + visual menor */
  .stats__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .stats__numbers { grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 1.5rem 0; }
  .stats__num .num { font-size: 1.75rem; }
  .stats__num .label { font-size: 0.625rem; }
  .stats__loop { aspect-ratio: 4/3; }

  /* STRATEGIC · stack + lista menor */
  .strategic__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .strategic__visual { aspect-ratio: 4/3; }
  .strategic__list-item { grid-template-columns: 32px 1fr; gap: 0.75rem; padding: 1rem 0; }
  .strategic__list-item h5 { font-size: 1.125rem; }
  .strategic__visual-meta { bottom: 1.5rem; left: 1.5rem; right: 1.5rem; }
  .strategic__visual-meta p { font-size: 1rem; }

  /* EVENTS showcase · já tem nav horizontal, ajuste fino */
  .events { padding-block: 4rem; }
  .events__head { margin-bottom: 2rem; }
  .events__tabs { padding-top: 1.5rem; }
  .events__nav { top: 80px; }
  .events__panel { padding-block: 1rem; }
  .events__panel-title { font-size: 1.375rem; margin-bottom: 1rem; }

  /* VERSATILITY marquee */
  .versatility__head { margin-bottom: 2rem; }
  .marquee__chip { padding: 0.75rem 1.25rem; font-size: 0.9375rem; }

  /* THEMATIC · stack vertical, 1 tile destaque */
  .thematic__inner { gap: 2.5rem; }
  .thematic__copy h2 { max-width: 100%; }
  .thematic__visual {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: auto;
    gap: 0.875rem;
  }
  .thematic__visual-tile { aspect-ratio: 4 / 3; }
  .thematic__visual-tile:first-child { grid-row: unset; aspect-ratio: 4 / 3; }

  /* VOICE · stack + lista única coluna */
  .voice__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .voice__list { grid-template-columns: 1fr; gap: 0.625rem; max-width: 100%; }
  .voice__visual { aspect-ratio: 4 / 3; }
  .voice__waveform { height: 50%; }
  .voice__mic { bottom: 1.5rem; left: 1.5rem; font-size: 0.8125rem; }

  /* TESTIMONIALS · single col + padding menor */
  .testimonials__grid { grid-template-columns: 1fr; gap: 1rem; }
  .testimonial { padding: 1.75rem; }
  .testimonial__quote { font-size: 3rem; top: 1rem; left: 1.75rem; }
  .testimonial blockquote { font-size: 1.125rem; margin-top: 1.5rem; margin-bottom: 1.5rem; }

  /* CLIENTS · 2 cols com logos visíveis */
  .clients__grid { grid-template-columns: repeat(2, 1fr); }
  .client-logo { padding: 1rem 1.25rem; aspect-ratio: 16 / 11; }
  .client-logo img { max-height: 38px; }
  .clients__head { margin-bottom: 2rem; }

  /* CONTACT form · padding menor */
  .contact__inner { gap: 2.5rem; }
  .contact__copy p { max-width: 100%; }
  .contact__channels { margin-top: 1.5rem; gap: 0; }
  .contact__channel {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 1rem 0;
  }
  .contact__channel-label { width: auto; }
  .contact__channel a { font-size: 1.125rem; word-break: break-word; }

  .contact__form { padding: 1.5rem; border-radius: var(--r-lg); }
  .contact__form-toggle { margin-bottom: 1.5rem; }
  .contact__form-toggle button { padding: 0.625rem 0.75rem; font-size: 0.6875rem; }
  .field { margin-bottom: 1rem; }
  .field--row { grid-template-columns: 1fr; gap: 0.5rem; }
  .field input, .field textarea { padding: 0.75rem 1rem; font-size: 1rem; }

  /* SOCIAL */
  .social { padding: 2.5rem 0; }
  .social h6 { margin-bottom: 1.5rem; }
  .social__list { gap: 0.5rem; }
  .social__list a { padding: 0.625rem 1rem; font-size: 0.8125rem; }
}

/* ─── Mobile pequeno · 480px ─── */
@media (max-width: 480px) {
  .hero__headline { font-size: 1.75rem; }
  .hero__eyebrow { font-size: 0.5625rem; }

  .authority__card { flex-basis: 88vw; }

  .stats__numbers { grid-template-columns: 1fr; gap: 0.875rem; }
  .stats__num { display: flex; align-items: baseline; gap: 0.75rem; }
  .stats__num .label { margin-top: 0; }

  .clients__grid { grid-template-columns: 1fr; }
  .client-logo { aspect-ratio: 16 / 8; }
}

/* ============================================================
   Modificadores adicionados no briefing de junho/2026
   ============================================================ */

/* Subtítulo secundário do bloco de vídeos */
.lead.lead--soft {
  margin-top: var(--s-4);
  color: var(--color-text-soft);
  font-size: var(--fs-body);
  font-style: italic;
  font-weight: 300;
}

/* Depoimentos · layout dark com foto quadrada + estrelas (todos visíveis) */
.testimonials--featured {
  background: var(--bg-dark-deep);
  color: var(--color-text);
  padding-block: var(--section-y-lg);
}
.testimonials--featured .testimonials__head h2 { color: var(--color-text); }
.testimonials--featured .testimonials__head h2 em { color: var(--color-accent); }
.testimonials--featured .eyebrow { color: var(--color-accent); }

/* Override: TODOS os depoimentos aparecem (sem "Ver mais") */
.testimonials__grid--featured > .testimonial:nth-child(n+5) {
  display: grid !important;
  animation: none !important;
}

.testimonials__grid--featured {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s-5);
}

.testimonial.testimonial--lg {
  display: grid;
  grid-template-columns: 16rem 1fr;
  grid-template-rows: auto auto 1fr;
  gap: 0;
  align-items: start;
  padding: 0;
  overflow: hidden;
  background: var(--bg-dark-elevated);
  border: 1px solid var(--line-dark);
  border-radius: var(--r-xl);
  position: relative;
  transition: box-shadow var(--d-base) var(--ease-out),
              transform var(--d-base) var(--ease-out),
              border-color var(--d-base) var(--ease-out);
}
.testimonial.testimonial--lg::before { content: none; }

/* Foto quadrada à esquerda, ocupando toda a altura */
.testimonial.testimonial--lg > .testimonial__author-photo {
  grid-area: photo;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 18rem;
  border: none;
  border-radius: 0;
  object-fit: cover;
  object-position: center 22%;
  background: var(--bg-dark);
  align-self: stretch;
}

/* Conteúdo agrupado à direita via flex em uma única coluna */
.testimonial.testimonial--lg > blockquote,
.testimonial.testimonial--lg > .testimonial__stars,
.testimonial.testimonial--lg > .testimonial__author {
  grid-area: content;
}

/* O conteúdo todo dentro de um wrapper visual usando subgrid-like flex */
.testimonial.testimonial--lg {
  display: grid;
  grid-template-columns: 16rem 1fr;
}
.testimonial.testimonial--lg > .testimonial__author {
  grid-column: 2;
  grid-row: 1;
  padding: var(--s-5) var(--s-5) 0;
  margin: 0;
  align-self: start;
}
.testimonial.testimonial--lg > .testimonial__stars {
  grid-column: 2;
  grid-row: 2;
  margin: var(--s-3) var(--s-5) 0;
  align-self: start;
}
.testimonial.testimonial--lg > blockquote {
  grid-column: 2;
  grid-row: 3;
  padding: var(--s-3) var(--s-5) var(--s-5);
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--color-text-muted);
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.005em;
  align-self: start;
}
.testimonial.testimonial--lg > .testimonial__author-photo {
  grid-column: 1;
  grid-row: 1 / -1;
}

/* Placeholder com inicial (quando não há foto) */
.testimonial.testimonial--lg > .testimonial__author-initial {
  grid-column: 1;
  grid-row: 1 / -1;
  width: 100%;
  height: 100%;
  min-height: 16rem;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 30% 30%, rgba(245,143,39,0.25), transparent 60%),
    linear-gradient(155deg, rgba(245,143,39,0.18), rgba(13,13,13,0.4));
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(4rem, 6vw, 7rem);
  color: rgba(255,255,255,0.95);
  letter-spacing: -0.02em;
  text-shadow: 0 4px 16px rgba(0,0,0,0.4);
}

/* Quote decorativo escondido — o destaque agora são as estrelas */
.testimonial.testimonial--lg .testimonial__quote {
  display: none;
}

/* Estrelas amarelas */
.testimonial__stars {
  display: flex;
  gap: 0.25rem;
  color: #FFC83A;
}
.testimonial__stars svg {
  width: 1.125rem;
  height: 1.125rem;
}

/* Author no rodapé */
.testimonial.testimonial--lg .testimonial__author {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  border-top: none;
}
.testimonial.testimonial--lg .testimonial__author-info strong {
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.testimonial.testimonial--lg .testimonial__author-info span {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  font-weight: 400;
}
.testimonial.testimonial--lg .testimonial__author > .testimonial__author-photo,
.testimonial.testimonial--lg .testimonial__author > img.testimonial__author-photo {
  display: none;
}
.testimonial.testimonial--lg .testimonial__author-info {
  gap: 2px;
}
.testimonial.testimonial--lg .testimonial__author-info strong {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  color: var(--color-text);
  font-weight: 600;
  letter-spacing: -0.005em;
}
.testimonial.testimonial--lg .testimonial__author-info span {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

.testimonial.testimonial--lg:hover {
  transform: translateY(-3px);
  border-color: var(--color-accent-line);
  box-shadow: 0 18px 40px -20px rgba(0,0,0,0.5);
}

@media (max-width: 1280px) {
  .testimonials__grid--featured { grid-template-columns: 1fr; max-width: 60rem; margin-inline: auto; }
  .testimonial.testimonial--lg { grid-template-columns: 16rem 1fr; }
}
@media (max-width: 760px) {
  .testimonial.testimonial--lg {
    grid-template-columns: 12rem 1fr;
  }
}
@media (max-width: 560px) {
  .testimonial.testimonial--lg {
    grid-template-columns: 1fr;
  }
  .testimonial.testimonial--lg > .testimonial__author-photo {
    grid-column: 1;
    grid-row: 1;
    height: 16rem;
    min-height: 16rem;
    object-position: center 22%;
  }
  .testimonial.testimonial--lg > .testimonial__author {
    grid-column: 1;
    grid-row: 2;
    padding: var(--s-4) var(--s-4) 0;
  }
  .testimonial.testimonial--lg > .testimonial__stars {
    grid-column: 1;
    grid-row: 3;
    margin: var(--s-3) var(--s-4) 0;
  }
  .testimonial.testimonial--lg > blockquote {
    grid-column: 1;
    grid-row: 4;
    padding: var(--s-3) var(--s-4) var(--s-4);
  }
}

/* Contato · botão rápido WhatsApp */
.contact__wa-quick {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  margin-top: var(--s-6);
  padding: 0.875rem 1.5rem;
  background: #25D366;
  color: #fff;
  border-radius: var(--r-pill);
  font-weight: 500;
  font-size: var(--fs-body-sm);
  letter-spacing: var(--tracking-mid);
  text-decoration: none;
  transition: transform var(--d-base) var(--ease-out), box-shadow var(--d-base) var(--ease-out), background var(--d-base) var(--ease-out);
  box-shadow: 0 8px 24px -10px rgba(37, 211, 102, 0.5);
}
.contact__wa-quick:hover {
  transform: translateY(-2px);
  background: #1FB957;
  box-shadow: 0 12px 32px -10px rgba(37, 211, 102, 0.65);
  color: #fff;
}
.contact__wa-quick svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
@media (max-width: 560px) {
  .contact__wa-quick { width: 100%; justify-content: center; padding: 1rem 1.25rem; }
  .contact__wa-quick span { font-size: 0.875rem; }
}

/* Clients grid · expandir para 4 colunas e suportar 8 logos */
.clients__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1100px) {
  .clients__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .clients__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   Events slider · carrossel de categorias com card dedicado
   ============================================================ */
.events-slider {
  background: var(--bg-dark-deep);
  color: var(--color-text);
  padding-block: var(--section-y-lg);
  position: relative;
  overflow: hidden;
}
.events-slider__head {
  text-align: center;
  max-width: 62rem;
  margin: 0 auto var(--s-10);
}
.events-slider__head .eyebrow {
  justify-content: center;
  color: var(--color-accent);
}
.events-slider__head h2 {
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 1.7rem + 2.4vw, 3.75rem);
  line-height: 1.04;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
.events-slider__head h2 em {
  font-style: italic;
  color: var(--color-accent);
  font-weight: 300;
}
.events-slider__head p {
  margin-top: var(--s-4);
  font-size: var(--fs-body-lg);
  color: var(--color-text-muted);
  font-weight: 300;
  line-height: 1.55;
  max-width: 50rem;
  margin-inline: auto;
}

.events-slider__viewport {
  position: relative;
  max-width: var(--container-wide);
  margin: 0 auto;
}
.events-slider__track {
  position: relative;
  display: grid;
  grid-template-areas: "stack";
  min-height: 30rem;
}
.events-slider__slide {
  grid-area: stack;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--s-8);
  align-items: stretch;
  padding: var(--s-6);
  background: var(--bg-dark-elevated);
  border: 1px solid var(--line-dark);
  border-radius: var(--r-2xl);
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px) scale(0.98);
  transition: opacity 540ms var(--ease-emphasized),
              transform 540ms var(--ease-emphasized);
}
.events-slider__slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  z-index: 2;
}

.events-slider__visual {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  min-height: 26rem;
}
.events-slider__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--d-cinematic) var(--ease-emphasized);
}
.events-slider__slide.is-active .events-slider__visual img {
  animation: events-slider-zoom 8s var(--ease-emphasized) forwards;
}
@keyframes events-slider-zoom {
  from { transform: scale(1); }
  to   { transform: scale(1.06); }
}

.events-slider__content {
  display: flex;
  flex-direction: column;
  padding: var(--s-3) var(--s-2) var(--s-2);
}
.events-slider__counter {
  font-family: var(--font-sans);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  font-weight: 600;
  margin-bottom: var(--s-3);
}
.events-slider__content h3 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.4rem + 1.6vw, 2.75rem);
  line-height: 1.05;
  letter-spacing: var(--tracking-display);
  margin-bottom: var(--s-2);
  text-wrap: balance;
}
.events-slider__content h3 em {
  font-style: italic;
  color: var(--color-accent);
  font-weight: 300;
}
.events-slider__subtitle {
  font-size: var(--fs-body);
  color: var(--color-text-muted);
  margin-bottom: var(--s-5);
  font-weight: 300;
  line-height: 1.5;
}
.events-slider__list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: events;
  display: grid;
  gap: 0.625rem;
  padding-top: var(--s-4);
  border-top: 1px solid var(--line-dark);
}
.events-slider__list li {
  counter-increment: events;
  position: relative;
  padding-left: 2.25rem;
  font-size: var(--fs-body-sm);
  color: var(--color-text-muted);
  line-height: 1.4;
}
.events-slider__list li::before {
  content: counter(events, decimal-leading-zero) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-display);
  color: var(--color-accent);
  font-weight: 500;
  font-size: var(--fs-body-sm);
}
.events-slider__list li strong {
  color: var(--color-text);
  font-weight: 500;
}

/* Botões prev/next */
.events-slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line-dark-strong);
  color: var(--color-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: background var(--d-base) var(--ease-out),
              border-color var(--d-base) var(--ease-out),
              transform var(--d-base) var(--ease-out),
              opacity var(--d-base) var(--ease-out);
  backdrop-filter: blur(8px);
}
.events-slider__nav svg {
  width: 18px;
  height: 18px;
}
.events-slider__nav:hover:not(:disabled) {
  background: var(--color-accent);
  border-color: var(--color-accent);
  transform: translateY(-50%) scale(1.06);
}
.events-slider__nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.events-slider__nav--prev { left: -1.5rem; }
.events-slider__nav--next { right: -1.5rem; }

/* Dots */
.events-slider__dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: var(--s-6);
}
.events-slider__dot {
  width: 2.25rem;
  height: 4px;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  cursor: pointer;
  padding: 0;
  transition: background var(--d-base) var(--ease-out),
              transform var(--d-base) var(--ease-out);
}
.events-slider__dot.is-active {
  background: var(--color-accent);
  transform: scaleX(1.3);
}
.events-slider__dot:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.4);
}

@media (max-width: 960px) {
  .events-slider__slide {
    grid-template-columns: 1fr;
    padding: var(--s-4);
  }
  .events-slider__visual { min-height: 14rem; }
  .events-slider__nav--prev { left: 0.5rem; }
  .events-slider__nav--next { right: 0.5rem; }
}
@media (max-width: 560px) {
  .events-slider__nav {
    width: 2.75rem;
    height: 2.75rem;
  }
  .events-slider__list li {
    padding-left: 2rem;
  }
}

/* ============================================================
   Versatility · carrossel de fotos com tags sobrepostas
   ============================================================ */
.versatility--carousel { overflow: visible; }
.versatility-carousel {
  position: relative;
  margin-top: var(--s-10);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--s-3);
  max-width: var(--container-wide);
  margin-inline: auto;
}
.versatility-carousel__viewport {
  overflow: hidden;
  width: 100%;
  padding: var(--s-2) 0;
}
.versatility-carousel__track {
  display: flex;
  gap: var(--s-3);
  transition: transform 540ms var(--ease-emphasized);
  will-change: transform;
}
.versatility-card {
  position: relative;
  flex: 0 0 calc((100% - (var(--s-3) * 3)) / 4);
  aspect-ratio: 4 / 5;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--bg-dark-elevated);
  border: 1px solid var(--line-dark);
  transition: transform var(--d-base) var(--ease-out),
              box-shadow var(--d-base) var(--ease-out);
}
.versatility-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-dark);
}
.versatility-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--d-cinematic) var(--ease-emphasized);
}
.versatility-card:hover img {
  transform: scale(1.06);
}
.versatility-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
              rgba(13,13,13,0) 35%,
              rgba(13,13,13,0.55) 65%,
              rgba(13,13,13,0.92) 100%);
  pointer-events: none;
}
.versatility-card__tag {
  position: absolute;
  inset: auto 1rem 1rem 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: rgba(13, 13, 13, 0.85);
  color: var(--color-text);
  border: 1px solid var(--color-accent-line);
  border-radius: var(--r-pill);
  font-family: var(--font-display);
  font-size: var(--fs-body-sm);
  font-weight: 500;
  letter-spacing: -0.005em;
  backdrop-filter: blur(8px);
  text-align: left;
  width: fit-content;
}
.versatility-card__tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
  box-shadow: 0 0 8px var(--color-accent);
  flex-shrink: 0;
}

.versatility-carousel__nav {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line-dark-strong);
  color: var(--color-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  flex-shrink: 0;
  transition: background var(--d-base) var(--ease-out),
              border-color var(--d-base) var(--ease-out),
              transform var(--d-base) var(--ease-out),
              opacity var(--d-base) var(--ease-out);
  backdrop-filter: blur(8px);
}
.versatility-carousel__nav svg { width: 18px; height: 18px; }
.versatility-carousel__nav:hover:not(:disabled) {
  background: var(--color-accent);
  border-color: var(--color-accent);
  transform: scale(1.06);
}
.versatility-carousel__nav:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

@media (max-width: 1100px) {
  .versatility-card {
    flex: 0 0 calc((100% - (var(--s-3) * 2)) / 3);
  }
}
@media (max-width: 760px) {
  .versatility-card {
    flex: 0 0 calc((100% - var(--s-3)) / 2);
  }
}
@media (max-width: 520px) {
  .versatility-carousel { gap: var(--s-2); }
  .versatility-card { flex: 0 0 80%; }
  .versatility-carousel__nav { width: 2.5rem; height: 2.5rem; }
  .versatility-card__tag { font-size: 0.8125rem; padding: 0.5rem 0.75rem; }
}

/* Header · suporte ao toggle PT/EN/ES */
.site-header__lang {
  font-variant-numeric: tabular-nums;
}

