:root {
  --white:#fff; --paper:#FBF7F0; --cream:#FBF7F0; --mint:#FAF2E6; --aqua:#F3DD9A;
  --teal:#5B0A1C; --deep:#1F0A0E; --ink:#46362F; --muted:#5E5049; --coral:#A3162A;
  --headline-orange:#A3162A; --price-red:#DC2626; --peach:#FAF2E6; --line:#EADAC6; --skin:#b76d4d; --skin-dark:#815041;
  --veil:rgb(0 0 0 / .55); --shadow:0 4px 18px rgb(91 10 28 / .08);
  --lift:0 14px 34px rgb(91 10 28 / .16); --button-shadow:0 8px 22px rgb(22 163 74 / .28);
  --radius:16px; --round:24px; --pill:999px;
  font-family:Poppins,system-ui,sans-serif; color:var(--ink); background:var(--white);
}
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;line-height:1.55;font-size:16px}
[hidden] {display:none !important}
p,h1,h2,h3,ul {margin:0}
p + p {margin-top:.8rem}
ul {list-style:none;padding:0}
h1,h2,h3 {color:var(--teal);line-height:1.14;font-weight:900;text-wrap:balance}
h1 {font-size:clamp(1.75rem,5.2vw,4.125rem);letter-spacing:-.035em;margin:.4rem auto .85rem}
h2 {font-size:clamp(1.55rem,3.7vw,3rem);letter-spacing:-.025em;margin-bottom:1rem}
h3 {font-size:1.125rem}
em {font-style:normal;color:var(--deep);background:linear-gradient(transparent 69%,var(--aqua) 69%,var(--aqua) 91%,transparent 91%)}
a {color:inherit}
button {font:inherit;cursor:pointer}
:focus-visible {outline:3px solid var(--teal);outline-offset:4px;box-shadow:0 0 0 4px var(--white)}
.skip {position:absolute;left:1rem;top:1rem;z-index:5;background:var(--white);padding:.6rem;transform:translateY(-200%)}
.skip:focus {transform:none}
.ribbon {background:var(--white);color:var(--deep);border-bottom:1px solid var(--line);text-align:center;padding:.65rem 1rem;font-weight:800}
section {padding:2rem 1rem;text-align:center}
.wrap {width:100%;max-width:1152px;margin:auto}
.narrow {max-width:1024px}
.medium {max-width:896px}
.hero {padding:2.7rem 1rem 2.5rem}
.eyebrow {font-weight:800;color:var(--teal);letter-spacing:.07em;font-size:.79rem}
.intro {max-width:47rem;margin:auto;color:var(--muted);font-size:clamp(1rem,2vw,1.25rem)}
.hero-art {display:block;width:min(100%,680px);height:auto;margin:1.2rem auto}
.button {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.35rem;border:0;border-radius:var(--radius);background:var(--coral);color:var(--ink);box-shadow:var(--button-shadow);font-weight:800;text-decoration:none;text-align:center;line-height:1.25;transition:background .18s,transform .18s}
.button:hover {background:var(--peach);transform:translateY(-2px)}
.button[aria-disabled=true] {background:var(--mint);box-shadow:none;cursor:default;transform:none}
.trust {display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}
.trust li,.pill {display:inline-flex;align-items:center;gap:.3rem;border-radius:var(--pill);padding:.35rem .65rem;background:var(--white);border:1px solid var(--line);color:var(--teal);font-weight:700;font-size:.85rem}
.icon {width:2rem;height:2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.trust .icon {width:1rem;height:1rem}
.paper,.cream,.mint {background:var(--white)} #planos {background:var(--deep);color:var(--white)}
#planos h2 {color:var(--white)}
.card {background:var(--white);border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--shadow)}
.list-grid {display:grid;grid-template-columns:1fr;gap:.65rem;margin:1.2rem auto;max-width:56rem;text-align:left}
.list-grid .card {padding:.8rem 1rem;border-radius:var(--radius)}
.checks li,.plan li {display:flex;gap:.55rem;align-items:baseline}
.checks li::before,.plan li::before {content:'✓';flex:none;color:var(--teal);font-weight:900}

.rail {display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,260px);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:.5rem .1rem 1rem;margin-top:1rem;scrollbar-color:var(--teal) var(--mint);cursor:grab}
.rail {scrollbar-width:none;-ms-overflow-style:none}
.rail::-webkit-scrollbar {display:none;width:0;height:0}
.rail.dragging {scroll-snap-type:none;cursor:grabbing;user-select:none}
.rail .card {min-width:0;overflow:hidden;scroll-snap-align:start;text-align:left}
.rail svg {display:block;width:100%;height:auto}
.rail .copy {padding:1rem}
.rail .copy p {margin-top:.45rem;color:var(--muted)}
.rail-nav {display:flex;align-items:center;justify-content:center;gap:.85rem;margin-top:.65rem}
.rail-nav button,.close {border:1px solid var(--line);background:var(--white);color:var(--teal);border-radius:var(--pill);min-width:44px;min-height:44px;font-size:1.5rem;font-weight:800}
.category-panel {background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--lift);max-width:1024px;padding:1.7rem 1rem 2rem}
.category-art {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;max-width:640px;margin:0 auto}
.category-art svg,.bonus svg {display:block;width:100%;height:auto;border-radius:var(--radius)}
.categories {display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:1rem auto 1.4rem;max-width:46rem}
.categories li {display:flex;align-items:center;gap:.45rem;border-radius:var(--radius);background:var(--white);border:1px solid var(--line);color:var(--teal);padding:.45rem .7rem;text-align:left}
.categories .icon {flex:0 0 1.4rem;width:1.4rem;height:1.4rem}
.bonus-grid,.delivery-grid {display:grid;gap:.75rem;margin-top:1.1rem}
.bonus {padding:.85rem;text-align:left}
.bonus .pill {margin:.8rem 0 .45rem;background:var(--peach)}
.included {margin-top:.65rem;color:var(--teal);font-weight:700}
.cream > .wrap > .pill {background:var(--peach);margin-bottom:.75rem}

.plan {padding:.8rem .65rem;display:flex;flex-direction:column;align-items:stretch;gap:.7rem;overflow-wrap:anywhere;text-align:left;border-radius:var(--radius)}


.plan li + li {margin-top:.45rem}
.plan-buy {margin-top:auto;text-align:center}
.price {color:var(--teal);font-weight:900;font-size:clamp(1.35rem,5vw,3rem);line-height:1.2;margin:.6rem 0}
.plan-buy .button {width:100%;padding:.65rem .3rem}
.plan-buy small {display:block;margin-top:.4rem;color:var(--muted)}
.guarantee {max-width:768px;padding:1.5rem 1rem 2rem}
.shield {width:6rem;height:6rem;margin-bottom:.6rem}
.guarantee .button,.faq .button {margin-top:1.25rem}
.delivery-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.delivery-grid .card {padding:1rem .5rem}
.delivery-grid .icon {margin-bottom:.4rem;color:var(--teal)}
.faq {max-width:672px}
.accordion {text-align:left}
details + details {border-top:1px solid var(--line)}
summary {display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:52px;padding:.85rem 1rem;cursor:pointer;color:var(--teal);font-weight:700;list-style:none}
summary::-webkit-details-marker {display:none}
summary::after {content:'';width:.65rem;height:.65rem;flex:none;margin-right:.5rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg)}
details[open] summary::after {transform:rotate(225deg)}
details p {padding:0 1rem 1rem}
footer {padding:1.6rem 1rem 6rem;text-align:center;background:var(--white);color:var(--ink);border-top:1px solid var(--line)}
footer p {max-width:56rem;margin-inline:auto}
footer nav {margin-top:1rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.sticky {position:fixed;z-index:3;bottom:0;left:0;right:0;background:var(--white);padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom));box-shadow:var(--lift)}
.sticky .button {width:100%}
dialog {width:min(calc(100% - 2rem),460px);max-height:calc(100% - 2rem);padding:1.4rem;border:0;border-radius:var(--round);box-shadow:var(--lift);text-align:center;color:var(--ink);background:var(--white)}
dialog::backdrop {background:var(--veil)}
dialog .close {position:absolute;right:.55rem;top:.55rem}

dialog .button {display:flex;margin:.9rem auto .5rem}
.secondary {min-height:44px;background:none;border:0;text-decoration:underline;color:var(--teal)}
.legal {max-width:48rem;margin:3rem auto;padding:0 1rem}
.legal h1 {font-size:2rem}
@keyframes pulse {50% {transform:scale(1.035)}}
@keyframes appear {from {opacity:.65;transform:translateY(12px)} to {opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference) {
  .button[data-plan-cta]:not(:hover):not(:focus-visible) {animation:payment-cta-pulse 1.8s ease-in-out infinite}
  .arrive {animation:appear .45s ease-out both}
}
@keyframes payment-cta-pulse {
  0%,100% {transform:scale(1);box-shadow:0 0 0 0 rgb(22 163 74 / .32)}
  50% {transform:scale(1.035);box-shadow:0 0 0 10px rgb(22 163 74 / 0)}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .button {transition:none}
  .button:hover {transform:none}
}
@media (min-width:640px) {
  .list-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .bonus-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .delivery-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:767px) { html {scroll-padding-bottom:calc(5rem + env(safe-area-inset-bottom))} }
@media (min-width:768px) {
  .hero {padding:4rem 1rem 3.5rem}
  .sticky {display:none}
  .plan {padding:1.7rem;gap:1rem;border-radius:var(--round)}
  .plan h3 {font-size:1.75rem}

  #planos {padding-block:2.5rem}
  footer {padding-bottom:1.6rem}
}



.img-slot {aspect-ratio:var(--slot-desktop);border-radius:var(--radius);overflow:hidden;background:var(--white)}
.img-slot picture,.img-slot img,.img-slot > svg {display:block;width:100%;height:100%}
.img-slot img,.img-slot > svg {object-fit:contain}
@media (max-width:767px) {.img-slot {aspect-ratio:var(--slot-mobile)}}
.hero-art > img {display:block;width:100%;height:auto;border-radius:var(--radius)}
.hero-art.img-slot > picture > img {height:100%}
.ribbon {display:flex;align-items:center;justify-content:center;gap:.5rem}
.logo-slot {width:min(7rem,26vw);height:2rem;display:grid;place-items:center;flex:none;background:none}.logo-slot:has(img[src$="/logo.svg"]) {width:3.4rem}
.logo-slot img {object-fit:contain}
.categories [data-img],.delivery-grid [data-img] {flex:none;width:2rem}
.delivery-grid [data-img] {width:3.4rem;margin:0 auto .6rem}
.shield {margin:.2rem auto .6rem}
.exit-art {width:min(8rem,60%);margin:0 auto .75rem}
.single-plan {max-width:32rem;margin:1.2rem auto 0;color:var(--ink);border:2px solid var(--coral)}
.single-plan [data-img] {max-width:20rem;width:100%;margin-inline:auto}
.bonus [data-img] {margin-bottom:.8rem}
.bonus h3 + p,.download-grid h2 + p {margin-top:.5rem}
.download-grid h2 {font-size:1.2rem;margin:0;text-wrap:initial}
.download-grid .bonus {display:flex;flex-direction:column;gap:.6rem}
.download-grid .button {margin-top:auto;align-self:flex-start}
#download-status {margin-top:1rem}
.gallery-page {padding:2rem 1rem}
#slot-gallery {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:1rem;margin-top:1.2rem}
.slot-demo {padding:1rem;overflow-wrap:anywhere}
.slot-demo .img-slot {max-height:12rem;margin-bottom:.75rem}
.slot-demo h2 {font-size:1.25rem;margin:0}
.slot-demo code {font-size:.8rem;color:var(--teal)}




.promo-ribbon {
  background:var(--deep);
  color:var(--white);
  border:0;
  padding:12px 8px;
  line-height:1.2;
}
.promo-ribbon strong {
  white-space:nowrap;
  font-size:clamp(11px,2.9vw,17px);
  font-weight:700;
}


.trust {
  flex-wrap:nowrap;
  align-items:center;
  gap:clamp(6px,1.5vw,18px);
}
.trust li {
  background:none;
  border:0;
  border-radius:0;
  padding:0;
  gap:.2em;
  white-space:nowrap;
  font-size:clamp(9px,2.35vw,13px);
  line-height:1.4;
}
.trust .icon {
  width:1em;
  height:1em;
  flex:none;
}

.testimonial-placeholder {padding:1.4rem;min-height:220px;display:flex;flex-direction:column;justify-content:center;gap:.6rem}
.testimonial-placeholder > span {font-size:3rem;line-height:1;color:var(--teal);font-weight:800}
.testimonial-placeholder p {color:var(--muted)}
#depoimentos .rail {grid-auto-columns:min(82%,352px)}
#depoimentos > .wrap > p {margin-top:.7rem;color:var(--muted)}

#reviews .card {padding:1.25rem}
.review-person {display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.review-avatar {display:grid;place-items:center;width:44px;height:44px;flex:none;background:var(--mint);border-radius:var(--pill)}
.review-person h3 {font-size:1rem}
.landing .review-person img.review-avatar {width:48px;height:48px;object-fit:cover;object-position:center 35%}
.ribbon.promo-ribbon {
  position:sticky;
  top:0;
  z-index:100;
  background:rgb(163 49 42 / .9);
  color:var(--white);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
html:has(.landing) {scroll-padding-top:64px}
.review-label {font-size:.8rem;color:var(--muted);margin-top:.2rem}
.review-actions {display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
#rating {font-weight:800;color:var(--teal);margin-top:1rem}

/* Ritmo compacto da landing page. */
.landing {line-height:1.45}
.landing section {padding:24px 16px}
.landing .hero {padding:24px 16px}
.landing h1 {font-size:clamp(26px,3.6vw,44px);line-height:1.12;margin:0 auto 10px;max-width:850px}
.landing h2 {font-size:clamp(22px,2.6vw,32px);margin-bottom:12px}
.landing h3 {font-size:16px;line-height:1.25}
.landing .intro {font-size:16px;max-width:700px}
.landing .hero-art {width:min(100%,480px);margin:14px auto;aspect-ratio:1312 / 1199}
.landing .trust {margin-top:12px}
.landing .trust li {color:#000}
.landing .button {min-height:46px;padding:11px 20px;font-size:15px}
.landing .list-grid {gap:8px;margin:14px auto}
.landing .list-grid .card {padding:10px 12px}
.landing .rail {gap:12px;margin-top:12px;padding-bottom:10px;grid-auto-columns:min(76%,230px)}
.landing .rail .copy {padding:12px}
.landing .rail .copy p {margin-top:6px}
.landing .rail-nav {margin-top:4px;gap:12px}
.landing .testimonial-placeholder {padding:16px;min-height:160px;gap:8px}
.landing .testimonial-placeholder > span {font-size:32px}
.landing #depoimentos .rail {grid-auto-columns:min(80%,300px)}
.landing #depoimentos .testimonial-image {padding:0;align-self:start;background:transparent}
.testimonial-image img {display:block;width:100%;height:auto}
.testimonial-carousel {position:relative;padding-inline:22px}
.landing .testimonial-carousel .rail-nav {position:absolute;inset:0;display:block;margin:0;pointer-events:none}
.testimonial-carousel .rail-nav button {position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;background:var(--white);box-shadow:var(--shadow);z-index:1}
.testimonial-carousel [data-step="-1"] {left:0}
.testimonial-carousel [data-step="1"] {right:0}
.landing .bonus-grid {gap:12px;margin-top:14px}
.landing .bonus {padding:12px}
.landing .bonus [data-img] {margin-bottom:10px}
.landing .included {margin-top:8px}
.landing #planos {padding-block:26px}
.landing .single-plan {margin-top:14px;padding:16px;gap:12px;max-width:460px}
.landing .single-plan [data-img] {max-width:240px}
.landing .plan li + li {margin-top:6px}
.landing .price {font-size:36px;margin:8px 0}
.landing #reviews .card {padding:14px}
.landing .review-person {margin-bottom:10px;gap:10px}
.landing .review-avatar {width:36px;height:36px}
.landing .review-actions {margin-top:10px;padding-top:8px}
.landing summary {min-height:48px;padding:12px 14px}
.landing details p {padding:0 14px 12px}
.landing .faq .button {margin-top:14px}
.landing footer {padding:16px}
.landing footer nav {margin:0}
.landing footer.site-end-banner {padding:30px 16px 24px;background:var(--deep);color:var(--white);border:0;text-align:center}
.site-end-banner .site-end-title {font-size:16px;font-weight:800;line-height:1.4}
.site-end-banner p + p {margin-top:8px;font-size:14px}
.site-end-banner p.site-end-note {font-size:12px;opacity:.72}
.landing .site-end-banner nav {margin-top:14px;font-size:11px;gap:16px}
.site-end-banner nav a {color:var(--white);opacity:.8}
@media (max-width:767px) {
  html:has(.landing) {scroll-padding-bottom:0}

  .landing .benefits .card {padding:10px 8px}
  .landing .bonus-grid .bonus {display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);gap:6px 12px;align-content:center}
  .landing .bonus-grid .bonus [data-img] {grid-row:1 / 4;margin:0;align-self:center}
  .landing .bonus h3 + p,.landing .bonus .included {margin:0}
}

.landing .benefits {grid-template-columns:minmax(0,1fr)}


.practice-carousel {position:relative;--practice-card-width:min(76%,230px);padding-inline:22px}
.landing .practice-carousel .rail {grid-auto-columns:var(--practice-card-width);touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.practice-carousel .rail-nav {position:absolute;inset:0;display:block;margin:0;pointer-events:none}
.practice-carousel .rail-nav button {position:absolute;top:calc((100% - 44px) * .28);pointer-events:auto;background:var(--white);box-shadow:var(--shadow);z-index:1}
.practice-carousel [data-step="-1"] {left:0}
.practice-carousel [data-step="1"] {right:0}
#previews img {-webkit-user-drag:none;user-select:none}

.bonus-offer {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.bonus-offer s {color:var(--muted)}
.bonus-offer strong {color:var(--deep);background:var(--coral);border-radius:var(--pill);padding:4px 10px;font-size:13px}
.landing #previews .img-slot {aspect-ratio:1}

.bonus-number {
  align-self:start;
  text-align:center;
  color:var(--teal);
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  margin:0 0 8px;
}
@media (max-width:767px) {
  .landing .bonus-grid .bonus .bonus-number {grid-column:1;grid-row:1;margin:0}
  .landing .bonus-grid .bonus [data-img] {grid-column:1;grid-row:2 / 5}
  .landing .bonus-grid .bonus > h3 {grid-column:2;grid-row:2}
  .landing .bonus-grid .bonus > h3 + p {grid-column:2;grid-row:3}
  .landing .bonus-grid .bonus > .bonus-offer {grid-column:2;grid-row:4}
}

.landing #bonus {padding:28px 16px;background:var(--white)}
#bonus .pill {background:var(--coral);color:var(--deep);border:0;font-size:12px;padding:5px 14px;margin-bottom:12px}
#bonus h2 {margin:0 auto 22px;max-width:780px}
#bonus h2 span {color:var(--teal)}
.landing #bonus .bonus-grid {display:flex;flex-direction:column;gap:14px;max-width:768px;margin:0 auto}
.landing #bonus .bonus {display:flex;align-items:stretch;gap:12px;padding:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.bonus-visual {position:relative;flex:0 0 104px;display:flex;align-items:center;background:var(--paper)}
.landing #bonus .bonus [data-img] {width:100%;margin:0;aspect-ratio:1;border-radius:0}
.bonus-ribbon {position:absolute;top:0;left:0;background:var(--coral);color:var(--deep);border-radius:0 0 8px 0;padding:3px 9px;font-size:11px;font-weight:900;line-height:1.3}
.bonus-copy {flex:1;min-width:0;padding:14px 12px 14px 0;align-self:center}
.landing #bonus .bonus-copy h3 {font-size:15px;line-height:1.2;margin:0 0 6px;text-wrap:initial}
.landing #bonus .bonus-copy > p {font-size:13px;line-height:1.35;margin:0 0 9px;color:var(--muted)}
.landing #bonus .bonus-copy .bonus-offer {margin:0;gap:8px}
#bonus .bonus-offer s {font-size:12px;font-weight:700}
#bonus .bonus-offer strong {font-size:11px;padding:4px 10px;background:var(--mint);color:var(--deep);white-space:nowrap}
@media (min-width:768px) {
  .landing #bonus .bonus {gap:20px}
  .bonus-visual {flex-basis:144px}
  .bonus-copy {padding:16px 20px 16px 0}
  .landing #bonus .bonus-copy h3 {font-size:20px}
  .landing #bonus .bonus-copy > p,#bonus .bonus-offer s,#bonus .bonus-offer strong {font-size:14px}
}

.bonus-total-banner {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:768px;
  margin:20px auto 0;
  padding:20px 16px;
  border-radius:16px;
  background:var(--deep);
  color:var(--white);
  box-shadow:var(--shadow);
  text-align:center;
  font-size:clamp(14px,2vw,18px);
  line-height:1.45;
}
.bonus-total-banner > span {flex:none;font-size:22px}
.bonus-total-highlight {color:var(--coral)}

.offer-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px;margin:30px auto 20px}
.landing .offer-grid .plan {position:relative;padding:24px 20px;gap:18px;color:var(--ink);border-radius:24px;text-align:left}
.offer-kicker {text-align:center;font-size:14px;font-weight:900;letter-spacing:.06em;color:var(--teal)}
.landing .offer-grid h3 {text-align:center;font-size:26px;line-height:1.15}
.offer-grid ul {font-size:16px;line-height:1.45}
.offer-grid .plan > ul > li,.offer-grid .offer-bonuses li {display:block;position:relative;padding-left:24px}
.offer-grid .plan li::before {position:absolute;left:0;top:0}
.offer-grid .plan > ul > li + li {margin-top:10px}
.offer-grid .plan-buy {padding-top:12px}
.offer-price-label {color:var(--muted);font-size:14px}
.landing .offer-grid .price {font-size:52px;font-weight:900;margin:4px 0 16px;letter-spacing:-.04em}
.landing .offer-grid .button {min-height:56px;font-size:18px;padding:14px}
.offer-complete {border:3px solid var(--coral);box-shadow:var(--lift)}
.offer-basic {border:3px solid var(--line)}
.offer-recommended {align-self:center;margin-top:-40px;border-radius:var(--pill);padding:7px 24px;background:var(--coral);color:var(--deep);font-size:12px;font-weight:900;letter-spacing:.06em}
.offer-bonuses h4 {font-size:14px;font-weight:900;color:var(--teal);margin:0 0 10px}
.offer-bonuses li + li {margin-top:8px}
.offer-bonuses li::before {content:'🎁'}
.offer-trust {font-size:13px}
@media (min-width:768px) {
  .offer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:38px}
  .landing .offer-grid .plan {padding:30px;gap:22px}
  .landing .offer-grid h3 {font-size:30px}
  .offer-recommended {margin-top:-46px}
  .landing .offer-grid .price {font-size:62px}
}

@media (max-width:767px) {
  .offer-grid {gap:10px;margin-top:28px}
  .landing .offer-grid .plan {padding:16px 9px;gap:12px;border-width:2px;border-radius:16px}
  .offer-kicker {font-size:11px;letter-spacing:0}
  .landing .offer-grid h3 {font-size:19px}
  .offer-grid ul {font-size:13px;line-height:1.4}
  .offer-grid .plan > ul > li,.offer-grid .offer-bonuses li {padding-left:17px}
  .offer-grid .plan > ul > li + li,.offer-bonuses li + li {margin-top:7px}
  .offer-bonuses h4 {font-size:12px}
  .offer-recommended {max-width:100%;margin-top:-30px;padding:5px 8px;font-size:9px;letter-spacing:0}
  .offer-price-label {font-size:12px}
  .landing .offer-grid .price {font-size:28px;white-space:nowrap;margin:5px 0 12px}
  .landing .offer-grid .button {font-size:12px;min-height:46px;padding:10px 5px}
  .offer-grid .plan-buy small {font-size:11px}
}


.offer-description {text-align:center;font-size:14px;color:var(--muted)}


.offer-grid .offer-old-price {color:var(--price-red);font-weight:700;text-decoration-thickness:1.5px}


.landing #avaliacoes .reviews-title {max-width:780px;margin:0 auto 12px;font-size:clamp(22px,2.6vw,32px);line-height:1.15}

.offer-bonuses h4 {text-align:center}
.landing .offer-grid h3,.offer-grid .offer-kicker,.offer-grid .offer-bonuses h4 {
  color:var(--headline-orange);
}



.offer-grid .offer-kicker {
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:36px;
  padding:8px 10px;
  border-radius:10px;
  font-weight:900;
  line-height:1.2;
  text-align:center;
}
.offer-grid .offer-basic .offer-kicker {
  background:var(--peach);
  color:var(--headline-orange);
  border:1px solid var(--peach);
}
.offer-grid .offer-complete .offer-kicker {
  background:var(--headline-orange);
  color:var(--white);
  border:1px solid var(--headline-orange);
}
@media (max-width:767px) {
  .offer-grid .offer-kicker {min-height:32px;padding:7px 4px;font-size:11px}
}

.button {color:var(--white)}
.button:hover,.button[aria-disabled=true] {color:var(--ink)}
.offer-recommended,.compare-badge,.bonus-ribbon {color:var(--white)}
#bonus .pill {color:var(--white)}
.bonus-offer strong {color:var(--white)}
#bonus .bonus-offer strong {color:var(--deep)}
.bonus-total-highlight {color:var(--white)}


.landing .guarantee-return {padding:32px 16px;background:var(--cream)}
.guarantee-layout {max-width:768px;margin:auto;padding:28px;display:flex;align-items:center;gap:24px;box-shadow:var(--lift)}
.guarantee-medal {width:108px;height:108px;flex:none;filter:drop-shadow(0 5px 8px rgb(163 49 42 / .15))}
.guarantee-copy {flex:1;min-width:0;text-align:left}
.guarantee-label {display:inline-block;padding:4px 12px;border-radius:var(--pill);background:var(--paper);color:var(--teal);font-size:11px;font-weight:800;margin-bottom:10px}
.landing .guarantee-copy h2 {font-size:clamp(20px,2.3vw,25px);margin-bottom:10px;line-height:1.2;text-wrap:initial}
.guarantee-copy p {font-size:15px;line-height:1.6}
.guarantee-copy p strong {color:var(--headline-orange)}
.landing .guarantee-copy .button {display:flex;width:100%;max-width:435px;margin-top:12px;min-height:64px;font-size:18px;font-weight:900}
.landing .receive-return {padding:32px 16px}
.receive-return h2 span {color:var(--headline-orange)}
.receive-return > .wrap > p {color:var(--muted);font-size:14px}
.receive-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}
.receive-cards .card {padding:16px 8px;background:linear-gradient(var(--cream),var(--white));border-color:var(--line);border-radius:18px}
.receive-symbol {display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;background:var(--white);border-radius:16px;box-shadow:var(--shadow);font-size:28px}
.landing .receive-cards h3 {font-size:16px;margin-bottom:5px}
.receive-cards p {font-size:12px;color:var(--muted)}
@media (max-width:639px) {
  .guarantee-layout {flex-direction:column;gap:8px;padding:22px 16px}
  .guarantee-copy {text-align:center}
  .guarantee-medal {width:92px;height:92px}
  .landing .guarantee-copy .button {font-size:15px;min-height:52px}
  .receive-cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
}

/* Botões que levam à escolha do plano. */
.landing .button[data-plan-cta] {background:var(--teal);color:var(--white)}
.landing .button[data-plan-cta]:hover {background:var(--deep);color:var(--white)}

/* Reserve image space before the manifest arrives. */
#previews [data-img],.bonus [data-img] {aspect-ratio:1;min-width:0}
.skip:focus {z-index:101}
@media screen and (max-width:767px) {
  body {padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  main,.wrap,.card,.rail,.download-grid > * {min-width:0}
  h1,h2,h3,p,li,.button,code {overflow-wrap:break-word}
  .button {max-width:100%;min-height:48px}
  .landing .button[data-plan-cta] {max-width:calc(100% - 12px)}
  .landing .button[data-plan-cta]:not(:hover):not(:focus-visible) {animation-name:mobile-cta-pulse}
  .promo-ribbon {padding-top:calc(12px + env(safe-area-inset-top))}
  html:has(.landing) {scroll-padding-top:calc(64px + env(safe-area-inset-top))}
  .landing .offer-grid .plan {overflow-wrap:normal}
  .landing .offer-grid h3 {font-size:clamp(16px,4.3vw,19px);overflow-wrap:normal;hyphens:auto}
  .offer-grid li {hyphens:auto}
  .landing .offer-grid .button {min-height:48px}
  .landing #depoimentos .rail {grid-auto-columns:min(100%,340px)}
  .rail {scroll-padding-inline:2px}
  .rail:focus-visible {outline-offset:0}
  .landing footer nav a,.legal > a {display:inline-flex;align-items:center;min-height:44px}
  .landing footer.site-end-banner {padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .legal {margin:24px auto;line-height:1.6}
  .legal h1 {font-size:28px;margin:16px 0}
  .download-grid .button {width:100%;align-self:stretch}
  .download-grid [data-img] {width:100%;max-width:300px;margin-inline:auto}
  dialog {max-height:calc(100dvh - 32px);overflow-y:auto;padding:56px 20px 24px}
}
@keyframes mobile-cta-pulse {
  0%,100% {transform:scale(1)}
  50% {transform:scale(1.025)}
}
@media screen and (max-width:360px) {
  .landing .trust {gap:4px}
  .landing .offer-grid h3 {font-size:15px;letter-spacing:-.02em;hyphens:none}
}
@media (hover:none) {
  .button:hover {transform:none}
}
@media (prefers-reduced-motion:reduce) {
  .arrive,.button[data-plan-cta] {animation:none!important}
}


/* Oferta integrada à paleta original do site. */
#upgrade-offer {border:1px solid var(--aqua);padding:3.5rem 1.4rem 1.5rem}
#upgrade-offer h2 {font-size:clamp(1.5rem,5vw,2rem);margin-top:.65rem}
#upgrade-offer .upgrade-art {width:min(100%,240px);margin:1rem auto}
#upgrade-offer .upgrade-total {color:var(--deep);margin-top:1rem}
#upgrade-offer .button,#checkout-unavailable .button {background:var(--teal);color:var(--white)}
#upgrade-offer .button:hover,#checkout-unavailable .button:hover {background:var(--deep)}
#upgrade-offer .secondary {display:flex;align-items:center;justify-content:center;margin-top:.5rem}
body:has(dialog[open]) {overflow:hidden}

/* Ceia de Natal Econômica: ajustes da cópia */
.hero-note{max-width:40rem;margin:1rem auto 0;font-size:.82rem;color:var(--muted)}
.receive-cards.steps-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:767px){.receive-cards.steps-three{grid-template-columns:1fr}}


/* =====================================================================
   Otimização mobile — vale somente para telas de até 767px.
   O desktop (768px ou mais) não é afetado por nenhuma regra abaixo.
   ===================================================================== */
@media (max-width:767px) {
  /* Evita que o iOS aumente textos sozinho ao girar o aparelho. */
  html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
  /* Remove o atraso de toque duplo (zoom por duplo toque) em links e botões. */
  a,button,summary,.button {touch-action:manipulation}

  /* Faixa do topo: sem blur (custo de GPU em celulares fracos); mesma cor, um pouco mais opaca. */
  .ribbon.promo-ribbon {-webkit-backdrop-filter:none;backdrop-filter:none;background:rgb(163 49 42 / .96)}
  .ribbon:not(.promo-ribbon) {padding-top:calc(.65rem + env(safe-area-inset-top))}

  /* Nenhum texto abaixo de 12px. */
  .promo-ribbon strong {font-size:clamp(12px,2.9vw,17px);white-space:normal;text-wrap:balance}
  .landing .trust {flex-wrap:wrap;justify-content:center;row-gap:4px;column-gap:12px}
  .landing .trust li {font-size:12px}
  .bonus-ribbon,.guarantee-label,.offer-kicker,.offer-grid .offer-kicker,.offer-recommended,.offer-grid .plan-buy small {font-size:12px}
  .offer-recommended {padding:5px 12px}
  .landing .site-end-banner nav {font-size:12px}
  /* Sem hifenização automática nos itens dos planos (evita "Na-tal", "Acompanha-mentos"). */
  .offer-grid li {hyphens:manual}

  /* Etiqueta "Incluso no plano completo" não pode ser cortada em telas estreitas. */
  #bonus .bonus-offer strong {font-size:12px;white-space:normal;line-height:1.3;border-radius:12px}

  /* Alvos de toque de pelo menos 44px. */
  .skip {display:inline-flex;align-items:center;min-height:44px}

  /* Rolagem dentro dos pop-ups não "vaza" para a página. */
  dialog {overscroll-behavior:contain}
  /* Páginas legais: respeita a barra inferior do iPhone. */
  .legal {padding-bottom:env(safe-area-inset-bottom)}
}

/* Telas muito estreitas (320 a 374px): planos empilhados para não quebrar palavras. */
@media (max-width:374px) {
  .offer-grid {grid-template-columns:minmax(0,1fr);row-gap:44px;max-width:420px;margin-inline:auto}
  .landing .offer-grid .plan {padding:20px 16px;gap:14px}
  .landing .offer-grid h3 {font-size:22px;letter-spacing:normal;hyphens:manual}
  .offer-grid ul {font-size:15px}
  .offer-grid li {hyphens:manual}
  .offer-bonuses h4 {font-size:13px}
  .landing .offer-grid .price {font-size:36px}
  .landing .offer-grid .button {font-size:15px}
}


/* Bônus: capas em formato retrato (2:3). A etiqueta "BÔNUS N" já vem desenhada na capa. */
.bonus [data-img],.landing #bonus .bonus [data-img] {aspect-ratio:2 / 3}
@media (max-width:767px) {
  .bonus-visual {flex-basis:clamp(104px,30vw,132px)}
}

@media (max-width:767px){.landing .hero h1{font-size:clamp(22px,6.2vw,28px)}}

/* Topo no estilo da referência: barra vermelha, fundo creme e cartão branco com título bordô e destaque dourado. */
.ribbon.promo-ribbon{background:#DC2626;color:#fff;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.landing .hero{background:#FBF7F0;padding:28px 16px 32px}
.landing .hero > .wrap{max-width:1000px;padding:36px 32px 28px;background:#fff;border:1px solid #EBD9C6;border-radius:28px;box-shadow:0 6px 24px rgb(91 10 28 / .06)}
.landing .hero h1{color:#5B0A1C}
.landing .hero h1 .hl{color:#C58A00}
.landing .hero-sub{font-size:clamp(18px,2.2vw,24px);line-height:1.25;font-weight:800;margin:0 auto 12px;max-width:760px;color:#46362F}
.landing .hero .intro{color:#46362F}
@media (max-width:767px){
  .ribbon.promo-ribbon{background:#DC2626}
  .landing .hero{padding:14px 12px 20px}
  .landing .hero > .wrap{padding:22px 16px 18px;border-radius:22px}
}

/* Prévia do material: cartão bordô com carrossel e zoom. */
.previa,.landing .previa{background:#FBF7F0;padding:24px 12px}
.previa-card{max-width:1000px;margin:0 auto;padding:34px 22px 22px;border-radius:28px;background:linear-gradient(160deg,#6B0F23 0%,#5B0A1C 55%,#4A0816 100%);color:#fff;text-align:center;box-shadow:0 14px 34px rgb(91 10 28 / .22)}
.previa-pill{display:inline-block;margin:0 0 14px;padding:6px 16px;border-radius:999px;background:#FBF1E6;color:#5B0A1C;font-size:12px;font-weight:800;letter-spacing:.06em}
.landing .previa h2{color:#fff;text-transform:uppercase;font-size:clamp(22px,3vw,36px);line-height:1.1;margin:0 auto 14px;max-width:700px}
.previa-text{max-width:620px;margin:0 auto 20px;color:rgb(255 255 255 / .92);font-size:15px;line-height:1.5}
.previa-carousel{position:relative}
.previa-rail{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 14px 12px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;text-align:left}
.previa-rail::-webkit-scrollbar{display:none}
.previa-rail:focus-visible{outline:2px solid #fff;outline-offset:2px}
.previa-slide{position:relative;flex:0 0 auto;scroll-snap-align:center;display:block;border:2px solid rgb(255 255 255 / .85);border-radius:16px;overflow:hidden;background:#fff;line-height:0;-webkit-tap-highlight-color:transparent}
.previa-slide img{display:block;height:320px;width:auto;max-width:none;-webkit-user-drag:none;user-select:none}
.previa-lens{position:absolute;right:8px;bottom:8px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#5B0A1C;box-shadow:0 2px 8px rgb(0 0 0 / .3);pointer-events:none}
.previa-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#5B0A1C;font-size:26px;line-height:1;box-shadow:0 4px 14px rgb(0 0 0 / .3);cursor:pointer;padding:0 0 3px}
.previa-prev{left:-8px}
.previa-next{right:-8px}
.previa-dots{display:flex;justify-content:center;gap:8px;margin-top:6px}
.previa-dots span{width:8px;height:8px;border-radius:50%;background:rgb(255 255 255 / .35);transition:background .2s}
.previa-dots span.on{background:#fff}
#previa-zoom{width:min(94vw,760px);max-height:94vh;padding:0 12px 12px;border:0;border-radius:18px;background:#fff;overflow:auto;overscroll-behavior:contain}
#previa-zoom::backdrop{background:rgb(0 0 0 / .78)}
#previa-zoom img{display:block;width:100%;height:auto;border-radius:10px}
.previa-zoom-bar{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;background:#fff}
.previa-zoom-bar button{min-width:44px;min-height:44px;border:0;border-radius:50%;background:#5B0A1C;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:0 0 3px}
@media (max-width:767px){
  .previa,.landing .previa{padding:16px 10px}
  .previa-card{padding:26px 12px 18px;border-radius:22px}
  .previa-slide img{height:300px}
  .previa-prev{left:-2px}
  .previa-next{right:-2px}
  #previa-zoom{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0;padding:0 8px 8px}
}

/* Preço "de / por" do plano básico. */
.plan-buy small[hidden]{display:none}
.offer-grid .plan-buy small.offer-de{font-weight:700;color:var(--price-red)}
@media (min-width:768px){.offer-grid .plan-buy small.offer-de{font-size:15px}}

/* =====================================================================
   Paleta da página de referência: vermelho, creme, vinho, dourado e verde.
   As variáveis do :root já carregam a maior parte; aqui ficam os ajustes por componente.
   ===================================================================== */
:root{--green:#16A34A;--green-dark:#15803D;--gold:#C58A00;--gold-bright:#EAB308;background:#FBF7F0}
.paper,.cream,.mint,.landing #bonus{background:var(--paper)}

/* Botões e preços em verde; marcas de check também. */
.button,.landing .button[data-plan-cta]{background:var(--green);color:#fff;box-shadow:var(--button-shadow)}
.button:hover,.landing .button[data-plan-cta]:hover{background:var(--green-dark);color:#fff}
.button[aria-disabled=true],.button[aria-disabled=true]:hover{background:var(--mint);color:var(--ink);box-shadow:none}
#upgrade-offer .button,#checkout-unavailable .button{background:var(--green);color:#fff}
#upgrade-offer .button:hover,#checkout-unavailable .button:hover{background:var(--green-dark)}
.checks li::before,.plan li::before{color:var(--green)}
.price{color:var(--green)}

/* Bônus. */
#bonus h2 span,.receive-return h2 span{color:var(--gold)}
#bonus .pill{background:linear-gradient(135deg,#F2CA3A,#EAB308);color:#5B0A1C;border:0}
#bonus .bonus-offer s{color:#DC2626}
#bonus .bonus-offer strong{background:var(--mint);color:var(--green-dark);border:1px solid var(--line)}
.bonus-total-banner{background:#DCFCE7;color:#14532D;border:1px solid var(--green);box-shadow:none}

/* Planos: fundo creme, cartões brancos, selo vermelho. */
#planos{background:var(--paper);color:var(--ink)}
#planos h2{color:var(--teal)}
.offer-recommended{background:#DC2626;color:#fff}
.landing .offer-grid h3,.offer-grid .offer-bonuses h4{color:var(--teal)}

/* Garantia. */
.guarantee-layout{border-top:4px solid var(--gold-bright)}
.guarantee-label{background:var(--mint)}
.guarantee-copy p strong{color:var(--teal)}
.guarantee-medal{filter:drop-shadow(0 5px 8px rgb(197 138 0 / .25))}
