/* =============================================================
   Landing de Captura — Revisão de Literatura por Doutores
   Fontes self-hosted (Inter + Source Serif 4) · caminhos relativos
   ============================================================= */

/* ------------------------- FONTES ------------------------- */
/* Inter (corpo) — latin + latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../assets/fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../assets/fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Source Serif 4 (títulos) — latin + latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/source-serif-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/source-serif-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ------------------------- TOKENS ------------------------- */
:root {
  --blue: #3B7BC4;
  --blue-dark: #2f6bb0;
  --green: #1E9E57;
  --ink: #16181d;
  --body: #555;
  --body-soft: #4a4f56;
  --muted: #8a9099;
  --amber: #E0952B;
  --amber-ink: #9A6412;

  --bg-white: #FDFDFD;
  --bg-blue: #F1F7FD;
  --icon-bg: #E9F1FB;

  --line: #ececec;
  --line-blue: #e4eef8;
  --line-card: #e6eef7;
  --line-soft: #eef0f2;
  --line-chip: #dce8f5;

  --serif: 'Source Serif 4', Georgia, serif;
  --sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  --shell-max: 1120px;
}

/* ------------------------- BASE ------------------------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--sans);
  color: var(--body);
  background: var(--bg-white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
/* Palavras-âncora para leitura dinâmica (escaneamento) */
strong { font-weight: 700; color: var(--ink); }

/* Animações (respeitam prefers-reduced-motion mais abaixo) */
@keyframes ctaShake {
  0%, 82%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
  84% { transform: translate3d(-3px,0,0) rotate(-1.4deg); }
  86% { transform: translate3d(3px,0,0) rotate(1.4deg); }
  88% { transform: translate3d(-3px,0,0) rotate(-1.2deg); }
  90% { transform: translate3d(3px,0,0) rotate(1.2deg); }
  92% { transform: translate3d(-2px,0,0) rotate(-0.6deg); }
  94% { transform: translate3d(2px,0,0) rotate(0.6deg); }
}
@keyframes dotPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(224,149,43,.22); }
  50% { box-shadow: 0 0 0 8px rgba(224,149,43,0); }
}

/* ------------------------- LAYOUT ------------------------- */
.section { padding: 96px 56px; background: var(--bg-white); }
.section--blue {
  background: var(--bg-blue);
  border-top: 1px solid var(--line-blue);
  border-bottom: 1px solid var(--line-blue);
}
.section--apply { border-bottom: none; }

.container { max-width: var(--shell-max); margin: 0 auto; }
.container--narrow { max-width: 840px; text-align: center; }

.section__head { text-align: center; margin-bottom: 52px; }
.section__title {
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -.01em;
  line-height: 1.15;
  text-wrap: balance;
}
.section__closer {
  margin: 44px auto 0;
  max-width: 680px;
  text-align: center;
  font-size: 21px;
  line-height: 1.5;
  color: #3a3f46;
  font-weight: 500;
}

.eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 14px;
}

/* Grades */
.grid { display: grid; gap: 24px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); gap: 22px; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); gap: 20px; }

/* Caixa de ícone */
.icon-box {
  width: 48px; height: 48px;
  flex: 0 0 48px;
  border-radius: 13px;
  background: var(--icon-bg);
  color: var(--blue);
  display: flex; align-items: center; justify-content: center;
}
.icon-box--lg { width: 58px; height: 58px; flex-basis: 58px; border-radius: 16px; }
.icon-box--outline { width: 54px; height: 54px; flex-basis: 54px; border-radius: 14px; background: #fff; border: 1px solid var(--line-chip); }

/* ------------------------- BOTÕES ------------------------- */
.btn {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  font-family: var(--sans);
}
.btn--cta {
  background: var(--green);
  color: #fff;
  border: none;
  padding: 20px 46px;
  border-radius: 12px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .06em;
  box-shadow: 0 14px 30px -10px rgba(30,158,87,.6);
  animation: ctaShake 2.6s ease-in-out infinite;
}
.btn--block { display: block; width: 100%; padding: 21px 52px; font-size: 18px; }

/* CTA-âncora intermediário (no meio da página) */
.cta-inline { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 48px; }

/* Selo "vagas limitadas" */
.vagas { display: inline-flex; align-items: center; gap: 9px; }
.vagas__dot {
  width: 9px; height: 9px; flex: 0 0 9px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 0 3px rgba(224,149,43,.22);
  animation: dotPulse 1.6s ease-in-out infinite;
}
.vagas__label { font-size: 14px; font-weight: 700; color: var(--amber-ink); letter-spacing: .02em; }
.vagas--badge {
  gap: 10px;
  background: #FBEEDD;
  border: 1px solid #F0D9B5;
  border-radius: 999px;
  padding: 11px 22px;
  margin-bottom: 24px;
}
.vagas--badge .vagas__label { letter-spacing: .06em; text-transform: uppercase; }

/* Notas de placeholder */
.ph-note { color: #93a7bd; font-family: ui-monospace, monospace; font-size: 13px; }
.ph-caption { text-align: center; font-size: 12px; color: #b3b8bf; font-family: ui-monospace, monospace; margin-top: 20px; }

/* ------------------------- HERO ------------------------- */
.hero { padding-top: 92px; padding-bottom: 96px; }
.hero__inner {
  display: grid;
  grid-template-columns: 1fr 456px;
  column-gap: 72px;
  align-items: center;
  grid-template-areas:
    "eyebrow media"
    "title   media"
    "lead    media"
    "cta     media"
    "chips   media";
}
.hero__eyebrow { grid-area: eyebrow; margin-bottom: 24px; }
.hero__title {
  grid-area: title;
  font-family: var(--serif);
  font-size: 56px;
  line-height: 1.06;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -.015em;
  text-wrap: balance;
  margin-bottom: 24px;
}
.hero__lead { grid-area: lead; font-size: 20px; line-height: 1.6; color: var(--body); max-width: 540px; margin-bottom: 34px; }
.hero__cta { grid-area: cta; display: flex; align-items: center; gap: 22px; margin-bottom: 34px; }
.hero__chips {
  grid-area: chips;
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  padding-top: 28px;
  border-top: 1px solid var(--line-soft);
}
.hero__media {
  grid-area: media;
  height: 508px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #e6e8eb;
  background: #eef2f7;
}
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }

.chip-line { display: flex; align-items: center; gap: 9px; color: var(--blue); }
.chip-line__icon { display: flex; }
.chip-line__label { font-size: 14px; font-weight: 600; color: #3a3f46; }

/* ------------------------- EMPATIA / PAINS ------------------------- */
.pain {
  background: #fff;
  border: 1px solid var(--line-card);
  border-radius: 18px;
  padding: 34px 30px;
}
.pain .icon-box { margin-bottom: 22px; }
.pain__title { font-size: 19px; font-weight: 700; color: var(--ink); margin-bottom: 10px; line-height: 1.3; }
.pain__text { font-size: 15px; line-height: 1.6; color: var(--body); }

/* ------------------------- O QUE É ------------------------- */
.oque__icon { margin: 0 auto 22px; }
.oque .eyebrow { margin-top: 0; }
.oque .section__title { margin-bottom: 24px; }
.oque__desc { font-size: 20px; line-height: 1.65; color: var(--body); margin-bottom: 20px; }
.oque .pills { margin-top: 18px; }

.pills { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--icon-bg); color: var(--blue-dark);
  border-radius: 999px; padding: 11px 20px;
  font-weight: 600; font-size: 15px;
}
.pills--outline { justify-content: flex-start; gap: 10px; }
.pills--outline .pill { background: #fff; border: 1px solid var(--line-chip); padding: 10px 18px; font-size: 14px; }

/* ------------------------- FEATURES (para quem é / autoridade cards) ------------------------- */
.feature {
  background: #fff;
  border: 1px solid var(--line-card);
  border-radius: 18px;
  padding: 30px 32px;
  display: flex; gap: 20px; align-items: flex-start;
}
.feature__title { font-size: 18px; font-weight: 700; color: var(--ink); margin-bottom: 7px; line-height: 1.3; }
.feature__text { font-size: 15px; line-height: 1.6; color: var(--body); }

/* ------------------------- STEPS ------------------------- */
.step {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 32px 26px 30px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "num icon"
    "text text";
  align-items: center;
  column-gap: 12px;
}
.step__num { grid-area: num; font-family: var(--serif); font-size: 40px; font-weight: 600; color: #cfe0f2; line-height: 1; }
.step__icon { grid-area: icon; color: var(--blue); display: flex; }
.step__text { grid-area: text; margin-top: 20px; font-size: 16px; line-height: 1.55; color: #3a3f46; font-weight: 500; }

/* ------------------------- AUTORIDADE ------------------------- */
.authority {
  display: grid;
  grid-template-columns: 420px 1fr;
  column-gap: 64px;
  align-items: center;
  grid-template-areas:
    "media icon"
    "media eyebrow"
    "media title"
    "media text"
    "media chips";
}
.authority__media {
  grid-area: media;
  height: 460px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #d7e4f2;
  background: #eef4fb;
}
.authority__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.authority__body { display: contents; }
.authority .icon-box--outline { grid-area: icon; margin-bottom: 22px; }
.authority .eyebrow { grid-area: eyebrow; margin-bottom: 18px; }
.authority__title {
  grid-area: title;
  font-family: var(--serif);
  font-size: 34px; font-weight: 600;
  color: var(--ink); line-height: 1.18; letter-spacing: -.01em;
  margin-bottom: 22px;
}
.authority__text { grid-area: text; margin-bottom: 28px; }
.authority__text p { margin: 0; font-size: 18px; line-height: 1.7; color: var(--body-soft); }
.authority__text p + p { margin-top: 16px; }
.authority .pills { grid-area: chips; }

/* ------------------------- DEPOIMENTOS ------------------------- */
.testimonial {
  margin: 0;
  background: #FCFCFD;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 34px 30px;
  display: flex; flex-direction: column; gap: 24px;
}
.testimonial__mark { color: #cdd9e8; }
.testimonial__quote { margin: 0; font-size: 17px; line-height: 1.65; color: #333; }
.testimonial__person { margin-top: auto; }
.testimonial__name { display: block; font-size: 15px; font-weight: 700; color: var(--ink); }
.testimonial__program { display: block; font-size: 13px; color: var(--muted); }

/* ------------------------- BOX DE APLICAÇÃO ------------------------- */
.apply-box {
  max-width: 780px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--line-chip);
  border-radius: 24px;
  box-shadow: 0 30px 70px -38px rgba(30,60,110,.4);
  padding: 60px;
  text-align: center;
}
.apply-box__icon { margin: 0 auto 20px; }
.apply-box .eyebrow { margin-bottom: 16px; }
.apply-box__title {
  font-family: var(--serif);
  font-size: 38px; font-weight: 600;
  color: var(--ink); letter-spacing: -.01em; line-height: 1.12;
  text-wrap: balance;
  margin-bottom: 18px;
}
.apply-box__lead { font-size: 18px; line-height: 1.6; color: var(--body); max-width: 540px; margin: 0 auto 34px; }

.deliverables {
  max-width: 460px;
  margin: 0 auto 38px;
  display: flex; flex-direction: column; gap: 15px;
  text-align: left;
}
.deliverable { display: flex; align-items: center; gap: 14px; }
.deliverable span:last-child { font-size: 16px; color: #333; font-weight: 500; }
.check {
  width: 26px; height: 26px; flex: 0 0 26px;
  border-radius: 50%;
  background: var(--blue); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 800; line-height: 1;
}

.reassurance {
  display: flex; gap: 26px; justify-content: center; flex-wrap: wrap;
  margin-top: 30px; padding-top: 26px;
  border-top: 1px solid var(--line-soft);
}
.reassurance__item { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #666; font-weight: 500; }
.reassurance__icon { display: flex; color: var(--blue); }

/* =============================================================
   TABLET  (≤ 1080px) — reduz respiros, mantém layout desktop
   ============================================================= */
@media (max-width: 1080px) {
  .section { padding: 80px 40px; }
  .hero__inner { column-gap: 48px; grid-template-columns: 1fr 40%; }
  .authority { column-gap: 48px; grid-template-columns: 40% 1fr; }
  .hero__title { font-size: 48px; }
}

/* =============================================================
   MOBILE  (≤ 860px) — replica o mockup mobile (390px)
   ============================================================= */
@media (max-width: 860px) {
  .section { padding: 48px 26px; }

  .section__head { margin-bottom: 28px; }
  .section__title { font-size: 25px; }
  .section__closer { margin-top: 28px; font-size: 17px; }
  .eyebrow { font-size: 11px; letter-spacing: .16em; margin-bottom: 10px; }

  .container, .container--narrow { max-width: 560px; }

  /* Grades viram coluna única */
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; gap: 14px; }

  /* HERO */
  .hero { text-align: center; }
  .hero__inner {
    display: flex; flex-direction: column;
    grid-template-columns: none; grid-template-areas: none;
  }
  .hero__title { font-size: 32px; line-height: 1.12; margin-bottom: 16px; }
  .hero__lead { font-size: 16px; margin: 0 auto 26px; }
  /* Ordem no mobile: eyebrow → título → texto → imagem → botão → chips */
  .hero__eyebrow { order: 1; }
  .hero__title   { order: 2; }
  .hero__lead    { order: 3; }
  .hero__media   { order: 4; }
  .hero__cta     { order: 5; }
  .hero__chips   { order: 6; }
  /* foto quadrada (corte no topo e embaixo) */
  .hero__media { height: auto; aspect-ratio: 1 / 1; border-radius: 18px; margin-bottom: 22px; }
  .hero__media img { object-position: center 22%; }
  .hero__cta { flex-direction: column; gap: 14px; margin-bottom: 26px; }
  .hero__chips {
    flex-direction: column; gap: 12px;
    text-align: center; align-items: center; align-self: stretch;
    margin-top: 0; padding-top: 24px;
  }
  .hero__chips .chip-line { justify-content: center; }
  .chip-line__label { gap: 10px; }

  /* botões viram largura total no mobile */
  .btn--cta { width: 100%; padding: 18px; font-size: 16px; }
  .cta-inline { margin-top: 34px; gap: 12px; }

  /* PAINS: ícone à esquerda, texto à direita */
  .pain { display: flex; gap: 14px; align-items: flex-start; padding: 22px; border-radius: 16px; }
  .pain .icon-box { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; margin-bottom: 0; }
  .pain__title { font-size: 16px; }
  .pain__text { font-size: 14px; line-height: 1.55; }

  /* O QUE É */
  .oque__icon { width: 50px; height: 50px; flex-basis: 50px; border-radius: 14px; }
  .oque .section__title { margin-bottom: 16px; }
  .oque__desc { font-size: 15px; text-align: center; margin-bottom: 14px; }
  .oque .pills { margin-top: 8px; }
  .pill { padding: 9px 15px; font-size: 13px; }

  /* FEATURES — mesmo padrão dos cards de "pains" (ícone 40px, gap 14px) */
  .feature { gap: 14px; padding: 22px; border-radius: 16px; }
  .feature .icon-box { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; }
  .feature__title { font-size: 16px; }
  .feature__text { font-size: 14px; line-height: 1.55; }

  /* STEPS: número | texto | ícone em linha */
  .step {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "num text icon";
    column-gap: 18px;
    padding: 22px;
    border-radius: 16px;
  }
  .step__num { font-size: 34px; min-width: 26px; }
  .step__text { margin-top: 0; font-size: 15px; line-height: 1.5; }

  /* AUTORIDADE: empilha e centraliza */
  .authority {
    display: flex; flex-direction: column;
    grid-template-columns: none; grid-template-areas: none;
    text-align: center;
  }
  .authority__body { display: contents; }
  .authority .icon-box--outline { width: 48px; height: 48px; flex-basis: 48px; border-radius: 13px; margin: 0 auto 14px; }
  /* foto quadrada (corte no topo e embaixo), igual à foto da 1ª dobra */
  .authority__media { order: 2; height: auto; aspect-ratio: 1 / 1; border-radius: 18px; margin-bottom: 20px; }
  .authority__title { order: 1; font-size: 24px; margin-bottom: 16px; }
  .authority .eyebrow { order: 0; }
  .authority__text { order: 3; text-align: center; margin-bottom: 22px; }
  .authority__text p { font-size: 15px; line-height: 1.65; }
  .authority .pills { order: 4; justify-content: center; }
  .ph-note { font-size: 12px; }

  /* DEPOIMENTOS */
  .testimonial { padding: 24px; border-radius: 16px; gap: 14px; }
  .testimonial__quote { font-size: 15px; }
  .ph-caption { margin-top: 14px; font-size: 11px; }

  /* BOX DE APLICAÇÃO */
  .section--apply { padding-bottom: 58px; }
  .apply-box { padding: 36px 26px; border-radius: 20px; box-shadow: 0 24px 54px -32px rgba(30,60,110,.4); }
  .apply-box__icon { width: 50px; height: 50px; flex-basis: 50px; border-radius: 14px; }
  .apply-box__title { font-size: 25px; line-height: 1.18; }
  .apply-box__lead { font-size: 15px; line-height: 1.55; margin-bottom: 24px; }
  .deliverables { margin-bottom: 26px; gap: 12px; }
  .deliverable span:last-child { font-size: 14px; }
  .check { width: 23px; height: 23px; flex-basis: 23px; font-size: 13px; }
  .vagas--badge { padding: 9px 16px; margin-bottom: 20px; }
  .vagas--badge .vagas__label { font-size: 12px; }
  .reassurance { flex-direction: column; gap: 12px; margin-top: 24px; padding-top: 22px; }
  .reassurance__item { justify-content: center; font-size: 13px; }
}

/* Telas bem estreitas */
@media (max-width: 380px) {
  .section { padding: 40px 18px; }
  .hero__title { font-size: 28px; }
}

/* Acessibilidade: reduz animações se o usuário preferir */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn--cta, .vagas__dot { animation: none; }
}

/* =============================================================
   RODAPÉ (compartilhado entre todas as páginas)
   ============================================================= */
.footer { background: #16181d; color: #cbd2da; padding: 56px 56px 30px; }
.footer__inner {
  max-width: var(--shell-max); margin: 0 auto;
  display: flex; justify-content: space-between; gap: 48px; flex-wrap: wrap; align-items: flex-start;
}
.footer__logo { font-family: var(--serif); font-size: 22px; font-weight: 600; color: #fff; margin-bottom: 12px; }
.footer__tagline { font-size: 14px; line-height: 1.65; color: #9aa4b0; max-width: 440px; }
.footer__addr { font-size: 13px; line-height: 1.6; color: #7e8794; margin-top: 12px; max-width: 440px; }
.footer__col-title { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #7e8794; margin-bottom: 16px; }
.footer__nav { display: flex; flex-direction: column; gap: 12px; }
.footer__nav a { color: #cbd2da; text-decoration: none; font-size: 15px; }
.footer__nav a:hover { color: #fff; }
.footer__bottom {
  max-width: var(--shell-max); margin: 40px auto 0; padding-top: 24px;
  border-top: 1px solid #2a2e35;
  display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  font-size: 13px; color: #7e8794;
}

/* =============================================================
   PÁGINAS INSTITUCIONAIS (quem somos, contato, privacidade)
   ============================================================= */
.page-header { background: #fff; border-bottom: 1px solid var(--line); padding: 18px 56px; }
.page-header__inner {
  max-width: var(--shell-max); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.page-header__logo { font-family: var(--serif); font-size: 20px; font-weight: 600; color: var(--ink); text-decoration: none; }
.page-header__back { font-size: 14px; font-weight: 600; color: var(--blue); text-decoration: none; }
.page-header__back:hover { text-decoration: underline; }

.page-hero { background: var(--bg-blue); border-bottom: 1px solid var(--line-blue); padding: 64px 56px; text-align: center; }
.page-hero .section__title { margin-top: 6px; }
.page-lead { font-size: 18px; line-height: 1.6; color: var(--body); max-width: 620px; margin: 16px auto 0; }

/* Foto da equipe no "Quem somos" — mesmo enquadramento da 1ª dobra (quadrado) */
.about-photo {
  max-width: 440px; margin: 0 auto 44px;
  aspect-ratio: 1 / 1; overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--line-card);
  box-shadow: 0 24px 50px -28px rgba(20,40,80,.35);
}
.about-photo img {
  width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: center 22%;
}

/* Texto corrido (bio, política) */
.prose { max-width: 760px; margin: 0 auto; }
.prose h2 { font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; margin: 34px 0 12px; }
.prose h2:first-child { margin-top: 0; }
.prose p { font-size: 16px; line-height: 1.75; color: var(--body); margin-bottom: 14px; }
.prose ul.bullets { list-style: disc; padding-left: 22px; margin: 0 0 16px; }
.prose ul.bullets li { font-size: 16px; line-height: 1.7; color: var(--body); margin-bottom: 6px; }
.prose a { color: var(--blue); }
.updated { font-size: 13px; color: var(--muted); font-family: ui-monospace, monospace; margin-bottom: 28px; }

/* Cartões de contato */
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 640px; margin: 0 auto; }
.contact-card {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
  background: #fff; border: 1px solid var(--line-card); border-radius: 18px; padding: 34px 24px;
  text-decoration: none; color: inherit;
}
.contact-card:hover { border-color: var(--blue); }
.contact-card__label { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.contact-card__value { font-size: 17px; font-weight: 700; color: var(--ink); overflow-wrap: anywhere; }

@media (max-width: 860px) {
  .footer { padding: 44px 26px 28px; }
  .footer__inner { flex-direction: column; gap: 32px; }
  .footer__bottom { flex-direction: column; gap: 8px; margin-top: 32px; }
  .page-header { padding: 16px 20px; }
  .page-hero { padding: 44px 24px; }
  .prose h2 { font-size: 20px; }
  .contact-grid { grid-template-columns: 1fr; gap: 14px; }
  .contact-card { padding: 24px; }
}

/* =============================================================
   BLOCO "NA MÍDIA" — fotos + texto
   ============================================================= */
.section__sub { font-size: 17px; line-height: 1.5; color: var(--body); max-width: 620px; margin: 12px auto 0; }

.media-feature { margin: 0; }
/* foto 1 (Isa) mais estreita e focada; foto 2 (Isa + plateia) mais larga */
.media-feature__grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 20px; }
.media-feature__grid img {
  width: 100%; height: 440px; object-fit: cover;
  border-radius: 16px; border: 1px solid var(--line-card); background: #eef2f7; display: block;
}
.media-feature__grid img:nth-child(1) { object-position: 60% center; } /* foca na Isa */
.media-feature__grid img:nth-child(2) { object-position: center; }     /* Isa + plateia */
.media-feature__caption {
  text-align: center; margin-top: 22px;
  font-size: 18px; font-weight: 600; color: var(--ink);
}
.media-feature + .press { margin-top: 44px; }

/* Card de imprensa: foto + veículo + manchete */
.press { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; max-width: 980px; margin: 0 auto; }
.press__shot { position: relative; }
.press__shot img {
  width: 100%; display: block; border-radius: 16px;
  border: 1px solid var(--line-card);
  box-shadow: 0 24px 50px -28px rgba(20,40,80,.4);
}
/* fade branco na base: suaviza o corte do texto da matéria */
.press__shot::after {
  content: ""; position: absolute; left: 1px; right: 1px; bottom: 1px; height: 72px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  border-radius: 0 0 16px 16px; pointer-events: none;
}
.press__kicker { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.press__outlet { font-family: var(--serif); font-size: 30px; font-weight: 700; color: #16305c; letter-spacing: .005em; margin-bottom: 18px; }
.press__title { font-family: var(--serif); font-size: 23px; line-height: 1.3; font-weight: 600; color: var(--ink); letter-spacing: -.01em; margin-bottom: 14px; text-wrap: balance; }
.press__source { font-size: 13px; color: var(--muted); font-family: ui-monospace, monospace; }

@media (max-width: 860px) {
  .media-feature__grid { grid-template-columns: 1fr; gap: 14px; }
  .media-feature__grid img { height: 300px; }
  .media-feature__grid img:nth-child(1) { height: 350px; object-position: 63% center; } /* zoom na Isa */
  .media-feature__grid img:nth-child(2) { height: 250px; } /* mais larga: Isa + plateia */
  .media-feature__caption { font-size: 16px; margin-top: 16px; }
  .media-feature + .press { margin-top: 32px; }
  .press { grid-template-columns: 1fr; gap: 20px; max-width: 480px; text-align: center; }
  .press__outlet { font-size: 26px; margin-bottom: 12px; }
  .press__title { font-size: 20px; }
}
