/* Página inicial — a página é a própria carta */
.hm{--gold:#d8a58e}
.topbar2{position:relative;z-index:5;max-width:520px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 14px) 22px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand2{font:italic 19px 'Lora',serif;color:var(--rose2);text-decoration:none}
.hm .wrap{max-width:520px;padding:0 22px}
.hero2{padding:34px 0 28px;text-align:center}
.hero2 h1{font-size:clamp(34px,10vw,46px);line-height:1.1;letter-spacing:-.01em;margin-bottom:14px;text-wrap:balance}
.hero2 .lead{color:var(--mut);font-size:16px;line-height:1.6;max-width:400px;margin:0 auto}
.to{margin-top:34px;font-size:13px;color:var(--mut);min-height:20px}
.env{position:relative;width:min(310px,80vw);height:200px;margin:70px auto 0;cursor:pointer;-webkit-user-select:none;user-select:none}
.env .bk{position:absolute;inset:0;border-radius:14px;background:linear-gradient(160deg,#3a1b40,#241028);border:1px solid #5d3a5b;box-shadow:0 24px 50px -18px #000}
.env .paper{position:absolute;left:14px;right:14px;top:30px;height:170px;z-index:2;background:#f2e9df;border-radius:6px;color:#4a3340;padding:16px 18px;text-align:left;font:15px/1.5 'Lora',serif;transition:transform .7s ease;box-shadow:0 -6px 20px -10px #0006}
.env .paper b{display:block;font-weight:500;font-style:italic;margin-bottom:4px}
.env .paper span{font-size:13.5px;color:#6b5260}
.env .pocket{position:absolute;inset:0;z-index:3;border-radius:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234a2450'/%3E%3Cstop offset='1' stop-color='%232e1634'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 0L50 52L100 0L100 100L0 100Z' fill='url(%23g)'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.env .flap{position:absolute;left:0;right:0;top:0;height:100%;z-index:4;border-radius:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%2352295a'/%3E%3Cstop offset='1' stop-color='%233a1b40'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 0L100 0L50 52Z' fill='url(%23g)'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;transform-origin:50% 0;transition:transform .5s ease .45s,z-index 0s .75s}
.env .sealb{position:absolute;left:50%;top:62%;width:58px;height:58px;margin:-29px 0 0 -29px;border:0;border-radius:50%;display:grid;place-items:center;font:italic 28px 'Lora',serif;color:#4a2418;
 background:radial-gradient(circle at 35% 30%,#ecc3ab,#a8705a 72%);box-shadow:0 8px 20px -4px #000,0 0 36px -6px #d8a58e88;transition:transform .5s,opacity .5s;z-index:5;animation:stampin .7s cubic-bezier(.2,1.4,.4,1) .2s backwards}
@keyframes stampin{from{transform:scale(1.7);opacity:0}to{transform:none;opacity:1}}
.env.open .flap{transform:perspective(900px) rotateX(180deg);z-index:1;transition:transform .5s ease,z-index 0s .25s}
.env.open .sealb{transform:translateY(-20px) scale(.6);opacity:0;pointer-events:none}
.env.open .paper{transform:translateY(-95px);transition:transform .8s cubic-bezier(.3,.7,.2,1) .3s}
.tip{margin-top:20px;font-size:13px;color:var(--mut);min-height:20px;transition:opacity .4s}
.env.open + .tip{opacity:0}
.names{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px auto 0;max-width:380px;text-align:left}
.names label{display:block;font-size:12.5px;color:var(--mut);margin-bottom:6px}
.names input{width:100%;height:50px;border-radius:14px;border:1px solid var(--line);background:#ffffff0d;padding:0 14px;font-size:16px;outline:none}
.names input:focus{border-color:var(--rose)}
.hero2 .go{margin-top:18px;width:100%;max-width:380px}
.hero2 .alt{display:block;margin-top:14px;font-size:14px;color:var(--rose2)}
.sec{padding:56px 0 8px}
.sec h2{font-size:clamp(26px,7.4vw,32px);line-height:1.18;margin-bottom:10px;text-wrap:balance}
.sec .sub{color:var(--mut);font-size:15px;line-height:1.6;max-width:420px}
.phones{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin:26px -22px 0;padding:6px 22px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.phones::-webkit-scrollbar{display:none}
.phones figure{flex:0 0 218px;scroll-snap-align:center}
.phones .fr{border-radius:28px;padding:6px;background:linear-gradient(160deg,#6a4366,#2a1530);box-shadow:0 20px 40px -18px #000}
.phones img{display:block;width:100%;height:auto;border-radius:23px;aspect-ratio:390/760;object-fit:cover}
.phones figcaption{margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--mut)}
.phones figcaption b{display:block;color:var(--ink);font-weight:500;font-size:15px;margin-bottom:2px}
.hint2{font-size:12.5px;color:var(--mut);margin-top:2px}
.thread{position:relative;margin:28px 0 0;padding-left:34px}
.thread::before{content:"";position:absolute;left:11px;top:8px;bottom:12px;width:1px;background:linear-gradient(var(--gold),#d8a58e22)}
.thread li{list-style:none;position:relative;padding-bottom:26px}
.thread li::before{content:"";position:absolute;left:-30px;top:3px;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ecc3ab,#a8705a);box-shadow:0 0 14px #d8a58e66}
.thread b{display:block;font:500 18px 'Lora',serif;margin-bottom:3px}
.thread span{color:var(--mut);font-size:14.5px;line-height:1.55}
.ans{margin:26px 0 0;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#2a1530,#1b0d20);padding:20px}
.ans .t{font-size:13px;color:var(--mut);margin-bottom:12px}
.ans .row2{display:flex;gap:14px;align-items:center}
.ans .ico{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#7fe0a022;font-size:22px}
.ans b{display:block;font:500 18px 'Lora',serif}
.ans small{color:var(--mut);font-size:13px}
.ans .ex{margin-top:14px;font-size:12px;color:#7d6772}
.nots{margin:8px 0 0}
.nots p{padding:20px 0;border-top:1px solid #ffffff14;font-size:15px;line-height:1.55;color:var(--mut)}
.nots p:last-child{border-bottom:1px solid #ffffff14}
.nots b{display:block;font:500 22px 'Lora',serif;color:var(--ink);margin-bottom:2px}
.faq2{margin-top:22px}
.faq2 details{border-bottom:1px solid #ffffff16}
.faq2 summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;position:relative;font-size:16px;line-height:1.4}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary::after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq2 details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq2 p{padding:0 0 18px;font-size:14.5px;line-height:1.65;color:var(--mut)}
.closing{text-align:center;padding:72px 0 20px}
.closing h2{font-size:clamp(28px,8vw,36px);line-height:1.15;margin-bottom:12px;text-wrap:balance}
.closing p{color:var(--mut);margin-bottom:24px}
.foot2{padding:28px 0 56px;text-align:center;font-size:13px;color:var(--mut)}
.foot2 a{color:var(--mut)}
:focus-visible{outline:2px solid var(--rose2);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.env .paper,.env .flap,.env .sealb{transition:none;animation:none!important}}
@media (min-width:760px){.phones{margin-left:0;margin-right:0;padding-left:0;padding-right:0}}

/* persuasão */
.hero2 h1{font-size:clamp(32px,9.4vw,44px)}
.hero2 .lead{max-width:420px}
.reass{margin-top:12px;font-size:13px;color:var(--mut)}
.vow{padding:64px 0 8px;text-align:center}
.vow .big{font:400 clamp(26px,7.4vw,33px)/1.25 'Lora',serif;text-wrap:balance}
.vow .two{margin-top:18px;color:var(--rose2)}
.vow .small2{margin-top:22px;font-size:15px;color:var(--mut);line-height:1.6;max-width:360px;margin-left:auto;margin-right:auto}
.scene{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.scene .b{max-width:86%;padding:13px 16px;border-radius:18px;font-size:15px;line-height:1.5}
.scene .l{align-self:flex-start;background:#ffffff12;border:1px solid #ffffff14;border-bottom-left-radius:5px}
.scene .r{align-self:flex-end;background:var(--rose);color:#3a1d28;border-bottom-right-radius:5px}
.scene .r b{font-weight:600}
.after{margin-top:22px;font:italic 19px/1.4 'Lora',serif;color:var(--rose2)}
.moments{list-style:none;margin-top:12px}
.moments li{padding:17px 0;border-top:1px solid #ffffff14}
.moments li:last-child{border-bottom:1px solid #ffffff14}
.moments b{display:block;font:500 20px 'Lora',serif}
.moments span{font-size:14.5px;color:var(--mut)}
.stick{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:14px 22px calc(env(safe-area-inset-bottom) + 14px);background:linear-gradient(transparent,#120914 42%);transform:translateY(120%);transition:transform .35s ease;pointer-events:none}
.stick.on{transform:none;pointer-events:auto}
.stick .btn{width:100%;max-width:480px;margin:0 auto;display:flex}
.hm main{padding-bottom:70px}
@media (prefers-reduced-motion:reduce){.stick{transition:none}}

#precos{width:min(880px,calc(100vw - 44px));position:relative;left:50%;transform:translateX(-50%)}
#precos h2,#precos .sub{text-align:center;margin-left:auto;margin-right:auto}
.pl2s{display:grid;gap:clamp(16px,3vw,24px);margin-top:30px}
.pl2{position:relative;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,4vw,32px) clamp(20px,4vw,30px);background:#ffffff08;display:flex;flex-direction:column}
.pl2 h3{font:500 clamp(21px,3vw,25px) 'Lora',serif}
.pl2 .who{font-size:14px;line-height:1.5;color:var(--mut);margin-top:4px}
.pl2 .pr2{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:18px 0;padding-bottom:18px;border-bottom:1px solid #ffffff1a}
.pl2 .pr2 b{font:600 clamp(36px,6vw,46px)/1 'Lora',serif;color:var(--ink)}
.pl2 .pr2 small{font-size:13px;color:var(--mut)}
.ck{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px;flex:1}
.ck li{position:relative;padding-left:28px;font-size:14.5px;line-height:1.45;color:var(--ink)}
.ck li::before{content:"";position:absolute;left:2px;top:3px;width:6px;height:11px;border-right:2px solid var(--rose2);border-bottom:2px solid var(--rose2);transform:rotate(45deg)}
.pl2 .btn{width:100%}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none}
.pl2.best{border-color:var(--rose);background:linear-gradient(165deg,#3f1d3e,#22102a);box-shadow:0 18px 50px -20px #d8a58e55}
.pl2.best .pr2 b{color:var(--rose2)}
.tagp2{position:absolute;top:-12px;left:22px;background:var(--rose);color:#3a1d28;font-size:12px;font-weight:600;padding:4px 12px;border-radius:99px}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}
.trust span{font-size:13px;color:var(--mut);border:1px solid #ffffff1a;border-radius:99px;padding:6px 13px}
#precos .hint2{max-width:520px;margin-left:auto;margin-right:auto}
@media(min-width:720px){.pl2s{grid-template-columns:1fr 1fr;align-items:stretch}.pl2.best{order:2;transform:translateY(-8px)}.pl2:not(.best){order:1}}

#precos h2{font-size:clamp(26px,6.4vw,38px);line-height:1.18;max-width:640px;text-wrap:balance}
#precos .sub{max-width:560px}
.guar{max-width:520px;margin:24px auto 0;text-align:center;font:italic 17px/1.5 'Lora',serif;color:var(--rose2)}
#precos .sub .em{display:block;margin-bottom:8px;font:italic 500 19px/1.35 'Lora',serif;color:var(--rose2)}
.pctl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px}
.pa{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#ffffff0d;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;padding:0 0 3px}
.pa:active{background:#ffffff1c}
.pdots{display:flex;gap:8px}
.pdots i{width:7px;height:7px;border-radius:50%;background:#ffffff33;cursor:pointer;transition:width .2s,background .2s}
.pdots i.on{width:22px;border-radius:5px;background:var(--rose2)}
.punch{margin:26px auto 0;max-width:560px;padding:18px 20px;border-left:3px solid var(--rose);background:#ffffff0a;border-radius:0 14px 14px 0;font:italic 18px/1.5 'Lora',serif;color:var(--ink)}
.punch b{display:block;margin-top:6px;font-weight:500;color:var(--rose2)}

/* botões e selo: fluidos e centralizados */
.btn{font-size:clamp(12.5px,3.5vw,14px);letter-spacing:clamp(.06em,.4vw,.12em);padding:0 clamp(18px,6vw,30px);min-height:54px;line-height:1.2;text-align:center;white-space:nowrap}
.hero2 .go,.closing .btn{width:100%;max-width:min(380px,100%)}
.pl2 .btn{width:100%;padding:0 14px}
@media(max-width:380px){.pl2{padding:22px 18px}.btn{letter-spacing:.05em}}
.env .sealb{line-height:1;padding:0}
.env .sealb svg{width:26px;height:26px}
.seal{line-height:1;padding:0 0 2px}
.seal svg{width:24px;height:24px}

/* celular: cartões de preço mais compactos */
@media(max-width:480px){
  .pl2{padding:22px 18px 20px;border-radius:18px}
  .pl2 h3{font-size:22px}
  .pl2 .who{font-size:13.5px}
  .pl2 .pr2{margin:14px 0;padding-bottom:14px}
  .pl2 .pr2 b{font-size:38px}
  .ck{gap:9px;margin-bottom:20px}
  .ck li{font-size:14px;padding-left:26px}
  .tagp2{left:18px}
  .pl2s{gap:18px;margin-top:26px}
  .punch{padding:18px 18px}
}

/* cards de preço: respiram de leve e respondem ao toque */
.pl2{transition:scale .25s ease,border-color .25s ease}
.pl2:active{scale:.985}
.pl2.best{animation:plBreath 3.4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes plBreath{0%,100%{scale:1}50%{scale:1.018}}
.pl2.best .btn,.pl2 .btn{position:relative;transition:scale .2s ease}
.pl2 .btn:active{scale:.97}
.pl2.best .btn::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:2px solid var(--rose);opacity:0;pointer-events:none;animation:plRing 3.4s ease-out infinite}
@keyframes plRing{0%{opacity:.55;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.09,1.28)}}
@media (prefers-reduced-motion:reduce){.pl2.best,.pl2.best .btn::after{animation:none}.pl2,.pl2 .btn{transition:none}}
