@font-face{font-family:Alegreya;src:url('/fonts/Alegreya[wght].woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:Alegreya;font-style:italic;src:url('/fonts/Alegreya-Italic[wght].woff2') format('woff2');font-weight:400 900;font-display:swap}
:root{--ink:#241b3a;--muted:#6b5f86;--paper:#fff8ec;--cream:#fdf0d8;--night:#17204a;--night2:#24306a;--gold:#f2b83a;--berry:#b8325a;--berry-d:#7d1f3c;--leaf:#2f6b4f;--r:22px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:Alegreya,Georgia,serif;font-size:19px;line-height:1.55;color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--berry)}
.muted{color:var(--muted)}
.kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.18em;font-size:13px;color:var(--berry);font-weight:800;margin:0 0 8px}
.kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--berry);box-shadow:0 0 0 4px rgba(184,50,90,.18)}
h1{font-size:clamp(40px,5.6vw,68px);line-height:1;margin:6px 0 18px;font-weight:850;letter-spacing:-.025em}
h1 em{color:var(--berry);font-style:italic}
h2{font-size:clamp(30px,3.6vw,44px);line-height:1.08;margin:0 0 18px;font-weight:850;letter-spacing:-.015em}
h3{margin:0 0 4px;font-size:22px;line-height:1.2}

/* header */
.top{display:flex;align-items:center;gap:28px;padding:14px 5vw;position:sticky;top:0;background:rgba(255,248,236,.9);backdrop-filter:blur(8px);z-index:5;border-bottom:1px solid rgba(36,27,58,.06)}
.logo{display:flex;align-items:center;gap:8px;font-weight:850;font-size:24px;color:var(--ink);text-decoration:none;letter-spacing:-.01em;margin-right:auto}
.logo svg{width:26px;height:26px;fill:var(--gold);stroke:var(--ink);stroke-width:1.4}
.top nav{display:flex;gap:22px}
.top nav a{color:var(--ink);text-decoration:none;font-size:17px;font-weight:600}
.top nav a:hover{color:var(--berry)}

/* buttons */
.btn{display:inline-block;background:var(--berry);color:#fff;text-decoration:none;border:0;border-radius:999px;padding:15px 28px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 6px 0 var(--berry-d);transition:transform .08s,box-shadow .08s}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 0 var(--berry-d)}
.btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--berry-d)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.small{padding:9px 18px;font-size:16px;box-shadow:0 4px 0 var(--berry-d)}
.link{font-weight:700;text-underline-offset:4px}

main>section{padding:72px 5vw;max-width:1180px;margin:0 auto}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:48px}
.lead{font-size:22px;color:var(--muted);margin:0 0 28px;max-width:34ch}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.facts{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:28px 0 0;font-size:16px;color:var(--muted)}
.facts li::before{content:"✦";color:var(--gold);margin-right:7px}
.hero-book{margin:0}
.book{position:relative;border-radius:8px 20px 20px 8px;overflow:hidden;transform:rotate(2.2deg);box-shadow:-12px 0 0 #0f1533,-12px 14px 0 #0b0f26,0 30px 60px rgba(23,32,74,.35)}
.book::after{content:"";position:absolute;inset:0 auto 0 0;width:22px;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent)}
.book-title{position:absolute;top:7%;left:0;right:0;text-align:center;color:#fff;text-shadow:0 2px 14px rgba(15,20,55,.75)}
.book-title span{display:block;font-size:clamp(26px,3vw,40px);font-weight:850;line-height:1.05}
.book-title small{font-style:italic;font-size:clamp(16px,1.6vw,20px)}
.hero-book figcaption{font-size:14px;color:var(--muted);text-align:center;margin-top:18px}

/* trust strip */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 5vw!important}
.trust p{margin:0;padding:20px 22px;background:#fff;font-size:17px;color:var(--muted);border-top:3px solid var(--gold)}
.trust p:first-child{border-radius:var(--r) 0 0 var(--r)}
.trust p:last-child{border-radius:0 var(--r) var(--r) 0}
.trust b{color:var(--ink)}

/* inside */
.inside{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.spread{position:relative;background:#fffdf7;border-radius:10px;padding:26px 26px 44px;box-shadow:0 2px 0 #eadfc8,0 24px 50px rgba(36,27,58,.12)}
.spread img{border-radius:14px}
.spread p{font-size:17px;line-height:1.45;margin:16px 4px 0}
.page-n{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:13px;color:#a79dbd}

/* character */
.character{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.character img{border-radius:var(--r);background:#fff;box-shadow:0 2px 0 #eadfc8}

/* steps */
.steps{background:var(--night);color:#f5ecff;border-radius:36px;max-width:1180px;margin:24px auto!important;padding:72px clamp(24px,5vw,72px)!important}
.steps .kicker{color:var(--gold)}
.steps ol{list-style:none;padding:0;margin:34px 0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps li{display:flex;gap:16px;background:var(--night2);border-radius:var(--r);padding:24px}
.steps .n{flex:none;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--night);font-weight:900;font-size:22px;display:grid;place-items:center}
.steps h3{color:#fff}
.steps h3 small{font-weight:400;color:#bfb4dd;font-size:15px}
.steps p{margin:0;color:#cfc6ea;font-size:17px}
.steps a:not(.btn){color:var(--gold)}

/* tips */
.tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tips-grid>div{background:#fff;border-radius:var(--r);padding:24px 28px}
.tips-grid ul{margin:8px 0 0;padding-left:0;list-style:none}
.tips-grid li{margin:6px 0;padding-left:28px;position:relative}
.do li::before{content:"✓";position:absolute;left:0;color:var(--leaf);font-weight:900}
.dont li::before{content:"✕";position:absolute;left:0;color:var(--berry);font-weight:900}
.do h3{color:var(--leaf)}.dont h3{color:var(--berry)}

/* form */
.create{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.create-head{position:sticky;top:110px}
.closed{background:#fff1c9;border-radius:14px;padding:16px 20px;font-weight:700;font-size:17px}
form{background:#fff;border-radius:28px;padding:34px;box-shadow:0 2px 0 #eadfc8,0 24px 50px rgba(36,27,58,.08)}
fieldset{border:0;padding:0 0 26px;margin:0 0 26px;border-bottom:1px dashed #e6d9bf}
legend{display:flex;align-items:center;gap:10px;font-weight:850;font-size:23px;margin-bottom:14px;padding:0}
legend .n{width:30px;height:30px;border-radius:50%;background:var(--night);color:var(--gold);font-size:16px;display:grid;place-items:center}
legend span:not(.n),label span{font-weight:400;color:var(--muted);font-size:16px}
label{display:block;margin:0 0 14px;font-weight:700;font-size:17px}
input,select,textarea{display:block;width:100%;margin-top:6px;font:inherit;font-weight:400;padding:12px 14px;border:2px solid #e8dcc4;border-radius:12px;background:var(--paper);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--gold);border-color:var(--gold);background:#fff}
label small{display:block;font-weight:400;color:var(--muted);font-size:15px;margin-top:4px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:16px}
.check input{width:20px;height:20px;flex:none;margin-top:4px;accent-color:var(--berry)}
.upload input{position:absolute;opacity:0;width:1px;height:1px}
.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:170px;border:2px dashed #d9c9a6;border-radius:18px;background:var(--paper);cursor:pointer;text-align:center;padding:18px}
.upload-box b{color:var(--berry)}
.upload input:focus-visible+.upload-box{outline:3px solid var(--gold)}
#photoPreview{width:120px;height:120px;object-fit:cover;border-radius:50%;border:4px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.pay .btn{width:100%}
.note{font-size:15px;color:var(--muted);text-align:center}
.error{color:var(--berry);font-weight:700;min-height:1.4em;margin:0 0 10px}

/* faq */
.faq{max-width:820px!important}
.faq details{background:#fff;border-radius:16px;padding:16px 22px;margin-bottom:10px}
.faq summary{font-weight:800;cursor:pointer}
.faq details p{margin:8px 0 0;color:var(--muted)}
.foot{text-align:center;color:var(--muted);font-size:15px;padding:30px 5vw 50px}

/* legal pages */
.legal{max-width:760px}.legal h1{font-size:44px}.legal h2{font-size:24px;margin-top:28px}.legal li{margin-bottom:8px}

@media (max-width:900px){
  .top nav{display:none}
  .hero,.inside,.character,.create{grid-template-columns:1fr;gap:32px}
  .hero-book{max-width:420px;margin:0 auto;order:-1}
  .steps ol,.tips-grid,.trust{grid-template-columns:1fr}
  .trust p,.trust p:first-child,.trust p:last-child{border-radius:0}
  .trust p:first-child{border-radius:var(--r) var(--r) 0 0}.trust p:last-child{border-radius:0 0 var(--r) var(--r)}
  .create-head{position:static}
  .steps{margin:24px 10px!important;border-radius:28px;padding:48px 18px!important}
  form{padding:22px}
  main>section{padding:48px 5vw}
  body{font-size:18px}
}

/* ===== Natal: decorações ===== */
.hero{position:relative}
.hero-deco{position:absolute;inset:0;pointer-events:none;z-index:2}
.hero>*:not(.hero-deco){position:relative;z-index:1}
.orn{position:absolute;top:-24px;width:34px;height:128px;transform-origin:50% 0;animation:sway 5s ease-in-out infinite}
.o1{left:57%;color:#b8325a;height:150px}
.o2{left:66%;color:#f2b83a;height:118px;animation-delay:-1.6s}
.o3{right:5%;color:#2f6b4f;height:165px;animation-delay:-3.1s}
.orn{filter:drop-shadow(0 6px 8px rgba(23,32,74,.3))}
.spk{position:absolute;fill:var(--gold);width:18px;height:18px;animation:twinkle 3.2s ease-in-out infinite}
.s1{left:2%;top:18%;width:14px}.s2{left:46%;top:8%;animation-delay:-.8s}.s3{left:48%;bottom:14%;width:12px;animation-delay:-1.9s}
.s4{right:4%;bottom:6%;width:22px;animation-delay:-2.4s}.s5{left:30%;bottom:2%;width:13px;animation-delay:-1.2s}
@keyframes sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.orn,.spk{animation:none}}

.garland{height:46px;max-width:1180px;margin:0 auto;background:url(/img/garland.svg) repeat-x center/200px 46px;opacity:.95}
.holly{display:inline-block;width:52px;height:auto;vertical-align:middle;margin-left:6px;transform:rotate(-8deg)}
.holly.big{width:84px;margin:6px 0 0}

/* céu estrelado no passo a passo */
.steps{position:relative;overflow:hidden;background:radial-gradient(2px 2px at 12% 18%,#fffd 50%,transparent 52%),radial-gradient(1.6px 1.6px at 36% 8%,#fffd 50%,transparent 52%),radial-gradient(2.2px 2.2px at 68% 14%,#fffd 50%,transparent 52%),radial-gradient(1.6px 1.6px at 88% 30%,#fffd 50%,transparent 52%),radial-gradient(1.8px 1.8px at 22% 92%,#fffd 50%,transparent 52%),radial-gradient(1.6px 1.6px at 78% 88%,#fffd 50%,transparent 52%),radial-gradient(1.4px 1.4px at 52% 4%,#fffd 50%,transparent 52%),radial-gradient(1.6px 1.6px at 5% 55%,#fffd 50%,transparent 52%),radial-gradient(2px 2px at 95% 62%,#fffd 50%,transparent 52%),radial-gradient(1.4px 1.4px at 60% 96%,#fffd 50%,transparent 52%),radial-gradient(1.2px 1.2px at 30% 40%,#fffd 50%,transparent 52%),radial-gradient(1.3px 1.3px at 84% 50%,#fffd 50%,transparent 52%),var(--night)}
.steps>*{position:relative}
.steps .spk{position:absolute}
.w1{right:6%;top:38px;width:26px}.w2{right:13%;top:84px;width:14px;animation-delay:-1s}.w3{left:44%;top:46px;width:12px;animation-delay:-2s}

/* separador temático dos toques opcionais */
.extras-sep{position:relative;height:46px;margin:6px -34px 18px;background:url(/img/garland.svg) repeat-x center/180px 42px}
.extras-sep span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:4px 16px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--berry);box-shadow:0 0 0 2px #f4e3c1}
.extras-sep.end{height:30px;margin-top:-8px;background-size:140px 32px;opacity:.6}
fieldset.extras{background:linear-gradient(180deg,#fff7e6,#fffdf8);border:2px solid #f4e3c1;border-radius:20px;padding:20px 20px 6px;margin-bottom:14px}
fieldset.extras legend.sub{float:left;width:100%;font-size:17px;font-weight:600;font-style:italic;color:var(--muted);margin-bottom:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
fieldset:has(+ .extras-sep){border-bottom:0;padding-bottom:0}
fieldset.extras legend+*{clear:both}
.spk-l{width:20px;height:20px;fill:var(--gold);flex:none}
fieldset.extras input,fieldset.extras textarea{background:#fff}
@media (max-width:900px){.extras-sep{margin:6px -22px 18px}.orn{display:none}.holly.big{display:none}}

/* galeria de páginas */
.gallery{overflow:hidden}
.pages{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 26px;margin:0 -4px;scrollbar-width:thin}
.pages figure{flex:0 0 min(300px,78vw);margin:0;scroll-snap-align:start;background:#fffdf7;border-radius:10px;padding:12px 12px 16px;box-shadow:0 2px 0 #eadfc8,0 16px 30px rgba(36,27,58,.1)}
.pages figure:nth-child(odd){transform:rotate(-1.2deg)}.pages figure:nth-child(even){transform:rotate(1deg)}
.pages img{border-radius:8px}
.pages figcaption{font-style:italic;font-size:16px;line-height:1.4;margin-top:10px;color:var(--ink)}
.small{font-size:14px}

/* "Por dentro": o texto vivo fica sobre a ilustração, como no livro */
.spread{padding:0;overflow:hidden;border-radius:14px}
.spread img{border-radius:0}
.spread p{position:absolute;left:4%;right:4%;bottom:4%;margin:0;padding:14px 18px;font-size:16px;line-height:1.42;background:rgba(255,250,238,.92);border-radius:14px;box-shadow:0 6px 18px rgba(20,16,50,.28)}
.spread p::before{content:"";position:absolute;inset:5px;border:1px solid rgba(201,162,74,.55);border-radius:10px;pointer-events:none}
.spread .page-n{top:10px;bottom:auto;right:14px;left:auto;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6)}
@media (max-width:900px){.spread p{font-size:14px;padding:10px 12px}}

/* guias */
.guide{max-width:760px}
.guide h1{font-size:clamp(34px,4.6vw,52px)}
.guide h2{font-size:30px;margin-top:40px}.guide h3{font-size:22px;margin-top:24px}
.guide li{margin-bottom:8px}
.crumbs{font-size:15px;color:var(--muted);margin-bottom:12px}.crumbs a{color:var(--muted)}
.updated{font-size:14px;color:var(--muted)}
.cta-box{margin-top:44px;background:var(--night);color:#f5ecff;border-radius:var(--r);padding:26px 28px}
.cta-box p{margin:0 0 16px}
.guide-list{list-style:none;padding:0}
.guide-list a{display:block;background:#fff;border-radius:var(--r);padding:20px 24px;margin-bottom:14px;text-decoration:none;color:var(--ink);box-shadow:0 2px 0 #eadfc8}
.guide-list b{display:block;font-size:22px}.guide-list span{color:var(--muted)}

/* avaliações reais / lançamento */
.launch{display:flex;gap:22px;align-items:flex-start;background:#fff;border-radius:var(--r);padding:30px 32px;box-shadow:0 2px 0 #eadfc8;position:relative}
.launch .spk{position:static;flex:none;width:40px;height:40px;margin-top:6px}
.launch h2{margin-bottom:10px}.launch p:last-child{margin:0;color:var(--muted)}
.review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review-list figure{margin:0;background:#fff;border-radius:var(--r);padding:24px;box-shadow:0 2px 0 #eadfc8}
.review-list blockquote{margin:0;font-style:italic;font-size:18px}
.review-list figcaption{margin-top:12px;font-weight:700;color:var(--muted);font-size:15px}
@media (max-width:900px){.review-list{grid-template-columns:1fr}.launch{flex-direction:column;padding:24px}}

.open-badge{display:inline-flex;align-items:center;gap:12px;background:#e7f4ec;color:#1f5a3f;font-size:16px;border-radius:18px;padding:10px 18px;margin:6px 0 4px;line-height:1.3}
#openText b{display:block;font-size:17px}
#openText small{display:block;font-size:15px;font-weight:600}
.open-badge .pulse{flex:none;width:10px;height:10px;border-radius:50%;background:#2f9b62;box-shadow:0 0 0 0 rgba(47,155,98,.6);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(47,155,98,0)}100%{box-shadow:0 0 0 0 rgba(47,155,98,0)}}
@media (prefers-reduced-motion:reduce){.open-badge .pulse{animation:none}}

/* ===== Grelha comum: cabeçalho, conteúdo e rodapé começam todos na mesma linha (--g) ===== */
:root{--g:max(5vw, calc((100vw - 1100px) / 2));--card-out:max(10px, calc(var(--g) - 44px))}
.top{padding:14px var(--g)}
main>section,main>article{max-width:none;margin:0;padding:72px var(--g)}
.hero{padding-top:48px}
.trust{padding:0 var(--g)!important}
.garland{max-width:none;margin:0 var(--g)}
.steps{max-width:none;margin:24px var(--card-out)!important;padding:72px calc(var(--g) - var(--card-out))!important}
.legal>*,.guide>*{max-width:760px}
.legal,.guide{max-width:none}
.faq{max-width:none!important}.faq>*{max-width:820px}
.foot{padding:34px var(--g) 50px;text-align:left;border-top:1px solid rgba(36,27,58,.08);margin-top:24px}
.foot p{margin:4px 0}.foot-legal{font-size:14px}
@media (max-width:900px){
  main>section,main>article{padding:48px var(--g)}
  .steps{padding:48px calc(var(--g) - var(--card-out))!important}
}

/* botão e formulário de contato (todas as páginas) */
.contact-fab{position:fixed;right:max(16px,calc(var(--g) - 60px));bottom:20px;z-index:20;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--night);color:#fff;font:inherit;font-weight:800;font-size:16px;padding:12px 18px;cursor:pointer;box-shadow:0 10px 24px rgba(23,32,74,.35)}
.contact-fab svg{width:20px;height:20px;fill:var(--gold)}
.contact-fab:hover{background:#24306a}
.contact-dlg{border:0;border-radius:24px;padding:0;width:min(560px,94vw);max-height:92vh;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(23,32,74,.4)}
.contact-dlg::backdrop{background:rgba(23,32,74,.55)}
.contact-form{position:relative;padding:28px 28px 22px;box-shadow:none;border-radius:0;background:none}
.contact-form h2{font-size:30px;margin:0 0 4px}
.contact-sub,.contact-note{color:var(--muted);font-size:15px;margin:0 0 16px}
.contact-x{position:absolute;top:12px;right:14px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--muted)}
.contact-form .btn{width:100%}
.contact-ok{font-weight:800;color:#1f5a3f;font-size:18px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:900px){.contact-fab span{display:none}.contact-fab{padding:14px}.contact-form{padding:22px 18px}}
@media print{.contact-fab{display:none}}
/* LGPD cookie choice: equal-weight buttons, never blocks reading */
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:640px;margin:0 auto;background:#fff;border:1px solid #e7d9bd;border-radius:16px;box-shadow:0 10px 30px rgba(23,32,74,.18);padding:14px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:16px;line-height:1.4}
.cookie p{margin:0;flex:1 1 280px}
.cookie div{display:flex;gap:8px}
.btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--ink);box-shadow:none}
/* Mobile conversion: smaller cover so the headline and price show sooner; sticky buy button */
.sticky-cta{display:none}
@media (max-width:900px){
  .hero{padding-top:20px;gap:20px}
  .hero-book{max-width:300px}
  .hero-book figcaption{margin-top:10px}
  .hero h1{font-size:clamp(32px,8.6vw,44px)}
  .sticky-cta:not([hidden]){display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;text-align:center;background:var(--berry);color:#fff;text-decoration:none;font-weight:800;font-size:18px;padding:15px 18px;border-radius:999px;box-shadow:0 6px 0 var(--berry-d),0 12px 30px rgba(23,32,74,.3)}
  .sticky-cta:not([hidden])~* .contact-fab,body:has(.sticky-cta:not([hidden])) .contact-fab{bottom:86px}
  .cookie{font-size:14px;padding:12px;gap:8px}
  .cookie .btn.small{padding:8px 14px}
}
@media (max-width:900px){.hero .kicker{display:none}}
