.manifesto-topo { position: relative; padding: clamp(64px, 10vw, 140px) 0 clamp(64px, 9vw, 120px); border-bottom: 1px solid var(--line); isolation: isolate; }
.manifesto-topo-grade { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: end; }
.manifesto-abertura .lead { margin-top: 28px; }

.sumario ol { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line); }
.sumario a { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: baseline; padding: 15px 0; border-top: 1px solid var(--line); color: var(--text); font-size: var(--t-titulo); font-weight: 500; letter-spacing: var(--ls-titulo); }
.sumario a:hover { color: var(--ink); text-decoration: none; }
.sumario span { color: var(--ink); font-size: var(--t-rotulo); font-weight: 600; letter-spacing: var(--ls-rotulo); font-variant-numeric: tabular-nums; }

.manifesto { padding-bottom: calc(var(--secao) / 2); }
.ideia { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); min-height: 72vh; padding-block: clamp(72px, 12vh, 140px); border-bottom: 1px solid var(--line); scroll-margin-top: var(--header-h); }
.ideia:last-child { border-bottom: 0; }
.ideia:nth-child(even) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ideia:nth-child(even) .ideia-num { order: 2; text-align: right; }
.ideia-num { position: sticky; top: calc(var(--header-h) + 6vh); align-self: start; font-size: var(--t-capitulo); font-weight: 300; line-height: .82; letter-spacing: var(--ls-destaque); font-variant-numeric: tabular-nums; color: transparent; -webkit-text-stroke: 1.5px var(--ink); }
.ideia-corpo { align-self: center; max-width: 620px; }
.ideia:nth-child(even) .ideia-corpo { justify-self: end; }
.ideia-titulo { font-family: var(--display); font-weight: var(--peso-display); font-size: var(--t-h2); line-height: 1.04; letter-spacing: var(--ls-destaque); }
.ideia-titulo em { font-style: italic; }
.ideia-corpo > p:not(.eyebrow, .ideia-frase) { margin-top: 24px; font-size: var(--t-lead); line-height: 1.6; color: var(--text-2); }
.ideia-corpo strong { color: var(--text); font-weight: 600; }
.ideia-frase { position: relative; margin-top: clamp(32px, 5vw, 52px); padding-top: 26px; font-family: var(--display); font-style: italic; font-weight: var(--peso-display); font-size: var(--t-h3); line-height: 1.22; letter-spacing: var(--ls-destaque); color: var(--text); text-wrap: balance; }
.ideia-frase::before { content: ""; position: absolute; top: 0; left: 0; width: 56px; height: 2px; border-radius: 2px; background: var(--grad); }

.origem-grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.rota { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); align-items: center; gap: 18px; padding: 34px 30px; border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow-md); }
.rota-ponto small { display: block; margin-bottom: 10px; color: var(--ink); font-size: var(--t-rotulo); font-weight: 600; letter-spacing: var(--ls-rotulo); text-transform: uppercase; line-height: 1.4; }
.rota-ponto b { display: block; font-family: var(--display); font-weight: var(--peso-display); font-size: var(--t-h3); line-height: 1.1; letter-spacing: var(--ls-destaque); }
.rota-ponto span { display: block; margin-top: 4px; color: var(--text-2); font-size: var(--t-menor); }
.rota-linha { position: relative; display: grid; place-items: center; height: 40px; }
.rota-linha::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 2px dashed var(--line); }
.rota-linha .icon { position: relative; width: 36px; height: 36px; padding: 9px; border-radius: 50%; background: var(--grad); color: #fff; }
.origem-frase { margin-top: clamp(64px, 9vw, 120px); text-align: center; font-family: var(--display); font-weight: var(--peso-display); font-size: var(--t-hero); line-height: 1.04; letter-spacing: var(--ls-destaque); text-wrap: balance; }
.origem-frase em { font-style: italic; color: var(--ink); }

@media (max-width: 900px) {
  .manifesto-topo-grade, .origem-grade { grid-template-columns: minmax(0, 1fr); }
  .ideia, .ideia:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: 12px; min-height: 0; padding-block: 64px; }
  .ideia-num, .ideia:nth-child(even) .ideia-num { position: static; order: 0; text-align: left; }
  .ideia:nth-child(even) .ideia-corpo { justify-self: start; }
}

@media (max-width: 520px) {
  .rota { grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); gap: 10px; padding: 24px 18px; }
  .rota-linha .icon { width: 30px; height: 30px; padding: 7px; }
  .rota-ponto small { font-size: var(--t-ui-rotulo); }
}