/* =========================================================
   Hero variants — A (Editorial), B (Split), C (Type-forward)
   ========================================================= */

/* ---------- Shared hero ---------- */
.hero { position: relative; padding: 96px 0 88px; overflow: hidden; }

/* ---------- Direction A — Editorial / default ---------- */
.hero--a .hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 820px) 1fr;
  gap: 40px;
  align-items: start;
  min-height: 520px;
}
.hero__body { position: relative; z-index: 2; }

.hero__headline {
  font-family: var(--ff-sans);
  font-size: clamp(40px, 5.6vw, 76px);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -0.025em;
  color: var(--quase-preto);
  max-width: 18ch;
}
.hero__headline-muted {
  color: var(--terracota-medio);
  display: block;
  margin-top: 6px;
}

.hero__sub {
  margin-top: 32px;
  max-width: 52ch;
  font-size: var(--fs-lg);
  line-height: 1.55;
  color: var(--marrom-suave);
}

.hero__ctas { margin-top: 44px; display: flex; flex-wrap: wrap; gap: 12px; }

.hero__orb {
  position: absolute;
  right: -80px;
  top: -60px;
  width: 720px;
  height: 720px;
  z-index: 1;
  opacity: 0.9;
  pointer-events: none;
}

.hero__credentials {
  margin-top: 96px;
  padding-top: 36px;
  border-top: 1px solid var(--rule);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
}
.cred__num {
  font-family: var(--ff-serif);
  font-size: 64px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--quase-preto);
  display: flex; align-items: baseline; gap: 10px;
}
.cred__num span {
  font-family: var(--ff-sans);
  font-size: 14px;
  font-weight: 400;
  color: var(--terracota-medio);
  letter-spacing: 0;
  text-transform: none;
}
.cred__cap {
  margin-top: 14px;
  font-size: 14px;
  color: var(--marrom-suave);
  max-width: 28ch;
  line-height: 1.5;
}

/* ---------- Direction B — Editorial split ---------- */
.hero--b { padding: 72px 0 80px; }
.hero-b__grid {
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 72px;
  align-items: end;
}
.hero-b__headline {
  font-family: var(--ff-sans);
  font-size: clamp(44px, 6vw, 86px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--quase-preto);
  margin-top: 24px;
}
.hero-b__headline em {
  font-family: var(--ff-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--terracota);
  letter-spacing: 0;
  padding-right: 0.06em;
}
.hero-b__kicker {
  margin-top: 28px;
  font-family: var(--ff-serif);
  font-style: normal;
  font-weight: 400;
  font-size: 28px;
  color: var(--terracota-medio);
  letter-spacing: -0.005em;
}
.hero-b__ctas { margin-top: 44px; }

.hero-b__right { display: flex; flex-direction: column; gap: 20px; }
.hero-b__portrait { aspect-ratio: 4 / 5; }
.hero-b__caption {
  font-size: 14px;
  line-height: 1.55;
  color: var(--marrom-suave);
  padding-right: 20px;
}
.hero-b__caption .label {
  display: block; margin-bottom: 8px; color: var(--terracota-medio);
}

.hero-b__strip {
  margin-top: 72px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  font-size: 16px;
  color: var(--marrom-suave);
}
.hero-b__strip .label { display: block; margin-bottom: 6px; }

/* ---------- Direction C — Type-forward ---------- */
.hero--c {
  padding: 100px 0 72px;
  position: relative;
  min-height: 680px;
}
.hero-c__shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.hero-c__body { position: relative; z-index: 2; }
.hero-c__meta {
  display: flex;
  gap: 28px;
  align-items: center;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 56px;
}

.hero-c__headline {
  font-family: var(--ff-sans);
  font-size: clamp(52px, 8vw, 128px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.035em;
  color: var(--quase-preto);
  max-width: 16ch;
}
.hero-c__headline em {
  font-family: var(--ff-serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  padding-right: 0.04em;
}
.hero-c__headline .ter { color: var(--terracota); }

.hero-c__foot {
  margin-top: 72px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 56px;
  align-items: end;
  max-width: 980px;
}
.hero-c__sub {
  font-size: var(--fs-lg);
  line-height: 1.55;
  color: var(--marrom-suave);
  max-width: 56ch;
}

.hero-c__creds {
  margin-top: 110px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
  font-size: 15px;
  color: var(--marrom-suave);
  position: relative; z-index: 2;
}
.hero-c__creds strong {
  font-family: var(--ff-serif);
  font-weight: 400;
  font-size: 28px;
  margin-right: 10px;
  color: var(--quase-preto);
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .hero--a .hero__grid, .hero-b__grid, .hero-c__foot { grid-template-columns: 1fr; }
  .hero__orb { right: -40%; top: 40%; width: 560px; height: 560px; opacity: 0.6; }
  .hero__credentials, .hero-b__strip, .hero-c__creds { grid-template-columns: 1fr; gap: 24px; }
  .cred { padding-bottom: 20px; border-bottom: 1px solid var(--rule); }
}

@media (max-width: 720px) {
  .hero__headline { line-height: 1.12; }
  .hero__headline-muted { margin-top: 14px; }
}
