/* =========================================================
   Felipe Dezan · Psicólogo — landing page (3 temas)
   Tema definido em <html data-theme="branco|preto|roxo">
   ========================================================= */

/* ---------- Fontes (arquivos em assets/fonts, licença OFL) ---------- */
@font-face { font-family: 'Fraunces'; src: url(fonts/fraunces.woff2) format('woff2'); font-weight: 400 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url(fonts/fraunces-italic.woff2) format('woff2'); font-weight: 400 600; font-style: italic; font-display: swap; }
@font-face { font-family: 'Geist'; src: url(fonts/geist.woff2) format('woff2'); font-weight: 400 700; font-style: normal; font-display: swap; }

/* ---------- Cores ----------
   Tons de seção (para dar contraste):
   .tone-roxo  → faixa roxa na página branca
   .tone-claro → faixa clara na página roxa
   Na página preta essas classes não fazem nada. */
:root,
[data-theme="branco"],
[data-theme="roxo"] .form-card,
[data-theme="roxo"] .tone-claro,
[data-theme="branco"] .tone-roxo .form-card {
  --bg: #FAFAF9;
  --bg-alt: #FFFFFF;
  --surface: #FFFFFF;
  --surface-solid: #FFFFFF;
  --surface-2: #F5F5F4;
  --text: #292524;
  --muted: #78716C;
  --border: #E7E5E4;
  --border-strong: #D6D3D1;
  --accent: #8F13FD;
  --accent-text: #8F13FD;
  --soft: #F6EFFF;
  --sage: #568468;
  --sage-soft: #EEF4F0;
  --btn-bg: #8F13FD;
  --btn-hover: #7A0EE0;
  --btn-text: #FFFFFF;
  --btn-shadow: 0 10px 24px -12px rgba(143, 19, 253, .6), 0 2px 6px -2px rgba(143, 19, 253, .3);
  --locked-bg: #F0EFEE;
  --locked-text: #A8A29E;
  --card-shadow: 0 1px 2px rgba(41, 37, 36, .04), 0 1px 1px rgba(41, 37, 36, .02);
  --glow: rgba(143, 19, 253, .10);
  --header-bg: rgba(250, 250, 249, .84);
  --focus: #8F13FD;
  color-scheme: light;
}

[data-theme="preto"] {
  --bg: #0C0A09;
  --bg-alt: #131110;
  --surface: #1C1917;
  --surface-solid: #1C1917;
  --surface-2: #292524;
  --text: #FAFAF9;
  --muted: #A8A29E;
  --border: #2E2A27;
  --border-strong: #44403C;
  --accent-text: #B57BFF;
  --soft: rgba(143, 19, 253, .16);
  --sage: #8CC09F;
  --sage-soft: rgba(86, 132, 104, .18);
  --locked-bg: #262321;
  --locked-text: #78716C;
  --card-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
  --glow: rgba(143, 19, 253, .30);
  --header-bg: rgba(12, 10, 9, .8);
  --focus: #B57BFF;
  color-scheme: dark;
}

[data-theme="roxo"],
[data-theme="branco"] .tone-roxo {
  --bg: #2D0A5C;
  --bg-alt: #34106A;
  --surface: rgba(255, 255, 255, .06);
  --surface-solid: #3D1478;
  --surface-2: rgba(255, 255, 255, .1);
  --text: #FFFFFF;
  --muted: #D9C9F3;
  --border: rgba(255, 255, 255, .14);
  --border-strong: rgba(255, 255, 255, .3);
  --accent-text: #E2C8FF;
  --soft: rgba(255, 255, 255, .08);
  --sage: #A6DDBB;
  --sage-soft: rgba(166, 221, 187, .14);
  --btn-bg: #FFFFFF;
  --btn-hover: #F1E6FF;
  --btn-text: #6E0BCB;
  --btn-shadow: 0 14px 30px -14px rgba(10, 0, 30, .7);
  --locked-bg: rgba(255, 255, 255, .1);
  --locked-text: rgba(255, 255, 255, .55);
  --card-shadow: none;
  --glow: rgba(143, 19, 253, .6);
  --header-bg: rgba(45, 10, 92, .82);
  --focus: #FFFFFF;
  color-scheme: dark;
}
[data-theme="roxo"] .form-card,
[data-theme="roxo"] .tone-claro,
[data-theme="branco"] .tone-roxo .form-card { color-scheme: light; }

/* Faixas de tom: fundo e cor do texto seguem as cores do tom */
[data-theme="branco"] .tone-roxo,
[data-theme="roxo"] .tone-claro { background-color: var(--bg); color: var(--text); }

/* Botões de agendar em verde WhatsApp nas versões roxa e preta.
   Texto branco (pedido do Felipe): negrito + sombra leve para ajudar a leitura */
[data-theme="preto"],
[data-theme="roxo"],
[data-theme="roxo"] .form-card,
[data-theme="roxo"] .tone-claro,
[data-theme="preto"] .final-card,
[data-theme="roxo"] .final-card {
  --btn-bg: #25D366;
  --btn-hover: #1EBE5D;
  --btn-text: #FFFFFF;
  --btn-weight: 700;
  --btn-text-shadow: 0 1px 2px rgba(0, 60, 25, .45);
  --btn-shadow: 0 10px 26px -12px rgba(37, 211, 102, .6), 0 2px 6px -2px rgba(0, 0, 0, .25);
  --pulse: rgba(37, 211, 102, .55);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; interpolate-size: allow-keywords; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Geist', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
h1, h2, h3 {
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.02em;
  margin: 0;
  font-optical-sizing: auto;
  text-wrap: balance;
}
h2 { font-size: clamp(1.9rem, 3.8vw, 2.9rem); }
h3 { font-size: 1.3rem; letter-spacing: -.01em; line-height: 1.2; }
h1 em, h2 em, .big-quote em { font-style: italic; color: var(--accent-text); }
p { margin: 0; text-wrap: pretty; }
a { color: inherit; }
::selection { background: color-mix(in srgb, var(--accent-text) 30%, transparent); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 8px; }
.container { width: min(1120px, 100% - 40px); margin-inline: auto; }
.muted { color: var(--muted); }
.center { text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.icon { width: 1em; height: 1em; flex: none; }
section { scroll-margin-top: 72px; }
.section { padding: clamp(76px, 10vw, 128px) 0; position: relative; }
.section.alt { background: var(--bg-alt); }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--accent-text);
  margin-bottom: 18px;
}
.eyebrow::before { content: ""; width: 22px; height: 1.5px; background: currentColor; opacity: .7; }
.center .eyebrow::after { content: ""; width: 22px; height: 1.5px; background: currentColor; opacity: .7; }

/* ---------- Botão ---------- */
.btn {
  --h: 56px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: var(--h);
  padding: 0 26px;
  border: 0; border-radius: 8px;
  background: var(--btn-bg); color: var(--btn-text);
  font: var(--btn-weight, 600) 16px/1.1 'Geist', system-ui, sans-serif;
  text-shadow: var(--btn-text-shadow, none);
  text-decoration: none; text-align: center;
  box-shadow: var(--btn-shadow);
  cursor: pointer;
  transition: background-color .2s ease, transform .15s ease, box-shadow .25s ease, color .2s ease;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}
.btn:hover { background: var(--btn-hover); }
.btn:active { transform: scale(.97); }
.btn .icon { width: 20px; height: 20px; }
.btn .arrow { transition: transform .25s cubic-bezier(.2, .7, .2, 1); }
.btn:hover .arrow { transform: translateX(3px); }
.btn-sm { --h: 42px; padding: 0 16px; font-size: 14.5px; }

/* ---------- Topo fixo ---------- */
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  transition: background-color .3s ease, box-shadow .3s ease;
}
.site-header.is-scrolled {
  background: var(--header-bg);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  backdrop-filter: saturate(1.4) blur(14px);
  box-shadow: 0 1px 0 var(--border);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 16px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; min-width: 0; }
/* Logos embutidos no CSS (data URI): aparecem mesmo abrindo o arquivo direto do computador.
   A cor vem do tema (branco nas versões escuras, escuro na branca). */
.brand-mark {
  width: 58px; aspect-ratio: 240 / 95; flex: none;
  background: currentColor;
  --logo: url(data:image/png;base64,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);
  -webkit-mask: var(--logo) center / contain no-repeat;
  mask: var(--logo) center / contain no-repeat;
}
.brand-name { font-weight: 600; font-size: 15px; line-height: 1.2; white-space: nowrap; }
.brand-name small { display: block; font-weight: 400; font-size: 12.5px; color: var(--muted); }
@media (max-width: 640px) { .header-cta { display: none; } }

/* ---------- Hero ---------- */
/* Topo se ajusta à ALTURA da tela: título, texto e botão aparecem sem rolar em notebooks e celulares */
.hero { position: relative; padding: clamp(100px, 15vh, 136px) 0 clamp(56px, 9vh, 88px); overflow: hidden; }
.hero::before {
  content: ""; position: absolute; pointer-events: none;
  width: 900px; height: 900px; right: -260px; top: -220px;
  background: radial-gradient(closest-side, var(--glow), transparent);
}
[data-theme="roxo"] .hero::after {
  content: ""; position: absolute; inset: auto 0 0; height: 40%; pointer-events: none;
  background: linear-gradient(transparent, rgba(20, 4, 44, .35));
}
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; }
.hero h1 { font-size: clamp(2rem, min(5.1vw, 7.2vh), 4rem); }
.hero h1 .l1 { display: block; color: var(--muted); font-size: .72em; margin-bottom: .22em; letter-spacing: -.015em; }
.hero h1 .l2 { display: block; }
.hero h1 em { position: relative; white-space: nowrap; }
.scribble {
  position: absolute; left: -2%; bottom: -.34em; width: 104%; height: .45em;
  overflow: visible; pointer-events: none;
}
.scribble path {
  fill: none; stroke: var(--accent-text); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 1; stroke-dashoffset: 0; opacity: .8;
  animation: draw 1.4s cubic-bezier(.6, .1, .2, 1) .95s both;
}
@keyframes draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.hero .lead { font-size: clamp(1rem, min(1.5vw, 2.3vh), 1.2rem); color: var(--muted); max-width: 33em; margin-top: clamp(14px, 2.6vh, 26px); }
.hero-actions { margin-top: clamp(18px, 3.4vh, 34px); display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.hero-note { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); }
.hero-note .icon { width: 17px; height: 17px; color: var(--sage); }
.trust { display: flex; flex-wrap: wrap; gap: 10px; margin: clamp(20px, 4vh, 40px) 0 0; padding: 0; list-style: none; }
.trust li {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 13px; border: 1px solid var(--border); border-radius: 999px;
  background: var(--surface); font-size: 13.5px; color: var(--muted);
}
.trust .icon { width: 15px; height: 15px; color: var(--sage); }

/* Entrada do topo (leve, em cascata) — só CSS, não depende do script */
.hero [data-in] { animation: rise .45s cubic-bezier(.2, .7, .2, 1) var(--d, 0ms) both; }
@keyframes rise { from { opacity: 0; transform: translateY(6px); } }

/* Retrato em arco */
.portrait { position: relative; justify-self: end; width: min(440px, 100%, calc((100vh - 190px) * .8)); }
.portrait::before {
  content: ""; position: absolute; z-index: 0;
  width: 118%; aspect-ratio: 1; left: -9%; top: -9%;
  border: 1.5px dashed color-mix(in srgb, var(--accent-text) 40%, transparent);
  border-radius: 50%;
  animation: spin 70s linear infinite;
}
.arch {
  position: relative; z-index: 1;
  aspect-ratio: 4 / 5;
  border-radius: 999px 999px 28px 28px;
  overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, #EFE2FF 0%, #F8F3FF 50%, #FFFFFF 100%);
  box-shadow: 0 40px 70px -40px rgba(20, 8, 40, .45);
}
.arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 16%; mix-blend-mode: multiply; }
.hero .arch { animation: unveil 1.1s cubic-bezier(.7, 0, .2, 1) .2s both; }
.hero .arch img { animation: settle 1.6s cubic-bezier(.2, .7, .2, 1) .2s both; }
@keyframes unveil {
  from { clip-path: inset(100% 0 0 0 round 999px 999px 28px 28px); }
  to { clip-path: inset(0 0 0 0 round 999px 999px 28px 28px); }
}
@keyframes settle { from { transform: scale(1.06); } }
.portrait-badge {
  position: absolute; z-index: 2; left: -28px; bottom: 34px;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px 12px 12px;
  background: var(--surface-solid); color: var(--text);
  border: 1px solid var(--border); border-radius: 14px;
  box-shadow: 0 18px 40px -20px rgba(20, 8, 40, .45);
  font-size: 14px; line-height: 1.3;
}
.portrait-badge strong { display: block; font-weight: 600; }
.portrait-badge span { color: var(--muted); font-size: 13px; }
.badge-icon {
  width: 36px; height: 36px; border-radius: 10px; flex: none;
  display: grid; place-items: center;
  background: var(--sage-soft); color: var(--sage);
}
.badge-icon .icon { width: 18px; height: 18px; }

@media (max-width: 640px) {
  .hero-actions .btn, .quote-band .btn, .about-text .btn, .final-card .btn { width: 100%; }
  .hero-note { width: 100%; justify-content: center; }
}
@media (max-width: 900px) {
  .hero { padding: clamp(88px, 14vh, 112px) 0 72px; }
  .hero h1 { font-size: clamp(1.85rem, min(8.4vw, 5.4vh), 2.6rem); }
  .hero .lead { font-size: clamp(.98rem, 2.6vh, 1.06rem); }
  .hero-grid { grid-template-columns: 1fr; gap: 56px; }
  .portrait { justify-self: center; width: min(360px, 88%); }
  .portrait-badge { left: -14px; bottom: 22px; }
}

/* ---------- Revelar ao rolar ---------- */
.js .reveal {
  opacity: 0; transform: translateY(6px);
  transition: opacity .26s ease, transform .26s cubic-bezier(.2, .7, .2, 1);
  transition-delay: var(--d, 0ms);
}
.js .reveal.is-in { opacity: 1; transform: none; }

/* ---------- Você se reconhece ---------- */
.section-head { max-width: 720px; margin-bottom: 48px; }
.section-head.center { margin-inline: auto; }
.section-head p { color: var(--muted); margin-top: 16px; font-size: 1.06rem; }
.cards-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 18px;
  padding: 30px 30px 32px; box-shadow: var(--card-shadow);
  transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .3s ease, opacity .26s ease;
}
.card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent-text) 35%, var(--border)); }
.card .num {
  display: block; margin-bottom: 18px;
  font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 2.1rem; line-height: 1;
  color: var(--accent-text); opacity: .85;
}
.card h3 { margin-bottom: 10px; }
.card p { color: var(--muted); }
@media (max-width: 760px) { .cards-2 { grid-template-columns: 1fr; } .card { padding: 26px 24px 28px; } }

/* ---------- Faixa "Não é só saudade" ---------- */
.quote-band { background: var(--soft); overflow: hidden; }
/* Faixa roxa com brilho no topo (página roxa e faixa roxa da página branca) */
[data-theme="roxo"] .quote-band,
[data-theme="branco"] .quote-band.tone-roxo {
  background: radial-gradient(85% 120% at 50% 0%, rgba(143, 19, 253, .8), transparent 70%), #2D0A5C;
}
.quote-band .container { max-width: 820px; text-align: center; position: relative; }
.big-quote { font-family: 'Fraunces', Georgia, serif; font-size: clamp(2.6rem, 7vw, 5rem); line-height: 1; letter-spacing: -.03em; font-weight: 450; }
.quote-band p:not(.big-quote) { color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.2rem); margin: 26px auto 36px; max-width: 36em; }
.loops { position: absolute; inset: 50% auto auto 50%; width: 900px; height: 900px; translate: -50% -50%; pointer-events: none; opacity: .5; }
.loops circle { fill: none; stroke: color-mix(in srgb, var(--accent-text) 30%, transparent); stroke-width: 1; stroke-dasharray: 2 7; }
.loops g { transform-origin: 450px 450px; animation: spin 90s linear infinite; }
.loops g + g { animation-direction: reverse; animation-duration: 120s; }

/* ---------- TCC / jornada ---------- */
.split-head { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; }
.split-head > p { color: var(--muted); font-size: 1.08rem; }
.journey { display: grid; grid-template-columns: 64px 1fr; margin-top: 64px; align-items: start; }
.journey-loop { width: 64px; height: 64px; overflow: visible; }
.journey-loop path {
  fill: none; stroke: var(--accent-text); stroke-width: 2; stroke-linecap: round;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  transition: stroke-dashoffset 1s cubic-bezier(.6, .1, .2, 1);
}
.journey.is-in .journey-loop path { stroke-dashoffset: 0; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; }
.step { position: relative; padding: 64px 32px 0 0; }
.step::before {
  content: ""; position: absolute; left: 0; right: 0; top: 31px; height: 2px;
  background: color-mix(in srgb, var(--accent-text) 55%, transparent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .7s cubic-bezier(.6, .1, .2, 1) var(--ld, 0ms);
}
.journey.is-in .step::before { transform: scaleX(1); }
.step .dot {
  position: absolute; left: 0; top: 25px; width: 14px; height: 14px; border-radius: 50%;
  background: var(--bg); border: 2px solid var(--accent-text);
  transform: scale(.4); opacity: 0;
  transition: transform .4s cubic-bezier(.3, 1.5, .5, 1) var(--ld, 0ms), opacity .3s ease var(--ld, 0ms), background-color .3s ease var(--ld, 0ms);
}
.journey.is-in .step .dot { transform: none; opacity: 1; background: var(--accent-text); }
.step:nth-child(1) { --ld: 750ms; }
.step:nth-child(2) { --ld: 1250ms; }
.step:nth-child(3) { --ld: 1750ms; }
.step .kicker { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.step h3 { margin: 8px 0 10px; font-size: 1.45rem; }
.step p { color: var(--muted); }
.journey-note { margin-top: 48px; color: var(--muted); font-size: 15px; display: flex; gap: 10px; align-items: center; }
.journey-note .icon { color: var(--sage); width: 18px; height: 18px; }
@media (max-width: 900px) {
  .split-head { grid-template-columns: 1fr; gap: 20px; }
  .journey { grid-template-columns: 1fr; margin-top: 44px; }
  .journey-loop { margin-left: -25px; margin-bottom: -6px; }
  .steps { grid-template-columns: 1fr; }
  .step { padding: 0 0 36px 36px; }
  .step::before { left: 6px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; transform: scaleY(0); transform-origin: top; }
  .journey.is-in .step::before { transform: scaleY(1); }
  .step .dot { left: 0; top: 4px; }
  .step:last-child::before { bottom: auto; height: 12px; }
}

/* ---------- Sobre ---------- */
.about { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: center; }
.about-photo { position: relative; }
.about-photo .arch { border-radius: 28px; aspect-ratio: 4 / 5; }
.about-photo .arch img { object-position: 50% 22%; }
.about-photo::after {
  content: ""; position: absolute; z-index: 0; inset: 22px -22px -22px 22px;
  border: 1.5px solid color-mix(in srgb, var(--accent-text) 35%, transparent); border-radius: 28px;
}
.about-text p { color: var(--muted); font-size: 1.06rem; margin-top: 18px; }
.about-text h2 { margin-bottom: 6px; }
.facts { list-style: none; margin: 28px 0 34px; padding: 0; display: grid; gap: 12px; }
.facts li { display: flex; align-items: center; gap: 12px; font-weight: 500; }
.facts .icon { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--sage-soft); color: var(--sage); }
@media (max-width: 900px) {
  .about { grid-template-columns: 1fr; gap: 56px; }
  .about-photo { width: min(380px, 86%); margin-inline: auto; }
}

/* ---------- Agendamento (filtro) ---------- */
.form-section { background: radial-gradient(60% 55% at 85% 15%, var(--glow), transparent 70%), var(--bg); }
.form-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.form-intro { position: sticky; top: 112px; }
.form-intro > p { color: var(--muted); font-size: 1.06rem; margin-top: 18px; }
.mini-steps { list-style: none; margin: 36px 0 0; padding: 0; display: grid; gap: 22px; counter-reset: s; }
.mini-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; }
.mini-steps li::before {
  counter-increment: s; content: counter(s);
  width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center;
  font-family: 'Fraunces', Georgia, serif; font-size: 1.15rem; font-style: italic;
  border: 1px solid var(--border-strong); color: var(--accent-text);
}
.mini-steps strong { display: block; font-weight: 600; }
.mini-steps span { color: var(--muted); font-size: 15px; }

.form-card {
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: clamp(24px, 4vw, 40px);
  box-shadow: 0 30px 70px -45px rgba(41, 37, 36, .35), var(--card-shadow);
  transition: box-shadow .5s ease, opacity .26s ease, transform .26s cubic-bezier(.2, .7, .2, 1);
}
[data-theme="preto"] .form-card { box-shadow: 0 40px 90px -50px rgba(143, 19, 253, .55), inset 0 1px 0 rgba(255, 255, 255, .04); }
[data-theme="roxo"] .form-card,
[data-theme="branco"] .tone-roxo .form-card { border-color: transparent; box-shadow: 0 40px 90px -40px rgba(8, 0, 25, .8); }
.form-card.arrive { animation: arrive 1.4s ease; }
@keyframes arrive {
  0% { box-shadow: 0 0 0 0 rgba(143, 19, 253, .45); }
  60% { box-shadow: 0 0 0 16px rgba(143, 19, 253, 0); }
}

.progress { margin-bottom: 30px; }
.progress-top { display: flex; justify-content: space-between; font-size: 13.5px; color: var(--muted); margin-bottom: 10px; }
.progress-top b { color: var(--text); font-weight: 600; }
.bar { height: 6px; border-radius: 99px; background: var(--surface-2); overflow: hidden; }
.bar i {
  display: block; height: 100%; width: 0; border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), #B57BFF);
  transition: width .5s cubic-bezier(.2, .7, .2, 1), background .4s ease;
}
.form-card.is-complete .bar i { background: linear-gradient(90deg, var(--sage), #7FB596); }

fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
/* legend como bloco normal (senão ela fica "em cima" da borda do fieldset) */
legend { padding: 0; float: left; width: 100%; }
legend + * { clear: both; }
.q { transition: transform .2s; }
.q + .q { margin-top: 28px; padding-top: 28px; border-top: 1px dashed var(--border); }
.q-title { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; font-size: 16.5px; line-height: 1.4; margin-bottom: 14px; }
.q-num {
  flex: none; width: 26px; height: 26px; margin-top: -1px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--soft); color: var(--accent-text);
  font-size: 13px; font-weight: 600;
  transition: background-color .3s ease, color .3s ease, transform .35s cubic-bezier(.3, 1.6, .5, 1);
}
.q-num svg { display: none; width: 14px; height: 14px; }
.q.is-done .q-num { background: var(--sage); color: #fff; transform: scale(1.06); }
.q.is-done .q-num b { display: none; }
.q.is-done .q-num svg { display: block; }
.q-hint { font-size: 13.5px; color: var(--muted); margin-top: 10px; }
.q.needs { animation: nudge .45s ease; }
.q.needs .q-title { color: var(--accent-text); }
@keyframes nudge { 25% { transform: translateX(-6px); } 50% { transform: translateX(5px); } 75% { transform: translateX(-3px); } }

.age-field { display: flex; align-items: center; gap: 12px; max-width: 240px; }
.age-field input {
  width: 100%; min-height: 54px; padding: 0 16px;
  border: 1.5px solid var(--border); border-radius: 10px;
  background: var(--surface); color: var(--text);
  font: 500 17px 'Geist', system-ui, sans-serif;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.age-field input::placeholder { color: var(--locked-text); }
.age-field input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px var(--soft); }
.age-field span { color: var(--muted); }
.q-error { color: #B42318; font-size: 13.5px; margin-top: 8px; }

.opts { display: grid; gap: 10px; }
.opts-2 { grid-template-columns: 1fr 1fr; }
.opt { position: relative; cursor: pointer; display: block; }
.opt input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.opt span {
  display: flex; align-items: center; gap: 12px;
  min-height: 54px; height: 100%; padding: 12px 14px;
  border: 1.5px solid var(--border); border-radius: 10px;
  background: var(--surface);
  font-weight: 500; font-size: 15px; line-height: 1.3;
  transition: border-color .2s ease, background-color .2s ease, transform .15s ease;
}
.opt span::before {
  content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%;
  border: 1.5px solid var(--border-strong); background: var(--surface);
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.opt:hover span { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
.opt:active span { transform: scale(.98); }
.opt input:checked + span { border-color: var(--accent); background: var(--soft); }
.opt input:checked + span::before { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 3.5px var(--surface); }
.opt input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (max-width: 420px) { .opts-4 { grid-template-columns: 1fr; } }

.social { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s cubic-bezier(.2, .7, .2, 1); }
.social.is-open { grid-template-rows: 1fr; }
.social-inner { overflow: hidden; }
.social-card {
  margin-top: 14px; display: flex; gap: 12px; align-items: flex-start;
  padding: 16px 18px; border-radius: 12px;
  background: var(--sage-soft); border: 1px solid color-mix(in srgb, var(--sage) 35%, transparent);
  font-size: 15px; line-height: 1.5;
  opacity: 0; transform: translateY(-4px); transition: opacity .3s ease .1s, transform .3s ease .1s;
}
.social.is-open .social-card { opacity: 1; transform: none; }
.social-card .icon { width: 20px; height: 20px; color: var(--sage); margin-top: 2px; }

.btn-gate { --h: 62px; width: 100%; margin-top: 32px; font-size: 16.5px; overflow: hidden; }
.btn-gate[aria-disabled="true"] { background: var(--locked-bg); color: var(--locked-text); box-shadow: none; text-shadow: none; font-weight: 600; cursor: not-allowed; }
.btn-gate[aria-disabled="true"]:active { transform: none; }
.gate-icon { position: relative; width: 20px; height: 20px; flex: none; }
.gate-icon .icon { position: absolute; inset: 0; transition: opacity .3s ease, transform .5s cubic-bezier(.3, 1.5, .5, 1); }
.btn-gate[aria-disabled="true"] .i-wa,
.btn-gate:not([aria-disabled="true"]) .i-lock { opacity: 0; transform: scale(.3) rotate(-25deg); }
.gate-label { transition: opacity .2s ease; }
.btn-gate.just-unlocked { animation: unlock 1.3s ease; }
.btn-gate.just-unlocked::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .45) 50%, transparent 70%);
  transform: translateX(-100%); animation: shine 1s ease .15s forwards;
}
@keyframes unlock { 0% { box-shadow: 0 0 0 0 var(--pulse, rgba(143, 19, 253, .5)); } 70% { box-shadow: 0 0 0 16px transparent; } }
@keyframes shine { to { transform: translateX(100%); } }
.gate-status { min-height: 1.4em; margin-top: 12px; font-size: 14px; text-align: center; color: var(--muted); }
.gate-status.ok { color: var(--sage); font-weight: 500; }
/* Alternativa no computador: QR code + copiar mensagem */
.wa-desk {
  display: flex; gap: 20px; align-items: center; margin-top: 6px; margin-bottom: 18px;
  padding: 18px; border-radius: 14px; background: var(--sage-soft);
  border: 1px solid color-mix(in srgb, var(--sage) 35%, transparent);
  animation: wa-desk-in .35s ease;
}
.wa-desk[hidden] { display: none; }
.wa-qr { flex: none; padding: 10px; background: #fff; border-radius: 10px; line-height: 0; }
.wa-qr svg { display: block; }
#wa-num { white-space: nowrap; }
.wa-desk-text p { margin: 0; font-size: 14.5px; line-height: 1.5; }
.wa-desk-title { font-weight: 600; font-size: 15.5px !important; margin-bottom: 4px !important; }
.wa-copy {
  margin-top: 12px; padding: 9px 16px; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 14px; font-weight: 600; color: var(--text);
  background: transparent; border: 1.5px solid color-mix(in srgb, var(--sage) 60%, transparent);
  transition: background .2s ease;
}
.wa-copy:hover { background: color-mix(in srgb, var(--sage) 14%, transparent); }
.wa-copy:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
@keyframes wa-desk-in { from { opacity: 0; transform: translateY(-4px); } }
@media (max-width: 560px) { .wa-desk { flex-direction: column; text-align: center; } }

.privacy { display: flex; gap: 10px; align-items: flex-start; margin-top: 10px; padding-top: 18px; border-top: 1px solid var(--border); font-size: 13.5px; color: var(--muted); }
.privacy .icon { width: 18px; height: 18px; color: var(--sage); margin-top: 1px; }

@media (max-width: 900px) {
  .form-layout { grid-template-columns: 1fr; gap: 36px; }
  .form-intro { position: static; }
  .mini-steps { margin-top: 28px; gap: 16px; }
}

/* ---------- Perguntas frequentes ---------- */
.faq { max-width: 780px; margin: 0 auto; }
.faq details { border-bottom: 1px solid var(--border); }
.faq details:first-of-type { border-top: 1px solid var(--border); }
.faq summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 20px;
  padding: 24px 0; font-weight: 600; font-size: 17px;
  transition: color .2s ease;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { color: var(--accent-text); }
.plus { position: relative; flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--border-strong); transition: background-color .3s ease, transform .4s cubic-bezier(.2, .7, .2, 1); }
.plus::before, .plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.6px; background: currentColor; translate: -50% -50%; transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.plus::after { transform: rotate(90deg); }
.faq details[open] .plus { background: var(--soft); transform: rotate(180deg); }
.faq details[open] .plus::after { transform: rotate(0); }
.faq details::details-content { height: 0; overflow: clip; transition: height .4s cubic-bezier(.2, .7, .2, 1), content-visibility .4s allow-discrete; }
.faq details[open]::details-content { height: auto; }
.faq .answer { padding: 0 50px 24px 0; color: var(--muted); }

/* ---------- Chamada final ---------- */
.final { padding: 0 0 clamp(76px, 10vw, 120px); }
/* mesmo fundo da seção de dúvidas logo acima, sem emenda */
[data-theme] .final { background-color: var(--bg-alt); }
.final-card {
  position: relative; overflow: hidden; isolation: isolate;
  border-radius: 28px; padding: clamp(48px, 7vw, 88px) clamp(24px, 6vw, 72px);
  text-align: center; color: #fff;
  background: radial-gradient(120% 130% at 50% 0%, #8F13FD 0%, #5A0FB4 45%, #26074F 100%);
  --btn-bg: #FFFFFF; --btn-hover: #F1E6FF; --btn-text: #6E0BCB; --btn-shadow: 0 14px 30px -14px rgba(10, 0, 30, .7);
  --focus: #fff;
}
[data-theme="roxo"] .final-card { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.final-card h2 { font-size: clamp(2rem, 4.4vw, 3.3rem); max-width: 17em; margin: 0 auto; }
.final-card h2 em { color: #E9D5FF; }
.final-card p { color: rgba(255, 255, 255, .78); margin: 20px auto 36px; max-width: 32em; font-size: 1.08rem; }
.final-card .loops { opacity: .55; z-index: -1; }
.final-card .loops circle { stroke: rgba(255, 255, 255, .35); }

/* ---------- Rodapé ---------- */
.site-footer { border-top: 1px solid var(--border); padding: 56px 0 48px; color: var(--muted); font-size: 14px; }
.footer-grid { display: grid; grid-template-columns: auto 1fr; gap: 40px 64px; align-items: start; }
.footer-logo {
  width: 150px; aspect-ratio: 300 / 202;
  background: var(--text);
  --logo: url(data:image/png;base64,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);
  -webkit-mask: var(--logo) center / contain no-repeat;
  mask: var(--logo) center / contain no-repeat;
}
.footer-info p + p { margin-top: 10px; }
.footer-info strong { color: var(--text); font-weight: 600; }
.crisis { margin-top: 20px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.copy { margin-top: 28px; font-size: 13px; }
@media (max-width: 760px) {
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .site-footer { padding-bottom: 120px; }
}

/* ---------- Barra fixa no celular ---------- */
.sticky-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: var(--header-bg);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  backdrop-filter: saturate(1.4) blur(14px);
  border-top: 1px solid var(--border);
  transform: translateY(110%);
  transition: transform .4s cubic-bezier(.2, .7, .2, 1);
}
.sticky-cta.is-visible { transform: none; }
.sticky-cta .btn { width: 100%; }
@media (min-width: 900px) { .sticky-cta { display: none; } }

/* ---------- Animações gerais ---------- */
@keyframes spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .js .reveal { opacity: 1; transform: none; }
  .journey-loop path { stroke-dashoffset: 0; }
  .step::before { transform: none !important; }
  .step .dot { transform: none; opacity: 1; background: var(--accent-text); }
}
