[hidden]{display:none!important}
img{max-width:100%}
/* Layout: uma cena WebGL fixa ao fundo; quatro capítulos rolam por cima.
   O objeto de partículas douradas viaja entre os "slots" de cada capítulo e se transforma
   (árvore → presente → pilha de cestas → estrela). Barra de abas flutuante embaixo. */
:root{
  --red-night:#2a0004;
  --red-deep:#5c0710;
  --red:#9b0a12;
  --gold:#f2c14e;
  --gold-light:#ffe7a3;
  --gold-deep:#b98a2e;
  --snow:#fff8ee;
  --snow-dim:rgba(255,248,238,.76);
  --ink:#330006;
  --wa:#1f9d55;
  --line:rgba(255,231,163,.26);
  --panel:rgba(40,0,6,.68);
  --warn:#ffcf7a;
  --ok:#8fe0a8;
  --f-display:"Gilda Display","Didot","Bodoni 72",Georgia,serif;
  --f-body:"Poppins","Avenir Next","Segoe UI",system-ui,sans-serif;
  --gutter-l:max(20px, env(safe-area-inset-left, 0px));
  --gutter-r:max(20px, env(safe-area-inset-right, 0px));
  --tabbar:calc(48px + env(safe-area-inset-bottom, 0px));
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--f-body);
  font-size:15px;
  line-height:1.6;
  color:var(--snow);
  background-color:var(--red-night);
  background-image:radial-gradient(120% 85% at 50% 30%, var(--red) 0%, var(--red-deep) 52%, var(--red-night) 100%);
  background-attachment:fixed;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
@media (min-width:900px){ body{font-size:16px} }

#gl{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}

.side-note{
  position:fixed;z-index:2;left:max(18px, env(safe-area-inset-left, 0px));top:50%;
  margin:0;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;
  font:italic 400 .72rem/1 var(--f-body);letter-spacing:.06em;color:rgba(255,248,238,.5);
  display:none;pointer-events:none;
}
@media (min-width:1360px){ .side-note{display:block} }

main{position:relative;z-index:1}
.chapter{position:relative;min-height:100vh;min-height:100svh;display:flex}
.wrap{
  width:100%;max-width:1240px;margin:0 auto;
  padding-left:var(--gutter-l);padding-right:var(--gutter-r);
  padding-block:4svh var(--tabbar);
}
.slot{min-width:0}
.copy{min-width:0;position:relative}

/* ---------- type ---------- */
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}
h1,h2{font-family:var(--f-display);letter-spacing:-.012em}
h1{font-size:clamp(2.5rem, 1.5rem + 4.6vw, 5.3rem);line-height:1.02;margin:.32em 0 .3em}
h2{font-size:clamp(2.05rem, 1.35rem + 3vw, 3.6rem);line-height:1.05;margin:.36em 0 .34em}
.lede{margin:0;max-width:34em;color:var(--snow-dim);font-size:clamp(.98rem,.92rem + .3vw,1.12rem)}
.gold{
  background:linear-gradient(100deg,var(--gold-deep) 0%,var(--gold-light) 28%,var(--gold) 52%,#fff4cf 72%,var(--gold-deep) 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 7s linear infinite;
}
@keyframes shimmer{to{background-position:-220% 0}}

/* tag bar, from the flyer's gold "14 itens ——— Aprox. 2,1kg" rule */
.tagline{display:flex;align-items:center;gap:10px;max-width:30rem}
.tag{
  flex:none;white-space:nowrap;
  font:600 .66rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  background:linear-gradient(180deg,#ffe8a6,#d9a63e);
  padding:6px 10px 5px;border-radius:3px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 4px 14px -6px rgba(242,193,78,.7);
}
.rule{flex:1 1 auto;min-width:24px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(242,193,78,.35))}

/* ---------- buttons ---------- */
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem}
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:0 1.5rem;border-radius:999px;border:0;cursor:pointer;
  font:600 .95rem/1 var(--f-body);letter-spacing:.01em;text-decoration:none;white-space:nowrap;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background-color .25s,color .25s;
  -webkit-tap-highlight-color:transparent;
}
.btn:focus-visible,.tab:focus-visible,.chip:focus-visible,.step:focus-visible,.link-btn:focus-visible,.copy-btn:focus-visible,.phone a:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.btn-gold{
  color:var(--ink);overflow:hidden;
  background:linear-gradient(180deg,#ffe9ad 0%,#f2c14e 50%,#d39a32 100%);
  box-shadow:0 14px 34px -14px rgba(242,193,78,.8),inset 0 1px 0 rgba(255,255,255,.65);
}
.btn-gold::after{
  content:"";position:absolute;inset:-20% auto -20% -40%;width:30%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  transform:skewX(-20deg) translateX(-120%);transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.btn-gold:hover::after{transform:skewX(-20deg) translateX(560%)}
.btn-gold:hover{box-shadow:0 18px 40px -12px rgba(242,193,78,.95),inset 0 1px 0 rgba(255,255,255,.65)}
.btn-ghost{color:var(--snow);background:rgba(255,248,238,.06);box-shadow:inset 0 0 0 1px var(--line)}
.btn-ghost:hover{background:rgba(255,248,238,.12)}
.btn-wa{color:#fff;background:var(--wa);box-shadow:0 14px 30px -14px rgba(31,157,85,.9)}
.btn-wa:hover{background:#178a48}
.btn-block{width:100%}
.btn:active{transform:scale(.98)}
.btn.loading .lbl{opacity:0}
.btn.loading::before{
  content:"";position:absolute;width:22px;height:22px;border-radius:50%;
  border:2.5px solid rgba(51,0,6,.25);border-top-color:var(--ink);animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.arrow{width:18px;height:18px;flex:none}

/* ---------- 1 · início ---------- */
.hero .wrap{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding-top:0}
.brand{display:flex;justify-content:center;padding-top:clamp(64px,9.5svh,128px)}
.logo{
  width:clamp(118px,30vw,212px);height:auto;display:block;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.35));
  animation:logoIn 1.2s .2s both cubic-bezier(.2,.9,.25,1.2);
}
@keyframes logoIn{from{opacity:0;transform:translateY(-18px) scale(.86)}to{opacity:1;transform:none}}
.hero .slot{flex:1 1 auto;min-height:24svh}
.hero-copy{
  flex:none;
  opacity:calc(1 - var(--exit,0) * 1.4);
  transform:translate3d(0,calc(var(--exit,0) * -70px),0);
}
.hero h1 .w{display:inline-block;animation:rise .95s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(1s + var(--k) * 70ms)}
.hero h1 .w.gold{animation:rise .95s cubic-bezier(.2,.8,.2,1) both,shimmer 7s linear infinite;animation-delay:calc(1s + var(--k) * 70ms),0s}
.hero .tagline{animation:rise .9s .75s cubic-bezier(.2,.8,.2,1) both}
.hero .lede{animation:rise .9s 1.55s cubic-bezier(.2,.8,.2,1) both}
.hero .actions{animation:rise .9s 1.75s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translate3d(0,.7em,0);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.scroll-cue{
  display:flex;align-items:center;gap:12px;margin-top:2.2rem;
  font:500 .72rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,248,238,.6);
  animation:rise .9s 2.2s both;
}
.scroll-cue i{position:relative;display:block;width:56px;height:1px;background:rgba(255,231,163,.3);overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--gold-light);transform:translateX(-100%);animation:cue 2.4s 2.6s ease-in-out infinite}
@keyframes cue{50%{transform:translateX(0)}100%{transform:translateX(100%)}}
@media (max-width:899px){
  .hero .actions .btn-gold{flex:1 1 auto}
}
@media (max-width:599px){
  .hero .actions .btn-ghost{display:none}
}
@media (min-width:900px){
  .hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:48px}
  .brand{grid-column:1 / -1;padding-top:clamp(84px,11vh,124px)}
  .hero-copy{grid-column:1;grid-row:2;align-self:center;padding-bottom:4vh}
  .hero .slot{grid-column:2;grid-row:2;min-height:0}
  .scroll-cue{display:flex}
}

/* ---------- scroll-scrubbed reveal (resting state is fully visible) ---------- */
.rv{
  --p:clamp(0, calc((var(--enter, 4) - var(--i, 0) * .12) * 1.5), 1);
  opacity:var(--p);
  transform:translate3d(0,calc((1 - var(--p)) * 34px),0);
}

/* ---------- cards & form ---------- */
.card{
  position:relative;background:var(--panel);border:1px solid var(--line);border-radius:22px;
  padding:clamp(18px,4.2vw,30px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.65);
}
.card::before{content:"";position:absolute;top:-1px;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),transparent)}
.order .wrap,.how .wrap{display:flex;flex-direction:column}
.order .slot{flex:none;height:24svh;min-height:150px}
.form{display:grid;gap:22px;margin-top:1.6rem}
.field{display:grid;gap:8px;min-width:0}
.field-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.label,label{font:600 .7rem/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}
.control{position:relative}
.input{
  width:100%;height:56px;border-radius:14px;border:1px solid var(--line);
  background:rgba(255,248,238,.06);color:var(--snow);
  font:500 1.1rem/1 var(--f-body);letter-spacing:.03em;padding:0 46px 0 16px;
  font-variant-numeric:tabular-nums;
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.input::placeholder{color:rgba(255,248,238,.32)}
.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(242,193,78,.18);background:rgba(255,248,238,.09)}
.control::after{
  content:"";position:absolute;right:16px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;
  background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.6L13 6.6' fill='none' stroke='%231a3a24' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;
  transform:scale(0);transition:transform .35s cubic-bezier(.2,.9,.25,1.4);
}
.field.valid .control::after{transform:scale(1)}
.field.valid .input{border-color:rgba(143,224,168,.5)}
.field.invalid .input{border-color:var(--warn);box-shadow:0 0 0 4px rgba(255,207,122,.14)}
.msg{margin:0;min-height:1.3em;font-size:.8rem;line-height:1.35;color:var(--snow-dim)}
.field.invalid .msg{color:var(--warn)}
.link-btn{
  background:none;border:0;padding:4px 0;cursor:pointer;color:var(--snow-dim);
  font:500 .76rem/1.2 var(--f-body);text-decoration:underline;text-underline-offset:3px;
}
.link-btn[aria-pressed="true"]{color:var(--gold-light)}
.stepper{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;gap:8px}
.step{
  height:56px;border-radius:14px;border:1px solid var(--line);background:rgba(255,248,238,.06);
  color:var(--gold-light);font:500 1.6rem/1 var(--f-body);cursor:pointer;touch-action:manipulation;
  -webkit-user-select:none;user-select:none;transition:background-color .2s,transform .15s;
}
.step:hover{background:rgba(255,248,238,.12)}
.step:active{transform:scale(.94)}
#qtd{text-align:center;padding:0 12px;font-size:1.4rem;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  min-height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:transparent;
  color:var(--snow-dim);font:500 .85rem/1 var(--f-body);cursor:pointer;font-variant-numeric:tabular-nums;
  transition:background-color .2s,color .2s,border-color .2s;
}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.fine{margin:-6px 0 0;text-align:center;font-size:.78rem;color:rgba(255,248,238,.55)}
.form-error{margin:-6px 0 0;padding:10px 14px;border-radius:12px;background:rgba(255,207,122,.1);border:1px solid rgba(255,207,122,.4);color:var(--warn);font-size:.85rem;line-height:1.4;text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form.shake{animation:shake .45s}
@keyframes shake{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-4px)}80%{transform:translateX(2px)}}

.success{margin-top:1.6rem;text-align:center;outline:none}
.seal{width:76px;height:76px;margin:0 auto 10px;display:block}
.seal circle{stroke-dasharray:220;stroke-dashoffset:220;animation:draw 1s .1s cubic-bezier(.6,0,.2,1) forwards}
.seal path{stroke-dasharray:60;stroke-dashoffset:60;animation:draw .6s .8s cubic-bezier(.6,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.success h3{font:400 clamp(1.8rem,1.4rem + 1.6vw,2.4rem)/1.1 var(--f-display)}
.success p{margin:.5rem auto 0;max-width:30em;color:var(--snow-dim)}
.summary{margin:1.4rem 0 0;display:grid;gap:0;text-align:left;border-top:1px solid var(--line)}
.summary div{display:flex;justify-content:space-between;gap:16px;padding:12px 2px;border-bottom:1px solid var(--line)}
.summary dt{font:600 .7rem/1.6 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}
.summary dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;min-width:0;overflow-wrap:anywhere}
.success .actions{justify-content:center}

@media (min-width:900px){
  .order .wrap{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);column-gap:56px;align-items:center;padding-block:9vh var(--tabbar)}
  .order .slot{height:auto;align-self:stretch;min-height:60vh}
  .order .copy{max-width:600px}
}

/* ---------- 3 · como funciona ---------- */
.how .slot{flex:none;height:27svh;min-height:170px}
.steps{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:12px}
.steps li{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;
  padding:18px;border-radius:18px;background:rgba(40,0,6,.55);border:1px solid rgba(255,231,163,.14);
}
.num{
  display:grid;place-items:center;width:36px;height:30px;border-radius:4px;
  font:600 .82rem/1 var(--f-body);color:var(--ink);font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#ffe8a6,#d9a63e);box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.steps h3{font:600 1.02rem/1.3 var(--f-body);margin:3px 0 4px}
.steps p{margin:0;font-size:.92rem;color:var(--snow-dim)}
.facts{margin:1.6rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.facts div{display:grid;gap:4px;align-content:start;padding-top:12px;border-top:1px solid var(--line);min-width:0}
.facts dt{font:600 .64rem/1.3 var(--f-body);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,231,163,.85)}
.facts dd{margin:0;font:400 clamp(1.25rem,1rem + 1.2vw,1.9rem)/1.1 var(--f-display);color:var(--snow)}
@media (min-width:900px){
  .how .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:56px;align-items:center;padding-block:9vh var(--tabbar)}
  .how .copy{grid-column:1;grid-row:1;max-width:600px}
  .how .slot{grid-column:2;grid-row:1;height:auto;align-self:stretch;min-height:60vh}
}

/* ---------- 3b · cestas ---------- */
.cestas .wrap{display:block;padding-block:7svh var(--tabbar)}
.cestas-head{max-width:640px}
.picker,.rail{position:relative;scrollbar-width:none;margin-left:calc(var(--gutter-l) * -1);margin-right:calc(var(--gutter-r) * -1);padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.picker::-webkit-scrollbar,.rail::-webkit-scrollbar{display:none}
.picker{display:flex;gap:8px;margin-top:1.5rem;padding-block:4px 6px;overflow-x:auto}
.pick{flex:none;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(40,0,6,.5);color:var(--snow-dim);font:500 .85rem/1 var(--f-body);cursor:pointer;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s}
.pick:hover{border-color:var(--gold)}
.pick[aria-current="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600}
.pick:focus-visible,.stage3d:focus-visible,.arrow-btn:focus-visible,.rail:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.rail{display:flex;align-items:flex-start;gap:14px;margin-top:14px;padding-block:4px 10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter-l);overscroll-behavior-x:contain}
.cesta{
  flex:0 0 min(86%,440px);scroll-snap-align:center;display:grid;gap:4px;align-content:start;min-width:0;
  background:linear-gradient(180deg,rgba(62,2,10,.74),rgba(34,0,5,.82));border:1px solid var(--line);border-radius:24px;padding:6px 18px 20px;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.7);
}
.stage3d{
  position:relative;display:grid;place-items:center;width:100%;height:290px;padding:0;border:0;border-radius:18px;cursor:pointer;
  perspective:900px;background:radial-gradient(55% 50% at 50% 52%,rgba(255,196,96,.22),transparent 72%);-webkit-tap-highlight-color:transparent;
}
.float{display:block;transform-style:preserve-3d;animation:bob 5.5s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-12px)}}
.ground{position:absolute;left:21%;right:21%;bottom:14px;height:22px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);animation:shade 5.5s ease-in-out infinite}
@keyframes shade{50%{transform:scale(.8);opacity:.65}}
.box3d{--u:calc(1.02px * var(--kz,1));display:block;position:relative;width:calc(var(--w) * var(--u));height:calc(var(--h) * var(--u));transform-style:preserve-3d;transform:rotateX(-12deg) rotateY(-28deg)}
.k-orange .box3d{--w:150;--h:205;--d:80;--kz:.86}
.k-green .box3d{--w:150;--h:240;--d:85;--kz:.92}
.k-red .box3d{--w:170;--h:220;--d:112;--kz:1}
.face{position:absolute;left:50%;top:50%;display:block;background-size:100% 100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.face::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,250,235,.2) 50%,transparent 62%);background-size:260% 100%;background-position:calc(var(--gl,.5) * 100%) 0}
.face::after{content:"";position:absolute;inset:0;background:#120002;opacity:var(--sh,0)}
.f-front,.f-back{width:calc(var(--w) * var(--u));height:calc(var(--h) * var(--u));margin:calc(var(--h) * var(--u) / -2) 0 0 calc(var(--w) * var(--u) / -2)}
.f-front{transform:translateZ(calc(var(--d) * var(--u) / 2))}
.f-back{transform:rotateY(180deg) translateZ(calc(var(--d) * var(--u) / 2))}
.f-right,.f-left{width:calc(var(--d) * var(--u));height:calc(var(--h) * var(--u));margin:calc(var(--h) * var(--u) / -2) 0 0 calc(var(--d) * var(--u) / -2)}
.f-right{transform:rotateY(90deg) translateZ(calc(var(--w) * var(--u) / 2))}
.f-left{transform:rotateY(-90deg) translateZ(calc(var(--w) * var(--u) / 2))}
.f-top,.f-bottom{width:calc(var(--w) * var(--u));height:calc(var(--d) * var(--u));margin:calc(var(--d) * var(--u) / -2) 0 0 calc(var(--w) * var(--u) / -2)}
.f-top{transform:rotateX(90deg) translateZ(calc(var(--h) * var(--u) / 2))}
.f-bottom{transform:rotateX(-90deg) translateZ(calc(var(--h) * var(--u) / 2));background:#2a0606}
.k-orange .f-front,.k-orange .f-back{background-image:url("../img/caixa-laranja-frente.webp?v=1a315af3")}
.k-orange .f-right,.k-orange .f-left{background-image:url("../img/caixa-laranja-lateral.webp?v=e198cbde")}
.k-orange .f-top{background-image:url("../img/caixa-laranja-topo.webp?v=1a5c8095")}
.k-green .f-front,.k-green .f-back{background-image:url("../img/caixa-verde-frente.webp?v=39577db0")}
.k-green .f-right,.k-green .f-left{background-image:url("../img/caixa-verde-lateral.webp?v=195e3ea7")}
.k-green .f-top{background-image:url("../img/caixa-verde-topo.webp?v=89bd768d")}
.k-red .f-front,.k-red .f-back{background-image:url("../img/caixa-vermelha-frente.webp?v=232998ce")}
.k-red .f-right,.k-red .f-left{background-image:url("../img/caixa-vermelha-lateral.webp?v=c4ef50f1")}
.k-red .f-top{background-image:url("../img/caixa-vermelha-topo.webp?v=8f6a23c5")}
.cesta-info{min-width:0;display:grid;gap:12px;padding:0 2px}
.cesta-info h3{font:400 clamp(1.9rem,1.5rem + 1.6vw,2.7rem)/1.05 var(--f-display);letter-spacing:-.01em}
.cesta-info .tagline{max-width:none}
.items{list-style:none;margin:2px 0 0;padding:0;columns:2;column-gap:14px}
.items li{display:flex;align-items:baseline;gap:8px;break-inside:avoid;padding:3px 0;font-size:.8rem;line-height:1.35;color:var(--snow)}
.q{flex:none;display:inline-grid;place-items:center;min-width:24px;height:18px;border-radius:3px;font:600 .64rem/1 var(--f-body);color:var(--ink);background:linear-gradient(180deg,#ffe8a6,#d9a63e);font-variant-numeric:tabular-nums;transform:translateY(3px)}
.card-cta{justify-self:start;min-height:44px;padding:0 1.2rem;font-size:.86rem;margin-top:4px}
.cesta.play .items li{animation:itemIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--n,0) * 22ms + 100ms)}
@keyframes itemIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.more{justify-self:start;background:none;border:0;padding:6px 0;cursor:pointer;color:var(--gold-light);font:600 .82rem/1.2 var(--f-body);text-decoration:underline;text-underline-offset:3px}
.more:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
@media (max-width:899px){
  .items{columns:1}
  .items li{font-size:.86rem;padding:2px 0}
  .cesta:not(.open) .items li:nth-child(n+7){display:none}
}
.rail-ctrl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}
.arrow-btn{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(40,0,6,.55);color:var(--gold-light);cursor:pointer;transition:background-color .2s,opacity .2s}
.arrow-btn:hover{background:rgba(255,248,238,.1)}
.arrow-btn:disabled{opacity:.35;cursor:default}
.count{min-width:56px;text-align:center;font:500 .85rem/1 var(--f-body);color:var(--snow-dim);font-variant-numeric:tabular-nums}
.rail-note{margin:14px 0 0;text-align:center;font-size:.74rem;color:rgba(255,248,238,.55)}
@media (min-width:900px){
  .cestas .wrap{padding-block:9vh var(--tabbar)}
  .picker,.rail{margin-inline:0;padding-inline:0}
  .picker{flex-wrap:wrap;overflow:visible}
  .rail{scroll-padding-inline:0}
  .cesta{flex:0 0 100%;scroll-snap-align:start;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:20px;padding:20px 36px 20px 12px}
  .stage3d{height:460px}
  .box3d{--u:calc(1.5px * var(--kz,1))}
  .more{display:none}
  .items{columns:3;column-gap:18px}
  .items li{font-size:.86rem}
}

/* ---------- 4 · contato ---------- */
.contact .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.contact .slot{flex:none;width:100%;height:30svh;min-height:180px}
.contact .copy{width:100%;max-width:640px;display:flex;flex-direction:column;align-items:center}
.contact .tagline{width:100%;max-width:26rem}
.contact .lede{margin-inline:auto}
.phones{display:grid;gap:12px;width:min(100%,460px);margin-top:1.8rem}
.phone{
  display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:var(--snow);
  box-shadow:0 18px 40px -18px rgba(0,0,0,.7),0 0 0 4px rgba(255,248,238,.14);
}
.phone a{
  flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px;border-radius:999px;
  text-decoration:none;color:var(--red-deep);font:700 clamp(1.08rem,.95rem + 1vw,1.45rem)/1 var(--f-body);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--wa);color:#fff}
.ico svg{width:22px;height:22px}
.copy-btn{
  flex:none;height:46px;padding:0 16px;border-radius:999px;border:0;cursor:pointer;
  background:rgba(92,7,16,.08);color:var(--red-deep);font:600 .78rem/1 var(--f-body);
  transition:background-color .2s,color .2s;
}
.copy-btn:hover{background:rgba(92,7,16,.14)}
.copy-btn.done{background:var(--red-deep);color:var(--snow)}
.cta-wrap{margin-top:1.9rem;width:min(100%,420px);display:flex}
.btn-big{flex:1 1 auto;min-height:60px;font-size:1.05rem}
.alt-cta{margin-top:1.5rem;font-size:.92rem;color:var(--snow-dim)}
.alt-cta a{color:var(--gold-light);font-weight:600;text-underline-offset:3px}
.foot{margin-top:2.6rem;display:grid;justify-items:center;gap:6px;font-size:.78rem;color:rgba(255,248,238,.6)}
.foot img{width:84px;height:auto;opacity:.95}
.foot p{margin:0}
@media (max-width:380px){ .copy-btn{padding:0 12px} .ico{width:40px;height:40px} }
@media (min-width:900px){ .contact .wrap{padding-block:6vh var(--tabbar)} .contact .slot{height:36vh} }

/* ---------- fallbacks & motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1!important;transform:none!important}
  .hero-copy{transform:none}
}
