/* Reset e estilo base */
* { margin:0; padding:0; box-sizing:border-box; scroll-behavior: smooth; }
body { font-family:'Poppins', sans-serif; background:#fff; color:#333; line-height:1.6; }

/* Header / Banner */
header { background: linear-gradient(135deg, #28A745, #FFA500); color:#fff; text-align:center; padding:80px 20px; }
header img { max-width:150px; height:auto; margin:0 auto 15px; display:block; animation: bounce 2s infinite; }
header h1 { font-size:3em; margin-bottom:10px; }
header p { font-size:1.2em; margin-bottom:20px; }
header .btn { background:#fff; color:#28A745; padding:15px 30px; text-decoration:none; font-weight:bold; border-radius:5px; transition:0.3s; }
header .btn:hover { background:#28A745; color:#fff; }

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Nav */
nav { background:#fff; display:flex; justify-content:center; align-items:center; padding:15px 20px; box-shadow:0 2px 5px rgba(0,0,0,0.1); position: sticky; top:0; z-index:1000; }
nav ul { display:flex; list-style:none; }
nav ul li { margin:0 15px; }
nav a { text-decoration:none; color:#28A745; font-weight:bold; transition:0.3s; }
nav a:hover { color:#FFA500; }

/* Mobile menu */
.menu-toggle { display:none; flex-direction:column; cursor:pointer; }
.menu-toggle span { width:25px; height:3px; background:#28A745; margin:4px 0; transition:0.3s; }

/* Sections */
section { padding:60px 20px; max-width:1000px; margin:auto; opacity:0; transform:translateY(50px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
section.show { opacity:1; transform:translateY(0); }

h2 { color:#FFA500; margin-bottom:25px; font-size:2em; text-align:center; }
p { margin-bottom:15px; text-align:center; }

/* Serviços */
.services { display:flex; flex-wrap:wrap; gap:20px; justify-content:center; }
.service { flex:1 1 300px; background:#f9f9f9; padding:25px; border-radius:10px; box-shadow:0 0 15px rgba(0,0,0,0.1); transition:transform 0.3s; text-align:center; }
.service:hover { transform: translateY(-8px); }

/* Contato */
.contact a { display:inline-block; margin:10px 0; color:#fff; background:#28A745; padding:12px 25px; text-decoration:none; border-radius:5px; transition:0.3s; }
.contact a:hover { background:#FFA500; }

/* Footer */
footer { text-align:center; padding:20px; background:#f4f4f4; color:#555; }

/* Responsividade */
@media(max-width:768px){
    nav ul { display:none; flex-direction:column; width:100%; }
    nav ul.show { display:flex; }
    .menu-toggle { display:flex; }
    nav ul li { margin:10px 0; }
}
