:root{--bg:#F4EFEC;--ink:#352B3C;--muted:#6E6375;--line:#ECE4E8;--plum:#7A5C8E;--plum-d:#5B4B66;color-scheme:light}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:"Nunito",system-ui,sans-serif;font-size:16px;line-height:1.5}
.wrap{max-width:560px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:16px}
.centro{text-align:center;align-items:center}
.logo{width:110px;height:auto}
h1{font-family:"Fredoka","Nunito",sans-serif;font-weight:600;font-size:30px;line-height:1.1;margin:6px 0 0;color:var(--plum-d);overflow-wrap:anywhere}
p{margin:0}
.eyebrow{font-weight:900;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--plum)}
.op{display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 0 var(--line),0 12px 32px rgba(53,43,60,.06);transition:transform .16s cubic-bezier(.23,1,.32,1)}
.op:active{transform:scale(.98)}
.op img{width:100%;height:190px;object-fit:cover;display:block}
.op span{display:flex;flex-direction:column;padding:14px 18px 16px}
.op b{font-family:"Fredoka",sans-serif;font-weight:600;font-size:22px;color:var(--plum-d)}
.op small{font-size:14.5px;color:var(--muted);font-weight:700}
.op:focus-visible,a:focus-visible{outline:3px solid var(--plum);outline-offset:3px}
.foot{text-align:center;color:var(--muted);font-size:13px}
.qr{background:#fff;border-radius:18px;padding:10px;box-shadow:0 0 0 1.5px var(--line);width:min(100%,340px)}
.qr canvas{display:block;width:100%;height:auto}
