:root {
  --ink:#19382d; --sub:#43574d; --forest:#12352a; --deep:#0b261e;
  --red:#a12639; --red-hover:#801b2b; --cream:#faf5ed; --paper:#fffcf7;
  --muted:#f0e9e0; --line:#dfd4c7; --gold:#f3d39d;
}
*,*::before,*::after {box-sizing:border-box}
body {margin:0;background:var(--cream);color:var(--ink);font:1rem/1.6 system-ui,sans-serif}
h1,h2,h3,p {margin:0}
h1,h2 {font-family:Georgia,serif;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
h1 {font-size:clamp(2.45rem,4.35vw,4rem)}
h2 {font-size:clamp(2rem,4.1vw,3.65rem)}
h3 {font-size:1.15rem;line-height:1.22}
p {color:var(--sub)}
section {padding:clamp(3.5rem,8vw,6.6rem) 0}
.wrap {width:min(1160px,calc(100% - 2.5rem));margin-inline:auto}
.hero {padding:clamp(3rem,8vw,7rem) 0;background:radial-gradient(ellipse at 95% 15%,#f1dfd7,transparent 60%),var(--cream);border-bottom:1px solid var(--line)}
.offer,.guarantee {display:grid;align-items:center;gap:clamp(1.5rem,4vw,4rem)}
.kicker {color:var(--red);font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.8rem}
.lead {font-size:clamp(1.05rem,2vw,1.23rem);max-width:50ch;margin-top:1.15rem}
.ticks {padding:0;list-style:none;margin:1.25rem 0 1.5rem}
.ticks li {padding-left:1.55rem;position:relative;margin:.35rem 0}
.ticks li::before {content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}
.button {display:inline-flex;align-items:center;justify-content:center;gap:.7rem;text-align:center;min-height:52px;border:0;border-radius:.65rem;padding:.8rem 1.3rem;background:var(--red);color:white;font:inherit;font-weight:780;text-decoration:none;cursor:pointer}
.button:hover {background:var(--red-hover)}
:focus-visible {outline:3px solid #bb6431;outline-offset:4px}
.frame {aspect-ratio:var(--ratio);width:100%;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:.75rem}
.frame img {display:block;width:100%;height:100%;object-fit:contain}
.paper {background:var(--paper)}
.muted {background:var(--muted)}
.bordered {border-block:1px solid var(--line)}
.intro {max-width:790px;text-align:center;margin-inline:auto}
.intro p:not(.kicker),.guarantee p:not(.kicker) {max-width:60ch;margin:.9rem auto 0}
.grid,.gallery {display:grid;gap:1rem;margin-top:2.4rem}
.gallery {grid-auto-flow:column;grid-auto-columns:minmax(155px,1fr);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;list-style:none;padding:0 0 .6rem}
.gallery li {scroll-snap-align:start}
.card {min-width:0;padding:1.35rem;background:var(--paper);border:1px solid var(--line);border-radius:.9rem}
.number {display:inline-grid;place-items:center;border-radius:100%;width:2.6rem;height:2.6rem;color:var(--red);background:#f6e5e3;font-weight:800;margin-bottom:.75rem}
.visual {padding:.65rem}
.visual>div:not(.frame) {padding:.9rem .5rem .65rem}
.visual .kicker {font-size:.68rem;margin-bottom:.4rem}
.steps {list-style:none;padding:0}
.dark {background:var(--forest);color:var(--paper)}
.dark p {color:#e9e1d6}
.dark .kicker {color:var(--gold)}
.offer {max-width:850px;margin:2.1rem auto 0;padding:clamp(1rem,3.5vw,2rem);border:1px solid var(--line);border-radius:1rem;background:var(--paper);color:var(--ink);gap:1.5rem}
.offer h3 {font:700 2rem/1.1 Georgia,serif}
.offer p {color:var(--sub)}
.offer .price {font-size:2.55rem;color:var(--ink);font-weight:800;line-height:1.1;margin-bottom:.9rem}
.offer .button {width:100%}
.purchase-status {font-size:.87rem}
.purchase-status:not(:empty) {margin-top:.5rem}
.guarantee {max-width:780px;grid-template-columns:minmax(0,1fr);text-align:center}
.guarantee .selo-garantia {display:block;width:min(160px,50%);height:auto;margin:auto}
.faq {max-width:730px;margin:2rem auto 0}
details {padding:0 1rem;border-bottom:1px solid var(--line)}
summary {cursor:pointer;font-weight:700;padding:.9rem 0}
details p {padding-bottom:1rem}
.closing .button {margin-top:1.4rem}
footer {background:var(--deep);padding:1.3rem;text-align:center;font-size:.82rem}
footer p {color:#dfd8ce}
@media (min-width:640px) {
  .wrap {width:min(1160px,calc(100% - 4rem))}
  .thirds,.categories {grid-template-columns:repeat(3,minmax(0,1fr))}
  .bonuses {grid-template-columns:repeat(2,minmax(0,1fr))}
  .guarantee {grid-template-columns:160px 1fr;text-align:left}
  .guarantee .selo-garantia {width:100%}
  .guarantee p:not(.kicker) {margin-left:0}
}
@media (min-width:960px) {
  .bonuses {grid-template-columns:repeat(4,minmax(0,1fr))}
  .categories {grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:420px) {
  .wrap {width:calc(100% - 2rem)}
  .button {width:100%}
}



/* Apresentação da oferta em coluna única */
.urgency {background:#301a23;color:#fff8ed;text-align:center;font-size:.85rem;font-weight:740;padding:.52rem 1rem}
.urgency span {color:var(--gold);margin-right:.35rem}
.hero {padding:clamp(2.4rem,5vw,4.6rem) 0;background:var(--cream)}
.hero-grid {display:block;max-width:920px;text-align:center}
.hero .kicker {display:inline-block;padding:.25rem .75rem;border-radius:2rem;background:#f0e2df;margin-bottom:1rem}
.hero h1 {font-size:clamp(2.25rem,5.3vw,4.3rem);max-width:850px;margin-inline:auto}
.hero h1 span {color:#86283c}
.hero .lead {margin-inline:auto;max-width:62ch}
.hero .ticks {display:inline-block;text-align:left;margin:1.15rem auto 0}
.hero .button {display:flex;width:fit-content;max-width:100%;margin-inline:auto}
.mockup {display:grid;place-items:center;position:relative;isolation:isolate;width:min(100%,470px);aspect-ratio:1.18;margin:1.75rem auto 1.35rem}
.mockup img {height:auto;object-fit:contain;border-radius:.2rem;box-shadow:0 10px 22px #301a2342}
.mockup-cover {z-index:1;width:54%}
.mockup-side {position:absolute;top:15%;width:46%}
.mockup-left {left:8%;transform:rotate(-12deg)}
.mockup-right {right:8%;transform:rotate(12deg)}
.carousel {max-width:1080px;margin:2rem auto 0}
.carousel .gallery {grid-auto-columns:calc((100% - 2rem) / 3);scroll-snap-type:x mandatory;margin:0;padding:.25rem 0 .65rem}
.carousel figure {margin:0;height:100%;background:var(--cream);border:1px solid var(--line);border-radius:.7rem;overflow:hidden}
.carousel img {display:block;width:100%;height:auto;aspect-ratio:360 / 509;object-fit:contain;background:white}
.carousel figcaption {text-align:center;font-size:.92rem;font-weight:650;padding:.6rem .5rem}
.carousel-controls {display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.7rem}
.carousel-controls[hidden] {display:none}
.carousel-controls button {width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid var(--line);background:white;color:var(--red);font-size:1.6rem;line-height:1;cursor:pointer}
.carousel-controls button:disabled {opacity:.4;cursor:default}
.carousel-controls span {min-width:3rem;text-align:center;font-variant-numeric:tabular-nums}
.bonuses .kicker {display:flex;align-items:center;gap:.4rem}
.gift {vertical-align:middle;flex:none}
.offer {display:block;max-width:600px;padding:clamp(1rem,4vw,2rem)}
.offer .mockup {margin-top:0;width:min(100%,365px)}
.offer-copy>h3,.offer-copy>p {text-align:center}
.offer-list {list-style:none;display:grid;gap:.6rem;margin:1.25rem 0;padding:0}
.offer-list li {display:flex;align-items:flex-start;gap:.7rem;padding:.55rem .65rem;border-radius:.5rem;background:var(--cream);line-height:1.45}
.offer-icon {color:var(--red);width:1.4rem;flex:none;text-align:center;font-weight:800}
@media (min-width:701px) and (max-width:959px) {
  .carousel .gallery {grid-auto-columns:calc((100% - 1rem) / 2)}
}
@media (max-width:700px) {
  .carousel .gallery {grid-auto-columns:88%;gap:.75rem}
  .carousel-controls button {width:3rem;height:3rem}
}
@media (max-width:639px) {
  section {padding:2.8rem 0}
  .hero {padding:1.7rem 0 2.35rem}
  .hero .kicker {margin-bottom:.7rem;letter-spacing:.09em}
  .hero h1 {font-size:clamp(1.85rem,7.8vw,2.55rem)}
  .hero .lead {margin-top:.85rem;font-size:1rem;line-height:1.5}
  .hero .mockup {width:min(76%,310px);margin:1rem auto .85rem}
  .hero .button {width:100%;max-width:24rem}
  .hero .ticks {margin-top:.9rem}
  .offer-list li {padding:.65rem .55rem}
  .faq summary {min-height:48px}
}


.bonus-box {display:block;width:100%;height:auto}
.offer .mockup-oferta {width:min(100%,430px);aspect-ratio:1.18}
.mockup-oferta .mockup-cover {width:84%;box-shadow:none}
.mockup-oferta .mockup-side {top:17%;width:43%}
.mockup-oferta .mockup-left {left:5%}
.mockup-oferta .mockup-right {right:5%}
