/* 09-oferta · caixa da oferta como objeto físico: fundo com halos, pedestal, borda em gradiente, luz percorrendo o contorno,
   preço em rolos com batida, selo em três camadas, selos de pagamento, requisitos, faixa da garantia. Prefixo de keyframes: of- */

/* ---------- seção ---------- */
.ofr{padding:76px 0 84px;position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse 75% 50% at 50% 42%,rgba(255,106,43,.18),transparent 72%),radial-gradient(ellipse 50% 28% at 50% 100%,rgba(255,176,136,.07),transparent 70%),#100806;
  border-top:1px solid rgba(255,170,130,.11);border-bottom:1px solid rgba(255,170,130,.11)}
.ofr::before{content:"";position:absolute;left:50%;top:0;width:min(900px,92%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(255,176,136,.4),transparent)}

/* ---------- palco + pedestal (segunda folha atrás da caixa) ---------- */
.ofr-stage{position:relative;display:flex;justify-content:center}
.ofr-stage::before{content:"";position:absolute;left:50%;bottom:-18px;width:min(760px,86%);height:60px;transform:translateX(-50%);border-radius:0 0 26px 26px;background:linear-gradient(180deg,#23110d,#170b08);box-shadow:0 0 0 1px rgba(255,170,130,.1),0 30px 60px -20px rgba(0,0,0,.8);z-index:-1}

/* ---------- caixa ---------- */
.ofr-box{position:relative;width:100%;max-width:820px;display:flex;flex-direction:column;border-radius:28px;padding:38px 22px 0;text-align:center;
  background:radial-gradient(120% 38% at 50% 0%,rgba(255,106,43,.2),transparent 64%),radial-gradient(90% 30% at 50% 58%,rgba(255,106,43,.1),transparent 70%),linear-gradient(180deg,#24120d 0%,#190d0a 52%,#120907 100%);
  box-shadow:0 0 0 1px rgba(255,170,130,.17),inset 0 1px 0 rgba(255,255,255,.08),0 50px 90px -40px rgba(0,0,0,.9),0 30px 130px -50px rgba(255,90,40,.65)}
.ofr-box>*:not(.ofr-rim){position:relative;z-index:1}

/* borda em gradiente (só o fio de 1.5px aparece, por máscara) + três discos de luz percorrendo o contorno */
.ofr-rim{position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1.5px;overflow:hidden;pointer-events:none;
  background:linear-gradient(172deg,rgba(255,176,136,.4) 0%,rgba(255,106,43,.16) 26%,rgba(255,106,43,.07) 55%,rgba(255,106,43,.16) 82%,rgba(255,176,136,.3) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.ofr-rim i{position:absolute;left:0;top:0;display:none;width:250px;height:250px;border-radius:50%;
  background:radial-gradient(closest-side,#fff 0%,#ffe9dd 14%,rgba(255,190,150,.87) 32%,rgba(255,106,43,.47) 60%,rgba(255,106,43,0) 100%);
  offset-path:inset(0 round 28px);offset-rotate:0deg;will-change:transform;animation:of-orbit var(--lap,9s) linear infinite;animation-delay:-.5s}
.ofr-rim i+i{width:210px;height:210px;opacity:.55;animation-delay:-.25s}
.ofr-rim i+i+i{width:170px;height:170px;opacity:.3;animation-delay:0s}
@supports (offset-path:inset(0 round 28px)){.ofr-rim i{display:block}}
@keyframes of-orbit{from{offset-distance:.01%}to{offset-distance:100%}}

/* ---------- cabeçalho ---------- */
.ofr-head{display:flex;flex-direction:column;align-items:center}
.ofr-box .pill{gap:8px;padding:8px 15px;font-size:12px;letter-spacing:.13em;margin-bottom:22px;border-color:rgba(255,176,136,.24);background:linear-gradient(135deg,rgba(255,106,43,.15),rgba(255,106,43,.04))}
.ofr-box .pill::before{content:"✦";content:"✦" / "";color:var(--v1);font-size:13px;letter-spacing:0}
.ofr-logo{display:flex;align-items:center;justify-content:center;line-height:1;margin-bottom:18px}
.ofr-logo-img{display:block;width:min(100%,560px);height:auto;margin:-6px auto -2px}
.ofr-lead{font:400 15px/1.7 var(--fb);color:var(--mut);max-width:520px;margin:0 auto;text-wrap:pretty}

/* ---------- bloco de compra ---------- */
/* #comprar é este bloco (preço e botão): a barra fixa do celular some só enquanto ele está na tela */
.ofr-buy{margin-top:26px;display:flex;flex-direction:column;align-items:center;scroll-margin-top:24px}
.price{width:100%}
.p-from{min-height:21px;font:600 15px/1.4 var(--fb);color:var(--mut2);transition:opacity .5s var(--e-out),transform .5s var(--e-out)}
.p-from:empty{display:none}
.p-from s{color:#e8d2c8;text-decoration-color:#ff8a3d;text-decoration-thickness:2px}
.price.is-armed .p-from{opacity:0;transform:translateY(6px)}
.ofr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* preço grande: rolos de caça-níquel. O corpo escala pela quantidade de rolos (--of-nd, escrita pelo JS; 3 = 297) pra um precoDe com mais dígitos caber */
.p-big{position:relative;isolation:isolate;display:flex;justify-content:center;margin:2px 0 0;font:800 clamp(60px,18.5vw,150px)/1 var(--fh);font-size:clamp(60px,calc(55.5vw/max(var(--of-nd,3),2.7)),150px);letter-spacing:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:#fff}
/* camada composta só enquanto o preço pode se mexer (armado ou na batida) */
.price.is-armed .p-big,.p-big.hit{will-change:transform}
.p-cur,.cents{font-size:.29em;line-height:1;color:#ffb088;letter-spacing:-.02em;margin-top:.36em;transition:transform .62s cubic-bezier(.7,0,.25,1)}
.p-cur{margin-right:.22em}
.cents{margin-left:.08em}
.p-digits{display:flex;transition:transform .62s cubic-bezier(.7,0,.25,1)}
.price.no-anim .p-cur,.price.no-anim .p-digits,.price.no-anim .cents{transition:none}
.price.is-anchor .p-cur{transform:translateX(calc(var(--pw,0px)*.5))}
.price.is-anchor .p-digits,.price.is-anchor .cents{transform:translateX(calc(var(--pw,0px)*-.5))}
.p-reel{position:relative;display:block;height:1em;padding:0 .12em;margin:0 -.12em;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent)}
.p-reel+.p-reel{margin-left:-.155em}
.p-reel::before{content:attr(data-d);visibility:hidden}
.p-strip{position:absolute;left:.12em;right:.12em;top:-1em;will-change:transform}
.p-cell{display:flex;justify-content:center;height:1em;background:linear-gradient(180deg,#fff 14%,#ffe9dd 46%,#ff8a3d 88%);-webkit-background-clip:text;background-clip:text;color:transparent}
.p-cell::before{content:attr(data-d)}
/* sem JS ainda (ou sem rolos): o número cru */
.p-digits:empty::before{content:attr(data-fallback);background:linear-gradient(180deg,#fff 14%,#ffe9dd 46%,#ff8a3d 88%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* batida: flash, onda e faíscas (ligados pela classe .hit) */
.p-flash,.p-wave,.p-sparks i{position:absolute;left:50%;top:50%;pointer-events:none;opacity:0}
.p-flash{width:3.1em;height:1.3em;margin:-.65em 0 0 -1.55em;border-radius:50%;z-index:-1;will-change:transform,opacity;background:radial-gradient(closest-side,rgba(255,106,43,.4),rgba(255,106,43,.12) 55%,transparent)}
/* preço pronto (sem JS, quadro parado ou depois da batida): o halo fica aceso a .55, o mesmo brilho em que a batida termina */
.price:not(.is-armed) .p-flash{opacity:.55}
.p-wave{width:2.2em;height:.94em;margin:-.47em 0 0 -1.1em;border-radius:50%;z-index:2;border:2px solid #ffd2b8;box-shadow:0 0 18px rgba(255,106,43,.8),inset 0 0 18px rgba(255,106,43,.5)}
.p-sparks{position:absolute;inset:0;pointer-events:none;z-index:3}
.p-sparks i{width:14px;height:14px;margin:-7px 0 0 -7px;background:radial-gradient(circle,#fff,#ffd2b8 45%,#ff8a3d);clip-path:polygon(50.0% 0.0%,57.7% 31.5%,85.4% 14.6%,68.5% 42.3%,100.0% 50.0%,68.5% 57.7%,85.4% 85.4%,57.7% 68.5%,50.0% 100.0%,42.3% 68.5%,14.6% 85.4%,31.5% 57.7%,0.0% 50.0%,31.5% 42.3%,14.6% 14.6%,42.3% 31.5%)}
.p-sparks i:nth-child(1){--sx:1.3em;--sy:0em}.p-sparks i:nth-child(2){--sx:-1.3em;--sy:0em}
.p-sparks i:nth-child(3){--sx:1.15em;--sy:.24em}.p-sparks i:nth-child(4){--sx:-1.15em;--sy:.24em}
.p-sparks i:nth-child(5){--sx:1.15em;--sy:-.24em}.p-sparks i:nth-child(6){--sx:-1.15em;--sy:-.24em}
.p-sparks i:nth-child(7){--sx:.61em;--sy:.44em}.p-sparks i:nth-child(8){--sx:-.61em;--sy:.44em}
.p-sparks i:nth-child(9){--sx:.61em;--sy:-.44em}.p-sparks i:nth-child(10){--sx:-.61em;--sy:-.44em}
.p-big.hit{animation:of-beat 1.05s cubic-bezier(.3,0,.3,1) both}
.p-big.hit .p-flash{animation:of-flash 1.3s var(--e-out) both}
.p-big.hit .p-wave{animation:of-wave .9s cubic-bezier(.2,.7,.3,1) both}
.p-big.hit .p-sparks i{animation:of-spark .9s cubic-bezier(.2,.7,.3,1) both}
.p-big.hit .p-sparks i:nth-child(even){animation-duration:1.05s;animation-delay:50ms}
@keyframes of-beat{0%{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(.97)}46%{transform:scale(1.08)}72%,100%{transform:scale(1)}}
@keyframes of-flash{0%{opacity:.55;transform:scale(.8)}18%{opacity:1;transform:scale(1.2)}100%{opacity:.55;transform:scale(1)}}
@keyframes of-wave{0%{opacity:0;transform:scale(.6)}14%{opacity:.9}60%{opacity:.35}100%{opacity:0;transform:scale(1.1)}}
@keyframes of-spark{0%{opacity:0;transform:translate(calc(var(--sx)*.3),calc(var(--sy)*.3)) scale(.3) rotate(0deg)}18%{opacity:1}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.9) rotate(45deg)}}

.p-sub{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;margin-top:10px;font:600 15px/1.5 var(--fb);color:var(--mut)}
.p-sub b{color:var(--tx);font-weight:700}
.p-sub i{width:4px;height:4px;border-radius:50%;background:var(--v2);margin:0}

/* botão da caixa (o gradiente e as sombras vêm do base; aqui só o tamanho e a passada extra depois da batida) */
.ofr-box .btn{margin-top:22px;padding:19px 24px;font-size:17px;min-height:64px;gap:14px}
/* passada extra depois da batida: .of-flash = uma passada rápida; ao terminar o JS religa o ciclo do base já na fase parada
   (--of-sd -2.1s = 55 % de 3,8 s, logo depois do fim da passada), passando por .of-reset (animation:none) pra nascer uma animação nova */
.ofr .btn-shine::after{animation-delay:var(--of-sd,0s)}
.ofr .btn-shine.of-flash::after{animation:g-sweep 1.1s var(--e-inout) 1 both;animation-play-state:running}
.ofr .btn-shine.of-reset::after{animation:none}

/* selos de pagamento sob o botão: ícones de traço próprios (nenhuma marca de terceiro), três formas de pagar e o acesso */
.ofr-pay{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;padding:0}
.ofr-pay li{display:flex;align-items:center;gap:7px;padding:7px 12px 7px 10px;border-radius:999px;border:1px solid rgba(255,176,136,.17);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));font:600 12.5px/1.2 var(--fb);color:#ecdad0;white-space:nowrap}
.ofr-pay svg{flex:none;width:17px;height:17px;fill:none;stroke:var(--v1);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* os selos ficam sempre visíveis (zona do botão não depende de reveal) */

.ofr-box .note{margin-top:14px;font-size:13px;color:var(--mut2);line-height:1.6}
.ofr-box .note>span{display:inline-block;text-wrap:balance}
.ofr-sup{margin-top:8px;font:500 13px/1.6 var(--fb);color:var(--mut)}
.ofr-sup a{color:var(--v1);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ---------- o que você recebe ---------- */
.ofr-includes{margin-top:38px}
.ofr-sep{display:flex;align-items:center;gap:14px;max-width:560px;margin:0 auto 14px;font:700 12px/1.3 var(--fb);letter-spacing:.16em;color:var(--v1)}
.ofr-sep::before,.ofr-sep::after{content:"";flex:1;height:1px}
.ofr-sep::before{background:linear-gradient(90deg,transparent,rgba(255,176,136,.28))}
.ofr-sep::after{background:linear-gradient(270deg,transparent,rgba(255,176,136,.28))}
.ofr-list{list-style:none;max-width:560px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2px;padding:0;text-align:left}
.ofr-list li{position:relative;display:flex;align-items:center;padding:10px 6px 10px 42px;font:600 15px/1.5 var(--fb);color:#f3e4dc;border-bottom:1px solid rgba(255,255,255,.04);text-wrap:balance}
.ofr-list li:last-child{border-bottom:0}
/* bullet desenhado: disco com anel + check em borda girada (não depende de glifo da fonte) */
.ofr-list li::before{content:"";position:absolute;left:4px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:linear-gradient(150deg,#ffd2b8 0%,#ff6a2b 52%,#b8260f 100%);box-shadow:0 0 0 3px rgba(255,106,43,.13),0 4px 14px rgba(255,106,43,.36),inset 0 1px 0 rgba(255,255,255,.4)}
.ofr-list li::after{content:"";position:absolute;left:13px;top:50%;width:5.5px;height:10.5px;margin-top:-7.5px;border:solid #fff;border-width:0 2.3px 2.3px 0;border-radius:0 0 1px 0;transform:rotate(43deg)}
.ofr-list .ofr-hl{margin-bottom:6px;padding:13px 14px 13px 50px;border:1px solid rgba(255,176,136,.28);border-radius:14px;background:linear-gradient(115deg,rgba(255,106,43,.24),rgba(255,106,43,.06) 70%);color:#fff;font-weight:700}
.ofr-list .ofr-hl::before{left:14px}
.ofr-list .ofr-hl::after{left:23px}
/* cascata (além da referência): cada item chega quando a lista entra na tela */
.ofr.has-js .ofr-list li{opacity:0;transform:translateX(-8px)}
.ofr.has-js .ofr-list.is-in li{opacity:1;transform:none;transition:opacity .42s var(--e-out),transform .42s var(--e-out);transition-delay:calc(var(--i,0)*60ms)}

/* ---------- faixa da garantia (sangra até a borda da caixa) ---------- */
.ofr-guarantee{display:flex;flex-direction:column;align-items:center;gap:16px;margin:34px -22px 0;padding:32px 22px 34px;border-top:1px solid rgba(255,176,136,.12);border-radius:0 0 28px 28px;text-align:center;
  background:radial-gradient(70% 90% at 50% 0%,rgba(255,106,43,.12),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.01),rgba(255,106,43,.05))}
.seal-row{display:flex;flex-direction:column;align-items:center;gap:16px}
.seal-txt h3{font:800 22px/1.25 var(--fh);letter-spacing:-.035em;margin-bottom:8px}
.seal-txt p{font:400 15px/1.65 var(--fb);color:var(--mut);max-width:380px}
.ofr-guarantee .ofr-btn-end{margin-top:6px}

/* selo: halo + starburst metálico + anel de texto girando devagar + núcleo + reflexo */
.seal{position:relative;flex:none;width:172px;height:172px}
.seal::before{content:"";position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,106,43,.3),transparent 72%)}
.seal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.seal-burst{filter:drop-shadow(0 10px 18px rgba(5,1,0,.6))}
.seal-ring{transform-origin:50% 50%;will-change:transform;animation:of-seal-spin 40s linear infinite}
.seal-ring text{font:700 17px var(--fb);letter-spacing:.06em;fill:#ffe6d8}
.seal-core{transform-origin:50% 50%}
.seal-n{font:800 84px var(--fh);letter-spacing:-.02em;fill:url(#of-sealSeven)}
.seal-d{font:700 18px var(--fb);letter-spacing:.3em;fill:#fff1ea}
.seal-gleam{position:absolute;inset:20.8%;border-radius:50%;overflow:hidden;pointer-events:none}
.seal-gleam::before{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:38%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.36) 50%,transparent);transform:translateX(-160%) rotate(18deg);will-change:transform;animation:of-seal-gleam 5.2s var(--e-inout) infinite}
.seal.is-in .seal-core{animation:of-seal-pop .7s var(--e-spring) both}
@keyframes of-seal-spin{to{transform:rotate(360deg)}}
@keyframes of-seal-gleam{0%,40%{transform:translateX(-160%) rotate(18deg)}75%,100%{transform:translateX(360%) rotate(18deg)}}
@keyframes of-seal-pop{from{transform:scale(.86)}to{transform:scale(1)}}

/* ---------- o que você precisa ter ---------- */
.ofr-req{margin-top:34px}
.ofr-req-list{list-style:none;max-width:560px;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr;gap:8px;text-align:left}
.ofr-req-list li{display:flex;align-items:flex-start;gap:13px;padding:14px 16px 14px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.065);background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}
.ofr-req-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,176,136,.26);background:linear-gradient(150deg,rgba(255,106,43,.26),rgba(255,106,43,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.ofr-req-ic svg{width:21px;height:21px;fill:none;stroke:var(--v1);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ofr-req-list h3{font:700 15px/1.3 var(--fh);letter-spacing:-.02em;color:#fff;margin:1px 0 4px}
.ofr-req-list p{font:400 13.5px/1.6 var(--fb);color:var(--mut);margin:0;text-wrap:pretty}
.ofr-req-val{color:var(--tx);font-weight:700}
/* "não serve": mesmo cartão, em tom apagado e borda tracejada */
.ofr-req-list .ofr-req-no{border-style:dashed;border-color:rgba(255,255,255,.12);background:none}
.ofr-req-no .ofr-req-ic{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04);box-shadow:none}
.ofr-req-no .ofr-req-ic svg{stroke:var(--mut)}
.ofr-req-no h3{color:#e6d5cc}
.ofr-req-cel{max-width:500px;margin:14px auto 0;font:400 13.5px/1.6 var(--fb);color:var(--mut);text-wrap:balance}
.ofr.has-js .ofr-req-list li{opacity:0;transform:translateY(12px)}
.ofr.has-js .ofr-req-list.is-in li{opacity:1;transform:none;transition:opacity .5s var(--e-out),transform .6s var(--e-reveal);transition-delay:calc(var(--i,0)*80ms)}

/* preço repetido embaixo do botão final (só onde o botão final existe) */
.ofr-end-note{margin-top:-4px;font:600 13px/1.5 var(--fb);color:var(--mut)}

/* ---------- laços pausam fora da tela (o JS liga .is-on com rootMargin 120px; o brilho do botão já pausa pelo core) ---------- */
.ofr.has-js:not(.is-on) .ofr-rim i,.ofr.has-js:not(.is-on) .seal-ring,.ofr.has-js:not(.is-on) .seal-gleam::before{animation-play-state:paused}

/* ---------- só com mouse: tilt da caixa, grão fino, selo em 3D ---------- */
@media (hover:hover) and (pointer:fine){
  .ofr-stage{perspective:1200px}
  .ofr-box.is-tilt{will-change:transform}
  .ofr-box::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-size:180px 180px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  .seal{transition:transform .6s var(--e-out)}
  .seal-row:hover .seal{transform:perspective(800px) rotateY(14deg) rotateX(-6deg)}
  .seal-row:hover .seal-gleam::before{animation:of-seal-gleam-once 1s var(--e-inout) 1 both}
}
@keyframes of-seal-gleam-once{0%{transform:translateX(-160%) rotate(18deg)}100%{transform:translateX(360%) rotate(18deg)}}

/* ---------- responsivo (600/900/380/340 são exceções previstas pra esta seção) ---------- */
@media (min-width:600px){
  .ofr-box{padding:46px 44px 0}
  .ofr-lead{font-size:16px}
  .ofr-pay li{font-size:13px;padding:8px 14px 8px 11px}
  .ofr-guarantee{margin:38px -44px 0;padding:34px 44px 38px}
}
@media (min-width:900px){
  .ofr{padding:112px 0 124px}
  .ofr-box{padding:56px 64px 0}
  .ofr-lead{font-size:17px;max-width:560px}
  .p-big{font-size:min(152px,calc(456px/var(--of-nd,3)))}
  .ofr-box .btn{font-size:18px;min-height:68px}
  /* no desktop a lista vem antes do bloco de compra; o botão final da garantia some */
  /* ordem no desktop: recebe → precisa ter → preço e botão → garantia */
  .ofr-includes{order:1;margin-top:36px}
  .ofr-req{order:2;margin-top:34px}
  .ofr-req-list{max-width:none;grid-template-columns:1fr 1fr;gap:10px}
  .ofr-req-list li{padding:16px 18px 16px 16px}
  .ofr-buy{order:3;margin-top:36px;padding-top:34px;border-top:1px solid rgba(255,176,136,.12)}
  .ofr-guarantee{order:4;flex-direction:row;justify-content:center;gap:30px;margin:44px -64px 0;padding:36px 64px 44px;text-align:left}
  .seal-row{flex-direction:row;gap:30px;text-align:left}
  .seal{width:180px;height:180px}
  .seal-txt h3{font-size:26px}
  .seal-txt p{font-size:16px;max-width:400px}
  .ofr-btn-end,.ofr-end-note{display:none}
  .ofr-sep,.ofr-list{max-width:none}
  .ofr-list{grid-template-columns:1fr 1fr;column-gap:26px}
  .ofr-list .ofr-hl{grid-column:1/-1;justify-self:center;width:auto;padding:13px 24px 13px 52px;margin-bottom:10px}
  .ofr-list li:nth-last-child(2){border-bottom:0}
}
@media (max-width:380px){
  .ofr-box .pill{padding:7px 12px;letter-spacing:.07em}
  .ofr-pay{gap:6px}
  .ofr-pay li{padding:6px 10px 6px 8px;font-size:12px;gap:6px}
  .ofr-req-list li{padding:13px 13px 13px 12px;gap:11px}
  .ofr-list li{padding-left:40px}
  .ofr-box .btn{padding:18px 16px;font-size:16px;gap:12px}
}
@media (max-width:340px){
  .ofr-stage.wrap-n{width:calc(100% - 24px)}
  .ofr-box{padding:30px 14px 0}
  .ofr-guarantee{margin:34px -14px 0;padding:32px 14px 34px}
  .ofr-box .pill{letter-spacing:.02em}
  .ofr-box .pill::before{display:none}
  .ofr-box .btn{padding:17px 12px;font-size:15px;gap:9px}
  .ofr-box .btn .arrow{font-size:20px}
}

/* ---------- movimento reduzido: preço final parado, borda estática, selo parado, tudo visível ---------- */
@media (prefers-reduced-motion:reduce){
  .ofr-rim i{display:none;animation:none}
  .seal-ring,.seal-gleam::before,.seal.is-in .seal-core,.p-big.hit,.p-big.hit .p-flash,.p-big.hit .p-wave,.p-big.hit .p-sparks i{animation:none}
  .seal-gleam::before{opacity:0}
  .p-from,.p-cur,.p-digits,.cents,.seal{transition:none}
  .price.is-armed .p-from{opacity:1;transform:none}
  .ofr.has-js .ofr-list li,.ofr.has-js .ofr-req-list li{opacity:1;transform:none;transition:none}
  .ofr-box.is-tilt{will-change:auto;transform:none!important}
  .seal-row:hover .seal{transform:none}
  .p-big,.price.is-armed .p-big,.p-big.hit,.p-strip,.p-flash,.seal-ring,.seal-gleam::before{will-change:auto}
}
