:root{--violet:#5b21b6;--violet-dark:#2e1065;--yellow:#facc15;--slate:#475569}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;color:#0f172a;background:#fff;overflow-x:hidden}main{overflow-x:hidden}h1,h2,h3{font-family:Poppins,Inter,system-ui,sans-serif}.container-custom{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.hero-gradient{background:linear-gradient(135deg,#2e1065 0%,#5b21b6 52%,#7c3aed 100%)}.btn-yellow{display:inline-block;background:#facc15;color:#2e1065;font-weight:700;border-radius:.5rem;padding:.75rem 1.5rem;transition:background .2s,transform .2s}.btn-yellow:hover{background:#fde047;transform:translateY(-1px)}.card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:2rem;box-shadow:0 10px 25px rgba(15,23,42,.05);transition:border-color .2s,transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(15,23,42,.08)}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:#0f172a;line-height:1.15}.section-subtitle{max-width:760px;margin:1rem auto 0;color:#64748b;font-size:1.125rem;line-height:1.7}.page-hero{min-height:460px}.footer-link{color:#94a3b8;font-size:.875rem;transition:color .2s}.footer-link:hover{color:#facc15}.social-link{width:2.5rem;height:2.5rem;border-radius:9999px;background:#4c1d95;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;transition:background .2s,transform .2s}.social-link:hover{background:#facc15;color:#2e1065;transform:translateY(-2px)}.nav-active{color:#facc15!important}.prose-custom h2{font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.prose-custom p{color:#475569;line-height:1.8}.contact-form{display:grid;gap:1rem}.contact-form label{display:grid;gap:.4rem;font-weight:600;color:#334155}.contact-form input,.contact-form textarea{border:1px solid #cbd5e1;border-radius:.75rem;padding:.85rem 1rem;font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #7c3aed33;border-color:#7c3aed}.fade-in{animation:fadeIn .7s ease both}.not-found-illustration{width:6rem;height:6rem;border-radius:9999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center;font-size:4rem;font-weight:700;color:#facc15;animation:float 3s ease-in-out infinite}@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:768px){.container-custom{width:min(100% - 1.25rem,1120px)}.page-hero{min-height:380px}.card{padding:1.35rem}.scale-105{transform:none!important}.hero-gradient .grid{display:block!important}.hero-gradient .grid,.hero-gradient .grid>*{min-width:0!important;max-width:100%!important;width:100%!important}.hero-gradient h1{font-size:1.85rem!important;line-height:1.18!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}.hero-gradient p,.hero-gradient .text-xl{font-size:1.02rem!important;line-height:1.65!important;white-space:normal!important;overflow-wrap:anywhere}.hero-gradient .max-w-md{max-width:100%!important}.hero-gradient .grid>div+div{margin-top:2rem!important}.hero-gradient .btn-yellow{width:100%;text-align:center}.hero-gradient .flex-wrap{justify-content:center}.hero-gradient .rounded-full{max-width:100%;padding-left:1rem!important;padding-right:1rem!important}.hero-gradient .rounded-full span{font-size:1rem!important;white-space:normal!important}}.whatsapp-float{position:fixed;right:1rem;bottom:5.5rem;z-index:60;background:#22c55e;color:#fff;font-weight:800;border-radius:999px;padding:.85rem 1.1rem;box-shadow:0 14px 30px rgba(34,197,94,.35);transition:transform .2s,background .2s}.whatsapp-float:hover{background:#16a34a;transform:translateY(-2px)}@media(max-width:640px){.whatsapp-float{right:.75rem;bottom:6.25rem;padding:.75rem .95rem;font-size:.9rem}}.site-logo{height:3.5rem;width:auto;max-width:12.5rem;object-fit:contain;border-radius:.75rem}@media(max-width:640px){.site-logo{height:3rem;max-width:10.5rem}}