:root{--p:#6B0F87;--p2:#8A1BA8;--pl:#f5ecf8;--ink:#1d1420;--mut:#5d5361;--r:22px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Nunito,system-ui,sans-serif;color:var(--ink);line-height:1.65;font-size:17px;background:#fff}
h1,h2,h3{font-family:'Baloo 2',Nunito,sans-serif;line-height:1.15;color:var(--p)}
h1{font-size:clamp(2rem,6vw,3.3rem);margin:.3rem 0 1rem}
h2{font-size:clamp(1.7rem,4.5vw,2.5rem);margin-bottom:1rem}
h3{font-size:1.3rem;margin-bottom:.4rem}
p{margin-bottom:1rem}
a{color:var(--p2)}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1140px,100% - 2.5rem);margin-inline:auto}
.center{text-align:center}
.topbar{background:var(--ink);color:#fff;font-size:.78rem;text-align:center;padding:.4rem 1rem}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #eee}
.header-in{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}
.brand img{width:150px}
.menu-btn{background:none;border:0;padding:.5rem;cursor:pointer}
.menu-btn span{display:block;width:26px;height:3px;background:var(--p);margin:5px 0;border-radius:3px}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;padding:1rem 1.25rem 1.5rem;gap:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.nav a{text-decoration:none;color:var(--ink);font-weight:600}
.nav-open .nav{display:flex}
.btn{display:inline-block;background:var(--p);color:#fff!important;text-decoration:none;font-weight:700;padding:.95rem 1.6rem;border-radius:999px;transition:.2s;text-align:center;box-shadow:0 8px 20px rgba(107,15,135,.25)}
.btn:hover{background:var(--p2);transform:translateY(-2px)}
.btn-sm{padding:.55rem 1.2rem;box-shadow:none}
.btn-ghost{background:transparent;color:var(--p)!important;border:2px solid var(--p);box-shadow:none}
.btn-ghost:hover{background:var(--pl)}
.btn-light{background:#fff;color:var(--p)!important}
.btn-light:hover{background:var(--pl)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--p2);margin-bottom:.3rem}
.lead{font-size:1.1rem;color:var(--mut)}
.crm{font-size:.85rem;color:var(--mut);font-weight:600;margin-top:1rem}
.hero{background:linear-gradient(160deg,var(--pl),#fff 70%);padding:2.5rem 0 3.5rem}
.hero-in{display:grid;gap:2rem}
.cta-row{display:flex;flex-direction:column;gap:.8rem}
.photo{width:100%;height:auto;display:block;border-radius:var(--r)}
.photo-hero{width:100%;max-width:560px;margin-inline:auto;border-radius:200px 200px var(--r) var(--r)}
.photo-instituto{margin-top:1.5rem}
.section{padding:4rem 0}
.alt{background:var(--pl)}
.two{display:grid;gap:2.5rem;align-items:center}
.checks{list-style:none;padding:0;margin:1rem 0}
.checks li{padding-left:1.8rem;position:relative;margin-bottom:.6rem}
.checks li:before{content:"✓";position:absolute;left:0;color:#fff;background:var(--p);width:1.25rem;height:1.25rem;border-radius:50%;font-size:.75rem;display:grid;place-items:center;top:.25rem}
.cards{display:grid;gap:1.2rem;margin-top:2rem}
.card{background:#fff;border-radius:var(--r);padding:1.6rem;box-shadow:0 6px 24px rgba(107,15,135,.08);border-top:4px solid var(--p2)}
.card p{color:var(--mut);margin:0}
.ic{font-size:1.8rem;width:3.2rem;height:3.2rem;background:var(--pl);border-radius:50%;display:grid;place-items:center;margin-bottom:.8rem}
.steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:1rem;margin-top:2rem}
.steps li{counter-increment:s;background:#fff;border:1px solid #ecdff1;border-radius:var(--r);padding:1.3rem 1.3rem 1.3rem 4.4rem;position:relative}
.steps li:before{content:counter(s);position:absolute;left:1.2rem;top:1.2rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--p);color:#fff;font-family:'Baloo 2';font-weight:700;display:grid;place-items:center;font-size:1.1rem}
.steps b{display:block;font-family:'Baloo 2';color:var(--p);font-size:1.15rem}
.steps span{color:var(--mut)}
.inst-logo{width:240px;margin-bottom:1.2rem}
.addr{margin:1.2rem 0}
.map{border-radius:var(--r);overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.1);min-height:340px;background:#ddd}
.map iframe{border:0;width:100%;height:100%;min-height:340px;display:block}
.contact{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff}
.contact h2,.contact .lead{color:#fff}
.contact-grid{display:grid;gap:1rem;margin-top:2.5rem}
.contact-grid div{background:rgba(255,255,255,.12);border-radius:var(--r);padding:1.2rem;display:flex;flex-direction:column}
.contact-grid a{color:#fff;font-weight:700}
.footer{background:var(--ink);color:#ddd;padding:3rem 0 6rem;font-size:.92rem}
.foot-in{display:grid;gap:1.5rem}
.footer b{color:#fff}
.fine{font-size:.8rem;color:#aaa}
.wa-float{position:fixed;right:18px;bottom:18px;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:30}
@media(min-width:600px){.cta-row{flex-direction:row;flex-wrap:wrap}.cards{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){
 .menu-btn{display:none}.brand img{width:190px}
 .nav{display:flex;position:static;flex-direction:row;align-items:center;padding:0;box-shadow:none;gap:1.5rem;background:none}
 .hero{padding:4.5rem 0 5rem}.hero-in,.two{grid-template-columns:1.1fr .9fr}
 #sobre .two{grid-template-columns:.9fr 1.1fr}
 .cards{grid-template-columns:repeat(3,1fr)}
 .steps{grid-template-columns:repeat(5,1fr)}.steps li{padding:4rem 1.2rem 1.3rem}
 .section{padding:5.5rem 0}
 .foot-in{grid-template-columns:200px 1fr;align-items:start}.footer{padding-bottom:3rem}
}
