body{background:radial-gradient(ellipse at 100% 12%,#eee0ee 0,transparent 40%),#faf7fb}.public-head{border-bottom:4px solid #bf80b8}.public-intro{max-width:720px;padding:0 0 25px}.public-intro h1{color:#54184d;font-size:46px;line-height:1.15}.public-intro>p{font-size:16px;max-width:650px}.public-badges{display:flex;gap:16px;flex-wrap:wrap;color:#7e4f7b;font-size:12px;margin:22px 0 8px}.public-main{margin-top:48px}.public-main .card{box-shadow:0 8px 32px #54184d05}.public-main .submit{min-width:285px}@media(max-width:540px){.public-intro h1{font-size:35px}.public-main{margin-top:30px}.public-badges{gap:10px;font-size:11px}.public-main .submit{min-width:0}}

/* Hero com mascote adaptativo: sem alterar o cadastro ou o fluxo de dados */
.public-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,290px);align-items:center;column-gap:25px;max-width:1020px;margin-bottom:18px}
.public-hero .public-intro{min-width:0;max-width:720px;padding-bottom:0}
.public-mascot{min-width:0;display:flex;align-items:center;justify-content:center}
.public-mascot img{display:block;width:100%;height:auto;max-width:290px;max-height:310px;object-fit:contain;filter:drop-shadow(0 8px 12px #54184d12)}
@media(max-width:780px){.public-hero{grid-template-columns:minmax(0,1fr) 175px;column-gap:10px}.public-intro h1{font-size:clamp(29px,4.5vw,40px)}}
@media(max-width:600px){.public-hero{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.public-mascot{order:-1;align-self:center;width:150px;max-width:38vw}.public-mascot img{max-width:100%;max-height:160px}.public-hero .public-intro{width:100%;padding:0}.public-intro h1{font-size:clamp(29px,8vw,35px);line-height:1.16}.public-intro>p{font-size:15px}.public-badges{margin:14px 0 12px}}
@media(max-width:360px){.public-mascot{width:125px}.public-intro h1{font-size:29px}}
@media(prefers-reduced-motion:no-preference){.public-mascot img{animation:pet-welcome 3.4s ease-in-out infinite}@keyframes pet-welcome{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}}
