*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Baloo 2',cursive;

background:#fffef5;

color:#254122;

}

.container{

width:90%;
max-width:1300px;

margin:auto;

}

/* HEADER */

.header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:1000;

background:#f4e9c9;

border-bottom:none;

backdrop-filter:blur(8px);

box-shadow:

0 6px 20px rgba(
0,0,0,.05
);

}

.nav{

display:flex;

align-items:center;

padding:14px 0;

gap:55px;

}

/* LOGO */

.logo{

display:flex;

align-items:center;

justify-content:center;

padding:0;

margin-right:40px;

}

.logo img{

height:130px;

width:auto;

display:block;

background:transparent;

border:none;

outline:none;

box-shadow:none;

padding:0;

mix-blend-mode:normal;

filter:none;

}

.logo span{

margin-top:6px;

font-size:.9rem;

font-weight:700;

color:#5d8d42;

letter-spacing:2px;

}

/* MENU */

nav{

display:flex;

align-items:center;

gap:28px;

margin-right:auto;

margin-left:15px;

}

nav a{

text-decoration:none;

font-weight:700;

font-size:.95rem;

color:#35502a;

position:relative;

transition:.3s;

}

nav a::after{

content:"";

position:absolute;

left:0;
bottom:-8px;

width:0;

height:3px;

background:#69b34c;

border-radius:20px;

transition:.3s;

}

nav a:hover{

color:#2f8d2f;

}

nav a:hover::after{

width:100%;

}

/* BOTÃO */

.btn-whats{

display:flex;

align-items:center;

gap:10px;

padding:15px 26px;

border-radius:50px;

background:

linear-gradient(
135deg,
#4ea53b,
#2f8d2f
);

color:white;

text-decoration:none;

font-weight:700;

box-shadow:
0 8px 20px rgba(
47,141,47,.25
);

transition:.3s;

}

.btn-whats:hover{

transform:
translateY(-3px);

}
.logo img{

height:110px;

width:auto;

display:block;

object-fit:contain;

filter:

drop-shadow(
0 0 0 transparent
);

mix-blend-mode:multiply;

}

/* RESPONSIVO */

@media(max-width:1000px){

nav{

display:none;

}

.logo{

font-size:1.6rem;

}

.btn-whats{

padding:14px 20px;

font-size:.9rem;

}

}
/* HERO */

.hero{

position:relative;

height:100vh;

background:

linear-gradient(
to bottom,
rgba(0,0,0,.05),
rgba(0,0,0,.12)
),

url("img/hero-ybyra.jpg");

background-size:cover;

background-position:center top;

background-repeat:no-repeat;

display:flex;

align-items:flex-end;

justify-content:center;

padding-bottom:60px;

overflow:hidden;

}

.hero-overlay{

position:absolute;

inset:0;

background:

linear-gradient(
to bottom,
rgba(0,0,0,.05),
transparent 35%,
rgba(0,0,0,.15)
);

}

.hero-content{

position:relative;

z-index:3;

}

.hero-btn{

display:flex;

align-items:center;

gap:12px;

padding:20px 40px;

background:#1c8c31;

color:white;

font-size:1.1rem;

font-weight:800;

border-radius:50px;

text-decoration:none;

box-shadow:

0 12px 30px rgba(0,0,0,.20);

transition:.3s;

}

.hero-btn:hover{

transform:translateY(-5px);

}

/* ===========================
GRUPOS ETÁRIOS
=========================== */

.grupos{

padding:120px 0;

background:#fffdf4;

}

.section-sub{

text-align:center;

max-width:700px;

margin:auto;

margin-top:15px;

margin-bottom:60px;

font-size:1.1rem;

color:#5d654f;

}

.grupos h2{

text-align:center;

font-size:3rem;

color:#2f5d25;

margin-bottom:10px;

}

.grupos-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.grupo-card{

background:white;

padding:40px;

border-radius:35px;

box-shadow:0 15px 35px rgba(0,0,0,.07);

transition:.3s;

}

.grupo-card:hover{

transform:translateY(-10px);

}

.grupo-card span{

font-size:3rem;

display:block;

margin-bottom:20px;

}

.grupo-card h3{

font-size:2rem;

margin-bottom:10px;

color:#2d5b25;

}

.grupo-card h4{

color:#e27d1d;

margin-bottom:25px;

}

.grupo-card ul{

list-style:none;

}

.grupo-card li{

margin-bottom:14px;

padding-left:25px;

position:relative;

}

.grupo-card li::before{

content:"✔";

position:absolute;

left:0;

color:#4fa737;

}

.destaque{

background:

linear-gradient(
135deg,
#5aa93d,
#72c455
);

color:white;

}


/* ===========================
SERVIÇOS
=========================== */

.servicos{

padding:120px 0;

background:#f4fbe9;

}

.servicos h2{

text-align:center;

font-size:3rem;

margin-bottom:70px;

color:#255020;

}

.servicos-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.servico{

background:white;

padding:40px;

border-radius:30px;

text-align:center;

font-size:1.2rem;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.3s;

}

.servico:hover{

transform:translateY(-8px);

}


/* PLANOS */

.planos{

padding:120px 0;

background:

linear-gradient(
180deg,
#ffffff,
#f6fbf1
);

}

.planos-grid{

display:grid;

grid-template-columns:
repeat(2,1fr);

gap:40px;

margin-top:70px;

}

.plano-card{

background:white;

padding:45px;

border-radius:32px;

position:relative;

overflow:hidden;

box-shadow:
0 20px 45px rgba(
0,0,0,.07
);

transition:.35s;

}

.plano-card:hover{

transform:
translateY(-10px);

}

.plano-header{

display:flex;

align-items:center;

gap:20px;

margin-bottom:25px;

}

.plano-icon{

width:82px;
height:82px;

border-radius:22px;

display:flex;

align-items:center;
justify-content:center;

font-size:2rem;

background:#eef8e7;

color:#2f8d2f;

}

.categoria{

font-size:.85rem;

font-weight:700;

letter-spacing:1px;

color:#777;

}

.plano-card h3{

font-size:2rem;

margin-top:8px;

color:#15341f;

}

.plano-desc{

line-height:1.8;

margin-bottom:30px;

color:#555;

}

.plano-card ul{

list-style:none;

display:flex;

flex-direction:column;

gap:15px;

margin-bottom:35px;

}

.plano-card li{

display:flex;

align-items:center;

gap:14px;

padding:14px 18px;

background:#f8faf7;

border-radius:16px;

font-weight:600;

}

.plano-card li i{

color:#4caf50;

font-size:1rem;

}

.btn-plano{

display:inline-flex;

padding:16px 28px;

border-radius:16px;

background:#2f8d2f;

color:white;

text-decoration:none;

font-weight:700;

transition:.3s;

}

.btn-plano:hover{

transform:
translateY(-4px);

}

.destaque{

background:

linear-gradient(
145deg,
#2f8d2f,
#1f6f1f
);

color:white;

}

.destaque h3,
.destaque p,
.destaque span,
.destaque li{

color:white;

}

.destaque li{

background:
rgba(
255,255,255,.08
);

}

.destaque .plano-icon{

background:
rgba(
255,255,255,.15
);

color:white;

}

.tag{

position:absolute;

top:25px;
right:25px;

padding:10px 16px;

border-radius:999px;

background:#ffd54f;

color:#222;

font-size:.8rem;

font-weight:800;

}

@media(max-width:950px){

.planos-grid{

grid-template-columns:1fr;

}

}


/* FESTAS */

.festas{

padding:120px 0;

background:#fff;

}

.festas-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin:70px 0;

}

.festa-card{

background:#f8fbf6;

padding:35px;

border-radius:28px;

text-align:center;

transition:.3s;

}

.festa-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 35px rgba(0,0,0,.08);

}

.festa-icon{

width:80px;
height:80px;

margin:auto;

border-radius:22px;

background:#eef8e8;

display:flex;

justify-content:center;
align-items:center;

font-size:1.8rem;

color:#2f8d2f;

margin-bottom:20px;

}

.festa-banner{

background:

linear-gradient(
135deg,
#2f8d2f,
#1f6f1f
);

padding:45px;

border-radius:30px;

display:flex;

justify-content:space-between;

align-items:center;

color:white;

}

.festa-banner a{

background:white;

padding:18px 30px;

border-radius:16px;

text-decoration:none;

font-weight:700;

color:#1f6f1f;

}

/* SEGURANÇA */

.seguranca{

padding:120px 0;

background:#f6fbf1;

}

.seg-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:70px;

}

.seg-card{

background:white;

padding:35px;

border-radius:28px;

text-align:center;

}

.seg-card i{

font-size:2rem;

color:#2f8d2f;

margin-bottom:20px;

}

/* DOCUMENTOS */

.doc-card{

cursor:pointer;

}

.doc-card:hover .doc-icon{

transform:scale(1.08);

}

.doc-icon{

transition:.3s;

}



.documentos{

padding:120px 0;

background:white;

}

.docs-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:70px;

}

.doc-card{

display:flex;

gap:20px;

padding:30px;

background:#f7faf5;

border-radius:24px;

text-decoration:none;

color:inherit;

transition:.3s;

}

.doc-card:hover{

transform:translateY(-6px);

}

.doc-icon{

width:70px;
height:70px;

background:#eef8e8;

border-radius:20px;

display:flex;

align-items:center;
justify-content:center;

font-size:1.6rem;

color:#2f8d2f;

}

/* RESPONSIVO */

@media(max-width:1000px){

.festas-grid,
.seg-grid,
.docs-grid{

grid-template-columns:1fr;

}

.festa-banner{

flex-direction:column;

gap:25px;

text-align:center;

}

}


/* ===========================
GALERIA
=========================== */

/* GALERIA */

.galeria{

padding:120px 0;

background:#f8faf5;

}

.galeria-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

margin-top:60px;

}

.foto-slot{

height:300px;

overflow:hidden;

border-radius:28px;

position:relative;

box-shadow:
0 15px 30px rgba(
0,0,0,.08
);

transition:.35s;

}

.foto-slot:hover{

transform:translateY(-8px);

}

.foto-slot img{

width:100%;

height:100%;

object-fit:cover;

transition:.5s;

}

.foto-slot:hover img{

transform:scale(1.08);

}

/* RESPONSIVO */

@media(max-width:900px){

.galeria-grid{

grid-template-columns:1fr;

}

.foto-slot{

height:250px;

}

}



.galeria{

padding:120px 0;

background:#fffdf7;

}

.galeria h2{

text-align:center;

font-size:3rem;

margin-bottom:70px;

}

.galeria-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.foto-slot{

height:250px;

background:#ececec;

border-radius:30px;

border:3px dashed #bfbfbf;

}


/* FAQ */

.faq{

padding:120px 0;

background:#f7faf5;

}

.faq-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:30px;

margin-top:70px;

}

.faq-item{

background:white;

border-radius:28px;

padding:0;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.05);

transition:.3s;

}

.faq-item:hover{

transform:translateY(-6px);

}

.faq-top{

padding:28px 30px;

display:flex;

justify-content:space-between;

align-items:center;

cursor:pointer;

background:white;

position:relative;

z-index:2;

}

.faq-top h3{

font-size:1.1rem;

color:#183b1d;

}

.faq-top i{

color:#2f8d2f;

font-size:1rem;

}

.faq-content{

padding:0 30px 30px;

background:#f3f8ef;

margin-top:-10px;

padding-top:25px;

}

.faq-content p{

color:#4b5563;

line-height:1.7;

}

/* CTA */

.cta{

padding:120px 0;

background:

linear-gradient(
135deg,
#1d5f24,
#2f8d2f
);

position:relative;

overflow:hidden;

}

.cta::before{

content:"";

position:absolute;

width:500px;
height:500px;

background:rgba(255,255,255,.05);

border-radius:50%;

top:-200px;
right:-100px;

}

.cta-box{

position:relative;

z-index:2;

display:flex;

justify-content:space-between;

align-items:center;

gap:60px;

color:white;

}

.cta-text{

max-width:650px;

}

.cta-text span{

display:inline-block;

margin-bottom:20px;

font-weight:700;

letter-spacing:2px;

color:#c6ffb2;

}

.cta-text h2{

font-size:4rem;

line-height:1.1;

margin-bottom:25px;

}

.cta-text p{

font-size:1.15rem;

line-height:1.8;

opacity:.92;

}

.cta-buttons{

display:flex;

flex-direction:column;

gap:20px;

}

.cta-whatsapp{

background:white;

color:#1d5f24;

padding:22px 34px;

border-radius:20px;

font-weight:700;

text-decoration:none;

display:flex;

align-items:center;

gap:14px;

transition:.3s;

}

.cta-whatsapp:hover{

transform:translateY(-5px);

}

.cta-outline{

border:2px solid rgba(255,255,255,.4);

padding:20px 34px;

border-radius:20px;

text-decoration:none;

color:white;

font-weight:700;

transition:.3s;

text-align:center;

}

.cta-outline:hover{

background:white;

color:#1d5f24;

}

/* RESPONSIVO */

@media(max-width:1000px){

.faq-grid{

grid-template-columns:1fr;

}

.cta-box{

flex-direction:column;

text-align:center;

}

.cta-text h2{

font-size:3rem;

}

.cta-buttons{

width:100%;

}

.cta-whatsapp,
.cta-outline{

justify-content:center;

}

}


/* ===========================
FOOTER
=========================== */

footer{

padding:35px;

text-align:center;

background:#21451a;

color:white;

}
/* PROGRAMAS */

.programas{

padding:120px 0;

background:

linear-gradient(
180deg,
#f7fbf2,
#ffffff
);

}

.programas-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:35px;

margin-top:70px;

}

.programa-card{

background:#fff;

padding:40px;

border-radius:32px;

box-shadow:
0 15px 40px rgba(
0,0,0,.06
);

transition:.35s;

position:relative;

overflow:hidden;

}

.programa-card:hover{

transform:
translateY(-10px);

}

.programa-card::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:8px;

}

.kids::before{
background:#4CAF50;
}

.adventure::before{
background:#2196F3;
}

.teens::before{
background:#FF9800;
}

.programa-top{

display:flex;

align-items:center;

gap:18px;

margin-bottom:25px;

}

.programa-icon{

width:72px;
height:72px;

border-radius:20px;

display:flex;

align-items:center;
justify-content:center;

font-size:1.7rem;

color:#fff;

}

.kids .programa-icon{
background:#4CAF50;
}

.adventure .programa-icon{
background:#2196F3;
}

.teens .programa-icon{
background:#FF9800;
}

.programa-top span{

font-size:.9rem;

font-weight:700;

color:#777;

text-transform:uppercase;

}

.programa-top h3{

font-size:2rem;

color:#14311b;

margin-top:6px;

}

.programa-desc{

margin-bottom:28px;

line-height:1.8;

color:#555;

}

.programa-card ul{

list-style:none;

display:flex;

flex-direction:column;

gap:14px;

}

.programa-card li{

display:flex;

gap:14px;

align-items:center;

padding:14px;

background:#f6f8f5;

border-radius:16px;

font-weight:600;

}

.programa-card li i{

width:40px;
height:40px;

display:flex;

align-items:center;
justify-content:center;

border-radius:12px;

background:white;

color:#2e7d32;

}

/* RESPONSIVO */

@media(max-width:1000px){

.programas-grid{

grid-template-columns:1fr;

}

}

/* ===========================
RESPONSIVO
=========================== */

@media(max-width:900px){

.grupos-grid,
.servicos-grid,
.planos-grid,
.festas-grid,
.seg-grid,
.docs-grid,
.galeria-grid{

grid-template-columns:1fr;

}

.grupos h2,
.servicos h2,
.planos h2,
.festas h2,
.seguranca h2,
.galeria h2,
.faq h2,
.cta h2{

font-size:2.2rem;

}

.grupo-card,
.plano,
.servico{

padding:30px;

}

.foto-slot{

height:200px;

}

}

/* RESPONSIVO */

@media(max-width:900px){

.hero{

height:auto;

min-height:70vh;

padding-bottom:35px;

background-size:contain;

background-position:center top;

background-color:#efe6b5;

}

.hero-btn{

padding:16px 28px;

font-size:.95rem;

}

}

@media(max-width:600px){

.hero{

min-height:55vh;

background-size:100% auto;

padding-bottom:20px;

}

.hero-btn{

width:90%;

justify-content:center;

margin:auto;

}

}

/* BENEFICIOS */

.beneficios{

padding:100px 0;

}

.cards{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.card{

background:white;

padding:35px;

border-radius:30px;

text-align:center;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.card i{

font-size:3rem;

color:#2e9730;

margin-bottom:20px;

}

/* SOBRE */

.sobre{

padding:100px 0;

}

.sobre-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

}

.sobre img{

width:100%;

border-radius:30px;

}

/* ATIVIDADES */

.atividades{

padding:100px 0;

background:#fff8dd;

}

.atividades h2{

text-align:center;

margin-bottom:60px;

font-size:3rem;

}

.atividades-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}

.atividade{

background:white;

padding:20px;

border-radius:30px;

}

.atividade img{

width:100%;

border-radius:20px;

}

/* CTA */

.cta{

padding:100px 0;

background:#2d9f36;

color:white;

text-align:center;

}

.cta a{

display:inline-block;

margin-top:30px;

padding:18px 35px;

background:white;

color:#2d9f36;

border-radius:50px;

text-decoration:none;

font-weight:700;

}

footer{

padding:30px;

text-align:center;

background:#23401f;

color:white;

}

/* RESPONSIVO */

@media(max-width:900px){

nav{

display:none;

}

.hero-grid,
.cards,
.sobre-grid,
.atividades-grid{

grid-template-columns:1fr;

}

.hero{

height:auto;

padding:150px 0 80px;

}

.hero h1{

font-size:4rem;

}

.hero-placa{

font-size:1.3rem;

}

}