/* Leitura e hierarquia das páginas comerciais. Mantém a identidade da marca. */
.lp-refined {
  --brown-mid: #735837;
  --step--1: 14px;
  --step-0: clamp(16px, .25vw + 15px, 18px);
  --gut: clamp(22px, 5vw, 56px);
  padding-bottom: 104px;
}
.lp-refined::after { opacity: .018; }
.lp-refined h1, .lp-refined h2, .lp-refined h3 { text-wrap: balance; }
.lp-refined .hero h1 { line-height: 1.09; font-size: clamp(36px, 4.3vw, 62px); }
.lp-refined .h-2 { line-height: 1.15; }
.lp-refined .section { padding-block: clamp(56px, 6.2vw, 88px); }
.lp-refined .eyebrow, .lp-refined .label { font-size: 12px; letter-spacing: .14em; }
.lp-refined .btn { min-height: 54px; padding: 17px 25px; font-size: 16px; line-height: 1.4; letter-spacing: 0; text-transform: none; border-radius: 4px; font-weight: 650; }
.lp-refined :is(a, button, summary):focus-visible { outline: 3px solid #9b7328; outline-offset: 5px; }
.lp-refined :is(.section--dark,.section--ink,.course-hero) :is(a, button):focus-visible { outline-color: var(--gold-soft); }
.lp-refined .micro { font-size: 13px; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.lp-refined .top .cred { font-size: 12px; letter-spacing: .08em; }
.lp-refined .top .mark b { font-size: 10px; }
.lp-refined .small, .lp-refined .scope { font-size: 15px; line-height: 1.7; }
.lp-refined .foot { color: #ddd0be; }
.lp-refined .foot .fnav { font-size: 13px; letter-spacing: .02em; text-transform: none; }
.lp-refined .sticky-cta { visibility: hidden; padding-bottom: max(12px, env(safe-area-inset-bottom)); }
.lp-refined .sticky-cta.is-on { visibility: visible; }
.lp-refined .sticky-cta .txt { font-family: var(--sans); font-size: 14px; line-height: 1.5; }
.lp-refined .sticky-cta .txt b { font-size: 14px; text-transform: none; letter-spacing: 0; }
.lp-refined .sticky-cta .btn { font-size: 15px; min-height: 48px; }
.lp-refined [id] { scroll-margin-top: 30px; }
.skip-link { position: absolute; left: 20px; top: -100px; z-index: 1000; background: white; color: #2a1f15; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
/* Conteúdo comercial continua legível mesmo se o script externo falhar. */
.js .lp-refined [data-reveal] { opacity: 1; transform: none; }
.offer-facts { background: #fffaf1; border-block: 1px solid var(--rule); }
.offer-facts .wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding-block: 28px; }
.offer-facts strong { display: block; font-family: var(--serif); font-size: 26px; color: var(--brown-deep); line-height: 1.25; margin-bottom: 6px; }
.offer-facts p { font-size: 14px; color: var(--brown-mid); line-height: 1.55; }
.hero-price { margin: 24px 0 12px; font-size: 16px; }
.hero-price strong { font-family: var(--serif); font-size: 32px; padding-left: 6px; }
.hero-points { display: grid; gap: 9px; margin: 23px 0; }
.hero-points li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; font-size: 16px; line-height: 1.55; }
.hero-points li::before { content: '✓'; color: var(--gold); }
.text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.purchase-note { padding: 20px 24px; border: 1px solid var(--rule); background: #fff; color: var(--ink); max-width: 64ch; font-size: 15px; line-height: 1.65; margin-top: 22px; }
.purchase-note a { text-decoration: underline; text-underline-offset: 4px; }
.lp-refined .priceclimax__anchor { font-size: 13px; letter-spacing: .1em; }
.lp-refined .priceclimax__warranty { font-size: 16px; }
.lp-refined .priceclimax__terms { font-size: 16px; letter-spacing: 0; }
/* E-book: materiais e títulos identificáveis sem depender de microtexto. */
[data-page="ebook"] .hero .eyebrow { color: var(--gold-soft); }
[data-page="ebook"] .hero__inner { padding-block: 60px 76px; }
[data-page="ebook"] .hero__grid { grid-template-columns: 1.15fr 1fr; }
[data-page="ebook"] .hero .sub { font-size: 18px; color: #ebdfce; }
[data-page="ebook"] .badgerow { gap: 10px; }
[data-page="ebook"] .badgerow span { font-size: 12px; letter-spacing: 0; text-transform: none; }
[data-page="ebook"] .stack { min-height: 500px; padding-bottom: 34px; }
[data-page="ebook"] .mk-board, [data-page="ebook"] .mk-calc { bottom: -3%; }
[data-page="ebook"] .method p, [data-page="ebook"] .pillars p, [data-page="ebook"] .kit p { font-size: 16px; line-height: 1.65; }
[data-page="ebook"] .method .n { color: var(--brown-mid); }
[data-page="ebook"] .bio p, [data-page="ebook"] .bio ul li { font-size: 15px; line-height: 1.6; color: #e3d7c7; }
[data-page="ebook"] .bio .role { font-size: 12px; letter-spacing: .04em; color: var(--gold-soft); }
[data-page="ebook"] .pgroup > h3 { font-size: 14px; letter-spacing: .04em; color: var(--gold-soft); }
[data-page="ebook"] .pgroup li { font-family: var(--sans); font-size: 16px; line-height: 1.5; }
[data-page="ebook"] .pgroup li .i { font-size: 14px; }
[data-page="ebook"] .shotbox figcaption, [data-page="ebook"] .videobox figcaption { font-size: 13px; letter-spacing: .02em; text-transform: none; }
[data-page="ebook"] .calccard p { font-size: 16px; }
[data-page="ebook"] .calccard .btn--ghost { color: var(--beige); border-color: var(--gold); }
[data-page="ebook"] .kit .v { color: var(--gold-soft) !important; font-family: var(--sans); font-style: normal; font-size: 13px; }
[data-page="ebook"] .kit p { color: #e3d7c7 !important; }
/* Calculadora: réplicas estáticas com leitura mais confortável. */
[data-page="calculadora"] .hero__top { align-items: center; }
[data-page="calculadora"] .hero .sub { margin-top: 0; }
[data-page="calculadora"] .authorline .who { font-family: var(--sans); font-size: 15px; line-height: 1.5; }
[data-page="calculadora"] .authorline .who b { font-size: 12px; letter-spacing: .04em; }
[data-page="calculadora"] :is(.prod__lab,.prod__mode-t,.prod__k,.prod__pts) { font-size: 12px; letter-spacing: .02em; text-transform: none; }
[data-page="calculadora"] :is(.prod__hintline,.formula p,.calc-note) { font-size: 14px; }
[data-page="calculadora"] .prod__box { white-space: normal; text-overflow: clip; }
[data-page="calculadora"] .prod__btn { font-size: 12px; letter-spacing: 0; text-transform: none; }
[data-page="calculadora"] :is(.friction p,.steps p,.deliver p,.proto p,.proto__ref) { font-size: 16px; line-height: 1.6; }
[data-page="calculadora"] .deliver .val { font-size: 12px; letter-spacing: .02em; }
@media (max-width: 980px) {
  [data-page="ebook"] .hero__grid { grid-template-columns: 1fr; }
  [data-page="ebook"] .stack { max-width: 460px; width: 100%; margin-inline: auto; }
}
@media (max-width: 620px) {
  .lp-refined { padding-bottom: 144px; }
  .lp-refined .btn { width: 100%; padding: 16px 18px; }
  .lp-refined .hero h1 { font-size: 38px; }
  .lp-refined .sticky-cta { gap: 8px; }
  .lp-refined .sticky-cta .txt { font-size: 13px; }
  .offer-facts .wrap { grid-template-columns: 1fr; gap: 20px; }
  .offer-facts .wrap > div + div { padding-top: 18px; border-top: 1px solid var(--rule); }
  .offer-facts strong { font-size: 23px; }
  [data-page="ebook"] .hero__inner { padding-block: 40px 44px; }
  [data-page="ebook"] .stack { min-height: 0; }
  [data-page="ebook"] .hero .sub { font-size: 17px; }
}
[data-page="calculadora"] .section--dark .deliver p { color: #e3d7c7; }
[data-page="calculadora"] .section--dark .deliver .val { color: var(--gold-soft); font-family: var(--sans); font-style: normal; }
[data-page="calculadora"] .kitshot figcaption { font-size: 13px; letter-spacing: .02em; text-transform: none; color: #e3d7c7; }
@media (max-width: 620px) {
  [data-page="calculadora"] .deliver li { grid-template-columns: 26px minmax(0, 1fr); column-gap: 14px; row-gap: 8px; }
  [data-page="calculadora"] .deliver .n { grid-column: 1; grid-row: 1 / 3; }
  [data-page="calculadora"] .deliver li > div { grid-column: 2; grid-row: 2; }
  [data-page="calculadora"] .deliver .val { grid-column: 2; grid-row: 1; justify-self: start; }
}

/* Ações reais: contraste com a superfície, relevo e resposta ao clique.
   As réplicas estáticas da calculadora não recebem esse tratamento. */
.lp-refined {
  --action-bg: #4a2e1c;
  --action-hover: #382115;
  --action-fg: #fff8ed;
  --action-edge: #28180d;
  --action-base: #28180d;
  --action-ring: #4a2e1c;
  --action-shadow: rgba(45, 26, 13, .2);
  --secondary-fg: #4a2e1c;
  --secondary-hover: #efe3cf;
}
.lp-refined :is(.section--dark, .section--ink, .section--mid, .course-hero, .sticky-cta, .calccard),
.lp-refined[data-page="ebook"] .hero {
  --action-bg: #efc66c;
  --action-hover: #ffe0a0;
  --action-fg: #281a10;
  --action-edge: #ffe1a3;
  --action-base: #9a6a23;
  --action-ring: #ffe1a3;
  --action-shadow: rgba(0, 0, 0, .28);
  --secondary-fg: #f5efe4;
  --secondary-hover: rgba(245, 239, 228, .12);
}
.lp-refined a.btn:not(.btn--ghost) {
  background: var(--action-bg);
  color: var(--action-fg);
  border: 1px solid var(--action-edge);
  border-radius: 8px;
  font-weight: 750;
  box-shadow: 0 4px 0 var(--action-base), 0 9px 20px var(--action-shadow), inset 0 1px 0 rgba(255, 255, 255, .16);
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
  -webkit-tap-highlight-color: transparent;
}
.lp-refined a.btn::before { display: none; }
.lp-refined a.btn:not(.btn--ghost) > span:last-child {
  display: inline-grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  transition: transform .18s ease;
}
.lp-refined a.btn.btn--ghost {
  border: 2px solid currentColor;
  border-radius: 8px;
  color: var(--secondary-fg);
  background: transparent;
  font-weight: 650;
  transition: background-color .18s ease;
}
@media (hover: hover) and (pointer: fine) {
  .lp-refined a.btn:not(.btn--ghost):hover {
    background: var(--action-hover);
    color: var(--action-fg);
    transform: translateY(-2px);
    box-shadow: 0 6px 0 var(--action-base), 0 13px 24px var(--action-shadow), inset 0 1px 0 rgba(255, 255, 255, .2);
  }
  .lp-refined a.btn:not(.btn--ghost):hover > span:last-child { transform: translateX(3px); }
  .lp-refined a.btn.btn--ghost:hover { background: var(--secondary-hover); }
}
.lp-refined a.btn:not(.btn--ghost):active {
  background: var(--action-hover);
  color: var(--action-fg);
  transform: translateY(3px);
  box-shadow: 0 1px 0 var(--action-base), 0 3px 8px var(--action-shadow);
}
.lp-refined a.btn:not(.btn--ghost):focus-visible,
.lp-refined a.btn.btn--ghost:focus-visible {
  outline: 3px solid var(--action-ring);
  outline-offset: 6px;
}
@media (prefers-reduced-motion: reduce) {
  .lp-refined a.btn:not(.btn--ghost):is(:hover, :active),
  .lp-refined a.btn:not(.btn--ghost):hover > span:last-child { transform: none; }
}
