/* Dita Presentes */
@font-face{font-family:"Cormorant";src:url(../assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(../assets/fonts/jost-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Jost";src:url(../assets/fonts/jost-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Sacramento";src:url(../assets/fonts/sacramento-latin-400-normal.woff2) format("woff2");font-display:swap}

:root{
  --creme:#fbf1e9; --creme2:#f7e7db; --papel:#fffaf5; --blush:#f3d8ca; --rosa:#e7b7a2;
  --rose:#dd9f85; --cobre:#a85a3a; --cobre2:#84432b; --cafe:#55291c; --texto:#6b4234; --kraft:#dcb68f;
  --serif:"Cormorant",Georgia,serif; --sans:"Jost",system-ui,sans-serif; --script:"Sacramento",cursive;
  --sombra:0 14px 34px -18px rgba(132,67,43,.45);
  --mola:cubic-bezier(.34,1.56,.64,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--texto);font:400 1.0625rem/1.65 var(--sans);font-variant-numeric:lining-nums;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--cafe);line-height:1.08;margin:0;text-wrap:balance}
h2{font-size:clamp(2.1rem,4.4vw,3.3rem)}
h3{font-size:1.6rem}
p{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
a{color:inherit}
:focus-visible{outline:2.5px solid var(--cobre);outline-offset:3px;border-radius:6px}
[id]{scroll-margin-top:92px}
.pular{position:absolute;left:-999px;top:8px;background:var(--cafe);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.pular:focus{left:8px}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 28px;border:1.5px solid var(--cobre);border-radius:999px;background:var(--cobre);color:var(--papel);font:500 1rem var(--sans);text-decoration:none;cursor:pointer;transition:transform .25s var(--mola),background .25s,color .25s,box-shadow .25s}
.btn:hover{background:var(--cobre2);border-color:var(--cobre2);transform:translateY(-2px);box-shadow:var(--sombra)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn-linha{background:transparent;color:var(--cobre2)}
.btn-linha:hover{color:var(--papel)}
.btn-claro{background:var(--papel);border-color:var(--papel);color:var(--cobre2)}
.btn-claro:hover{background:var(--blush);border-color:var(--blush);color:var(--cafe)}
.btn-peq{min-height:42px;padding:0 20px;font-size:.95rem}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:rgba(251,241,233,.88);backdrop-filter:blur(10px);transition:box-shadow .3s}
.topo.rolou{box-shadow:0 8px 24px -20px rgba(85,41,28,.6)}
.topo-in{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:8px 24px}
.marca img{height:70px;width:auto}
.menu{display:flex;align-items:center;gap:28px}
.menu a:not(.btn){font-size:1rem;text-decoration:none;color:var(--cafe);background:linear-gradient(var(--cobre),var(--cobre)) left bottom/0 1.5px no-repeat;transition:background-size .3s;padding:4px 0}
.menu a:not(.btn):hover{background-size:100% 1.5px}
.menu-btn{display:none;width:46px;height:46px;border:0;background:none;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:11px;right:11px;height:2px;background:var(--cobre2);transition:transform .3s,top .3s}
.menu-btn span:first-child{top:18px}.menu-btn span:last-child{top:27px}
.menu-btn[aria-expanded=true] span:first-child{top:22px;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] span:last-child{top:22px;transform:rotate(-45deg)}

/* início */
.hero{position:relative;overflow:hidden}
.hero-in{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;padding:36px 24px 72px}
.sobre{letter-spacing:.22em;text-transform:uppercase;font-size:.82rem;color:var(--cobre2);margin-bottom:18px}
h1{font-size:clamp(2.7rem,5.6vw,4.4rem);line-height:1}
h1 .script,.script{font-family:var(--script);font-weight:400;color:var(--cobre)}
h1 .script{display:block;font-size:.98em;line-height:1.2;margin-top:.16em;padding:.1em .5em .14em .3em;margin-left:-.3em;width:fit-content;white-space:nowrap;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 120' preserveAspectRatio='none'%3E%3Cpath fill='%23f3d8ca' d='M8 34C60 12 180 8 300 10s250 2 288 18c10 18 8 52-6 66-60 18-190 20-300 18S60 112 16 96C2 80 0 50 8 34z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero-sub{max-width:33em;margin:22px 0 28px;font-size:1.14rem}
.hero-acoes{display:flex;flex-wrap:wrap;gap:12px}
.proxima-data{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:.98rem;color:var(--cobre2);text-underline-offset:3px}
.proxima-data::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 0 rgba(221,159,133,.6);animation:pulso 2.6s infinite}
@keyframes pulso{70%{box-shadow:0 0 0 9px rgba(221,159,133,0)}100%{box-shadow:0 0 0 0 rgba(221,159,133,0)}}

.hero-foto{position:relative;max-width:470px;justify-self:center;width:100%}
.arco{position:relative;z-index:1;border-radius:999px 999px 26px 26px;overflow:hidden;aspect-ratio:.72;box-shadow:var(--sombra);outline:1.5px solid var(--rosa);outline-offset:9px}
.arco img{width:100%;height:100%;object-fit:cover;object-position:50% 72%}
.fita-hero{position:absolute;left:-74%;bottom:-6%;width:190%;max-width:none;z-index:0;pointer-events:none;overflow:visible}
.traco{fill:none;stroke:var(--cobre);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.js .traco{stroke-dashoffset:1;animation:desenha 3s .4s ease-out forwards}
@keyframes desenha{to{stroke-dashoffset:0}}
.tag-hero{position:absolute;z-index:2;left:-44px;top:16%;width:150px;padding:30px 14px 16px;background:var(--papel);text-align:center;font:500 1.14rem/1.2 var(--serif);color:var(--cobre2);clip-path:polygon(22% 0,78% 0,100% 16%,100% 100%,0 100%,0 16%);transform-origin:50% 10px;animation:balanca 5.5s ease-in-out infinite;filter:drop-shadow(0 8px 12px rgba(132,67,43,.22))}
.tag-hero em{display:block}
.furo{display:block;width:12px;height:12px;border-radius:50%;background:var(--creme2);box-shadow:inset 0 1px 2px rgba(85,41,28,.3);margin:0 auto}
.tag-hero .furo{position:absolute;left:50%;top:10px;margin-left:-6px}
@keyframes balanca{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(4deg)}}

/* seções */
.sec{max-width:1200px;margin:auto;padding:84px 24px}
.cab{max-width:720px;margin:0 auto 46px;text-align:center}
.cab p:last-child:not(.script-sobre){margin-top:14px}
.script-sobre{font:400 1.95rem/1 var(--script);color:var(--cobre);margin-bottom:8px}

/* o que fazemos */
.frentes{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:22px}
.frente{position:relative;border-radius:28px;padding:32px;overflow:hidden;transition:transform .35s var(--mola)}
.frente:hover{transform:translateY(-5px)}
.frente:hover .ilu-g{transform:rotate(-4deg) scale(1.05)}
.frente h3{margin-bottom:8px;font-size:1.95rem}
.frente p{max-width:30em}
.frente-a{grid-row:span 2;background:var(--blush);display:flex;flex-direction:column;justify-content:flex-end}
.frente-a .ilu-g{width:min(220px,60%);height:auto;aspect-ratio:1;margin:auto auto 16px}
.frente-b{background:var(--papel)}
.frente-c{background:var(--creme2)}
.frente-b,.frente-c{padding-right:150px;min-height:220px}
.frente-b .ilu-g,.frente-c .ilu-g{position:absolute;right:16px;top:50%;width:130px;height:130px;margin-top:-65px}
.ilu-g{transition:transform .5s var(--mola)}
.seta{display:inline-block;margin-top:14px;font-weight:500;color:var(--cobre2);text-underline-offset:4px}
.seta::after{content:" →";transition:margin .25s}
.seta:hover::after{margin-left:5px}

/* catálogo */
.sec-catalogo{padding-top:20px}
.filtros{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px}
.filtro{min-height:44px;padding:0 20px;border:1.5px solid var(--rosa);border-radius:999px;background:transparent;color:var(--cobre2);font:500 1rem var(--sans);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.filtro:hover{border-color:var(--cobre)}
.filtro[aria-pressed=true]{background:var(--cobre);border-color:var(--cobre);color:var(--papel)}
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.item{position:relative;display:flex;flex-direction:column;background:var(--papel);border-radius:22px;padding:22px 20px 20px;transition:transform .35s var(--mola),box-shadow .35s}
.item:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:var(--sombra)}
.item[hidden]{display:none}
.item.entra{animation:entra .45s var(--mola) both}
@keyframes entra{from{opacity:0;transform:translateY(14px) scale(.97)}}
.ilu{position:relative;height:150px;display:grid;place-items:center;margin-bottom:12px}
.ilu::before{content:"";position:absolute;width:128px;height:118px;background:var(--blush);border-radius:58% 42% 52% 48%/48% 56% 44% 52%;transition:border-radius .6s,transform .6s}
.item:nth-child(even) .ilu::before{background:var(--creme2);border-radius:44% 56% 46% 54%/56% 44% 56% 44%}
.item:hover .ilu::before{border-radius:46% 54% 58% 42%/56% 46% 54% 44%;transform:rotate(14deg) scale(1.06)}
.ilu svg{position:relative;width:128px;height:128px;transition:transform .45s var(--mola)}
.item:hover .ilu svg{transform:translateY(-4px)}
.cat{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cobre2)}
.item h3{margin:2px 0 6px;font-size:1.5rem}
.item p:not(.cat){font-size:.98rem;line-height:1.5;margin-bottom:14px}
.pedir{margin-top:auto;align-self:flex-start;font-weight:500;color:var(--cobre2);text-underline-offset:4px;padding:6px 0}
.pedir:hover{color:var(--cobre)}

/* varal */
.sec-datas{max-width:none;background:var(--creme2);padding-left:0;padding-right:0}
.sec-datas .cab{padding:0 24px}
.varal{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:max(24px,calc(50vw - 576px));padding:18px max(24px,calc(50vw - 576px)) 26px;scrollbar-width:thin;scrollbar-color:var(--rosa) transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40' preserveAspectRatio='none'%3E%3Cpath d='M0 10C100 30 300 30 400 10' fill='none' stroke='%23a85a3a' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0 6px/400px 40px repeat-x;background-attachment:local}
.varal li{flex:0 0 172px;scroll-snap-align:start;padding-top:14px}
.varal li:nth-child(odd){padding-top:22px}
.etiqueta{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:176px;padding:18px 14px 18px;background:var(--papel);text-align:center;text-decoration:none;clip-path:polygon(24% 0,76% 0,100% 15%,100% 100%,0 100%,0 15%);transform-origin:50% 12px;transition:background .3s;animation:balanca2 6s ease-in-out infinite}
.varal li:nth-child(3n) .etiqueta{animation-delay:-2s}
.varal li:nth-child(3n+1) .etiqueta{animation-delay:-4s}
@keyframes balanca2{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
.etiqueta:hover{background:var(--blush)}
.etiqueta .furo{margin-bottom:12px;background:var(--creme2)}
.etiqueta strong{font:600 1.5rem/1.05 var(--serif);color:var(--cafe)}
.quando{font-size:.95rem;line-height:1.25}
.falta{margin-top:auto;font:400 1.3rem/1 var(--script);color:var(--cobre)}
.etiqueta.proxima{background:var(--cobre)}
.etiqueta.proxima strong,.etiqueta.proxima .quando,.etiqueta.proxima .falta{color:var(--papel)}
.etiqueta.proxima:hover{background:var(--cobre2)}

/* kit festa */
.festa{position:relative;background:var(--cobre2);color:#f8e5da;overflow:hidden;padding:120px 24px 84px}
.bandeirolas{position:absolute;inset:0 0 auto 0;width:100%;height:110px}
.bandeirolas polygon{transform-origin:50% 0;transform-box:fill-box;animation:vento 4.5s ease-in-out infinite}
@keyframes vento{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.festa-in{max-width:1152px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.festa h2{color:var(--papel);margin-bottom:16px}
.festa .script-sobre{color:var(--blush)}
.festa .btn{margin-top:26px}
.festa-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.festa-lista li{background:var(--papel);border-radius:18px;padding:14px 8px 12px;text-align:center;color:var(--cafe);font-weight:500;font-size:.98rem;line-height:1.2;transition:transform .35s var(--mola)}
.festa-lista li:nth-child(even){transform:translateY(12px)}
.festa-lista li:hover{transform:translateY(-4px) rotate(-2deg)}
.festa-lista svg{width:84px;height:84px;margin:0 auto 4px}

/* quiz */
.sec-quiz{max-width:none;background:var(--blush);padding-left:24px;padding-right:24px}
.quiz{max-width:1080px;margin:auto;display:grid;grid-template-columns:.86fr 1fr;gap:34px;align-items:center}
.palco{position:sticky;top:110px;text-align:center}
.caixa{width:100%;max-width:400px;margin:auto;overflow:visible;transform:scale(var(--escala,1));transform-origin:50% 92%;transition:transform .5s var(--mola)}
.palco-valor{min-height:2.2em;font:400 1.9rem/1.1 var(--script);color:var(--cobre2)}
.peca{opacity:0;transform:translateY(-64px) scale(.86);transform-box:fill-box;transform-origin:50% 100%;transition:opacity .25s,transform .55s var(--mola)}
.peca.on{opacity:1;transform:none}
.laco-fita{opacity:0;transition:opacity .4s}
.laco{opacity:0;transform:scale(.3);transform-box:fill-box;transform-origin:50% 25%;transition:opacity .3s,transform .7s var(--mola)}
.caixa.pronta .laco-fita,.caixa.pronta .laco{opacity:1;transform:none}
.etq{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .4s var(--mola)}
.etq.on{opacity:1;transform:none}
#etq-txt{font:500 italic 15px var(--serif);fill:var(--cobre2)}
.quiz-cartao{background:var(--papel);border-radius:26px;padding:30px;box-shadow:var(--sombra);min-height:470px;display:flex;flex-direction:column}
.quiz-barra{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:.92rem;color:var(--cobre2);white-space:nowrap}
.quiz-barra[hidden]{display:none}
.trilha{flex:1;height:5px;border-radius:9px;background:var(--creme2);overflow:hidden}
.trilha i{display:block;height:100%;width:0;border-radius:9px;background:var(--cobre);transition:width .45s ease}
#quiz-corpo{flex:1;display:flex;flex-direction:column}
.passo{flex:1;display:flex;flex-direction:column;animation:passo .4s ease both}
@keyframes passo{from{opacity:0;transform:translateX(14px)}}
.passo h3{font-size:clamp(1.7rem,3.4vw,2.1rem);margin-bottom:6px;outline:0}
.passo-sub{margin-bottom:6px;font-size:1rem}
.opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.opcoes.uma{grid-template-columns:1fr}
.opc{position:relative;min-height:54px;padding:10px 14px;border:1.5px solid var(--blush);border-radius:14px;background:var(--papel);color:var(--cafe);font:400 1.02rem/1.25 var(--sans);text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .3s var(--mola)}
.opc small{display:block;font-size:.88rem;color:var(--texto)}
.opc:hover{border-color:var(--rose);transform:translateY(-2px)}
.opc[aria-pressed=true]{background:var(--blush);border-color:var(--cobre)}
.opc .selo{display:inline-block;margin-left:6px;padding:0 8px;border-radius:9px;background:var(--cobre);color:var(--papel);font-size:.76rem;vertical-align:1px}
.quiz-nav{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.voltar{min-height:44px;padding:0 6px;border:0;background:none;color:var(--cobre2);font:500 1rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.quiz-nav .btn:only-child{margin-left:auto}
.faixa{margin:20px 0 6px;text-align:center}
.faixa output{display:block;font:600 3rem/1 var(--serif);color:var(--cobre2)}
.faixa span{display:block;margin:4px 0 14px;font:400 1.6rem/1 var(--script);color:var(--cobre)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:none;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:9px;background:linear-gradient(90deg,var(--cobre) var(--p,20%),var(--creme2) var(--p,20%))}
input[type=range]::-moz-range-track{height:6px;border-radius:9px;background:var(--creme2)}
input[type=range]::-moz-range-progress{height:6px;border-radius:9px;background:var(--cobre)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;border:3px solid var(--papel);border-radius:50%;background:var(--cobre);box-shadow:0 2px 6px rgba(85,41,28,.35)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid var(--papel);border-radius:50%;background:var(--cobre)}
.limites{display:flex;justify-content:space-between;font-size:.9rem}
.marcar{display:flex;align-items:center;gap:10px;margin-top:14px;cursor:pointer}
.marcar input{width:20px;height:20px;accent-color:var(--cobre)}
.campos{display:grid;gap:14px;margin:16px 0}
.campos label{display:block;font-weight:500;color:var(--cafe);font-size:.98rem}
.campos input,.campos textarea{display:block;width:100%;margin-top:5px;padding:12px 14px;border:1.5px solid var(--blush);border-radius:12px;background:#fff;color:var(--cafe);font:400 1rem var(--sans)}
.campos input:focus,.campos textarea:focus{outline:0;border-color:var(--cobre)}
.campos textarea{min-height:76px;resize:vertical}
.erro{color:#a3322a;font-size:.92rem;margin-top:4px}
.resultado{text-align:center}
.resultado .script{font-size:2rem;line-height:1}
.resultado h3{margin:6px 0 2px}
.resultado-lista{margin:16px 0;padding:14px 18px;border:1.5px dashed var(--rosa);border-radius:14px;text-align:left}
.resultado-lista li{display:flex;justify-content:space-between;gap:14px;padding:5px 0;font-size:1rem;line-height:1.3}
.resultado-lista li span:first-child{color:var(--cobre2)}
.resultado-lista li span:last-child{color:var(--cafe);text-align:right;font-weight:500}
.nota{font-size:.93rem;margin-bottom:16px}
.resultado .btn{width:100%}
.resultado .voltar{margin-top:8px}
.coracaozinho{position:absolute;width:18px;height:18px;fill:var(--cobre);pointer-events:none;animation:sobe 1.8s ease-out forwards}
@keyframes sobe{to{transform:translate(var(--dx),-210px) rotate(var(--dr)) scale(.5);opacity:0}}

/* como funciona */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.passos::before{content:"";position:absolute;left:8%;right:8%;top:27px;border-top:1.6px dashed var(--rosa)}
.passos li{position:relative;text-align:center}
.num{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--blush);box-shadow:0 0 0 8px var(--creme);font:600 1.6rem var(--serif);color:var(--cobre2)}
.passos h3{margin-bottom:6px}

/* família e dúvidas */
.sec-familia{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start;padding-top:30px}
.familia{text-align:center;background:var(--papel);border-radius:28px;padding:34px 30px}
.familia img{width:210px;margin:0 auto 14px}
.familia .script{font-size:2.1rem;line-height:1.1;margin-bottom:10px}
.faq h2{margin-bottom:18px}
.faq details{border-bottom:1.5px solid var(--blush)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 0;font:600 1.35rem/1.2 var(--serif);color:var(--cafe);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:400 1.6rem var(--sans);color:var(--cobre);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 30px 16px 0}

/* rodapé */
.rodape{background:var(--cafe);color:#f3dfd3;padding:56px 24px 24px}
.rodape-in{max-width:1152px;margin:auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.rodape .script{color:var(--blush);font-size:clamp(2.2rem,4.5vw,3rem);line-height:1.1;margin-bottom:16px}
.contatos{display:grid;gap:10px}
.contatos a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:1.1rem;text-decoration:none}
.contatos a:hover{text-decoration:underline;text-underline-offset:4px}
.contatos svg{width:24px;height:24px}
.rodape-fim{max-width:1152px;margin:34px auto 0;padding-top:18px;border-top:1px solid rgba(243,216,202,.2);font-size:.92rem}

.whats-flutuante{position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--cobre);color:var(--papel);box-shadow:0 10px 24px -8px rgba(85,41,28,.6);transition:transform .3s var(--mola),background .25s,opacity .25s}
.whats-flutuante:hover{transform:scale(1.08);background:var(--cobre2)}
.whats-flutuante.some{opacity:0;pointer-events:none;transform:scale(.7)}
.whats-flutuante svg{width:30px;height:30px}

/* revelar ao rolar */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
.js .frente.rv.in{transition:opacity .7s ease,transform .35s var(--mola)}

@media (max-width:1000px){
  .grade{grid-template-columns:repeat(3,1fr)}
  .menu{gap:18px}
  .passos{grid-template-columns:1fr 1fr}
  .passos::before{display:none}
  .sec-familia{grid-template-columns:1fr;gap:40px}
}
@media (max-width:860px){
  .menu-btn{display:block}
  .menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 20px;background:var(--creme);box-shadow:0 18px 24px -20px rgba(85,41,28,.5);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
  .menu.aberto{visibility:visible;opacity:1;transform:none}
  .menu a:not(.btn){padding:13px 0;border-bottom:1px solid var(--blush);font-size:1.08rem}
  .menu .btn{margin-top:14px}
  .hero-in{grid-template-columns:1fr;gap:40px;padding-top:20px;padding-bottom:56px}
  .hero-foto{max-width:360px}
  .tag-hero{left:-12px;width:124px;font-size:1rem}
  .fita-hero{left:-40%;width:180%}
  .frentes{grid-template-columns:1fr}
  .frente-a{grid-row:auto}
  .festa-in{grid-template-columns:1fr;gap:36px}
  .quiz{grid-template-columns:1fr;gap:10px}
  .palco{position:relative;top:auto}
  .caixa{max-width:230px}
  .palco-valor{min-height:1.2em;font-size:1.6rem}
  .quiz-cartao{min-height:0}
}
@media (max-width:620px){
  body{font-size:1rem}
  .sec{padding:60px 18px}
  .sec-datas{padding-left:0;padding-right:0}
  .sec-catalogo{padding-top:10px}
  .sec-familia{padding-top:10px}
  .topo-in{padding:6px 16px}
  .marca img{height:54px}
  .hero-in{padding-left:18px;padding-right:18px}
  .hero-acoes .btn{flex:1 1 100%}
  .grade{grid-template-columns:1fr 1fr;gap:12px}
  .item{padding:14px 13px}
  .ilu{height:112px}.ilu::before{width:96px;height:90px}.ilu svg{width:98px;height:98px}
  .item h3{font-size:1.3rem}
  .item p:not(.cat){font-size:.93rem}
  .frente{padding:24px}
  .frente-b,.frente-c{padding-right:24px;padding-top:124px;min-height:0}
  .frente-b .ilu-g,.frente-c .ilu-g{top:14px;left:18px;right:auto;margin:0;width:104px;height:104px}
  .festa{padding:96px 18px 66px}
  .festa-lista{grid-template-columns:1fr 1fr}
  .festa-lista li:nth-child(even){transform:none}
  .sec-quiz{padding-left:14px;padding-right:14px}
  .quiz-cartao{padding:22px 16px}
  .opc{padding:10px 12px;font-size:.98rem}
  .passos{grid-template-columns:1fr}
  .rodape{padding-bottom:92px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
  .js .traco{stroke-dashoffset:0}
}
