/* ============================================================
   ANTON — ESTÚDIO CRIATIVO
   Paleta oficial (brand board):
     --vermelho  #7A1F24  acento — identidade / registro "ateliê"
     --vinho     #4B1D24  fundo escuro — o momento exato da oferta/pedido
     --cafe      #3A2A22  texto principal sobre fundo claro
     --bege      #A18E7A  texto secundário / bordas
     --areia     #D8CCBA  painéis sobre fundo claro
     --linho     #F2EDE6  fundo principal (claro, quente)
     --grafite   #2E2E2E  rodapé / chrome estrutural
   Tipografia: Switzer (estrutura) + Baskervville (voz, sem bold real).

   DUAS PÁGINAS, DOIS REGISTROS DELIBERADOS:
   - index.html  = identidade, criativa, foge do padrão. O vidro aqui é
     conceito de VITRINE — a frase da marca vista através de um painel de
     vidro assimétrico, não um card de UI centralizado. Nav também foge do
     padrão: sem barra horizontal, só marca + gatilho de menu em tela cheia.
   - sites.html  = landing de funil, minimalista e direta. SEM vidro, sem
     blobs — menos seções, mais espaço em branco. O vinho aparece só UMA
     vez, no CTA final: é o momento exato do pedido, em toda a página.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --vermelho: #7A1F24;
  --vinho:    #4B1D24;
  --cafe:     #3A2A22;
  --bege:     #A18E7A;
  --areia:    #D8CCBA;
  --linho:    #F2EDE6;
  --grafite:  #2E2E2E;

  --bg:        var(--linho);
  --bg-soft:   #EAE1D2;
  --text:      var(--cafe);
  --text-soft: var(--bege);
  --heading:   var(--grafite);
  --line:      rgba(58, 42, 34, 0.18);

  --accent:       var(--vermelho);
  --accent-hover: #8F272D;
  --accent-soft:  rgba(122, 31, 36, 0.1);
  --accent-on-dark: var(--areia);

  --dark:       var(--vinho);
  --dark-soft:  #63313D;
  --dark-text:  var(--linho);
  --dark-muted: rgba(242, 237, 230, 0.72);
  --dark-line:  rgba(242, 237, 230, 0.2);

  --chrome: var(--grafite);

  --font-struct: 'Switzer', system-ui, -apple-system, sans-serif;
  --font-voice:  'Baskervville', Georgia, 'Times New Roman', serif;

  --space-3xs: 0.375rem;
  --space-2xs: 0.75rem;
  --space-xs:  1rem;
  --space-sm:  1.5rem;
  --space-md:  2.5rem;
  --space-lg:  4.5rem;
  --space-xl:  7.5rem;
  --space-2xl: 11rem;

  --fs-hero: clamp(2.5rem, 5.6vw, 4.75rem);
  --fs-h2:   clamp(2rem, 4.4vw, 3.4rem);
  --fs-h3:   clamp(1.3rem, 2.2vw, 1.75rem);
  --fs-lead: clamp(1.05rem, 1.5vw, 1.25rem);
  --fs-body: 1.05rem;
  --fs-small: 0.9rem;
  --fs-label: 0.78rem;

  --radius: 2px;
  --radius-lg: 2px;
  --radius-card: clamp(20px, 3vw, 32px);
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition: 0.4s var(--ease);

  --glass-blur: blur(24px) saturate(160%);
  --glass-bg: linear-gradient(155deg, rgba(255,255,255,0.5), rgba(255,255,255,0.14) 40%, rgba(255,255,255,0.06));
  --glass-border: rgba(255, 255, 255, 0.45);
  --glass-shadow: 0 30px 70px rgba(58, 42, 34, 0.22);
  --glass-bg-dark: linear-gradient(155deg, rgba(40,16,20,0.6), rgba(75,29,36,0.36) 45%, rgba(75,29,36,0.55));
  --glass-border-dark: rgba(242, 237, 230, 0.22);
  --glass-shadow-dark: 0 30px 70px rgba(0, 0, 0, 0.45);
}

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-voice);
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 500;
  pointer-events: none;
  opacity: 0.045;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ul { list-style: none; }
button { font: inherit; cursor: pointer; }

.container {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
  z-index: 1;
}
@media (max-width: 640px) { .container { padding: 0 var(--space-sm); } }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── EYEBROW ── */
.eyebrow {
  display: inline-flex; align-items: center; gap: 0.6em;
  font-family: var(--font-struct); font-weight: 500;
  font-size: var(--fs-label); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-soft);
}
.eyebrow::before { content: ''; width: 18px; height: 1px; background: var(--accent); }
.section--vinho .eyebrow { color: var(--dark-muted); }
.section--vinho .eyebrow::before { background: var(--accent-on-dark); }

/* ── LINHA ── */
.thread { height: 1px; width: 100%; background: var(--line); transform-origin: left; }
.thread--draw { animation: draw-line 1.1s var(--ease) 0.3s both; }
.thread--shift { height: 2px; background: linear-gradient(90deg, var(--accent), var(--dark)); }
@keyframes draw-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ── REVEAL ── */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ── PAINEL — cartão quieto (funcional) ── */
.glass { background: var(--bg-soft); border: 1px solid var(--line); }
.glass--dark { background: var(--dark-soft); border: 1px solid var(--dark-line); }

/* ── VITRINE — vidro de destaque, só no index.html ── */
.blob-field { position: absolute; inset: 0; overflow: hidden; z-index: 0; pointer-events: none; }
.blob { position: absolute; border-radius: 50%; filter: blur(80px); }
.blob--vermelho { background: radial-gradient(circle at 35% 35%, var(--vermelho), transparent 72%); opacity: 0.5; }
.blob--areia    { background: radial-gradient(circle at 60% 40%, var(--areia), transparent 72%); opacity: 0.55; }

.glass-card {
  position: relative; z-index: 1;
  border-radius: var(--radius-card);
  border: 1px solid var(--glass-border);
  background: var(--glass-bg);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  box-shadow: var(--glass-shadow);
}
.glass-card--dark {
  border-color: var(--glass-border-dark);
  background: var(--glass-bg-dark);
  box-shadow: var(--glass-shadow-dark);
}

/* ── NAV ── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: var(--space-sm) 0;
  background: transparent; border-bottom: 1px solid transparent;
  transition: background var(--transition), border-color var(--transition), padding var(--transition);
}
.nav.scrolled { background: var(--linho); border-bottom-color: var(--line); padding: var(--space-2xs) 0; }
.nav__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
.nav__logo { font-family: var(--font-struct); font-weight: 700; font-size: 1.2rem; letter-spacing: 0.06em; color: var(--heading); }
.nav__logo span { color: var(--accent); }
.nav__menu { display: flex; align-items: center; gap: var(--space-lg); }
.nav__link { font-family: var(--font-struct); font-size: var(--fs-small); color: var(--text); opacity: 0.82; transition: opacity var(--transition); }
.nav__link:hover { opacity: 1; }
.nav__cta {
  display: inline-flex; align-items: center; gap: 0.5em;
  font-family: var(--font-struct); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.04em;
  color: var(--dark-text); background: var(--accent);
  padding: 0.6em 1.1em; border-radius: var(--radius);
  transition: transform var(--transition), background var(--transition);
}
.nav__cta:hover { transform: translateY(-2px); background: var(--accent-hover); }
.nav__toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: 0.4rem; }
.nav__toggle span { width: 22px; height: 1.5px; background: var(--heading); transition: transform var(--transition), opacity var(--transition); }
.nav__toggle.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav__toggle.is-open span:nth-child(2) { opacity: 0; }
.nav__toggle.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

@media (max-width: 800px) {
  .nav__toggle { display: flex; }
  .nav__menu {
    position: fixed; top: 0; right: 0; height: 100vh; width: min(78vw, 340px);
    background: var(--linho);
    flex-direction: column; align-items: flex-start; justify-content: center;
    gap: var(--space-md); padding: var(--space-lg);
    transform: translateX(100%); transition: transform var(--transition);
    border-left: 1px solid var(--line);
  }
  .nav__menu.is-open { transform: translateX(0); }
}

/* nav--overlay (index.html): sem barra horizontal em nenhum tamanho — só
   marca + gatilho, o menu é sempre tela cheia. Foge do padrão nav+links. */
.nav--overlay .nav__toggle { display: flex; }
.nav--overlay .nav__menu {
  position: fixed; top: 0; right: 0; height: 100vh; width: 100%;
  background: var(--linho);
  flex-direction: column; align-items: flex-start; justify-content: center;
  gap: var(--space-md); padding: var(--space-2xl) var(--space-lg);
  transform: translateX(100%); transition: transform var(--transition);
}
.nav--overlay .nav__menu.is-open { transform: translateX(0) !important; }
.nav--overlay .nav__link { font-size: var(--fs-h3); font-family: var(--font-voice); font-style: italic; opacity: 1; }
.nav--overlay .nav__cta { font-family: var(--font-voice); font-style: italic; font-weight: 400; background: none; color: var(--accent); padding: 0; font-size: var(--fs-h3); }
.nav--overlay .nav__cta:hover { transform: none; background: none; color: var(--accent-hover); }

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; gap: 0.6em;
  font-family: var(--font-struct); font-weight: 600; font-size: var(--fs-small);
  padding: 0.95rem 2.2rem; border-radius: var(--radius); border: 1px solid transparent;
  transition: transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
}
.btn--accent { background: var(--accent); color: var(--dark-text); }
.btn--accent:hover { transform: translateY(-2px); background: var(--accent-hover); }
.btn--outline { border-color: var(--line); color: var(--text); }
.btn--outline:hover { border-color: var(--accent); transform: translateY(-2px); }
.section--vinho .btn--outline { color: var(--dark-text); border-color: var(--dark-line); }
.btn--paper { background: var(--linho); color: var(--vinho); }
.btn--paper:hover { transform: translateY(-2px); background: #fff; }

/* ============================================================
   INDEX.HTML — identidade, vitrine, foge do padrão
   ============================================================ */

.hero--vitrine {
  min-height: 100vh;
  display: flex;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.hero__frame {
  flex: 1 1 38%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: calc(var(--space-2xl) + var(--space-md)) var(--space-lg) var(--space-xl) var(--space-md);
  position: relative;
  z-index: 1;
}
.hero__scroll-inline {
  font-family: var(--font-struct);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-soft);
  display: flex;
  align-items: center;
  gap: 0.6em;
}
.hero__scroll-inline::before { content: ''; width: 1px; height: 34px; background: var(--line); animation: scroll-pulse 2s ease-in-out infinite; }
@keyframes scroll-pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }

.vitrine {
  flex: 1 1 58%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-xl) var(--space-lg);
  margin: var(--space-lg) var(--space-lg) var(--space-lg) 0;
}
.hero__thread { margin: var(--space-sm) 0 var(--space-lg); max-width: 220px; }
.hero__title {
  font-family: var(--font-voice);
  font-size: var(--fs-hero);
  line-height: 1.05;
  font-weight: 400;
  color: var(--heading);
}
.hero__title em { font-style: italic; font-weight: 400; color: var(--accent); }
.hero__title strong { font-weight: 400; }
.hero__lead { margin-top: var(--space-md); max-width: 42ch; font-size: var(--fs-lead); color: var(--text-soft); }

@media (max-width: 900px) {
  .hero--vitrine { flex-direction: column; }
  .hero__frame { flex: none; width: 100%; padding: calc(var(--space-2xl) + var(--space-sm)) var(--space-sm) var(--space-md); }
  .vitrine { flex: none; width: 100%; margin: 0 var(--space-sm) var(--space-lg); }
}

/* ── SECTION base ── */
.section { padding: var(--space-xl) 0; position: relative; }
.section--soft { background: var(--bg-soft); }
.section--vinho { background: var(--dark); color: var(--dark-text); overflow: hidden; }
.section--tight { padding: var(--space-lg) 0; }

/* ── ESSÊNCIA — linhas escalonadas, não empilhadas ── */
.essencia__stack { margin-top: var(--space-lg); }
.essencia__line {
  font-family: var(--font-voice);
  font-size: clamp(1.6rem, 3.4vw, 2.7rem);
  font-weight: 400;
  line-height: 1.32;
  max-width: 18ch;
  color: var(--heading);
}
.essencia__line + .essencia__line { margin-top: 0.3em; }
.essencia__stack .essencia__line:nth-child(2) { margin-left: clamp(1rem, 7vw, 4.5rem); }
.essencia__stack .essencia__line:nth-child(3) { margin-left: clamp(2rem, 12vw, 8rem); }
.essencia__line--muted { color: var(--text-soft); font-style: italic; }
@media (max-width: 640px) {
  .essencia__stack .essencia__line:nth-child(2),
  .essencia__stack .essencia__line:nth-child(3) { margin-left: 0; }
}

/* ── PORTFÓLIO — linhas editoriais alternadas, não grid ── */
.work__rows { margin-top: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-xl); }
.work__row { display: flex; gap: var(--space-xl); align-items: center; }
.work__row:nth-child(even) { flex-direction: row-reverse; }
.work__card {
  flex: 1 1 56%;
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  aspect-ratio: 4 / 3;
  display: flex; flex-direction: column; justify-content: space-between;
  transition: border-color var(--transition), transform var(--transition);
}
.work__card:hover { border-color: var(--accent); transform: translateY(-4px); }
.work__mark {
  align-self: flex-start; width: 28px; height: 28px;
  border: 1px solid var(--line); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-soft); font-family: var(--font-struct); font-size: 0.75rem;
}
.work__text { flex: 1 1 40%; }
.work__title { font-family: var(--font-voice); font-size: var(--fs-h2); font-weight: 400; color: var(--heading); line-height: 1.15; }
.work__type {
  display: block; margin-top: var(--space-2xs);
  font-family: var(--font-struct); font-weight: 500; font-size: var(--fs-label);
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent);
}
.work__desc { margin-top: var(--space-sm); color: var(--text-soft); max-width: 40ch; }

@media (max-width: 760px) {
  .work__row, .work__row:nth-child(even) { flex-direction: column; }
  .work__card { width: 100%; }
}

/* ── SOBRE ── */
.about__grid { margin-top: var(--space-lg); display: grid; grid-template-columns: 0.85fr 1.15fr; gap: var(--space-xl); align-items: start; }
.about__photo {
  aspect-ratio: 3 / 4; border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-struct); font-size: var(--fs-label); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-soft); position: sticky; top: 7rem;
}
.about__body p { font-size: var(--fs-body); color: var(--text-soft); max-width: 52ch; }
.about__body p + p { margin-top: var(--space-sm); }
.about__body p:first-child { font-family: var(--font-voice); font-size: var(--fs-h3); color: var(--heading); font-weight: 400; font-style: italic; }
@media (max-width: 800px) {
  .about__grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .about__photo { position: static; max-width: 280px; }
}

/* ── CTA vitrine (index → sites.html) ── */
.cta-band { position: relative; overflow: hidden; padding: 0; display: flex; min-height: 70vh; }
.cta-band__frame {
  flex: 1 1 38%;
  display: flex; align-items: center;
  padding: var(--space-xl) var(--space-lg) var(--space-xl) var(--space-md);
  position: relative; z-index: 1;
}
.cta-band__panel {
  flex: 1 1 58%;
  display: flex; flex-direction: column; justify-content: center;
  padding: var(--space-xl) var(--space-lg);
  margin: var(--space-lg) var(--space-lg) var(--space-lg) 0;
}
.cta-band__title { font-family: var(--font-voice); font-size: var(--fs-h2); font-weight: 400; max-width: 16ch; line-height: 1.2; margin-top: var(--space-sm); }
@media (max-width: 900px) {
  .cta-band { flex-direction: column; min-height: 0; }
  .cta-band__frame { flex: none; width: 100%; padding: var(--space-lg) var(--space-sm) var(--space-md); }
  .cta-band__panel { flex: none; width: 100%; margin: 0 var(--space-sm) var(--space-lg); }
}

/* ── FOOTER ── */
.footer { background: var(--chrome); color: var(--dark-text); padding: var(--space-lg) 0 var(--space-md); }
.footer__top { display: flex; justify-content: space-between; gap: var(--space-lg); flex-wrap: wrap; padding-bottom: var(--space-lg); border-bottom: 1px solid var(--dark-line); }
.footer__signature { font-family: var(--font-voice); font-style: italic; font-weight: 400; font-size: var(--fs-h3); color: var(--accent-on-dark); max-width: 20ch; }
.footer__col-title { font-family: var(--font-struct); font-weight: 500; font-size: var(--fs-label); letter-spacing: 0.1em; text-transform: uppercase; color: var(--dark-muted); margin-bottom: var(--space-2xs); }
.footer__contact a, .footer__contact p { font-family: var(--font-struct); font-size: var(--fs-small); color: var(--dark-text); opacity: 0.85; }
.footer__contact a:hover { color: var(--accent-on-dark); }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-xs); padding-top: var(--space-md); font-family: var(--font-struct); font-size: 0.8rem; color: var(--dark-muted); }
.footer__socials { display: flex; gap: var(--space-md); }
.footer__socials a { opacity: 0.8; }
.footer__socials a:hover { opacity: 1; color: var(--accent-on-dark); }
.footer--light { background: var(--bg-soft); color: var(--text); }
.footer--light .footer__top { border-bottom-color: var(--line); }
.footer--light .footer__signature { color: var(--accent); }
.footer--light .footer__col-title { color: var(--text-soft); }
.footer--light .footer__contact a, .footer--light .footer__contact p { color: var(--text); }
.footer--light .footer__contact a:hover { color: var(--accent); }
.footer--light .footer__bottom { color: var(--text-soft); }
.footer--light .footer__socials a:hover { color: var(--accent); }

/* ── FORM ── */
.form-grid { margin-top: var(--space-lg); display: grid; gap: var(--space-xs); max-width: 520px; }
.field { display: flex; flex-direction: column; gap: 0.5rem; }
.field label { font-family: var(--font-struct); font-weight: 500; font-size: var(--fs-label); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-soft); }
.field input, .field textarea {
  background: transparent; border: none; border-bottom: 1px solid var(--line);
  color: var(--text); font-family: var(--font-struct); font-size: var(--fs-body);
  padding: 0.6rem 0.1rem; transition: border-color var(--transition);
}
.field input:focus, .field textarea:focus { border-bottom-color: var(--accent); }
.field textarea { resize: vertical; min-height: 90px; }

/* ============================================================
   SITES.HTML — funil, minimalista, contemporâneo. Sem vidro.
   Vinho aparece uma única vez: no CTA final.
   ============================================================ */

.nav--funnel .nav__menu { display: flex; align-items: center; }

.funnel-hero { padding: calc(var(--space-2xl) + var(--space-md)) 0 var(--space-xl); }
.funnel-hero__content { max-width: 700px; }
.funnel-hero__title { font-family: var(--font-voice); font-size: var(--fs-hero); font-weight: 400; line-height: 1.1; margin-top: var(--space-sm); color: var(--heading); }
.funnel-hero__title em { font-style: italic; color: var(--accent); font-weight: 400; }
.funnel-hero__lead { margin-top: var(--space-md); font-size: var(--fs-lead); color: var(--text-soft); max-width: 54ch; }
.funnel-hero__actions { margin-top: var(--space-lg); display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; }
.funnel-hero__trust { margin-top: var(--space-md); font-family: var(--font-struct); font-size: var(--fs-label); letter-spacing: 0.02em; color: var(--text-soft); }

/* ── PROVA RÁPIDA (substitui "para quem" + "prova em campo") ── */
.proof-line { margin-top: var(--space-md); max-width: 60ch; color: var(--text-soft); font-size: var(--fs-lead); }
.proof-cases { margin-top: var(--space-lg); display: flex; flex-wrap: wrap; gap: 0; font-family: var(--font-struct); }
.proof-cases a { font-size: var(--fs-small); color: var(--heading); padding-right: 1.4rem; margin-right: 1.4rem; border-right: 1px solid var(--line); transition: color var(--transition); }
.proof-cases a:last-child { border-right: none; padding-right: 0; margin-right: 0; }
.proof-cases a:hover { color: var(--accent); }

/* ── CHECKLIST ── */
.checklist { margin-top: var(--space-lg); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm) var(--space-lg); }
.checklist__item { display: flex; gap: var(--space-2xs); align-items: flex-start; padding-bottom: var(--space-sm); border-bottom: 1px solid var(--line); }
.checklist__icon {
  flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--accent); color: var(--accent);
  display: flex; align-items: center; justify-content: center; font-size: 0.75rem; margin-top: 0.15rem;
}
.checklist__item p { color: var(--text-soft); font-size: var(--fs-small); margin-top: 0.2rem; }
.checklist__item strong { font-family: var(--font-struct); font-weight: 600; color: var(--heading); font-size: var(--fs-body); }
@media (max-width: 720px) { .checklist { grid-template-columns: 1fr; } }

/* ── STEPS — agora sobre fundo claro ── */
.steps { margin-top: var(--space-lg); display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-sm); }
.step { padding-top: var(--space-sm); border-top: 1px solid var(--line); }
.step__num { font-family: var(--font-voice); font-style: italic; font-size: 1.9rem; color: var(--accent); opacity: 0.8; }
.step__title { font-family: var(--font-struct); font-weight: 600; margin: var(--space-2xs) 0 0.4rem; color: var(--heading); }
.step p { color: var(--text-soft); font-size: var(--fs-small); }
@media (max-width: 860px) { .steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .steps { grid-template-columns: 1fr; } }

/* ── DEPOIMENTO — um só, grande ── */
.testimonial { margin-top: var(--space-lg); max-width: 640px; }
.testimonial__quote { font-family: var(--font-voice); font-style: italic; font-size: 1.6rem; font-weight: 400; line-height: 1.4; color: var(--heading); }
.testimonial__author { margin-top: var(--space-sm); font-family: var(--font-struct); font-weight: 500; font-size: var(--fs-label); letter-spacing: 0.04em; color: var(--accent); }
.testimonial__author span { display: block; color: var(--text-soft); margin-top: 0.2rem; text-transform: none; letter-spacing: normal; font-weight: 400; }

/* ── INVESTIMENTO ── */
.pricing { margin-top: var(--space-lg); display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-lg); flex-wrap: wrap; padding: var(--space-lg); border: 1px solid var(--line); background: var(--bg-soft); }
.pricing__text { max-width: 46ch; color: var(--text-soft); }
.pricing__text strong { color: var(--heading); }

/* ── FAQ ── */
.faq { margin-top: var(--space-lg); max-width: 780px; }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary {
  list-style: none; cursor: pointer; padding: var(--space-sm) 0;
  font-family: var(--font-struct); font-size: 1.05rem; font-weight: 600; color: var(--heading);
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-sm);
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: '+'; font-family: var(--font-struct); color: var(--accent); font-size: 1.4rem; flex-shrink: 0; transition: transform var(--transition); }
.faq__item[open] summary::after { transform: rotate(45deg); }
.faq__item p { color: var(--text-soft); font-size: var(--fs-small); max-width: 60ch; padding-bottom: var(--space-sm); }

/* ── CTA FINAL — o único momento vinho da página, sem vidro ── */
.final-cta { text-align: center; padding: var(--space-2xl) 0; }
.final-cta__title { font-family: var(--font-voice); font-size: var(--fs-h2); font-weight: 400; max-width: 20ch; margin: var(--space-sm) auto var(--space-md); line-height: 1.2; }
.final-cta .eyebrow { justify-content: center; }
.final-cta .eyebrow::before { display: none; }
.final-cta__actions { display: flex; justify-content: center; align-items: center; gap: var(--space-md); flex-wrap: wrap; margin-top: var(--space-sm); }
.final-cta__note { font-family: var(--font-struct); margin-top: var(--space-sm); font-size: var(--fs-small); opacity: 0.7; }

.back-link {
  font-family: var(--font-struct); font-weight: 500; font-size: var(--fs-label); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-soft); display: inline-flex; align-items: center; gap: 0.5em; transition: color var(--transition);
}
.back-link:hover { color: var(--accent); }
