.parties-hero{
    min-height:200px;
    background:linear-gradient(135deg, rgba(29,126,255,.15) 0%, rgba(42,214,207,.1) 100%), #050505;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:100px clamp(20px,5vw,70px) 50px;
    position:relative;
    overflow:hidden;
}

.parties-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 20% 50%, rgba(29,126,255,.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 50%, rgba(42,214,207,.1) 0%, transparent 50%);
    pointer-events:none;
}

.parties-hero h1{
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(2.5rem,8vw,5rem);
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    position:relative;
    z-index:1;
    margin-bottom:20px;
    text-shadow:0 0 20px rgba(29,126,255,.3);
}

.parties-hero p{
    font-size:1rem;
    color:#aaa;
    position:relative;
    z-index:1;
    letter-spacing:1px;
}

.parties-gallery{
    width:100%;
    background:#050505;
    padding:30px clamp(20px,5vw,70px);
}

.gallery-section-title{
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(1.6rem, 4vw, 2.2rem);
    text-align:center;
    text-transform:uppercase;
    letter-spacing:1px;
    margin:8px auto 28px;
    color:#fff;
}

.gallery-container{
    max-width:1400px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(min(350px, 100%), 1fr));
    gap:25px;
}

.gallery-item{
    position:relative;
    border-radius:15px;
    overflow:hidden;
    aspect-ratio:1;
    cursor:pointer;
}

.gallery-image{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    border:2px solid rgba(29,126,255,.3);
    border-radius:15px;
    background:linear-gradient(135deg, rgba(29,126,255,.1), rgba(42,214,207,.1));
}

.gallery-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.4s ease, filter 0.4s ease;
    filter:brightness(0.8) contrast(1.1);
}

.gallery-item:hover .gallery-image img{
    transform:scale(1.1) rotate(2deg);
    filter:brightness(1) contrast(1.2);
}

.gallery-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(29,126,255,.8) 0%, rgba(42,214,207,.7) 100%);
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:30px;
    opacity:0;
    transition:opacity 0.4s ease;
}

.gallery-item:hover .gallery-overlay{
    opacity:1;
}

.gallery-overlay h3{
    font-family:'Barlow Condensed',sans-serif;
    font-size:1.8rem;
    font-weight:700;
    margin-bottom:10px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.gallery-overlay p{
    font-size:0.95rem;
    color:rgba(255,255,255,.9);
    line-height:1.5;
}

.party-features{
    width:100%;
    padding:80px clamp(20px,5vw,70px);
    background:#050505;
    position:relative;
}

.party-features::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:600px;
    height:600px;
    background:radial-gradient(circle, rgba(42,214,207,.08) 0%, transparent 70%);
    border-radius:50%;
    pointer-events:none;
}

.party-features h2{
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(2rem,6vw,3.5rem);
    text-align:center;
    margin-bottom:60px;
    text-transform:uppercase;
    letter-spacing:2px;
    position:relative;
    z-index:1;
}

.party-features h2::after{
    content:"";
    display:block;
    width:100px;
    height:3px;
    background:linear-gradient(90deg, #1d7eff, #2ad6cf);
    margin:20px auto 0;
    border-radius:999px;
    box-shadow:0 0 15px rgba(29,126,255,.5);
}

.features-grid{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap:30px;
    position:relative;
    z-index:1;
}

.feature-card{
    padding:40px 30px;
    background:linear-gradient(135deg, rgba(29,126,255,.08) 0%, rgba(42,214,207,.06) 100%);
    border:2px solid rgba(29,126,255,.2);
    border-radius:15px;
    text-align:center;
    transition:all 0.3s ease;
}

.feature-card:hover{
    border-color:rgba(29,126,255,.6);
    box-shadow:0 0 30px rgba(29,126,255,.2);
    transform:translateY(-8px);
    background:linear-gradient(135deg, rgba(29,126,255,.15) 0%, rgba(42,214,207,.12) 100%);
}

.feature-card i{
    font-size:3rem;
    color:#1d7eff;
    margin-bottom:20px;
    display:block;
    text-shadow:0 0 15px rgba(29,126,255,.4);
}

.feature-card h3{
    font-family:'Barlow Condensed',sans-serif;
    font-size:1.5rem;
    font-weight:700;
    margin-bottom:15px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.feature-card p{
    color:#aaa;
    line-height:1.6;
    font-size:0.95rem;
}

.cta-section{
    width:100%;
    padding:80px clamp(20px,5vw,70px);
    background:linear-gradient(135deg, rgba(29,126,255,.1) 0%, rgba(42,214,207,.08) 100%);
    text-align:center;
    position:relative;
    overflow:hidden;
}

.cta-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% 50%, rgba(29,126,255,.15) 0%, transparent 70%);
    pointer-events:none;
}

.cta-section h2{
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(1.8rem,5vw,3rem);
    margin-bottom:20px;
    text-transform:uppercase;
    letter-spacing:2px;
    position:relative;
    z-index:1;
}

.cta-section p{
    font-size:1.2rem;
    color:#ddd;
    margin-bottom:40px;
    position:relative;
    z-index:1;
}

.cta-section .primary-btn{
    position:relative;
    z-index:1;
    display:inline-block;
}



@media (max-width:768px){
    .parties-hero{
        padding:96px 16px 32px;
    }

    .parties-hero p{
        font-size:.95rem;
        line-height:1.65;
    }

    .parties-gallery{
        padding:20px 12px 48px;
    }

    .gallery-container{
        grid-template-columns:1fr;
        gap:12px;
    }
}

@media (max-width:480px){
    .gallery-overlay h3{
        font-size:1.1rem;
    }

    .gallery-overlay p{
        font-size:.85rem;
    }
}