/* Identidade compartilhada entre a VSL e a oferta. Fontes locais, sem chamadas externas. */
@font-face {
  font-family: Sora;
  src: url("./assets/sora-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("./assets/inter-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --heading-font: Sora, Arial, sans-serif;
  --body-font: Inter, Arial, sans-serif;
  --white: #f5f0ed;
  --red: #f04352;
}
body {
  font-size: 15px;
  font-optical-sizing: auto;
}
h1,
h2,
h3 {
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
p {
  text-wrap: pretty;
}
.brand-lockup {
  display: inline-flex;
  gap: 0;
  flex-shrink: 0;
}
.brand-logo {
  display: block;
  width: 216px;
  height: auto;
}
.brand-lockup .brand-logo {
  max-width: 100%;
}
.offer-header {
  height: 98px;
  gap: 18px;
}
.offer-header .brand-logo {
  width: clamp(180px, 53vw, 228px);
}
.offer-nav {
  font-size: 9px;
  letter-spacing: 0.8px;
  gap: 7px;
}
.offer-nav .icon {
  width: 16px;
}
.offer-kicker {
  line-height: 1.7;
  font-size: 9px;
  letter-spacing: 1.7px;
  font-weight: 500;
}
.offer-intro-content {
  padding-top: 340px;
  padding-bottom: 46px;
}
.offer-intro h1 {
  font-size: clamp(31px, 8.6vw, 54px);
  line-height: 1.12;
  letter-spacing: -0.052em;
  margin-block: 22px;
  max-width: 690px;
}
.offer-intro h1 em {
  color: #f05462;
}
.offer-lead {
  font-size: 14px;
  line-height: 1.95;
  color: #c2babc;
}
.offer-main-cta {
  margin-top: 30px;
}
.button {
  font-weight: 600;
  font-size: 13px;
  letter-spacing: -0.1px;
  border-radius: 6px;
  min-height: 58px;
}
.offer-intro-note {
  font-size: 10px;
  line-height: 1.8;
}
.intro-proof-link {
  font-size: 11px;
}
.offer-section-heading h2,
.offer-access h2,
.offer-guarantee h2,
.offer-faq h2,
.recognition-copy h2,
.offer-fit h2 {
  font-size: clamp(27px, 7.3vw, 42px);
  line-height: 1.2;
  margin-block: 20px;
}
.offer-section-heading > p:last-child,
.offer-access-copy > p:not(.offer-kicker) {
  font-size: 14px;
  line-height: 1.95;
}
.offer-pillars h3 {
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -0.035em;
}
.offer-pillars p {
  font-size: 13px;
  line-height: 1.9;
}
.pillar-number {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: -0.05em;
}
.pillar-tag {
  font-size: 8px;
  line-height: 1.7;
  letter-spacing: 1.2px;
}
.method-practice h3 {
  font-size: clamp(25px, 6.8vw, 35px);
  line-height: 1.25;
}
.practice-steps span {
  font-size: 9px;
  letter-spacing: 1.6px;
  font-weight: 600;
}
.practice-steps p {
  font-size: 13px;
  line-height: 1.9;
}
.proof-heading h2 {
  font-size: clamp(29px, 7.9vw, 47px);
  line-height: 1.18;
}
.proof-format-heading h3 {
  font-size: clamp(22px, 6vw, 31px);
  line-height: 1.25;
}
.audio-proof-copy h4 {
  font-size: 13px;
  font-weight: 600;
}
.audio-proof-badge {
  font-size: 14px;
  font-weight: 500;
}
.audio-proof-type {
  font-size: 8px;
}
.audio-proof-meta {
  font-size: 10px;
}
.image-proof-placeholder strong {
  font: 600 clamp(17px, 4.4vw, 22px)/1.3 var(--heading-font);
  letter-spacing: -0.04em;
}
.image-placeholder-mark {
  font-family: Georgia, serif;
  font-size: 64px;
}
.image-proof-card figcaption {
  letter-spacing: 0.7px;
  font-size: 8px;
}
.guarantee-seal strong {
  font-size: 35px;
  font-weight: 500;
  letter-spacing: -0.06em;
}
.offer-guarantee small {
  line-height: 1.8;
}
.offer-purchase .purchase-product-name {
  display: block;
  margin: 22px 0 24px;
}
.purchase-product-name .brand-logo {
  width: 100%;
  max-width: 345px;
}
.purchase-label {
  font-size: 9px;
  letter-spacing: 2px;
}
.purchase-subtitle {
  font-size: 12px;
}
.offer-price strong {
  font-size: 43px;
  font-weight: 600;
  letter-spacing: -0.06em;
}
.offer-purchase li {
  font-size: 12px;
  line-height: 1.7;
}
.faq-list summary {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.7;
}
.offer-closing h2 {
  font-size: clamp(35px, 9.5vw, 64px);
  line-height: 1.13;
  margin-block: 26px 32px;
}
.offer-footer .brand-logo {
  width: 220px;
}
.poster-brand.brand-lockup {
  text-align: left;
}
.poster-brand .brand-logo {
  width: clamp(195px, 28vw, 280px);
}
.vsl-only .poster-title {
  display: block;
  font: 600 clamp(27px, 4.3vw, 66px)/1.13 var(--heading-font);
  text-transform: none;
  letter-spacing: -0.055em;
  text-wrap: balance;
}
.poster-title em {
  color: #f05462;
}
.poster-eyebrow {
  font-family: var(--body-font);
  font-weight: 500;
}
.offer-button-copy strong {
  font-size: clamp(18px, 4.9vw, 25px);
  letter-spacing: -0.045em;
  font-weight: 600;
}
.video-message h3 {
  font-size: clamp(23px, 5vw, 33px);
}
dialog h2,
.rotation-dialog h2 {
  font-size: clamp(25px, 7vw, 33px);
  line-height: 1.18;
}
dialog .eyebrow {
  font-size: 8px;
  letter-spacing: 1.6px;
  line-height: 1.8;
}
@media (max-width: 600px) {
  .vsl-only .poster-title {
    font-size: clamp(24px, 6.8vw, 36px);
  }
  .vsl-only .poster-eyebrow {
    font-size: 7px;
    letter-spacing: 1.15px;
  }
  .vsl-only .poster-brand {
    top: 20px;
    left: 18px;
  }
  .poster-content {
    width: 100%;
  }
}
@media (min-width: 640px) {
  .offer-header {
    height: 108px;
  }
  .offer-header .brand-logo {
    width: 250px;
  }
  .offer-intro h1 {
    font-size: clamp(48px, 6vw, 72px);
  }
  .offer-intro-content {
    padding-top: 260px;
  }
  .offer-section-heading {
    max-width: 680px;
  }
}
@media (min-width: 960px) {
  .offer-header {
    height: 116px;
  }
  .offer-header .brand-logo {
    width: 262px;
  }
  .offer-intro-content {
    padding-top: 200px;
    padding-bottom: 95px;
  }
  .offer-intro h1 {
    font-size: clamp(52px, 4.2vw, 76px);
    max-width: 730px;
  }
  .offer-lead {
    font-size: 15px;
    max-width: 465px;
  }
  .offer-pillars article {
    padding: 28px 22px;
  }
  .offer-guarantee h2 {
    font-size: 40px;
  }
  .offer-faq h2 {
    font-size: 40px;
  }
  .offer-footer .brand-logo {
    width: 225px;
  }
}
@media (max-width: 359px) {
  .offer-header {
    gap: 8px;
  }
  .offer-header .brand-logo {
    width: 174px;
  }
  .offer-nav {
    font-size: 8px;
  }
  .offer-intro h1 {
    font-size: 29px;
  }
  .offer-kicker {
    letter-spacing: 1px;
    font-size: 8px;
  }
}
@media (max-height: 480px) {
  .poster-brand .brand-logo {
    width: 170px;
  }
  .vsl-only .poster-title {
    font-size: clamp(24px, 7vh, 36px);
  }
  .rotation-dialog h2 {
    font-size: 24px;
  }
}
