*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Inter","Roboto","Helvetica",Arial,sans-serif;
    background:#0a0a0a;color:#fff;line-height:1.5;
}
img{max-width:100%;height:auto;display:block}
.hero{
    position:relative;
    background:url('assets/img/hero.jpg') center/cover no-repeat;
    min-height:70vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}
.hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to bottom,rgba(20,0,40,.6) 0%,rgba(0,0,0,.75) 80%);
}
.brand-mark{
    position:absolute;
    top:2rem;
    left:50%;
    transform:translateX(-50%);
    max-width:140px;
    filter:drop-shadow(0 8px 24px rgba(0,0,0,.8));
}
.hero-content{
    position:relative;
    max-width:90%;
    z-index:2;
}
.hero-content h1{
    font-size:clamp(2rem,2vw+1rem,2.5rem);
    font-weight:600;
    margin-bottom:.5rem;
}
.hero-content p{
    font-size:1rem;
    font-weight:400;
}
.hero-content .sub{
    margin-top:.5rem;
    font-size:1rem;
    opacity:.9;
}
.cta-whatsapp{
    display:inline-block;
    margin-top:1.25rem;
    background:#25d366;
    color:#000;
    font-weight:600;
    padding:.8rem 1.2rem;
    border-radius:999px;
    text-decoration:none;
    box-shadow:0 10px 30px rgba(0,0,0,.6);
}
.top-nav{
    background:#1a1a1a;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1rem;
    padding:1rem;
    position:sticky;
    top:0;
    z-index:50;
}
.top-nav a{
    color:#fff;
    text-decoration:none;
    font-size:.9rem;
    font-weight:500;
    padding:.4rem .8rem;
    border-radius:8px;
    background:#2a2a2a;
}
.section{
    padding:3rem 1rem;
}
.section.light{
    background:#0a0a0a;
    color:#fff;
}
.section.gradient{
    background:radial-gradient(circle at 20% 20%,#a800ff 0%,#ff007a 60%,#0a0a0a 100%);
    color:#fff;
}
.section-inner{
    max-width:1200px;
    margin:0 auto;
}
.section-inner.narrow{
    max-width:700px;
}
.center{text-align:center}
.section-title{
    font-size:clamp(1.5rem,1vw+1rem,2rem);
    font-weight:600;
    margin-bottom:1rem;
    text-align:center;
}
.section-desc{
    font-size:1.05rem;
    font-weight:400;
    line-height:1.6;
    color:#fff;
    opacity:.9;
    margin:0 auto 2rem auto;
    max-width:750px;
    text-align:center;
}
.grid-3{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
    gap:1rem;
}
.card{
    background:#1a1a1a;
    padding:1.25rem 1rem 1rem;
    border-radius:1rem;
    box-shadow:0 20px 60px rgba(0,0,0,.8);
    border:1px solid rgba(255,255,255,.08);
}
.card h3{
    font-size:1rem;
    font-weight:600;
    margin-bottom:.5rem;
    color:#fff;
}
.card p{
    font-size:.9rem;
    line-height:1.5;
    opacity:.85;
}
.benefits-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
    gap:1rem;
    margin-bottom:2rem;
}
.benefit-item{
    background:rgba(0,0,0,.3);
    border:1px solid rgba(255,255,255,.2);
    border-radius:1rem;
    padding:1rem;
    text-align:center;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.benefit-item strong{
    display:block;
    font-size:1rem;
    margin-bottom:.5rem;
}
.benefit-item span{
    font-size:.9rem;
    opacity:.9;
}
.cta-outline{
    display:inline-block;
    border:2px solid #fff;
    padding:.8rem 1.2rem;
    border-radius:999px;
    text-decoration:none;
    color:#fff;
    font-weight:600;
}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
    gap:.75rem;
}
.gallery-item{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:.75rem;
    cursor:pointer;
    box-shadow:0 20px 60px rgba(0,0,0,.8);
    border:1px solid rgba(255,255,255,.08);
}
.lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.9);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    padding:1rem;
    z-index:9999;
}
.lightbox.hidden{display:none}
.lightbox-img{
    max-width:90vw;
    max-height:80vh;
    border-radius:.75rem;
    box-shadow:0 40px 100px rgba(0,0,0,.9);
}
.lightbox-close{
    color:#fff;
    font-size:2rem;
    font-weight:600;
    cursor:pointer;
    align-self:flex-end;
    margin-bottom:1rem;
}
.social-embeds{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
    gap:1.5rem;
    margin-bottom:2rem;
}
.social-card{
    background:rgba(0,0,0,.3);
    border-radius:1rem;
    padding:1rem;
    border:1px solid rgba(255,255,255,.2);
    box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.social-card h3{
    font-size:1rem;
    margin-bottom:.5rem;
    font-weight:600;
}
.embed-wrapper{
    background:#1a1a1a;
    border-radius:.75rem;
    padding:.75rem;
    border:1px solid rgba(255,255,255,.08);
    text-align:center;
    font-size:.9rem;
}
.ig-link,.tt-link{
    color:#fff;
    font-weight:600;
    text-decoration:underline;
    word-break:break-all;
    font-size:.9rem;
}
.video-wrapper{
    max-width:800px;
    margin:0 auto;
}
.video-wrapper h3{
    text-align:center;
    font-size:1rem;
    margin-bottom:1rem;
    font-weight:600;
}
.ratio-16x9{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
    border-radius:1rem;
    overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,.8);
    border:1px solid rgba(255,255,255,.08);
}
.ratio-inner{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.contact-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    background:#1a1a1a;
    padding:1.5rem;
    border-radius:1rem;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 30px 80px rgba(0,0,0,.8);
    margin-bottom:2rem;
}
.contact-form .form-group{
    display:flex;
    flex-direction:column;
    gap:.4rem;
}
.contact-form label{
    font-size:.8rem;
    font-weight:500;
    color:#fff;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
    width:100%;
    background:#000;
    border:1px solid rgba(255,255,255,.2);
    border-radius:.5rem;
    padding:.7rem .8rem;
    color:#fff;
    font-size:.9rem;
    font-family:inherit;
}
.contact-form textarea{
    grid-column:span 2;
    resize:vertical;
    min-height:120px;
}
.btn-submit{
    grid-column:span 2;
    background:linear-gradient(90deg,#a800ff 0%,#ff007a 100%);
    border:none;
    padding:.9rem 1.2rem;
    border-radius:.75rem;
    color:#fff;
    font-weight:600;
    font-size:1rem;
    cursor:pointer;
    box-shadow:0 30px 80px rgba(0,0,0,.8);
}
.location-block{
    text-align:center;
    font-size:.9rem;
    line-height:1.5;
    opacity:.9;
}
.map-hint{
    opacity:.6;
    font-size:.8rem;
}
.footer{
    background:#000;
    text-align:center;
    padding:2rem 1rem 4rem;
    font-size:.8rem;
    line-height:1.6;
    color:#fff;
}
.footer a{
    color:#fff;
    text-decoration:underline;
}
.copy{
    opacity:.6;
}
.floating-whatsapp{
    position:fixed;
    right:1rem;
    bottom:1rem;
    background:#25d366;
    color:#000;
    font-size:1.2rem;
    font-weight:700;
    width:3.5rem;
    height:3.5rem;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:0 20px 60px rgba(0,0,0,.7);
    border:2px solid rgba(0,0,0,.4);
    z-index:999;
}
@media(max-width:600px){
    .contact-form{grid-template-columns:1fr}
    .contact-form textarea,
    .btn-submit{grid-column:span 1}
}
