/* Google Fonts: Poppins & Pacifico */
:root{
  --bg:#f0e9f6;
  --primary:#9b6dd1;
  --primary-700:#7f50bf;
  --accent:#f28fb5;
  --text:#2b2353;
  --white:#fff;
}

*{box-sizing:border-box}
body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; color:var(--text); background:var(--bg);}
img{max-width:100%; display:block}
a{color:var(--primary-700); text-decoration:none}

.container{width:min(1100px, 92%); margin-inline:auto}

.nav{position:sticky; top:0; background:rgba(255,255,255,.8); backdrop-filter: blur(10px); z-index:50; border-bottom:1px solid #e9dff5}
.nav__row{display:flex; align-items:center; justify-content:space-between; padding:.6rem 0}
.nav a{margin-left:1rem; font-weight:600}
.brand{display:flex; align-items:center; gap:.6rem}
.brand__logo{width:42px; height:42px; border-radius:50%; object-fit:cover; border:2px solid var(--primary);}
.brand__text strong{display:block; line-height:1}

.hero{position:relative; min-height:64vh; display:grid; place-items:center; text-align:center; overflow:hidden}
.hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.9)}
.hero__overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(240,233,246,.6), rgba(240,233,246,.9));}
.hero__content{position:relative; padding:4rem 0}
.hero h1{font-size:clamp(2rem,4vw,3.2rem); font-weight:700}
.hero h1 span{font-family:Pacifico, cursive; color:var(--primary-700); font-weight:400}
.hero p{max-width:800px; margin:1rem auto 1.5rem}

.btn{display:inline-block; background:var(--primary); color:var(--white); padding:.8rem 1.2rem; border-radius:999px; font-weight:700; transition:.25s transform, .25s box-shadow}
.btn:hover{transform:translateY(-2px); box-shadow:0 8px 24px rgba(155,109,209,.25)}
.btn.outline{background:transparent; border:2px solid var(--primary); color:var(--primary);}

.section{padding:3rem 0}
h2{font-size:clamp(1.6rem,3vw,2.2rem); margin:0 0 1rem}

.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem}
.card{background:var(--white); border:1px solid #eadff6; padding:1rem; border-radius:16px; box-shadow:0 8px 20px rgba(0,0,0,.04)}

.social__grid{display:grid; grid-template-columns:1fr; gap:1rem}
.social__grid .links{display:flex; gap:.8rem; flex-wrap:wrap}
.fb-embed iframe{width:100%; border-radius:12px}

.gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:.6rem}
.gallery img{border-radius:12px; cursor:zoom-in; aspect-ratio:4/3; object-fit:cover; transition:.3s transform}
.gallery img:hover{transform:scale(1.02)}

.video__wrap{position:relative; padding-top:56.25%; border-radius:16px; overflow:hidden; box-shadow:0 8px 20px rgba(0,0,0,.06)}
.yt{position:absolute; inset:0; width:100%; height:100%}

.contact__grid{display:grid; grid-template-columns:1.2fr .8fr; gap:1.4rem}
.field{display:grid; gap:.35rem; margin-bottom:.8rem}
input, textarea{padding:.8rem .9rem; border-radius:12px; border:1px solid #e0d2f0; font:inherit; background:#fff}
.form__hint{font-size:.9rem; opacity:.8}

.footer{background:#fff; border-top:1px solid #eadff6; padding:1.5rem 0; text-align:center;}

.wa-float{position:fixed; right:16px; bottom:16px; width:56px; height:56px; border-radius:50%; background:#25D366; display:grid; place-items:center; box-shadow:0 10px 18px rgba(0,0,0,.18); z-index:60}
.wa-float svg{width:28px; height:28px; fill:#fff}

.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.75); display:none; align-items:center; justify-content:center; z-index:80; padding:1rem}
.lightbox img{max-width:min(1100px, 92%); max-height:85vh; border-radius:12px}
.lightbox__close{position:absolute; top:18px; right:18px; font-size:2rem; background:transparent; border:0; color:#fff; cursor:pointer}

@media (max-width:900px){
  .contact__grid{grid-template-columns:1fr}
}
