/* sobre.css — redesign da página Sobre (register: brand · universo cool/cor + rosto real).
   Reusa os tokens de css/home.css. Eixo central, ritmo variado, timeline vertical animada. */

.sb-wrap { max-width: 60rem; margin: 0 auto; padding-inline: clamp(1.25rem, 5vw, 3rem); }

/* reveal (padrão do site · fallback anti-doc-oculto no JS) */
.rv { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--easa), transform .8s var(--easa); }
.rv.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; transition: none; } }

/* ===== HERO ===== */
.sb-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--fio); }
.sb-hero__bg { position: absolute; inset: 0; z-index: 0; }
.sb-hero__bg::after { content: ''; position: absolute; inset: 0;
  background: radial-gradient(120% 90% at 78% 30%, oklch(58% 0.24 356 / .18), transparent 55%),
    radial-gradient(90% 80% at 0% 100%, oklch(11% 0.022 295 / .96), oklch(11% 0.022 295 / .82)); }
.sb-hero__in { position: relative; z-index: 1; max-width: 62rem; margin: 0 auto;
  padding: clamp(4.5rem, 11vh, 8rem) clamp(1.25rem, 5vw, 3rem) clamp(3rem, 7vh, 5rem);
  display: grid; grid-template-columns: 1.35fr .95fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.sb-hero__eb { font-family: var(--display); font-size: .74rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.sb-hero h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1; margin: .8rem 0 1.1rem; letter-spacing: -.01em; }
.sb-hero__papel { font-family: var(--display); font-size: clamp(.92rem, 1.5vw, 1.06rem); letter-spacing: .02em; color: var(--osso); margin: 0 0 1.3rem; }
.sb-hero__papel b { color: var(--fogo); font-weight: 400; }
.sb-hero__bluf { max-width: 34rem; font-size: 1.04rem; line-height: 1.65; color: var(--osso-70); margin: 0 0 1.6rem; }
.sb-hero__chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.sb-chip { font-size: .82rem; padding: .4rem .85rem; border-radius: 999px; border: 1px solid var(--fio);
  color: var(--osso); background: oklch(14% 0.026 300 / .6); }
.sb-chip b { color: var(--gold); font-weight: 700; }
.sb-hero__foto { position: relative; }
.sb-hero__foto img { width: 100%; border-radius: 20px; border: 1px solid var(--fio);
  box-shadow: 0 24px 60px oklch(11% 0.022 295 / .6); display: block; }
.sb-hero__foto::before { content: ''; position: absolute; inset: -2px; border-radius: 22px; z-index: -1;
  background: var(--grad-fogo); opacity: .5; filter: blur(14px); }
@media (max-width: 780px) { .sb-hero__in { grid-template-columns: 1fr; text-align: left; }
  .sb-hero__foto { max-width: 20rem; order: -1; } }

/* ===== bloco de seção ===== */
.sb-sec { padding-block: clamp(2.8rem, 7vh, 5rem); }
.sb-sec--tint { background: var(--ceu-2); border-block: 1px solid var(--fio); }
.sb-eb { display: inline-block; font-family: 'Anta', system-ui, sans-serif; font-size: .74rem; letter-spacing: .2em;
  text-transform: uppercase; color: var(--fogo); margin-bottom: .7rem; }
.sb-h2 { font-size: clamp(1.7rem, 3.6vw, 2.6rem); line-height: 1.1; margin: 0 0 1.1rem; }
.sb-sec p { color: var(--osso-70); font-size: 1.05rem; line-height: 1.72; margin: 0 0 1rem; max-width: 44rem; }
.sb-sec p strong { color: var(--osso); }
.sb-sec a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }

/* pull-quote (missão / frases-âncora) */
.sb-pull { max-width: 46rem; margin: 1.4rem auto; padding: 1.6rem 1.8rem; border-left: 0;
  border-radius: 16px; background: radial-gradient(120% 140% at 100% 0%, oklch(58% 0.24 356 / .1), transparent 60%), var(--ceu-2);
  border: 1px solid var(--fio); }
.sb-pull p { font-family: var(--display); font-size: clamp(1.15rem, 2.2vw, 1.5rem); line-height: 1.4; color: var(--osso); margin: 0; max-width: none; }
.sb-pull cite { display: block; margin-top: .8rem; font-style: normal; font-size: .85rem; color: var(--osso-70); }

/* ===== TIMELINE vertical ===== */
.sb-tl { position: relative; max-width: 46rem; margin: 1.5rem auto 0; padding-left: 2.2rem; }
.sb-tl::before { content: ''; position: absolute; left: .5rem; top: .4rem; bottom: .4rem; width: 2px;
  background: linear-gradient(var(--fogo), var(--magenta) 55%, oklch(72% 0.14 240)); opacity: .5; }
.sb-tl__it { position: relative; padding-bottom: 1.8rem; }
.sb-tl__it::before { content: ''; position: absolute; left: -2.2rem; top: .35rem; width: .85rem; height: .85rem;
  border-radius: 50%; background: var(--fogo); box-shadow: 0 0 0 4px oklch(11% 0.022 295), 0 0 14px var(--fogo); }
.sb-tl__yr { font-family: var(--display); font-size: .95rem; color: var(--gold); letter-spacing: .04em; }
.sb-tl__t { font-size: 1.06rem; font-weight: 700; color: var(--osso); margin: .15rem 0 .3rem; }
.sb-tl__d { font-size: .95rem; line-height: 1.6; color: var(--osso-70); margin: 0; max-width: 40rem; }
.sb-tl__it--now .sb-tl__t { color: var(--fogo); }

/* ===== grade de crenças / ICP ===== */
.sb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.1rem; margin-top: 1.4rem; }
.sb-card { border: 1px solid var(--fio); border-radius: 16px; padding: 1.4rem 1.5rem; background: var(--ceu-2); }
.sb-card h3 { margin: 0 0 .5rem; font-size: 1.04rem; color: var(--gold); }
.sb-card p { margin: 0; font-size: .94rem; line-height: 1.6; color: var(--osso-70); }
.sb-icp { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 1.4rem; }
.sb-icp .sb-card h3 { color: var(--fogo); }
@media (max-width: 680px) { .sb-icp { grid-template-columns: 1fr; } }

/* selo Feito por IA */
.sb-selo { display: inline-flex; align-items: center; gap: .5rem; font-size: .8rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--osso-70); border: 1px solid var(--fio); border-radius: 999px; padding: .4rem .9rem; margin-top: .4rem; }

/* CTA final */
.sb-cta { max-width: 46rem; margin-inline: auto; text-align: center; }
.sb-cta__row { display: flex; flex-wrap: wrap; gap: .9rem; justify-content: center; margin-top: 1.4rem; }
.sb-cta__b { display: inline-block; padding: .9rem 1.7rem; border-radius: 999px; font-weight: 700; text-decoration: none; }
.sb-cta__b--f { background: var(--grad-fogo); color: #fff; }
.sb-cta__b--g { border: 1px solid var(--fio); color: var(--osso); }
.sb-canais { font-size: .9rem; color: var(--osso-70); margin-top: 1.6rem; text-align: center; }
.sb-back { display: inline-block; margin: 2rem auto 0; color: var(--gold); }
