:root{
  --green:#33904f; --green-dark:#256e3b; --green-light:#e8f5ec;
  --ink:#141414; --white:#fff; --muted:#5d6b62; --err:#c62828;
  --radius:16px;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink); background:var(--green); min-height:100dvh;
  background-image:linear-gradient(180deg,#3aa05a 0%,var(--green) 40%,var(--green-dark) 100%);
  background-attachment:fixed;
  padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}
.bg-flake{position:fixed;inset:0;pointer-events:none;opacity:.09;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cdefs%3E%3Cg id='f' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg id='arm'%3E%3Cpath d='M0 0V-22M-7 -30L0 -22L7 -30M-8 -14L0 -6L8 -14M-6 -40L0 -32L6 -40'/%3E%3C/g%3E%3Cuse href='%23arm' transform='rotate(60)'/%3E%3Cuse href='%23arm' transform='rotate(120)'/%3E%3Cuse href='%23arm' transform='rotate(180)'/%3E%3Cuse href='%23arm' transform='rotate(240)'/%3E%3Cuse href='%23arm' transform='rotate(300)'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23f' transform='translate(40 40) scale(.8)'/%3E%3Cuse href='%23f' transform='translate(120 112) scale(.55)'/%3E%3C/svg%3E") 0 0/160px 160px repeat}
.wrap{position:relative;max-width:480px;margin:0 auto;padding:28px 16px 40px;display:flex;flex-direction:column;gap:18px}

.profile{text-align:center;color:#fff}
.avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 6px 20px rgba(0,0,0,.25)}
h1{font-size:1.35rem;font-weight:800;margin-top:12px}
.tagline{font-size:.92rem;opacity:.92;margin-top:4px}

.promo{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);padding:18px;color:#fff;text-align:center;backdrop-filter:blur(6px)}
.badge{display:inline-block;background:#fff;color:var(--green-dark);font-weight:800;font-size:.78rem;padding:5px 12px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}
.promo h2{font-size:1.45rem;line-height:1.2;font-weight:800;font-style:italic;margin:12px 0 6px}
.promo h2 strong{background:var(--ink);padding:0 8px;border-radius:6px;display:inline-block}
.promo p{font-size:.92rem;opacity:.95}
.prizes{list-style:none;padding:0;margin:16px 0 12px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.prizes li{position:relative;background:#fff;color:var(--ink);border-radius:12px;padding:20px 4px 12px;
  display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 6px 16px rgba(0,0,0,.18);min-width:0}
.prizes li::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--green);border-radius:0 0 12px 12px}
.prizes .chip{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;
  font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:99px}
.prizes img{width:100%;height:62px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}
.prizes strong{font-size:.72rem;font-weight:800;font-style:italic;line-height:1.1;padding-bottom:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media (min-width:768px){.prizes{gap:10px}.prizes img{height:88px}.prizes strong{font-size:.9rem}}

.card{background:#fff;border-radius:var(--radius);padding:20px 16px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.steps{list-style:none;padding:0;display:flex;flex-direction:column;gap:20px}
.step{display:flex;gap:12px}
.num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem;transition:.2s}
.step.done .num{background:var(--green)}
.step.done .num::before{content:"✓"}
.step.done .num{font-size:0}
.step.done .num::before{font-size:.95rem}
.step-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.step-body>strong{font-size:1rem;margin-top:3px}

label{font-size:.82rem;font-weight:600;color:var(--muted);margin-top:4px}
input[type=text],input[type=tel]{
  width:100%;height:52px;padding:0 14px;border:2px solid #dfe5e1;border-radius:12px;
  font:inherit;font-size:16px; /* 16px evita zoom no iOS */ background:#fafcfb;color:var(--ink);transition:border-color .15s, box-shadow .15s}
input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(51,144,79,.2)}
input.invalid{border-color:var(--err)}
.input-prefix{display:flex;align-items:center;border:2px solid #dfe5e1;border-radius:12px;background:#fafcfb;transition:.15s}
.input-prefix:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(51,144,79,.2)}
.input-prefix.invalid{border-color:var(--err)}
.input-prefix span{padding-left:14px;font-weight:800;color:var(--green)}
.input-prefix input{border:0;box-shadow:none;background:transparent;padding-left:4px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 18px;border-radius:99px;
  font:inherit;font-weight:700;font-size:1rem;text-decoration:none;border:0;cursor:pointer;transition:transform .1s, box-shadow .15s, opacity .15s}
.btn:active{transform:scale(.98)}
.btn svg{width:20px;height:20px;fill:currentColor}
.btn-ig{background:linear-gradient(45deg,#f9a03f,#e1306c 55%,#833ab4);color:#fff}
.btn-main{width:100%;background:var(--green);color:#fff;margin-top:6px;position:relative;box-shadow:0 6px 16px rgba(51,144,79,.4)}
.btn-main:disabled{background:#b9c4bd;box-shadow:none;cursor:not-allowed}
.btn-ghost{background:var(--green-light);color:var(--green-dark);margin-top:14px}
.btn-link{background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(0,0,0,.15);border-radius:14px}
.btn-link:hover{transform:translateY(-1px)}
.btn:focus-visible,a:focus-visible,.check input:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}

.check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.82rem;line-height:1.4;color:var(--ink);font-weight:400}
.check input{flex:none;width:22px;height:22px;accent-color:var(--green);margin-top:1px}
.check a{color:var(--green-dark);font-weight:600}
.msg{min-height:1.2em;margin-top:10px;font-size:.85rem;color:var(--err);font-weight:600}
.hint{font-size:.78rem;color:var(--muted);text-align:center;margin-top:8px}

.spin{display:none;width:20px;height:20px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:s .7s linear infinite}
.loading .spin{display:block}.loading .lbl{opacity:.7}
@keyframes s{to{transform:rotate(360deg)}}

.done{text-align:center}
.done[hidden]{display:none}
.check-big{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;font-size:2rem;display:grid;place-items:center;margin:0 auto 12px}
.done h2{margin-bottom:6px}.done p{color:var(--muted);font-size:.95rem}

.links{display:flex;flex-direction:column;gap:12px}
footer{text-align:center;color:#fff;font-size:.78rem;opacity:.92;display:flex;flex-direction:column;gap:6px}
footer .legal{font-size:.72rem;opacity:.85}
footer .credit{opacity:.6;margin-top:6px}

dialog{border:0;border-radius:var(--radius);padding:20px;width:min(92vw,520px);max-height:85dvh}
dialog::backdrop{background:rgba(0,0,0,.55)}
dialog h3{margin-bottom:10px}
.reg-body h4{margin:14px 0 4px;font-size:.92rem}
.reg-body h4:first-child{margin-top:0}
.reg-body p{margin-bottom:6px}
.reg-body ul{margin:4px 0 8px 20px}
.reg-body{max-height:50dvh;overflow:auto;font-size:.88rem;line-height:1.5;margin-bottom:14px;color:#333}

/* Tablet / desktop: mesma coluna de "linktree", mais espaçosa */
@media (min-width:768px){
  .wrap{max-width:560px;padding-top:48px;gap:22px}
  .card{padding:28px}
  .avatar{width:120px;height:120px}
  h1{font-size:1.6rem}
}
@media (min-width:1200px){ .wrap{max-width:600px} }
@media (max-width:360px){ .promo h2{font-size:1.25rem} .card{padding:16px 12px} }
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:0s!important}}
