/* ====================================================
   LIBERE SUA EMPRESA DAS SUAS CRENÇAS — Roxana
   Style guide: Lora (display) + Poppins (body)
   ==================================================== */

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img, picture, svg, video {
  display: block;
  max-width: 100%;
  height: auto;
}
button, input, textarea, select { font: inherit; color: inherit; }
button { background: none; border: none; cursor: pointer; padding: 0; }
a { text-decoration: none; color: inherit; }
ul { margin: 0; padding: 0; list-style: none; }

/* ---------- Tokens ---------- */
:root {
  --bg-cream:        #ffece4;
  --bg-cream-deep:   #fbd7c6;
  --bg-peach:        #fbd7c6;
  --bg-peach-soft:   #ffece4;
  --bg-dark:         #1e202b;
  --bg-dark-soft:    #2a2d3a;
  --bg-darker:       #16181f;

  --copper:          #ab8a7b;
  --copper-dark:     #947669;
  --copper-deep:     #7b665c;
  --copper-soft:     #c89c8a;
  --copper-pale:     #e1bfb2;

  --text-dark:       #1e202b;
  --text-dark-soft:  #464b59;
  --text-muted:      #576680;
  --text-on-dark:    #f7e9e1;
  --text-on-dark-mut:#b0b4c0;

  --check-green:     #039d48;
  --white:           #FFFFFF;

  --serif: 'Lora', Georgia, 'Times New Roman', serif;
  --sans:  'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;

  --shadow-soft: 0 8px 24px rgba(30,32,43,.08);
  --shadow-card: 0 16px 40px rgba(30,32,43,.10);
  --shadow-pop:  0 24px 60px rgba(123, 102, 92, .25);
}

html, body { overflow-x: hidden; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}
body {
  font-family: var(--sans);
  color: var(--text-dark-soft);
  background: var(--bg-cream);
  font-size: 16px;
  line-height: 1.6em;
}

h1, h2, h3, h4 {
  font-family: var(--serif);
  color: var(--text-dark);
  margin: 0 0 16px;
  text-wrap: balance;
  font-weight: 500;
  letter-spacing: -0.01em;
}
p { margin: 0 0 16px; text-wrap: pretty; }

/* ---------- A11y ---------- */
:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 3px;
  border-radius: 6px;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 8px;
  z-index: 100;
  padding: 12px 20px;
  background: var(--copper);
  color: #fff;
  border-radius: 12px;
  transition: top .15s ease;
  font-weight: 600;
}
.skip-link:focus { top: 8px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- Layout base ---------- */
.section {
  width: 100%;
  position: relative;
  isolation: isolate;
}
.content-wrapper {
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

/* Backgrounds */
.sec-cream  { background: var(--bg-cream); color: var(--text-dark-soft); }
.sec-peach  {
  background: linear-gradient(180deg, var(--bg-cream) 0%, var(--bg-peach) 60%, var(--bg-cream) 100%);
  color: var(--text-dark-soft);
}
.sec-dark   {
  background: linear-gradient(180deg, var(--bg-dark) 0%, var(--bg-darker) 100%);
  color: var(--text-on-dark);
}
.sec-dark h1, .sec-dark h2, .sec-dark h3, .sec-dark h4 { color: #fff; }
.sec-copper {
  background: linear-gradient(140deg, var(--copper) 0%, var(--copper-dark) 60%, var(--copper-deep) 100%);
  color: #fff7f1;
}
.sec-copper h1, .sec-copper h2, .sec-copper h3 { color: #fff; }

.sec-key {
  background:
    radial-gradient(120% 80% at 30% 20%, rgba(171,138,123,.18) 0%, transparent 60%),
    linear-gradient(180deg, var(--bg-peach) 0%, var(--bg-cream-deep) 100%);
  color: var(--text-dark);
}

/* ---------- Decoração ---------- */
.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: .55;
  z-index: 0;
  pointer-events: none;
}
.blob--copper       { background: var(--copper); width: 320px; height: 320px; top: -80px; right: -80px; opacity: .35; }
.blob--copper-soft  { background: var(--copper-soft); width: 380px; height: 380px; bottom: -120px; left: -100px; opacity: .25; }
.blob--peach        { background: var(--copper-pale); width: 260px; height: 260px; bottom: -60px; left: -60px; opacity: .35; }
.blob--peach-soft   { background: var(--copper-pale); width: 280px; height: 280px; top: -80px; right: -80px; opacity: .15; }

.grid-noise {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 22px 22px;
  z-index: 0;
  pointer-events: none;
  opacity: .6;
}

/* Padrão pontilhado em todas as seções — adaptativo por tema (claro/escuro) */
.section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(30, 32, 43, .07) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
  z-index: 0;
}
.sec-dark::before,
.sec-copper::before,
.hero::before {
  background-image: radial-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px);
}
.sec-peach::before,
.sec-key::before {
  background-image: radial-gradient(rgba(123, 102, 92, .08) 1px, transparent 1px);
}

.ring-deco {
  position: absolute;
  width: 220px; height: 220px;
  border: 1.5px dashed rgba(255,255,255,.12);
  border-radius: 50%;
  top: 20px; right: -80px;
  z-index: 0;
  animation: spin 40s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.dots-deco {
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.18) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
  z-index: 0; pointer-events: none;
  opacity: .35;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.6), transparent 70%);
}

.wave {
  display: block;
  width: 100%;
  height: 60px;
  position: absolute;
  left: 0; right: 0;
  bottom: -1px;
  z-index: 2;
  pointer-events: none;
}

/* ---------- HERO ---------- */
.hero {
  background: linear-gradient(180deg, var(--bg-dark) 0%, #20232f 55%, var(--bg-dark) 100%);
  color: var(--text-on-dark);
  padding-bottom: 100px;
  overflow: hidden;
}

/* Wrapper para clipar a aurora dentro do hero sem afetar o resto */
.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

/* "Ponte" do CTA — atravessa a borda entre hero e próxima seção */
.hero-cta-bridge {
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 auto;
  overflow: visible;
  z-index: 20;
  pointer-events: none;
  box-sizing: border-box;
  /* mobile default: content-wrapper sizing */
  max-width: 359px;
  padding: 0 8px;
}
.hero-cta-bridge .cta-invite {
  position: absolute;
  top: -32px;
  left: 8px;
  right: 8px;
  margin-top: 0;
  margin-inline: auto;
  pointer-events: auto;
  white-space: nowrap;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .hero-cta-bridge { max-width: 656px; padding: 0; }
  .hero-cta-bridge .cta-invite {
    left: 0;
    right: 0;
    width: fit-content;
  }
}
@media (min-width: 1025px) and (max-width: 1471px) {
  .hero-cta-bridge { max-width: 961px; padding: 0; }
  .hero-cta-bridge .cta-invite {
    left: 0;
    right: 0;
    width: fit-content;
  }
}
@media (min-width: 1472px) {
  .hero-cta-bridge { max-width: 1280px; padding: 0; }
  .hero-cta-bridge .cta-invite {
    left: 0;
    right: 0;
    width: fit-content;
  }
}

/* Aurora blur multi-cor — núcleo cobre profundo → cobre médio → pêssego pálido fade */
.aurora {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
  filter: blur(60px);
  mix-blend-mode: screen;
}
.aurora--hero {
  width: 130%;
  aspect-ratio: 1 / 1;
  max-width: 820px;
  bottom: -25%;
  left: 50%;
  transform: translateX(-50%);
  background:
    radial-gradient(28% 26% at 50% 50%, rgba(123, 102, 92, .80) 0%, rgba(123, 102, 92, 0) 65%),
    radial-gradient(40% 40% at 50% 50%, rgba(148, 118, 105, .55) 0%, transparent 75%),
    radial-gradient(60% 60% at 50% 50%, rgba(171, 138, 123, .35) 0%, transparent 80%),
    radial-gradient(85% 85% at 50% 50%, rgba(225, 191, 178, .15) 0%, transparent 85%);
  opacity: .9;
}
@media (min-width: 1025px) {
  .aurora--hero {
    max-width: 1200px;
    width: 95%;
    bottom: -45%;
  }
}
.hero__wrap { padding-top: 64px; padding-bottom: 24px; text-align: center; }
.hero__title {
  font-family: var(--serif);
  font-weight: 600;
  color: #fff;
  font-size: 32px;
  line-height: 1.1em;
  margin: 18px auto 9px;
  max-width: 16ch;
  letter-spacing: -0.02em;
}
.hero__lede {
  font-family: var(--sans);
  font-weight: 400;
  color: rgba(247, 233, 225, .92);
  font-size: 16px;
  line-height: 1.55em;
  max-width: 36ch;
  margin: 0 auto 28px;
}
.hero__media { margin: 36px auto 0; max-width: 480px; }

/* ---------- Pills ---------- */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.pill .ico { width: 16px; height: 16px; flex-shrink: 0; }
.pill--alert {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
}
.pill--copper {
  background: var(--copper);
  color: #fff;
  box-shadow: 0 6px 20px rgba(171,138,123,.35);
}
.pill--copper-on-cream {
  background: rgba(171,138,123,.12);
  color: var(--copper-deep);
  border: 1px solid rgba(171,138,123,.25);
}
.pill--dark {
  background: var(--bg-dark);
  color: #fff;
}
.pill--cream {
  background: var(--bg-cream);
  color: var(--copper-deep);
}

/* ---------- Lora display headings (dentro de seções) ---------- */
.lora-display {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 30px;
  line-height: 1.18em;
  margin: 4px 0 18px;
  color: #fff;
  letter-spacing: -0.015em;
}
.lora-display.dark { color: var(--text-dark); }

/* ---------- CTA Invite (botão pill horizontal, refinado) ---------- */
.cta-invite {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 18px 28px 18px 32px;
  border-radius: var(--radius-pill);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.01em;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 50%),
    linear-gradient(135deg, var(--copper) 0%, var(--copper-dark) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -1px 0 rgba(0,0,0,.08),
    0 1px 2px rgba(30,32,43,.18),
    0 12px 28px -6px rgba(123,102,92,.45);
  transition:
    transform .25s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s ease,
    filter .2s ease;
  cursor: pointer;
  margin-top: 12px;
  position: relative;
  text-align: center;
  line-height: 1.2em;
  overflow: hidden;
  isolation: isolate;
}

/* Shine sweep on hover */
.cta-invite::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.22) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform .7s ease;
  z-index: -1;
  pointer-events: none;
}
.cta-invite:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    inset 0 -1px 0 rgba(0,0,0,.1),
    0 2px 4px rgba(30,32,43,.18),
    0 22px 44px -6px rgba(123,102,92,.55);
}
.cta-invite:hover::before { transform: translateX(100%); }
.cta-invite:active { transform: translateY(0); transition-duration: .1s; }
.cta-invite:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 4px;
}

.cta-invite__label { white-space: nowrap; }
.cta-invite__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform .25s ease, background .2s ease;
}
.cta-invite__arrow svg { width: 16px; height: 16px; color: #fff; }
.cta-invite:hover .cta-invite__arrow {
  background: rgba(255,255,255,.28);
  animation: arrow-nudge 1.2s ease-in-out infinite;
}
@keyframes arrow-nudge {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(3px); }
}

/* Idle bounce sutil pra chamar atenção sem agressão */
.cta-invite__arrow {
  animation: arrow-idle 2.6s ease-in-out infinite;
}
@keyframes arrow-idle {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(2px); }
}

/* Variante grande */
.cta-invite__arrow--lg { width: 38px; height: 38px; }
.cta-invite__arrow--lg svg { width: 18px; height: 18px; }

/* Variante clara (sobre fundo escuro do hero) */
.cta-invite--light {
  color: var(--copper-deep);
  background:
    linear-gradient(180deg, rgba(255,255,255,1) 0%, var(--bg-cream) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -1px 0 rgba(123,102,92,.08),
    0 1px 2px rgba(0,0,0,.18),
    0 16px 36px -8px rgba(0,0,0,.35);
}
.cta-invite--light .cta-invite__arrow {
  background: rgba(123,102,92,.10);
  border-color: rgba(123,102,92,.18);
}
.cta-invite--light .cta-invite__arrow svg { color: var(--copper-deep); }
.cta-invite--light:hover .cta-invite__arrow { background: rgba(123,102,92,.18); }

/* Tamanhos */
.cta-invite--big {
  padding: 20px 32px 20px 36px;
  font-size: 16px;
  margin-top: 24px;
  gap: 16px;
}
.cta-invite--xl {
  padding: 22px 34px 22px 40px;
  font-size: 17px;
  gap: 18px;
}

/* ---------- Placeholders de imagem ---------- */
.placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 12px, transparent 12px 24px),
    linear-gradient(140deg, rgba(171,138,123,.6), rgba(123,102,92,.5));
  color: rgba(255,255,255,.85);
  border-radius: var(--radius-lg);
  border: 1.5px dashed rgba(255,255,255,.25);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  aspect-ratio: 16/9;
}
.placeholder svg { width: 36px; height: 36px; opacity: .8; }
.placeholder--portrait { aspect-ratio: 4/5; }

/* ---------- BLOCO 1 — Deny ---------- */
.sec-deny { padding-top: 72px; }
.deny-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 28px;
}
.deny-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 18px;
  background: #fff;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  font-family: var(--sans);
  font-weight: 500;
  font-size: 16px;
  color: var(--text-dark);
  transition: transform .25s ease;
}
.deny-card:hover { transform: translateY(-3px); }
.deny-card p { margin: 0; }
.deny-card__x {
  width: 36px; height: 36px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(140deg, #ffe2d6, #fbd7c6);
  color: var(--copper-dark);
  border-radius: 50%;
}
.deny-card__x svg { width: 18px; height: 18px; }
.deny-bridge {
  text-align: center;
  margin-top: 16px;
  padding: 22px;
  border-radius: var(--radius-md);
  background: rgba(171,138,123,.10);
  border: 1px dashed rgba(171,138,123,.4);
}
.deny-bridge .point {
  font-family: var(--sans);
  font-weight: 500;
  color: var(--copper-deep);
  font-size: 15px;
  margin-bottom: 10px;
}
.deny-key {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.3em;
  color: var(--text-dark);
  margin: 0;
}

/* ---------- BLOCO 2 — Truth ---------- */
.sec-truth { overflow: hidden; }
.truth-sub {
  font-family: var(--sans);
  font-size: 15px;
  color: var(--text-on-dark-mut);
  margin-bottom: 24px;
  line-height: 1.6em;
}
.truth-list {
  display: flex; flex-direction: column;
  gap: 10px;
  margin-bottom: 26px;
}
.truth-list li {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 16px;
  background: rgba(255,255,255,.04);
  border-left: 3px solid var(--copper);
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.5em;
  color: #f0e6e0;
}
.truth-list .dot {
  width: 8px; height: 8px;
  background: var(--copper);
  border-radius: 50%;
  margin-top: 8px;
  flex-shrink: 0;
  box-shadow: 0 0 0 4px rgba(171,138,123,.2);
}
.truth-bang {
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.4em;
  color: #fff;
  background: linear-gradient(140deg, var(--copper), var(--copper-dark));
  padding: 20px 22px;
  border-radius: var(--radius-md);
  margin: 0;
  box-shadow: var(--shadow-pop);
  text-wrap: balance;
}

/* ---------- BLOCO 3 — Applies ---------- */
.applies-list {
  display: flex; flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}
.applies-list li {
  position: relative;
  padding: 14px 18px 14px 44px;
  background: #fff;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  font-size: 15px;
  line-height: 1.5em;
  color: var(--text-dark);
}
.applies-list li::before {
  content: '';
  position: absolute;
  left: 18px; top: 50%;
  transform: translateY(-50%);
  width: 14px; height: 14px;
  border-radius: 50%;
  background: linear-gradient(140deg, var(--copper), var(--copper-deep));
  box-shadow: 0 0 0 4px rgba(171,138,123,.18);
}
.applies-finish {
  text-align: center;
  padding: 22px;
  background: var(--bg-dark);
  color: #fff;
  border-radius: var(--radius-md);
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4em;
}
.applies-finish p { margin: 0; }
.applies-finish p + p { margin-top: 6px; color: var(--copper-pale); }

/* ---------- BLOCO 4 — What ---------- */
.sec-what { overflow: hidden; }
.what-lede {
  font-family: var(--sans);
  font-size: 15px;
  color: var(--text-on-dark-mut);
  margin-bottom: 18px;
}
.check-list {
  display: flex; flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
}
.check-list li {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,.04);
  border-radius: var(--radius-md);
  font-size: 15px;
  line-height: 1.5em;
  color: #f0e6e0;
  border: 1px solid rgba(255,255,255,.06);
}
.check {
  width: 28px; height: 28px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--copper);
  color: #fff;
  border-radius: 50%;
  margin-top: 0;
}
.check svg { width: 16px; height: 16px; }
.check--green { background: var(--check-green); }

/* ---------- BLOCO 5 — Levels ---------- */
.sec-levels { overflow: hidden; }
.levels-lede {
  font-family: var(--sans);
  font-size: 15px;
  color: var(--text-muted);
  margin-bottom: 24px;
}
.levels-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.level-card {
  position: relative;
  padding: 28px 22px;
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-card);
  transform: rotate(var(--rot, 0));
  transition: transform .35s ease, box-shadow .35s ease;
  text-align: left;
  border: 1px solid rgba(171,138,123,.15);
}
.level-card:hover {
  transform: rotate(0) translateY(-6px);
  box-shadow: 0 24px 50px rgba(123,102,92,.18);
}
.level-card h3 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 22px;
  margin: 12px 0 8px;
  color: var(--text-dark);
}
.level-card p {
  font-size: 14px;
  line-height: 1.55em;
  color: var(--text-muted);
  margin: 0;
}
.level-card__ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px;
  border-radius: 18px;
  color: #fff;
}
.level-card__ico svg { width: 30px; height: 30px; }
.level-card--neuro  .level-card__ico { background: linear-gradient(135deg, #6e7da0, #464b59); }
.level-card--energy .level-card__ico { background: linear-gradient(135deg, #d4a373, var(--copper)); }
.level-card--biz    .level-card__ico { background: linear-gradient(135deg, var(--copper-deep), #2a2d3a); }

/* ---------- BLOCO 6 — Day ---------- */
.sec-day { overflow: hidden; }
.day-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 8px;
}
.day-step {
  position: relative;
  padding: 22px 22px 22px 76px;
  background: rgba(255,255,255,.95);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  color: var(--text-dark);
}
.day-step__num {
  position: absolute;
  left: 18px; top: 18px;
  width: 42px; height: 42px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bg-dark);
  color: #fff;
  border-radius: 12px;
  font-family: var(--serif);
  font-weight: 600;
  font-size: 18px;
  letter-spacing: -0.02em;
}
.day-step h3 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 17px;
  line-height: 1.3em;
  margin: 0 0 6px;
  color: var(--text-dark);
}
.day-step p {
  font-size: 14px;
  line-height: 1.55em;
  color: var(--text-muted);
  margin: 0;
}

/* ---------- BLOCO 7 — Results ---------- */
.results-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.results-list li {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  font-size: 15px;
  line-height: 1.5em;
  color: var(--text-dark);
}
.bullet {
  flex-shrink: 0;
  width: 14px; height: 14px;
  border-radius: 50%;
}
.bullet--copper {
  background: linear-gradient(135deg, var(--copper), var(--copper-deep));
  box-shadow: 0 0 0 4px rgba(171,138,123,.16);
}

/* ---------- BLOCO 8 — Not for all ---------- */
.dual-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 16px;
}
.dual-list {
  display: flex; flex-direction: column;
  gap: 10px;
  padding: 22px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.08);
}
.dual-list li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 15px;
  line-height: 1.5em;
}
.dual-list--yes {
  background: rgba(3,157,72,.08);
  border-color: rgba(3,157,72,.2);
}
.dual-list--no {
  background: rgba(255,255,255,.04);
}
.x-mark {
  width: 26px; height: 26px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.10);
  color: #fff;
  border-radius: 50%;
}
.x-mark svg { width: 14px; height: 14px; }

/* ---------- BLOCO 9 — About ---------- */
.about-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items: center;
}
.about-photo {
  position: relative;
  margin: 0 auto;
  max-width: 320px;
  width: 100%;
}
.about-photo__img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  display: block;
}
.about-photo__badge {
  position: absolute;
  bottom: -14px; right: -10px;
  padding: 8px 18px;
  background: var(--bg-dark);
  color: #fff;
  border-radius: var(--radius-pill);
  font-family: var(--serif);
  font-style: italic;
  font-size: 16px;
  box-shadow: var(--shadow-card);
  transform: rotate(-3deg);
}
.about-text p {
  font-size: 15px;
  line-height: 1.65em;
  color: var(--text-dark);
}

/* ---------- BLOCO 10 — Includes ---------- */
.includes-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.includes-grid li {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-md);
  font-size: 15px;
  line-height: 1.5em;
  color: #f0e6e0;
  transition: transform .25s ease, background .25s ease;
}
.includes-grid li:hover {
  background: rgba(171,138,123,.12);
  transform: translateX(4px);
}
.includes-ico {
  width: 36px; height: 36px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(140deg, var(--copper), var(--copper-deep));
  color: #fff;
  border-radius: 12px;
}
.includes-ico svg { width: 18px; height: 18px; }

/* ---------- BLOCOS 11+12 — Reflexão (uma seção só, texto contínuo) ---------- */
.sec-statement { text-align: center; }
.sec-statement .content-wrapper { max-width: 720px; margin-left: auto; margin-right: auto; }
.statement-block {
  font-family: var(--serif);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-wrap: balance;
}
.statement-line {
  display: block;
  line-height: 1.35em;
}
.statement-line--muted {
  font-style: italic;
  color: var(--text-muted);
  font-size: 20px;
  font-weight: 400;
}
.statement-line--strong {
  color: var(--text-dark);
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 6px;
}
.statement-line--strong:last-child { margin-bottom: 0; }

@media (min-width: 768px) {
  .statement-line--muted { font-size: 22px; }
  .statement-line--strong { font-size: 26px; margin-bottom: 10px; }
  .statement-block { gap: 8px; }
}
@media (min-width: 1025px) {
  .statement-line--muted { font-size: 24px; }
  .statement-line--strong { font-size: 30px; margin-bottom: 14px; }
  .statement-block { gap: 10px; }
}

/* ---------- BLOCO 11 — Important (legado, não usado) ---------- */
.sec-important { text-align: center; }
.important-line {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.4em;
  color: var(--text-dark);
  text-wrap: balance;
}
.important-line.one { font-style: italic; color: var(--text-muted); }
.important-line.two {
  background: linear-gradient(140deg, var(--copper), var(--copper-deep));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
  font-size: 24px;
}

/* ---------- BLOCO 12 — Key quote ---------- */
.sec-key { text-align: center; padding-top: 56px; padding-bottom: 56px; }
.key-quote {
  display: flex; flex-direction: column; gap: 10px;
  margin: 8px 0 0;
  padding: 32px 22px;
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  position: relative;
}
.key-quote::before {
  content: '"';
  position: absolute;
  top: -10px; left: 18px;
  font-family: var(--serif);
  font-style: italic;
  font-size: 80px;
  line-height: 1;
  color: var(--copper);
  opacity: .35;
}
.key-quote__top {
  font-family: var(--serif);
  font-style: italic;
  font-size: 19px;
  line-height: 1.4em;
  color: var(--text-muted);
}
.key-quote__bottom {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.3em;
  color: var(--text-dark);
  text-wrap: balance;
}

/* ---------- BLOCO 13 — Price ---------- */
.sec-price { text-align: center; }
.sec-price .content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.sec-price .pill { margin-bottom: 0; }
.price-card {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 36px 32px;
  background: linear-gradient(140deg, var(--bg-dark), var(--bg-darker));
  color: #fff;
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 60px rgba(30,32,43,.18);
  margin: 8px 0 8px;
  position: relative;
  border: 2px solid var(--copper);
  min-width: 280px;
}
.price-card::before {
  content: '★';
  position: absolute;
  top: -16px; left: 50%;
  transform: translateX(-50%);
  width: 32px; height: 32px;
  background: var(--copper);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px;
  color: #fff;
}
.price-card__lot {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--copper-pale);
}
.price-card__amount {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 44px;
  line-height: 1.1em;
  color: #fff;
  letter-spacing: -0.02em;
  margin-top: 4px;
}
.price-card__hint {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text-on-dark-mut);
  margin-top: 4px;
}

/* ---------- BLOCO 14 — Reserve ---------- */
.sec-reserve { text-align: center; overflow: hidden; }
.sec-reserve .content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.sec-reserve .pill { margin-bottom: 0; }
.reserve-line {
  font-family: var(--serif);
  font-weight: 500;
  font-style: italic;
  font-size: 19px;
  line-height: 1.4em;
  color: var(--copper-pale);
  margin: 4px auto 24px;
  max-width: 32ch;
  text-wrap: balance;
}

/* ---------- BLOCO 15 — Last reminder ---------- */
.sec-last { text-align: center; }
.last-line {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.4em;
  color: #fff;
  margin: 4px 0 16px;
  text-wrap: balance;
}
.last-q-intro {
  font-family: var(--sans);
  font-weight: 500;
  font-size: 15px;
  color: rgba(255,255,255,.85);
  margin: 0 0 8px;
}
.last-q {
  font-family: var(--serif);
  font-weight: 700;
  font-style: italic;
  font-size: 28px;
  line-height: 1.25em;
  color: #fff;
  text-wrap: balance;
  margin: 0;
}

/* ---------- CHECKOUT ---------- */
.sec-checkout { text-align: center; }
.checkout-area {
  margin-top: 12px;
  padding: 22px;
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  border: 1px solid rgba(171,138,123,.18);
}
.checkout-placeholder {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 12px;
  padding: 36px 18px;
  border: 2px dashed rgba(171,138,123,.4);
  border-radius: var(--radius-md);
  background: var(--bg-cream);
  color: var(--copper-deep);
}
.checkout-placeholder svg { width: 44px; height: 44px; opacity: .7; }
.checkout-placeholder p { margin: 0; font-size: 14px; line-height: 1.5em; color: var(--text-muted); }
.checkout-placeholder strong { color: var(--text-dark); font-size: 16px; }
.checkout-placeholder__hint { max-width: 36ch; }

/* ---------- Footer ---------- */
.footer {
  background: var(--bg-dark);
  color: var(--text-on-dark-mut);
  padding: 28px 0;
  text-align: center;
  font-size: 13px;
}
.footer p { margin: 4px 0; }
.footer a {
  color: var(--copper-pale);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer a:hover { color: #fff; }

/* ====================================================
   BREAKPOINT: Celular (320 - 767)
   ==================================================== */
@media (min-width: 320px) and (max-width: 767px) {
  .hero {
    background:
      url("Imagens/BG - Hero - Lp 01 - Roxana - CEL.webp") top center / 400px auto no-repeat,
      linear-gradient(180deg, var(--bg-dark) 0%, #20232f 55%, var(--bg-dark) 100%);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .hero {
    background:
      url("Imagens/BG - Hero - Lp 01 - Roxana - CEL.webp") top center / 767px auto no-repeat,
      linear-gradient(180deg, var(--bg-dark) 0%, #20232f 55%, var(--bg-dark) 100%);
  }
}

@media (min-width: 1025px) {
  .hero {
    background:
      url("Imagens/BG - Hero - Lp 01 - Roxana - PC.webp") top center / 1000px auto no-repeat,
      linear-gradient(180deg, var(--bg-dark) 0%, #20232f 55%, var(--bg-dark) 100%);
  }
}

@media (min-width: 320px) and (max-width: 767px) {
  .section { padding: 56px 0; }
  .content-wrapper {
    max-width: 359px;
    width: 100%;
    padding: 0 8px;
  }

  /* Cards/boxes ganham respiro lateral interno (apenas onde não há decoração posicionada) */
  .deny-card, .truth-list li, .check-list li,
  .results-list li, .includes-grid li,
  .level-card, .checkout-area, .deny-bridge,
  .applies-finish, .truth-bang, .price-card, .dual-list {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Mantém espaço para a bolinha à esquerda (::before posicionado em left:18px) */
  .applies-list li {
    padding: 14px 16px 14px 42px;
  }

  /* Mantém espaço para o badge numerado à esquerda (.day-step__num em left:18px width:42px) */
  .day-step {
    padding: 22px 16px 22px 70px;
  }
  .day-step__num {
    left: 14px;
    width: 38px;
    height: 38px;
    font-size: 16px;
  }

  /* Frase-chave: encolhe a aspa decorativa pra não invadir o texto no mobile */
  .key-quote {
    padding: 36px 18px 28px;
  }
  .key-quote::before {
    font-size: 56px;
    top: -4px;
    left: 12px;
  }

  /* CTAs full-width no mobile pra alinhar com cards e outros elementos */
  .cta-invite,
  .cta-invite--big,
  .cta-invite--xl {
    display: flex;
    width: 100%;
    box-sizing: border-box;
  }

  /* 3 níveis: layout horizontal (ícone à esquerda + título/texto à direita) */
  .level-card {
    display: grid;
    grid-template-columns: 56px 1fr;
    column-gap: 16px;
    align-items: start;
    padding: 20px 18px;
  }
  .level-card__ico {
    grid-row: 1 / span 2;
    margin-top: 2px;
  }
  .level-card h3 {
    margin: 0 0 4px;
    align-self: end;
  }
  .level-card p {
    margin: 0;
  }

  .hero { padding-bottom: 70px; }
  .hero__wrap { padding-top: 100px; }
  .hero__title {
    font-size: 38px;
    line-height: 1.08em;
    max-width: 100%;
    letter-spacing: -0.025em;
  }
  .hero__lede { font-size: 15px; }

  .lora-display { font-size: 26px; }
  h1 { font-size: 28px; }
  h2 { font-size: 24px; }
  h3 { font-size: 18px; }
}

/* ====================================================
   BREAKPOINT: Tablet (768 - 1024)
   ==================================================== */
@media (min-width: 768px) and (max-width: 1024px) {
  .section { padding: 72px 0; }
  .content-wrapper { width: 656px; }

  .hero__wrap { padding-top: 80px; padding-bottom: 40px; }
  .hero__title { font-size: 48px; max-width: 18ch; }
  .hero__lede { font-size: 17px; max-width: 50ch; }

  .lora-display { font-size: 36px; }
  h1 { font-size: 44px; }
  h2 { font-size: 32px; }
  h3 { font-size: 22px; }

  .deny-grid { grid-template-columns: repeat(3, 1fr); }
  .levels-grid { grid-template-columns: repeat(3, 1fr); }
  .day-grid { grid-template-columns: repeat(2, 1fr); }
  .day-step--full { grid-column: 1 / -1; }
  .results-list { grid-template-columns: repeat(2, 1fr); }
  .includes-grid { grid-template-columns: repeat(2, 1fr); }
  .dual-grid { grid-template-columns: 1fr 1fr; }

  .about-grid {
    grid-template-columns: 280px 1fr;
    gap: 36px;
  }
  .about-photo { max-width: 280px; }

  .key-quote__bottom { font-size: 28px; }
  .important-line.two { font-size: 28px; }
  .last-q { font-size: 32px; }

  .price-card__amount { font-size: 52px; }

  .deny-key { font-size: 24px; }
  .truth-bang { font-size: 19px; }
  .applies-finish { font-size: 22px; }

  .reserve-line { font-size: 21px; }
}

/* ====================================================
   BREAKPOINT: Notebook (1025 - 1471)
   ==================================================== */
@media (min-width: 1025px) and (max-width: 1471px) {
  .section { padding: 96px 0; }
  .content-wrapper { width: 961px; }

  .hero__wrap { padding-top: 100px; padding-bottom: 48px; }
  .hero__title { font-size: 56px; max-width: 18ch; }
  .hero__lede { font-size: 18px; max-width: 56ch; }

  .lora-display { font-size: 42px; max-width: 22ch; margin-left: auto; margin-right: auto; text-align: center; }
  .lora-display.dark { color: var(--text-dark); }

  h1 { font-size: 56px; }
  h2 { font-size: 40px; }
  h3 { font-size: 24px; }

  .deny-grid { grid-template-columns: repeat(3, 1fr); }
  .levels-grid { grid-template-columns: repeat(3, 1fr); }
  .day-grid { grid-template-columns: repeat(2, 1fr); }
  .day-step--full { grid-column: 1 / -1; }
  .results-list { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .includes-grid { grid-template-columns: repeat(2, 1fr); }
  .dual-grid { grid-template-columns: 1fr 1fr; gap: 22px; }

  .about-grid {
    grid-template-columns: 320px 412px;
    gap: 56px;
    justify-content: center;
  }
  .about-photo { max-width: 320px; }
  .about-text { width: 412px; }
  .about-text p { font-size: 17px; }

  .key-quote {
    padding: 48px 36px;
  }
  .key-quote__top { font-size: 22px; }
  .key-quote__bottom { font-size: 32px; }

  .important-line.one { font-size: 24px; }
  .important-line.two { font-size: 30px; }

  .last-q { font-size: 36px; }
  .last-line { font-size: 24px; }

  .price-card { padding: 48px 56px; min-width: 360px; }
  .price-card__amount { font-size: 60px; }

  .truth-bang { font-size: 20px; padding: 24px 28px; }
  .applies-finish { font-size: 24px; padding: 28px; }
  .deny-key { font-size: 26px; }
  .reserve-line { font-size: 22px; }

  /* Section-header centralization */
  .sec-truth, .sec-applies, .sec-what, .sec-levels, .sec-day,
  .sec-results, .sec-not-for-all, .sec-includes, .sec-important,
  .sec-key, .sec-price, .sec-reserve, .sec-last, .sec-checkout {
    text-align: center;
  }
  .sec-truth .truth-list, .sec-truth .truth-bang,
  .sec-what .check-list, .sec-applies .applies-list,
  .sec-includes .includes-grid, .sec-results .results-list,
  .sec-day .day-grid, .sec-levels .levels-grid {
    text-align: left;
  }

  .pill { margin-left: auto; margin-right: auto; }
  .truth-list, .check-list, .applies-list { max-width: 720px; margin-left: auto; margin-right: auto; }
}

/* ====================================================
   BREAKPOINT: Desktop (≥ 1472)
   ==================================================== */
@media (min-width: 1472px) {
  .section { padding: 120px 0; }
  .content-wrapper { width: 1280px; }

  .hero__wrap { padding-top: 120px; padding-bottom: 56px; }
  .hero__title { font-size: 72px; max-width: 18ch; }
  .hero__lede { font-size: 20px; max-width: 60ch; }
  .hero__media { max-width: 720px; }

  .lora-display { font-size: 48px; max-width: 24ch; margin-left: auto; margin-right: auto; text-align: center; }

  h1 { font-size: 64px; }
  h2 { font-size: 48px; }
  h3 { font-size: 28px; }

  .deny-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .levels-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .day-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .day-step--full { grid-column: 1 / -1; }
  .results-list { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .includes-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .dual-grid { grid-template-columns: 1fr 1fr; gap: 28px; }

  .about-grid {
    grid-template-columns: 380px 412px;
    gap: 72px;
    justify-content: center;
  }
  .about-photo { max-width: 380px; }
  .about-text { width: 412px; }
  .about-text p { font-size: 18px; line-height: 1.7em; }

  .key-quote { padding: 56px 48px; max-width: 880px; margin-left: auto; margin-right: auto; }
  .key-quote__top { font-size: 24px; }
  .key-quote__bottom { font-size: 38px; }

  .important-line.one { font-size: 26px; }
  .important-line.two { font-size: 34px; }

  .last-q { font-size: 42px; }
  .last-line { font-size: 28px; }

  .price-card { padding: 56px 72px; min-width: 420px; }
  .price-card__amount { font-size: 68px; }

  .truth-bang { font-size: 22px; padding: 28px 32px; max-width: 720px; margin-left: auto; margin-right: auto; }
  .applies-finish { font-size: 26px; padding: 32px; max-width: 720px; margin-left: auto; margin-right: auto; }
  .deny-key { font-size: 28px; }
  .reserve-line { font-size: 24px; }

  .sec-truth, .sec-applies, .sec-what, .sec-levels, .sec-day,
  .sec-results, .sec-not-for-all, .sec-includes, .sec-important,
  .sec-key, .sec-price, .sec-reserve, .sec-last, .sec-checkout {
    text-align: center;
  }
  .sec-truth .truth-list, .sec-truth .truth-bang,
  .sec-what .check-list, .sec-applies .applies-list,
  .sec-includes .includes-grid, .sec-results .results-list,
  .sec-day .day-grid, .sec-levels .levels-grid {
    text-align: left;
  }

  .pill { margin-left: auto; margin-right: auto; }
  .truth-list, .check-list, .applies-list { max-width: 760px; margin-left: auto; margin-right: auto; }

  .checkout-area { max-width: 720px; margin-left: auto; margin-right: auto; }

  .cta-invite--xl { padding: 30px 48px; font-size: 22px; }
}
