:root{--bg:#fbf3ea;--fg:#4a2f22;--muted:#7d6253;--primary:#c8503a;--card:#fffaf5;--soft:#f3e6d8}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Nunito Sans",system-ui,sans-serif;color:var(--fg);background:var(--bg)}
main{height:100dvh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 28px;background:radial-gradient(circle at 50% 30%,#f8e1cc,var(--bg) 70%)}
h1,.titulo,.frase{font-family:"Lora",Georgia,serif}
h1{font-size:2.25rem;line-height:1.2;font-weight:500}
.sub{margin-top:20px;max-width:24rem;font-size:1.125rem;color:var(--muted)}
.heart{font-size:3rem;color:var(--primary);margin-bottom:32px;animation:beat 1.8s ease-in-out infinite}
.heart.small{margin-bottom:12px;animation:none}
.btn{margin-top:40px;width:100%;max-width:20rem;border:0;border-radius:999px;background:var(--primary);color:#fff;font:600 1.125rem "Nunito Sans",sans-serif;padding:16px 32px;cursor:pointer;box-shadow:0 14px 34px -12px rgba(200,80,58,.55);transition:transform .15s}
.btn:active{transform:scale(.95)}
.cpf{margin-top:12px;font-size:.875rem;color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(74,47,34,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:10}
.overlay[hidden]{display:none}
.modal{width:100%;max-width:24rem;background:var(--card);border-radius:24px;padding:32px;text-align:center;animation:pop .2s ease-out}
.titulo{font-size:1.5rem;font-weight:600;color:var(--primary);margin-bottom:8px}
.info{margin-top:20px;background:var(--soft);border-radius:16px;padding:16px;text-align:left;font-size:.875rem;color:var(--muted);display:grid;gap:8px}
.info b{color:var(--fg)}
.frase{margin-top:20px;font-size:1.125rem}
.modal .btn{margin-top:28px;max-width:none;padding:12px}
@keyframes beat{0%,30%,100%{transform:scale(1)}15%{transform:scale(1.18)}45%{transform:scale(1.12)}}
@keyframes pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
