/* OdontoFlow · Landing v2.4 · styles.css */

:root{
  --ink-900:#0E1A2E; --ink-700:#1B2B47; --ink-500:#3D4A66; --ink-300:#7A8499;
  --paper-50:#F4EFE3; --paper-100:#EAE3D2; --paper-200:#DDD3BD;
  --accent-gold:#B0916A; --accent-deep:#6B5135; --guarantee:#3F6B5C;
  --shadow-soft:rgba(14,26,46,0.06); --shadow-medium:rgba(14,26,46,0.12);
  --font-serif:"Instrument Serif","EB Garamond",Lora,serif;
  --font-sans:"Geist","Söhne","GT America",Inter,system-ui,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;
  --h1-serif-size:38px; --h1-sans-size:34px; --h2-size:28px; --h3-size:20px;
  --body-size:16px; --body-sm-size:14px; --kicker-size:11px; --caption-size:12px;
  --display-xl:64px;
  --line-h1:1.05; --line-h2:1.15; --line-h3:1.30; --line-body:1.55; --line-kicker:1.40;
  --tracking-kicker:0.18em;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px;
  --space-8:32px; --space-12:48px; --space-16:64px; --space-24:96px; --space-32:128px;
  --container-max:1180px; --container-pad:20px; --section-pad-y:72px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--ink-700);background:var(--paper-50);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{font-family:inherit;cursor:pointer;border:none}
a{color:inherit;text-decoration:none}
.landing{display:block;font-family:var(--font-sans);color:var(--ink-700);background:var(--paper-50)}
.landing :where(h1,h2,h3,h4,p,ul,ol){margin:0}
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}
.section{padding-top:var(--section-pad-y);padding-bottom:var(--section-pad-y);position:relative}
.section--dark{background:var(--ink-900);color:var(--paper-50)}
.section--paper-100{background:var(--paper-100)}
.kicker{font-family:var(--font-mono);font-size:var(--kicker-size);font-weight:500;letter-spacing:var(--tracking-kicker);text-transform:uppercase;line-height:var(--line-kicker);color:var(--ink-300);display:block}
.section--dark .kicker{color:var(--accent-gold)}
.h1-serif{font-family:var(--font-serif);font-weight:400;font-size:var(--h1-serif-size);line-height:var(--line-h1);letter-spacing:-0.01em;text-wrap:balance;max-width:28ch;color:inherit}
.h1-serif em{font-style:italic;color:var(--accent-deep)}
.section--dark .h1-serif em{color:var(--accent-gold)}
.h1-sans{font-family:var(--font-sans);font-weight:700;font-size:var(--h1-sans-size);line-height:var(--line-h1);letter-spacing:-0.02em;text-wrap:balance;max-width:24ch}
.h1-sans em{font-style:italic;font-family:var(--font-serif);font-weight:400;color:var(--accent-deep)}
.h2{font-family:var(--font-serif);font-weight:400;font-size:var(--h2-size);line-height:var(--line-h2);letter-spacing:-0.005em;text-wrap:balance;max-width:28ch}
.h2 em{font-style:italic;color:var(--accent-deep)}
.h3{font-family:var(--font-sans);font-weight:500;font-size:var(--h3-size);line-height:var(--line-h3);letter-spacing:-0.005em}
.body{font-size:var(--body-size);line-height:var(--line-body);max-width:65ch}
.body-sm{font-size:var(--body-sm-size);line-height:1.50;max-width:65ch}
.mono-caption{font-family:var(--font-mono);font-size:var(--caption-size);letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-300)}
.section--dark .mono-caption{color:var(--paper-200)}
.hairline{height:1px;background:var(--paper-200);border:0;width:100%;margin:var(--space-16) 0}
.hairline--short{width:80px;margin:var(--space-8) 0}
.section--dark .hairline{background:var(--ink-500)}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:18px 28px;font-family:var(--font-sans);font-size:15px;font-weight:500;letter-spacing:-0.005em;line-height:1;border:1px solid transparent;background:var(--ink-700);color:var(--paper-50);border-radius:2px;transition:background 180ms ease,color 180ms ease,border-color 180ms ease;text-align:left}
.cta:hover{background:var(--ink-900)}
.cta--ghost{background:transparent;border-color:var(--ink-500);color:var(--ink-700)}
.cta--ghost:hover{border-color:var(--ink-700);color:var(--ink-900)}
.cta--ghost-dark{background:transparent;border-color:var(--paper-200);color:var(--paper-50)}
.cta--ghost-dark:hover{border-color:var(--paper-50);background:rgba(244,239,227,0.04)}
.cta--gold{background:var(--accent-gold);color:var(--ink-900);border-color:var(--accent-gold)}
.cta--gold:hover{background:var(--accent-deep);color:var(--paper-50);border-color:var(--accent-deep)}
.cta .arrow{font-family:var(--font-mono);font-weight:400}
.page-indicator{display:none;position:fixed;left:24px;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-300);z-index:50;pointer-events:none;transition:color 220ms ease;white-space:nowrap}
.page-indicator .pi-cap{color:var(--ink-700);font-weight:500}
.page-indicator .pi-sep{color:var(--paper-200);margin:0 14px}
.page-indicator .pi-total{color:var(--ink-300)}
.page-indicator.is-dark .pi-cap{color:var(--paper-50)}
.page-indicator.is-dark .pi-sep{color:var(--ink-500)}
.page-indicator.is-dark .pi-total{color:var(--paper-200)}
.marginalia{font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--ink-500);text-transform:none;max-width:32ch}
.marginalia .arrow{color:var(--accent-deep);margin-right:6px}
.marginalia em{color:var(--ink-700);font-style:normal;border-bottom:1px solid var(--paper-200)}
.marginalia strong{font-weight:500;color:var(--ink-700)}
.section--dark .marginalia{color:var(--paper-200)}
.section--dark .marginalia em{color:var(--paper-50);border-bottom-color:var(--ink-500)}
.section--dark .marginalia strong{color:var(--paper-50)}

/* === CAPÍTULOS FATIA 1 === */
/* ============================================================
   HERO — Cap 00
   ============================================================ */
.hero {
  padding-top: 48px;
  padding-bottom: 72px;
}
.hero__topbar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: var(--space-12);
  border-bottom: 1px solid var(--paper-200);
  margin-bottom: var(--space-12);
}
.hero__wordmark {
  font-family: var(--font-serif);
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--ink-900);
}
.hero__wordmark em { font-style: italic; color: var(--accent-deep); }
.hero__nav {
  display: none;
  gap: var(--space-8);
}
.hero__nav a {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.hero__nav a:hover { color: var(--ink-900); }
.hero__topbar-cta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-700);
  border-bottom: 1px solid var(--ink-700);
  padding-bottom: 2px;
}

.hero__head .kicker { margin-bottom: var(--space-8); }
.hero__headline {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--h1-serif-size);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ink-900);
  max-width: 22ch;
  text-wrap: balance;
}
.hero__headline em {
  font-style: italic;
  color: var(--accent-deep);
}
.hero__headline-sub {
  font-family: var(--font-serif);
  font-weight: 400;
  font-style: normal;
  font-size: clamp(20px, 2vw + 0.5rem, 28px);
  line-height: 1.3;
  letter-spacing: -0.005em;
  color: var(--ink-500);
  margin-top: var(--space-4);
  max-width: 30ch;
  text-wrap: balance;
}
.hero__sub {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-500);
  margin-top: var(--space-8);
  max-width: 52ch;
}
.hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-12);
}
.hero__ctas .cta { width: 100%; }
.hero__credential {
  margin-top: var(--space-8);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-500);
  line-height: 1.6;
}
.hero__credential .sep { color: var(--paper-200); padding: 0 6px; }

.hero__video {
  margin-top: var(--space-16);
  background: var(--paper-100);
  border: 1px solid var(--paper-200);
  aspect-ratio: 16 / 9;
  max-height: 480px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: var(--space-4);
}
.hero__video::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid var(--paper-200);
  pointer-events: none;
}
.hero__video-play {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--ink-700);
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero__video-play::before {
  content: "";
  width: 0; height: 0;
  border-left: 14px solid var(--paper-50);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  margin-left: 4px;
}
.hero__video-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-500);
}

/* ============================================================
   CAP 01 — Problema (4 pontos de perda)
   ============================================================ */
.cap-01__head { max-width: 720px; }
.cap-01__head .kicker { margin-bottom: var(--space-8); }
.cap-01__intro {
  margin-top: var(--space-6);
  color: var(--ink-500);
  font-size: 17px;
  line-height: 1.55;
  max-width: 60ch;
}
.cap-01__layout {
  margin-top: var(--space-16);
  display: grid;
  gap: var(--space-12);
  grid-template-columns: 1fr;
}
.cap-01__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}
.card-feature {
  background: var(--paper-100);
  padding: var(--space-8);
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-height: 220px;
}
.card-feature__num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: var(--accent-deep);
}
.card-feature__title {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--ink-900);
}
.card-feature__desc {
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-500);
}
.card-feature__divider {
  width: 48px;
  height: 1px;
  background: var(--paper-200);
  margin-top: auto;
}
.card-feature__footer {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-300);
  line-height: 1.5;
}

.marginalia {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.65;
  letter-spacing: 0;
  color: var(--ink-500);
  text-transform: none;
  max-width: 28ch;
}
.marginalia .arrow { color: var(--accent-deep); margin-right: 6px; }
.marginalia em { color: var(--ink-700); font-style: normal; border-bottom: 1px solid var(--paper-200); }

/* ============================================================
   CAP 02 — Felipe
   ============================================================ */
.cap-02__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
  margin-top: var(--space-12);
}
.felipe-portrait {
  background: var(--paper-100);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 2px;
}
.felipe-portrait::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid var(--paper-200);
  pointer-events: none;
}
.felipe-portrait__initials {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 160px;
  line-height: 1;
  color: var(--ink-900);
  letter-spacing: -0.03em;
}
.felipe-portrait__caption {
  position: absolute;
  bottom: 22px;
  left: 22px;
  right: 22px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-500);
  display: flex;
  justify-content: space-between;
}

/* Variante com foto real (substitui placeholder FZ).
   Mantém aspect-ratio 4:5 e posição do placeholder; foto centrada via object-fit.
   Foto nativa 800x800 — com 4:5 crop a renderização máxima sem upscale é ~640px de largura. */
.felipe-portrait--photo{
  background: var(--ink-700);          /* fallback dark pé nhível da foto */
  overflow: hidden;
  margin: 0;
}
.felipe-portrait--photo::before{ display: none; }
.felipe-portrait--photo .felipe-portrait__img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;         /* puxa pra cima pra não cortar topo da cabeça */
  display: block;
  filter: none;                        /* foto já é PB — sem ajuste */
}
.felipe-portrait--photo .felipe-portrait__caption{ display: none; }
.felipe-text { display: flex; flex-direction: column; gap: var(--space-6); }
.felipe-text .kicker { margin-bottom: var(--space-4); }
.felipe-text .h1-serif { color: var(--ink-900); max-width: 18ch; }
.felipe-bio { color: var(--ink-500); font-size: 17px; line-height: 1.55; max-width: 56ch; }
.felipe-bio strong { color: var(--ink-900); font-weight: 500; }
.felipe-creds {
  margin-top: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--paper-200);
}
.felipe-creds__row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--paper-200);
  align-items: baseline;
}
.felipe-creds__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-300);
}
.felipe-creds__value {
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-700);
}

/* LinkedIn discreto, abaixo da ficha catalográfica do Felipe */
.felipe-linkedin {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding-top: var(--space-3);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-500);
  text-decoration: none;
  transition: color 180ms ease;
  width: fit-content;
}
.felipe-linkedin:hover { color: var(--ink-900); }
.felipe-linkedin__lbl { color: var(--ink-300); }
.felipe-linkedin__val { color: var(--ink-700); }
.felipe-linkedin:hover .felipe-linkedin__val { color: var(--accent-deep); border-bottom: 1px solid var(--accent-deep); }
.felipe-linkedin__arr { font-family: var(--font-mono); color: var(--ink-300); transition: transform 180ms ease, color 180ms ease; }
.felipe-linkedin:hover .felipe-linkedin__arr { color: var(--accent-deep); transform: translate(2px, -2px); }

/* ============================================================
   CAP 03 — Manifesto (dark)
   ============================================================ */
.manifesto {
  text-align: left;
}
.manifesto__kicker { color: var(--accent-gold); margin-bottom: var(--space-12); }
.manifesto__quote {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 44px;
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--paper-50);
  max-width: 22ch;
  text-wrap: balance;
}
.manifesto__quote em {
  font-style: italic;
  color: var(--accent-gold);
}
.manifesto__quote .punct {
  color: var(--accent-gold);
  font-style: normal;
  margin: 0 4px;
}
.manifesto__support {
  margin-top: var(--space-12);
  font-size: 17px;
  line-height: 1.6;
  color: var(--paper-200);
  max-width: 48ch;
}
.manifesto__sign {
  margin-top: var(--space-12);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-gold);
}
.manifesto__sign .dim { color: var(--paper-200); padding-left: 12px; }

/* ============================================================
   CAP 04 — Oferta (redesenho R1)
   ============================================================ */
.cap-04__head { max-width: 760px; }
.cap-04__head .kicker { margin-bottom: var(--space-8); }
.cap-04__intro {
  margin-top: var(--space-6);
  color: var(--ink-500);
  font-size: 17px;
  line-height: 1.55;
  max-width: 60ch;
}
.card-oferta__pareto {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-500);
  max-width: 56ch;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--paper-200);
  margin-bottom: 0;
}
.card-oferta__pareto em {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--accent-deep);
  font-size: 1.1em;
}
.cap-04__layout {
  margin-top: var(--space-16);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}
/* CARD OFERTA PRINCIPAL */
.card-oferta {
  background: var(--paper-100);
  border: 1px solid var(--paper-200);
  padding: var(--space-12);
  border-radius: 2px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
.card-oferta__kicker { color: var(--ink-300); }
.card-oferta__title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 38px;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--ink-900);
  text-wrap: balance;
  max-width: 22ch;
}
.card-oferta__title em { font-style: italic; color: var(--accent-deep); }
.card-oferta__price-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--paper-200);
  border-bottom: 1px solid var(--paper-200);
}
.card-oferta__price-meta {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-300);
}
.card-oferta__price {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 72px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink-900);
  font-variant-numeric: tabular-nums;
}
.card-oferta__price .currency {
  font-size: 0.4em;
  vertical-align: 0.55em;
  margin-right: 6px;
  color: var(--ink-500);
  letter-spacing: 0;
}
.card-oferta__price-line {
  font-family: var(--font-serif);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-500);
  letter-spacing: 0;
  margin: 0;
  max-width: 52ch;
}
.card-oferta__price-line em {
  font-style: italic;
  color: var(--ink-700);
}
.card-oferta__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.card-oferta__list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: var(--space-3);
  align-items: baseline;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-700);
}
.card-oferta__list li::before {
  content: "✓";
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-700);
  line-height: 1.6;
}
.card-oferta__list li strong { font-weight: 500; color: var(--ink-900); }
.card-oferta__list li em {
  font-style: normal;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-deep);
  display: block;
  margin-top: 2px;
}

.card-oferta__cta-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: stretch;
  padding-top: var(--space-4);
  border-top: 1px solid var(--paper-200);
}
.card-oferta__cta-row .cta { width: 100%; }

.selo-garantia {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  background: transparent;
  padding: 0;
}
.selo-garantia__circle {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--guarantee);
  color: var(--paper-50);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.selo-garantia__text {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-500);
  line-height: 1.5;
}
.selo-garantia__text strong { color: var(--ink-900); font-weight: 500; display: block; }

/* CARDS SECUNDÁRIOS */
.cards-secundarios {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  align-content: start;
}
.cards-secundarios__header {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-300);
  line-height: 1.5;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--paper-200);
}
.cards-secundarios__header strong { color: var(--ink-700); font-weight: 500; }
.card-sec {
  background: transparent;
  border: 1px solid var(--paper-200);
  padding: var(--space-8);
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.card-sec__num {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--ink-300);
}
.card-sec__title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.15;
  color: var(--ink-900);
  letter-spacing: -0.005em;
}
.card-sec__desc {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-500);
  max-width: 38ch;
}
.card-sec__desc em {
  font-style: italic;
  color: var(--ink-700);
  display: block;
  margin-top: var(--space-3);
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 1.4;
}
.card-sec__price-meta {
  margin-top: auto;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-300);
  padding-top: var(--space-4);
  border-top: 1px solid var(--paper-200);
}

.cap-04__marginalia {
  margin-top: var(--space-12);
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.7;
  color: var(--ink-500);
  text-transform: none;
  letter-spacing: 0;
  max-width: 38ch;
  padding-top: var(--space-6);
  border-top: 1px solid var(--paper-200);
}
.cap-04__marginalia .arrow { color: var(--accent-deep); margin-right: 6px; }
.cap-04__marginalia strong { font-weight: 500; color: var(--ink-700); }

/* ============================================================
   DESKTOP OVERRIDES via container query
   ============================================================ */
@media (min-width: 1024px) {
  .landing {
    --h1-serif-size: 64px;
    --h1-sans-size: 56px;
    --h2-size: 44px;
    --h3-size: 24px;
    --body-size: 17px;
    --body-sm-size: 15px;
    --caption-size: 13px;
    --display-xl: 96px;
    --container-pad: 40px;
    --section-pad-y: 120px;
  }

  .page-indicator { display: block; }

  .hero { padding-top: 56px; padding-bottom: 120px; }
  .hero__nav { display: flex; }
  .hero__wordmark { font-size: 26px; }
  .hero__head {
    display: grid;
    grid-template-columns: 7fr 5fr;
    column-gap: 64px;
    align-items: end;
    margin-top: var(--space-8);
  }
  .hero__headline {
    font-size: 64px;
    max-width: 22ch;
    text-wrap: balance;
  }
  .hero__headline-sub { margin-top: var(--space-6); }
  .hero__sub { margin-top: var(--space-6); font-size: 18px; max-width: 38ch; }
  .hero__ctas {
    align-items: center;
    flex-wrap: nowrap;
  }
  .hero__ctas .cta { width: auto; }
  .hero__video {
    margin: 96px auto 0;
    width: calc(8/12 * 100%);
    max-height: 480px;
  }

  /* CAP 01 — 2x2 grid + marginalia lateral */
  .cap-01__layout {
    grid-template-columns: 9fr 3fr;
    column-gap: 64px;
    align-items: start;
  }
  .cap-01__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
  }
  .card-feature { min-height: 260px; padding: var(--space-12); }
  .card-feature__title { font-size: 26px; }
  .card-01-marginalia {
    position: sticky;
    top: 120px;
    padding-top: var(--space-6);
    border-top: 1px solid var(--paper-200);
  }

  /* CAP 02 — foto 6 cols + texto 6 cols (R7: foto 6 cols, não 8) */
  .cap-02__layout {
    grid-template-columns: 6fr 6fr;
    column-gap: 80px;
    align-items: start;
  }
  .felipe-portrait__initials { font-size: 220px; }
  .felipe-text .h1-serif { font-size: 56px; }
  .felipe-bio { font-size: 18px; }

  /* CAP 03 — manifesto centralizado */
  .manifesto__quote { font-size: 72px; max-width: 18ch; }
  .manifesto__support { font-size: 19px; }
  .manifesto { max-width: 920px; }

  /* CAP 04 — assimetria 7+5 */
  .cap-04__layout {
    grid-template-columns: 7fr 5fr;
    column-gap: 32px;
    align-items: start;
  }
  .card-oferta { padding: var(--space-16) var(--space-12) var(--space-12); }
  .card-oferta__title { font-size: 48px; }
  .card-oferta__price { font-size: 96px; }
  .card-oferta__cta-row {
    flex-direction: row;
    align-items: center;
    gap: var(--space-8);
  }
  .card-oferta__cta-row .cta { width: auto; flex-shrink: 0; }
  .cards-secundarios { gap: var(--space-4); }
  .card-sec { padding: var(--space-8) var(--space-8) var(--space-6); min-height: 220px; }

  .cap-04__marginalia {
    margin-top: var(--space-16);
    max-width: 52ch;
  }
}

/* Adjust hero ctas wrap on small mobile */
@media (max-width: 1023px) {
  .hero__topbar-cta { display: none; }
}

/* === CAPÍTULOS FATIA 2 === */
/* ============================================================
   CAP 05 — GARANTIA
   ============================================================ */
.cap-05__head{max-width:760px}
.cap-05__head .kicker{margin-bottom:var(--space-8)}
.cap-05__intro{margin-top:var(--space-6);color:var(--ink-500);font-size:17px;line-height:1.55;max-width:60ch}

.cap-05__layout{margin-top:var(--space-16);display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:start}

.selo-grande{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-6)}
.selo-grande__circle{width:160px;height:160px;border-radius:50%;background:var(--guarantee);color:var(--paper-50);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;flex-shrink:0;box-shadow:var(--shadow-medium)}
.selo-grande__circle .pct{font-family:var(--font-serif);font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.selo-grande__circle .lbl{font-family:var(--font-mono);font-size:9px;letter-spacing:0.22em;text-transform:uppercase;margin-top:8px;line-height:1.3}
.selo-grande__caption{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500);line-height:1.5;max-width:24ch}
.selo-grande__caption strong{color:var(--ink-900);font-weight:500;display:block}

.garantia-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--paper-200)}
.garantia-list li{padding:var(--space-6) 0;border-bottom:1px solid var(--paper-200);display:grid;grid-template-columns:32px 1fr;gap:var(--space-4);align-items:baseline}
.garantia-list .num{font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;color:var(--ink-300);font-weight:500;padding-top:4px}
.garantia-list .item{font-size:16px;line-height:1.5;color:var(--ink-700)}
.garantia-list .item strong{color:var(--ink-900);font-weight:500}
.garantia-list .item .tag{display:block;margin-top:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent-deep)}

/* ============================================================
   MANIFESTO DIVIDER (entre cap 05 e cap 06)
   ============================================================ */
.manifesto-band{background:var(--ink-900);color:var(--paper-50);padding:var(--space-24) 0}
.manifesto-band .container{display:flex;flex-direction:column;gap:var(--space-8)}
.manifesto-band .kicker{color:var(--accent-gold)}
.manifesto-band__quote{font-family:var(--font-serif);font-weight:400;font-size:44px;line-height:1.15;letter-spacing:-0.015em;color:var(--paper-50);max-width:22ch;text-wrap:balance}
.manifesto-band__quote em{font-style:italic;color:var(--accent-gold)}
.manifesto-band__sub{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--paper-200)}
.manifesto-band__sub .dim{color:var(--ink-500);padding-left:12px}

/* ============================================================
   CAP 06 — CALCULADORA
   ============================================================ */
.section--cap-06{background:var(--paper-100)}
.cap-06__head{max-width:760px}
.cap-06__head .kicker{margin-bottom:var(--space-8)}
.cap-06__intro{margin-top:var(--space-6);color:var(--ink-500);font-size:17px;line-height:1.55;max-width:60ch}

.calc{margin-top:var(--space-16);display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:start}

.calc__inputs{display:flex;flex-direction:column;gap:var(--space-8)}

.slider-row{display:flex;flex-direction:column;gap:var(--space-3)}
.slider-row__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}
.slider-row__label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500)}
.slider-row__value{font-family:var(--font-serif);font-size:28px;color:var(--ink-900);font-variant-numeric:tabular-nums;line-height:1}
.slider-row__value .unit{font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500);margin-left:6px}

/* Slider primitivo §5.7 — trilha paper-200, handle ink-700 */
.slider-row input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent;cursor:pointer;height:24px;margin:0;padding:0}
.slider-row input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--paper-200);border-radius:2px}
.slider-row input[type=range]::-moz-range-track{height:4px;background:var(--paper-200);border-radius:2px;border:none}
.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ink-700);border:3px solid var(--paper-50);box-shadow:var(--shadow-soft);margin-top:-9px;cursor:pointer}
.slider-row input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--ink-700);border:3px solid var(--paper-50);box-shadow:var(--shadow-soft);cursor:pointer}
.slider-row input[type=range]:focus{outline:none}
.slider-row input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(27,43,71,0.15)}

.slider-row__ticks{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-300);margin-top:2px}

/* Calc output — pico tipográfico */
.calc__output{background:var(--paper-50);border:1px solid var(--paper-200);padding:var(--space-12);display:flex;flex-direction:column;gap:var(--space-8);position:relative}
.calc__output-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-300);line-height:1.5}
.calc__money-row{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}
.calc__money{font-family:var(--font-serif);font-weight:400;font-size:var(--display-xl);line-height:0.95;letter-spacing:-0.025em;color:var(--ink-900);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px}
.calc__money .currency{font-family:var(--font-mono);font-size:0.18em;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500);align-self:flex-start;margin-top:0.5em}
.calc__money-rule{flex:1;height:1px;background:var(--paper-200);min-width:40px;margin-bottom:16px}
.calc__money-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500);line-height:1.5}
.calc__money-disclaimer{font-family:var(--font-mono);font-size:11px;line-height:1.55;color:var(--ink-500);max-width:54ch;margin-top:calc(var(--space-4) * -1)}

.calc__time-row{padding-top:var(--space-6);border-top:1px solid var(--paper-200);display:flex;flex-direction:column;gap:var(--space-2)}
.calc__time-label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-300)}
.calc__time-value{font-family:var(--font-serif);font-size:36px;line-height:1;color:var(--ink-900);font-variant-numeric:tabular-nums}
.calc__time-value .unit{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500);margin-left:8px}
.calc__time-sub{font-size:14px;line-height:1.4;color:var(--ink-500);max-width:48ch}

.calc__cta-row{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}
.calc__cta-row .cta{width:100%}

.cap-06__marginalia{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--paper-200)}

/* ============================================================
   CAP 07 — COMO FUNCIONA / TIMELINE
   ============================================================ */
.cap-07__head{max-width:760px}
.cap-07__head .kicker{margin-bottom:var(--space-8)}
.cap-07__intro{margin-top:var(--space-6);color:var(--ink-500);font-size:17px;line-height:1.55;max-width:60ch}

.timeline{margin-top:var(--space-16);display:flex;flex-direction:column;gap:var(--space-6);position:relative}
.timeline__step{display:grid;grid-template-columns:60px 1fr;gap:var(--space-6);align-items:start;position:relative;padding-bottom:var(--space-8)}
.timeline__step:not(:last-child)::before{content:"";position:absolute;left:5px;top:24px;bottom:0;width:1px;background:var(--paper-200)}
.timeline__dot{width:11px;height:11px;border-radius:50%;background:var(--ink-700);margin-top:8px;flex-shrink:0;position:relative;z-index:1;grid-column:1;grid-row:1 / span 2;justify-self:start}
.timeline__day{font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent-deep);line-height:1.4;grid-column:1;grid-row:1;align-self:start;padding-top:6px;margin-left:18px}
.timeline__content{grid-column:2;grid-row:1 / span 2}
.timeline__title{font-family:var(--font-sans);font-weight:500;font-size:18px;line-height:1.3;color:var(--ink-900);margin-bottom:var(--space-2)}
.timeline__desc{font-size:14px;line-height:1.55;color:var(--ink-500);max-width:50ch}
.timeline__tag{display:inline-block;margin-top:var(--space-3);font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent-deep);border-top:1px solid var(--paper-200);padding-top:6px}

.timeline__optional-block{margin-top:var(--space-16);padding-top:var(--space-12);border-top:1px solid var(--paper-200)}
.timeline__optional-header{font-family:var(--font-mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-300);line-height:1.5;margin-bottom:var(--space-8);max-width:70ch}
.timeline__optional-header strong{color:var(--ink-700);font-weight:500}
.timeline__optional-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}
.optional-card{padding:var(--space-6);border:1px solid var(--paper-200);background:transparent}
.optional-card__num{font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;color:var(--ink-300)}
.optional-card__title{font-family:var(--font-serif);font-size:22px;line-height:1.2;color:var(--ink-900);margin-top:var(--space-2)}
.optional-card__desc{font-size:14px;line-height:1.5;color:var(--ink-500);margin-top:var(--space-3)}

/* ============================================================
   CAP 08 — TABELA COMPARATIVA
   ============================================================ */
.cap-08__head{max-width:760px}
.cap-08__head .kicker{margin-bottom:var(--space-8)}
.cap-08__head .h1-sans em{color:var(--accent-deep)}
.cap-08__intro{margin-top:var(--space-6);color:var(--ink-500);font-size:17px;line-height:1.55;max-width:60ch}

.cap-08__layout{margin-top:var(--space-16);display:grid;grid-template-columns:1fr;gap:var(--space-12)}

/* Desktop table */
.compare-table{display:none;border-collapse:collapse;width:100%;font-size:15px}
.compare-table th,.compare-table td{padding:var(--space-6) var(--space-6);text-align:left;border-bottom:1px solid var(--paper-200);vertical-align:top;line-height:1.5}
.compare-table thead th{font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;color:var(--ink-300);padding-bottom:var(--space-4);border-bottom:1px solid var(--paper-200)}
.compare-table thead th:first-child{color:var(--ink-300)}
.compare-table thead th.col-mine{color:var(--paper-50);background:var(--ink-900)}
.compare-table tbody td.criterion{font-family:var(--font-sans);font-weight:500;font-size:18px;color:var(--ink-900);line-height:1.3;width:24%}
.compare-table tbody td.saas{font-size:14px;color:var(--ink-500);width:36%}
.compare-table tbody td.mine{font-size:14px;color:var(--ink-700);width:40%;background:var(--paper-100)}
.compare-table tbody td.mine strong{color:var(--ink-900);font-weight:500}

/* Mobile compare cards */
.compare-cards{display:flex;flex-direction:column;gap:var(--space-8)}
.compare-card{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-8);border-bottom:1px solid var(--paper-200)}
.compare-card__criterion{font-family:var(--font-sans);font-weight:500;font-size:20px;color:var(--ink-900);line-height:1.3}
.compare-card__row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) 0;border-top:1px solid var(--paper-200)}
.compare-card__row.mine{background:var(--paper-100);padding:var(--space-4);margin-top:var(--space-2)}
.compare-card__row-label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-300)}
.compare-card__row.mine .compare-card__row-label{color:var(--accent-deep)}
.compare-card__row-text{font-size:14px;line-height:1.5;color:var(--ink-500)}
.compare-card__row.mine .compare-card__row-text{color:var(--ink-700)}

.cap-08__marginalia{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--paper-200)}

/* ============================================================
   DESKTOP OVERRIDES via @container vp
   ============================================================ */
@media (min-width: 1024px){
  .landing{
    --h1-serif-size:64px; --h1-sans-size:56px; --h2-size:44px; --h3-size:24px;
    --body-size:17px; --body-sm-size:15px; --caption-size:13px;
    --display-xl:96px;
    --container-pad:40px; --section-pad-y:120px;
  }
  .page-indicator{display:block}

  /* CAP 05 — selo grande + lista 7 itens (2 cols) */
  .cap-05__layout{grid-template-columns:4fr 8fr;column-gap:80px;align-items:start}
  .selo-grande__circle{width:200px;height:200px}
  .selo-grande__circle .pct{font-size:72px}
  .garantia-list{grid-template-columns:1fr 1fr;column-gap:32px}
  .garantia-list li{padding:var(--space-6) var(--space-4)}
  .garantia-list li:nth-last-child(-n+2){border-bottom:none}

  /* MANIFESTO BAND */
  .manifesto-band{padding:160px 0}
  .manifesto-band__quote{font-size:64px;max-width:24ch}

  /* CAP 06 — Calculadora 6 cols inputs + 6 cols output */
  .calc{grid-template-columns:5fr 7fr;column-gap:64px;align-items:start}
  .calc__output{padding:var(--space-16) var(--space-12)}
  .calc__money{font-size:var(--display-xl)}
  .calc__time-value{font-size:48px}
  .calc__cta-row{flex-direction:row;align-items:center;gap:var(--space-6);margin-top:var(--space-6)}
  .calc__cta-row .cta{width:auto}
  .calc__cta-row .calc__cta-note{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500);max-width:24ch;line-height:1.5}

  /* CAP 07 — Timeline horizontal 5 etapas */
  .timeline{flex-direction:row;gap:0;align-items:flex-start;margin-top:var(--space-24)}
  .timeline::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--paper-200);z-index:0}
  .timeline__step{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0;padding:0;flex:1;padding-right:var(--space-4)}
  .timeline__step:not(:last-child)::before{display:none}
  .timeline__dot{margin-top:0;grid-column:1;grid-row:1;justify-self:start;position:relative;background:var(--ink-700);box-shadow:0 0 0 6px var(--paper-50)}
  .timeline__day{margin-left:0;padding-top:var(--space-6);grid-column:1;grid-row:2;color:var(--accent-deep)}
  .timeline__content{grid-column:1;grid-row:3;padding-top:var(--space-3)}
  .timeline__title{font-size:20px;max-width:18ch}
  .timeline__desc{font-size:13px;max-width:28ch}
  .timeline__tag{display:none}

  /* Bloco opcional — 3 cards inline */
  .timeline__optional-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
  .optional-card{padding:var(--space-8)}

  /* CAP 08 — Tabela visível, cards hidden */
  .compare-table{display:table}
  .compare-cards{display:none}
}

@media (max-width: 1023px){
  /* mobile-only refinements */
  .cap-05__layout{gap:var(--space-12)}
  .timeline{margin-left:0}
}

/* === CAPÍTULOS FATIA 3 === */
/* ============================================================
   MANIFESTO BAND (entre Cap 08 e Cap 09)
   ============================================================ */
.manifesto-band{background:var(--ink-900);color:var(--paper-50);padding:var(--space-24) 0}
.manifesto-band .container{display:flex;flex-direction:column;gap:var(--space-8)}
.manifesto-band__quote{font-family:var(--font-serif);font-weight:400;font-size:44px;line-height:1.15;letter-spacing:-0.015em;color:var(--paper-50);max-width:22ch;text-wrap:balance}
.manifesto-band__quote em{font-style:italic;color:var(--accent-gold)}
.manifesto-band__sub{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--paper-200)}
.manifesto-band__sub .dim{color:var(--ink-500);padding-left:12px}

/* ============================================================
   CAP 09 — CONFORMIDADE
   ============================================================ */
.cap-09__head{max-width:760px}
.cap-09__head .kicker{margin-bottom:var(--space-8)}
.cap-09__intro{margin-top:var(--space-6);color:var(--ink-500);font-size:17px;line-height:1.55;max-width:60ch}

.compliance-grid{margin-top:var(--space-16);display:grid;grid-template-columns:1fr;gap:var(--space-8)}
.compliance-tag{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:start;padding:var(--space-6) 0;border-top:1px solid var(--paper-200)}
.compliance-tag__sigla{width:56px;height:56px;background:var(--paper-100);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:0.08em;color:var(--ink-900);text-transform:uppercase;flex-shrink:0}
.compliance-tag__body{display:flex;flex-direction:column;gap:var(--space-2)}
.compliance-tag__title{font-family:var(--font-sans);font-weight:500;font-size:17px;line-height:1.3;color:var(--ink-900)}
.compliance-tag__desc{font-size:14px;line-height:1.5;color:var(--ink-500);max-width:48ch}
.compliance-tag__desc strong{color:var(--ink-700);font-weight:500}

/* ============================================================
   CAP 10 — PROJETO + ACOMPANHAMENTO
   ============================================================ */
.section--cap-10{background:var(--paper-100)}
.cap-10__head{max-width:760px}
.cap-10__head .kicker{margin-bottom:var(--space-8)}
.cap-10__intro{margin-top:var(--space-6);color:var(--ink-500);font-size:17px;line-height:1.55;max-width:60ch}

.cap-10__layout{margin-top:var(--space-16);display:grid;grid-template-columns:1fr;gap:var(--space-12)}
.etapa-detail{background:var(--paper-50);border:1px solid var(--paper-200);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}
.etapa-detail__num{font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-300);line-height:1.4}
.etapa-detail__title{font-family:var(--font-serif);font-weight:400;font-size:32px;line-height:1.1;letter-spacing:-0.01em;color:var(--ink-900)}
.etapa-detail__title em{font-style:italic;color:var(--accent-deep)}
.etapa-detail__lead{font-size:15px;line-height:1.55;color:var(--ink-700);max-width:58ch}
.etapa-detail__hairline{height:1px;background:var(--paper-200);border:0}
.etapa-detail__lab{font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-300);line-height:1.4}
.etapa-detail__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.etapa-detail__list li{display:grid;grid-template-columns:24px 1fr;gap:var(--space-3);align-items:baseline;font-size:14px;line-height:1.5;color:var(--ink-700)}
.etapa-detail__list .b{font-family:var(--font-mono);color:var(--accent-deep);font-size:11px;letter-spacing:0.18em}
.etapa-detail__list strong{color:var(--ink-900);font-weight:500}
.etapa-detail__price{font-family:var(--font-serif);font-size:24px;line-height:1.1;color:var(--ink-900);font-style:italic}
.etapa-detail__price-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-500);margin-top:6px;display:block}
.etapa-detail .cta{align-self:flex-start}

.cap-10__marginalia{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--paper-200)}

/* ============================================================
   CAP 11 — FAQ
   ============================================================ */
.cap-11__head{max-width:760px}
.cap-11__head .kicker{margin-bottom:var(--space-8)}
.cap-11__intro{margin-top:var(--space-6);color:var(--ink-500);font-size:17px;line-height:1.55;max-width:60ch}

.faq-list{margin-top:var(--space-12);list-style:none;padding:0;border-top:1px solid var(--paper-200)}
.faq-list .faq{display:grid;grid-template-columns:48px 1fr;gap:var(--space-6);padding:var(--space-8) 0;border-bottom:1px solid var(--paper-200);align-items:start}
.faq__num{font-family:var(--font-mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-300);padding-top:6px}
.faq__body{display:flex;flex-direction:column;gap:0}
.faq__toggle{
  appearance:none;background:transparent;border:0;padding:0;margin:0;
  width:100%;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-4);
  cursor:pointer;text-align:left;
  font:inherit;color:inherit;
}
.faq__q{font-family:var(--font-serif);font-weight:400;font-size:22px;line-height:1.25;color:var(--ink-900);letter-spacing:-0.005em;max-width:32ch;text-wrap:balance;margin:0}
.faq__q em{font-style:italic;color:var(--accent-deep)}
.faq__indicator{
  font-family:var(--font-mono);font-size:14px;color:var(--ink-300);
  width:18px;height:18px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:transform 220ms ease,color 220ms ease;
}
.faq__toggle:hover .faq__indicator{color:var(--ink-700)}
.faq[data-open] .faq__indicator{transform:rotate(45deg);color:var(--ink-700)}
.faq__a-wrap{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows 280ms ease;
}
.faq[data-open] .faq__a-wrap{grid-template-rows:1fr}
.faq__a-inner{overflow:hidden}
.faq__a{font-size:15px;line-height:1.6;color:var(--ink-700);max-width:62ch;margin-top:var(--space-4);margin-bottom:0}
.faq__a strong{color:var(--ink-900);font-weight:500}
.faq__a em{font-style:italic;color:var(--ink-900)}

.cap-11__marginalia{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--paper-200)}

/* ============================================================
   CAP 12 — CTA FINAL (dark)
   ============================================================ */
.cap-12{background:var(--ink-900);color:var(--paper-50);padding-top:var(--section-pad-y);padding-bottom:var(--section-pad-y)}
.cap-12 .kicker{color:var(--accent-gold)}
.cap-12__layout{display:flex;flex-direction:column;gap:var(--space-12);align-items:flex-start;max-width:880px}
.cap-12__headline{font-family:var(--font-serif);font-weight:400;font-size:56px;line-height:1.0;letter-spacing:-0.02em;color:var(--paper-50);max-width:18ch;text-wrap:balance;margin-top:var(--space-8)}
.cap-12__headline em{font-style:italic;color:var(--accent-gold)}
.cap-12__sub{font-size:18px;line-height:1.55;color:var(--paper-200);max-width:48ch;margin-top:var(--space-4)}
.cap-12__ctas{display:flex;flex-direction:column;gap:var(--space-3);width:100%}
.cap-12__ctas .cta{width:100%}
.cap-12__price-note{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--paper-200);line-height:1.6;border-left:1px solid var(--ink-500);padding-left:var(--space-4);max-width:48ch}
.cap-12__price-note strong{color:var(--paper-50);font-weight:500;display:block;margin-bottom:4px}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--ink-900);color:var(--paper-200);padding:var(--space-16) 0 var(--space-8);border-top:1px solid var(--ink-500)}
.site-footer .container{display:flex;flex-direction:column;gap:var(--space-12)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-12)}
.footer-col h4{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--paper-200);margin-bottom:var(--space-4);line-height:1.4}
.footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
.footer-col li a, .footer-col li span{font-size:14px;line-height:1.5;color:var(--paper-50);transition:color 180ms ease;display:inline-flex;align-items:baseline;gap:8px}
.footer-col li a:hover{color:var(--accent-gold)}
.footer-col li .mono-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#6a7385;margin-right:6px}
.footer-brand{display:flex;flex-direction:column;gap:var(--space-4);max-width:36ch}
.footer-brand__wordmark{font-family:var(--font-serif);font-size:32px;line-height:1;letter-spacing:-0.02em;color:var(--paper-50)}
.footer-brand__wordmark em{font-style:italic;color:var(--accent-gold)}
.footer-brand__tag{font-size:14px;line-height:1.55;color:var(--paper-200);max-width:30ch}
.footer-brand__essenzia{font-family:var(--font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#6a7385;line-height:1.5;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--ink-500)}
.footer-bottom{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--ink-500);font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#6a7385}
.footer-bottom span{display:block;line-height:1.6}

/* ============================================================
   DESKTOP OVERRIDES via @container vp
   ============================================================ */
@media (min-width: 1024px){
  .landing{
    --h1-serif-size:64px; --h1-sans-size:56px; --h2-size:44px; --h3-size:24px;
    --body-size:17px; --body-sm-size:15px; --caption-size:13px;
    --display-xl:96px;
    --container-pad:40px; --section-pad-y:120px;
  }
  .page-indicator{display:block}

  /* MANIFESTO BAND */
  .manifesto-band{padding:160px 0}
  .manifesto-band__quote{font-size:64px;max-width:24ch}

  /* CAP 09 — 6 compliance tags em 2 cols × 3 linhas */
  .compliance-grid{grid-template-columns:1fr 1fr;column-gap:64px;row-gap:0}
  .compliance-tag{padding:var(--space-8) 0}
  .compliance-tag__sigla{width:64px;height:64px;font-size:15px}
  .compliance-tag__title{font-size:20px}
  .compliance-tag__desc{font-size:14px}

  /* CAP 10 — 2 cols detalhadas */
  .cap-10__layout{grid-template-columns:1fr 1fr;column-gap:32px}
  .etapa-detail{padding:var(--space-12)}
  .etapa-detail__title{font-size:40px}

  /* CAP 11 — FAQ desktop densidade */
  .faq-list .faq{grid-template-columns:80px 1fr;column-gap:var(--space-12);padding:var(--space-12) 0}
  .faq__q{font-size:26px;max-width:32ch}

  /* CAP 12 — CTA final */
  .cap-12__layout{max-width:1100px}
  .cap-12__headline{font-size:88px;max-width:16ch}
  .cap-12__sub{font-size:20px}
  .cap-12__ctas{flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-4);width:auto}
  .cap-12__ctas .cta{width:auto}
  .cap-12__price-note{font-size:12px}

  /* FOOTER — 4 cols */
  .footer-grid{grid-template-columns:5fr 3fr 3fr 3fr;gap:64px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
}

/* v2.7 — footer signature link */
.footer-bottom__link{
  color:inherit;
  border-bottom:1px solid transparent;
  padding-bottom:1px;
  transition:color 180ms ease, border-color 180ms ease;
}
.footer-bottom__link:hover,
.footer-bottom__link:focus-visible{
  color:var(--accent-gold);
  border-bottom-color:var(--accent-gold);
}

/* ============================================================
   v2.5 OVERRIDES & ADDITIONS
   ============================================================ */

/* ---- v2.6 HOVER EFFECTS — perceptible feedback, legible text ---- */
.cta{ transition:background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.cta .arrow{ display:inline-block; transition:transform 180ms ease; }
.cta:hover .arrow,
.cta:focus-visible .arrow{ transform:translateX(3px); }

/* Primary (filled navy) — swap to gold on hover */
.cta:hover{
  background:var(--accent-gold);
  color:var(--ink-900);
  border-color:var(--accent-gold);
}

/* Ghost (border on light bg) — fill with warm paper, deepen border + text */
.cta--ghost:hover{
  background:var(--paper-200);
  color:var(--ink-900);
  border-color:var(--ink-900);
}

/* Ghost on dark bg — brighter wash + gold border, paper-50 text */
.cta--ghost-dark:hover{
  background:rgba(244,239,227,0.10);
  color:var(--paper-50);
  border-color:var(--accent-gold);
}

/* Gold filled — invert to navy on hover */
.cta--gold:hover{
  background:var(--ink-900);
  color:var(--paper-50);
  border-color:var(--ink-900);
}

/* Focus rings for keyboard — same WCAG comfort */
.cta:focus-visible{ outline:2px solid var(--accent-gold); outline-offset:3px; }

/* Topbar CTA — animated underline + color shift */
.hero__topbar-cta{ transition:color 180ms ease, border-color 180ms ease; position:relative; }
.hero__topbar-cta:hover{ color:var(--accent-deep); border-bottom-color:var(--accent-deep); }

/* Header nav — underline-from-below */
.hero__nav a{ position:relative; padding-bottom:4px; transition:color 180ms ease; }
.hero__nav a::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:1px;
  background:var(--accent-deep);
  transform:scaleX(0); transform-origin:left center;
  transition:transform 220ms ease;
}
.hero__nav a:hover{ color:var(--ink-900); }
.hero__nav a:hover::after{ transform:scaleX(1); }

/* Footer links — ensure transition smoothness + mono-meta tracks color */
.footer-col li a{ transition:color 200ms ease; }
.footer-col li a:hover .mono-meta{ color:var(--accent-gold); }

/* LinkedIn link in Cap 02 — already animated, just tighten */
.felipe-linkedin{ transition:color 180ms ease; }

/* ============================================================
   HERO — new split layout (text + video side by side @ desktop)
   ============================================================ */
.hero__main{
  display:flex;
  flex-direction:column;
  gap:var(--space-12);
  margin-top:var(--space-8);
}
.hero__copy{
  display:flex;
  flex-direction:column;
}
.hero__copy .kicker{ margin-bottom:var(--space-6); }
.hero__copy .hero__headline-sub{ margin-top:var(--space-4); }
.hero__copy .hero__sub{ margin-top:var(--space-6); }

/* video defaults — kill legacy desktop centering rule */
.hero__video{ margin:0; width:100%; max-height:none; }
.hero__ctas{ margin-top:0; }

/* TEMP — vídeo de 90s pendente de gravação. Reativar removendo .is-hidden no markup. */
.hero__video.is-hidden{ display:none !important; }

@media (min-width:1024px){
  .hero__main{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr auto;
    column-gap:64px;
    row-gap:var(--space-8);
    align-items:stretch;
    margin-top:var(--space-12);
  }
  .hero__copy{
    grid-column:1; grid-row:1;
    justify-content:flex-start;
  }
  .hero__copy .hero__headline{ font-size:64px; max-width:18ch; }
  .hero__copy .hero__sub{ font-size:18px; max-width:48ch; }
  .hero__video{
    grid-column:2; grid-row:1 / span 2;
    margin:0 !important;
    width:100% !important;
    aspect-ratio:auto;
    max-height:none;
    min-height:560px;
    align-self:stretch;
  }
  .hero__ctas{
    grid-column:1; grid-row:2;
    align-self:end;
    margin-top:var(--space-8);
  }

  /* TEMP — enquanto o vídeo está oculto, o hero colapsa pra coluna única no desktop
     pra não deixar buraco do lado direito. Reativar removendo este bloco + a classe
     .is-video-hidden do markup quando o vídeo voltar. */
  .hero__main.is-video-hidden{
    display:flex;
    flex-direction:column;
    gap:var(--space-12);
  }
  .hero__main.is-video-hidden .hero__copy .hero__headline{ max-width:22ch; }
  .hero__main.is-video-hidden .hero__copy .hero__sub{ max-width:56ch; }
  .hero__main.is-video-hidden .hero__ctas{ margin-top:0; }
}

/* ============================================================
   MOBILE HAMBURGER MENU + FIXED TOPBAR
   ============================================================ */
.hero__menu-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:40px; height:40px;
  background:transparent;
  border:1px solid var(--paper-200);
  border-radius:2px;
  padding:10px 9px;
  cursor:pointer;
  margin-left:auto;
}
.hero__menu-toggle span{
  display:block;
  width:100%; height:1.5px;
  background:var(--ink-700);
  transition:transform 220ms ease, opacity 220ms ease;
}
.hero__menu-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.hero__menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.hero__menu-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.hero-menu-mobile{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  padding:var(--space-6) var(--container-pad);
  background:var(--paper-50);
  border-bottom:1px solid var(--paper-200);
  position:fixed;
  top:60px; left:0; right:0;
  z-index:98;
  max-height:calc(100vh - 60px);
  overflow-y:auto;
  box-shadow:0 12px 24px -16px rgba(14,26,46,0.18);
}
.hero-menu-mobile[hidden]{ display:none; }
.hero-menu-mobile nav{
  display:flex;
  flex-direction:column;
}
.hero-menu-mobile nav a{
  display:flex;
  align-items:baseline;
  gap:var(--space-3);
  padding:var(--space-4) 0;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ink-700);
  border-bottom:1px solid var(--paper-200);
  transition:color 180ms ease;
}
.hero-menu-mobile nav a:hover{ color:var(--accent-deep); }
.hero-menu-mobile nav a .mono-meta{
  color:var(--ink-300);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.18em;
  min-width:24px;
}
.hero-menu-mobile__cta{
  margin-top:var(--space-2);
  padding:14px 20px;
  background:var(--ink-700);
  color:var(--paper-50);
  font-family:var(--font-sans);
  font-size:14px;
  font-weight:500;
  letter-spacing:-0.005em;
  border-radius:2px;
  text-align:center;
  transition:background 180ms ease;
}
.hero-menu-mobile__cta:hover{ background:var(--ink-900); color:var(--paper-50); }

@media (max-width:1023px){
  .hero{ padding-top:80px; }
  .hero__topbar{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    background:rgba(244,239,227,0.96);
    backdrop-filter:saturate(140%) blur(6px);
    -webkit-backdrop-filter:saturate(140%) blur(6px);
    margin:0;
    padding:var(--space-3) var(--container-pad);
    border-bottom:1px solid var(--paper-200);
    align-items:center;
    gap:var(--space-3);
  }
  .hero__menu-toggle{ display:flex; }
}
@media (min-width:1024px){
  .hero-menu-mobile{ display:none !important; }
  .hero__menu-toggle{ display:none !important; }
}

/* ============================================================
   CAP 01 — aside box with Pareto highlight
   ============================================================ */
.card-01-marginalia{
  background:var(--paper-100);
  padding:var(--space-8);
  border-left:2px solid var(--accent-gold);
  border-top:0;
  max-width:none;
  display:flex;
  flex-direction:column;
  gap:0;
}
.card-01-marginalia__pareto,
.card-01-marginalia__support{
  font-family:var(--font-mono);
  line-height:1.65;
  margin:0;
}
.card-01-marginalia__pareto{
  font-size:13px;
  color:var(--ink-900);
  padding-bottom:var(--space-6);
  margin-bottom:var(--space-6);
  border-bottom:1px dashed var(--paper-200);
  font-weight:500;
}
.card-01-marginalia__pareto em{
  font-family:var(--font-serif);
  font-style:italic;
  font-size:1.3em;
  font-weight:400;
  color:var(--accent-deep);
  border-bottom:0;
  letter-spacing:-0.01em;
}
.card-01-marginalia__support{
  font-size:12px;
  color:var(--ink-500);
}
.card-01-marginalia__support em{
  color:var(--ink-700);
  font-style:normal;
  border-bottom:1px solid var(--paper-200);
}
.card-01-marginalia .arrow{
  color:var(--accent-deep);
  margin-right:6px;
  font-family:var(--font-mono);
}
@media (min-width:1024px){
  .card-01-marginalia{
    padding:var(--space-8);
    position:sticky;
    top:120px;
  }
}

/* ============================================================
   CAP 08 — title + manifesto-band dim contrast
   ============================================================ */
.cap-08__head .h1-sans{ color:var(--ink-900); }
.cap-08__head .h1-sans em{ color:var(--accent-deep); }
.manifesto-band__sub .dim{ color:inherit; opacity:1; padding-left:12px; }

/* ============================================================
   CAP 10 — Central do Dia screenshot inside Projeto Personalizado
   ============================================================ */
.etapa-detail__screenshot{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.etapa-detail__screenshot-frame{
  background:var(--paper-100);
  border:1px solid var(--paper-200);
  border-radius:4px;
  padding:6px;
  overflow:hidden;
}
.etapa-detail__screenshot img{
  display:block;
  width:100%;
  height:auto;
  border-radius:2px;
  filter:saturate(0.62) contrast(0.9) brightness(0.95);
  opacity:0.93;
}
.etapa-detail__screenshot figcaption{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--ink-500);
  line-height:1.55;
  max-width:60ch;
}

/* ============================================================
   v2.6 ADDITIONS
   ============================================================ */

/* ---- CAP 06 marginalia: same box treatment as Cap 01 aside ---- */
.cap-06__marginalia{
  margin-top:var(--space-12);
  padding:var(--space-8);
  background:var(--paper-100);
  border-left:2px solid var(--accent-gold);
  border-top:0;
  max-width:none;
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.7;
  color:var(--ink-500);
}
.cap-06__marginalia .arrow{ color:var(--accent-deep); margin-right:6px; }
.cap-06__marginalia em{ color:var(--ink-700); font-style:normal; border-bottom:1px solid var(--paper-200); }
.cap-06__marginalia strong{ font-weight:500; color:var(--ink-900); }

/* ---- CAP 10 aside on Acompanhamento (balances screenshot in left card) ---- */
.etapa-detail__aside{
  margin:0;
  padding:var(--space-6) var(--space-6);
  background:var(--paper-100);
  border-left:2px solid var(--accent-gold);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.04em;
  line-height:1.7;
  color:var(--ink-500);
}
.etapa-detail__aside .arrow{ color:var(--accent-deep); margin-right:6px; }
.etapa-detail__aside em{ color:var(--ink-700); font-style:normal; }

/* ============================================================
   v2.9 REFACTOR — hero video dark, Felipe byline pequeno, Cap 05 novo
   ============================================================ */

/* Hero video — dark + brass play icon (placeholder até vídeo real) */
.hero__video{
  background: var(--ink-900);
  border-color: var(--ink-700);
}
.hero__video::before{
  border-color: var(--ink-700);
}
.hero__video-play{
  background: var(--accent-gold);
}
.hero__video-play::before{
  border-left-color: var(--ink-900);
}
.hero__video-label{
  color: var(--accent-gold);
}

/* Felipe byline pequeno — substitui o portrait grande */
.felipe-byline{
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}
.felipe-byline__portrait{
  width: 88px;
  height: 88px;
  margin: 0;
  background: var(--ink-900);
  overflow: hidden;
  flex-shrink: 0;
  border-radius: 2px;
}
.felipe-byline__portrait img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  display: block;
}
.felipe-byline__meta{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.felipe-byline__name{
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.1;
  color: var(--ink-900);
  letter-spacing: -0.01em;
}
.felipe-byline__role{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-300);
}

/* Cap 06 layout editorial — coluna única, sem competição visual */
.cap-02__layout--editorial{
  grid-template-columns: 1fr;
  max-width: 760px;
}

@media (min-width: 768px){
  .felipe-byline__portrait{ width: 96px; height: 96px; }
  .felipe-byline__name{ font-size: 26px; }
}

/* ============================================================
   CAP 03 — sub-blocos (processo · etapas) dentro da seção única
   ============================================================ */
.cap-03__processo{
  margin-top: var(--space-24);
  padding-top: var(--space-16);
  border-top: 1px solid var(--paper-200);
}
.cap-03__processo-head{ max-width: 720px; margin-bottom: var(--space-12); }
.cap-03__processo-title{
  font-size: 36px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink-900);
  max-width: 22ch;
}
.cap-03__processo-title em{
  font-style: italic;
  color: var(--accent-deep);
}
.cap-03__processo-intro{
  margin-top: var(--space-6);
  color: var(--ink-500);
  font-size: 17px;
  line-height: 1.55;
  max-width: 60ch;
}
@media (min-width: 1024px){
  .cap-03__processo-title{ font-size: 44px; }
}

/* ============================================================
   CAP 05 — Ferramenta pronta (novo capítulo)
   ============================================================ */
.cap-05-novo .cap-05__head{ max-width: 760px; }
.cap-05-novo .cap-05__head .kicker{ margin-bottom: var(--space-8); }
.cap-05-novo .cap-05__intro{
  margin-top: var(--space-6);
  color: var(--ink-500);
  font-size: 17px;
  line-height: 1.55;
  max-width: 60ch;
}
.cap-05__grid{
  margin-top: var(--space-16);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

/* Card variant — espelha .card-feature do Cap 01 mas com borda dourada superior */
.card-feature--solution{
  border-top: 2px solid var(--accent-gold);
  position: relative;
}
.card-feature--solution .card-feature__num{
  color: var(--accent-gold);
}

/* Bloco de fechamento — customização */
.cap-05__closing{
  margin-top: var(--space-12);
  background: var(--ink-900);
  color: var(--paper-50);
  padding: var(--space-12);
  border-radius: 2px;
}
.cap-05__closing .kicker{
  color: var(--accent-gold);
  margin-bottom: var(--space-6);
  display: block;
}
.cap-05__closing p{
  font-family: var(--font-serif);
  font-size: 19px;
  line-height: 1.55;
  letter-spacing: -0.005em;
  color: var(--paper-50);
  max-width: 60ch;
  margin: 0;
}
.cap-05__closing em{
  font-style: italic;
  color: var(--accent-gold);
}

.cap-05__marginalia{
  margin-top: var(--space-12);
  padding-top: var(--space-6);
  border-top: 1px solid var(--paper-200);
}

@media (min-width: 768px){
  .cap-05__grid{ grid-template-columns: 1fr 1fr; gap: var(--space-6); }
}
@media (min-width: 1024px){
  .cap-05__closing{ padding: var(--space-16); }
  .cap-05__closing p{ font-size: 22px; }
}

/* ============================================================
   v2.10 ADJUSTMENTS — selo-garantia--lg, calc__price-aside,
   manifesto-band__body, cta-anchor
   ============================================================ */

/* 5.7 — Selo de garantia maior (Cap 03) */
.selo-garantia--lg{
  gap: var(--space-6);
}
.selo-garantia--lg .selo-garantia__circle{
  width: 88px;
  height: 88px;
  font-size: 13px;
  line-height: 1.15;
}
.selo-garantia--lg .selo-garantia__text{
  font-size: 12px;
  line-height: 1.55;
}
@media (min-width: 768px){
  .selo-garantia--lg .selo-garantia__circle{ width: 104px; height: 104px; font-size: 14px; }
  .selo-garantia--lg .selo-garantia__text{ font-size: 13px; }
}

/* 3.2 — Bloco de preço ao lado do CTA da calculadora */
.calc__price-aside{
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 28ch;
}
.calc__price-aside__head{
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-900);
  line-height: 1.4;
}
.calc__price-aside__sub{
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-300);
  line-height: 1.55;
}
@media (min-width: 768px){
  .calc__price-aside__head{ font-size: 13px; }
}

/* 4.3 — Corpo de texto do manifesto-band (substitui __sub) */
.manifesto-band__body{
  font-family: var(--font-serif);
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: -0.005em;
  color: var(--paper-200);
  max-width: 58ch;
  margin-top: var(--space-4);
}
.manifesto-band__body em{
  font-style: italic;
  color: var(--accent-gold);
}
@media (min-width: 1024px){
  .manifesto-band__body{ font-size: 20px; max-width: 62ch; }
}

/* 9. CTA âncora — bloco curto entre Cap 06 e Manifesto */
.cta-anchor{
  background: var(--paper-50);
  padding: var(--space-16) 0;
  border-top: 1px solid var(--paper-200);
  border-bottom: 1px solid var(--paper-200);
}
.cta-anchor__row{
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  align-items: flex-start;
}
.cta-anchor__copy{
  font-family: var(--font-serif);
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--ink-900);
  margin: 0;
  max-width: 24ch;
  text-wrap: balance;
}
.cta-anchor__copy em{
  font-style: italic;
  color: var(--accent-deep);
}
@media (min-width: 768px){
  .cta-anchor{ padding: var(--space-24) 0; }
  .cta-anchor__row{
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
  }
  .cta-anchor__copy{ font-size: 32px; max-width: 30ch; }
}
