*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root{
    --bg:#0f172a;
    --surface:rgba(255,255,255,0.75);
    --text:#0a0a0a;
    --muted:#6b7280;
    --primary:#7c3aed;
    --primary-2:#06b6d4;
    --primary-grad:linear-gradient(135deg, var(--primary), var(--primary-2));
}
html{
    scroll-behavior: smooth;
}
html body{
    max-width: 100%;
    overflow-x: hidden;
    font-family: 'Poppins', sans-serif;
    line-height: 1.6;
    color: var(--text);
    background: #f6f7fb;
}

.navbar{
    position: sticky;
    top: 0;
    z-index: 99;
    background: var(--surface);
    backdrop-filter: saturate(180%) blur(8px);
    border-bottom: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.navbar.bg-light{
    background: var(--surface) !important;
}
.navbar-nav{
    margin-left: auto;
}
.navbar-brand{
    letter-spacing: .3px;
}
.navbar .nav-link{
    color: #1f2937;
    font-weight: 500;
    transition: color .2s ease, transform .2s ease;
}
.navbar .nav-link:hover{
    color: var(--primary);
    transform: translateY(-1px);
}
.btn-contact{
    background-image: var(--primary-grad);
    color: white;
    padding-inline: 32px;
    margin-top: 0px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 10px 24px rgba(124,58,237,.25);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.purple{
    border: 1px solid #9515a8;
    opacity: 1;
}
.btn-contact:hover{
    filter: brightness(1.05);
    transform: translateY(-1px);
    color: #fff !important;
}
.main-bg{
    background-image: url("images/bg.webp");
    background-size: cover;

}
.overlay{
    background-image: linear-gradient(rgba(15,23,42,.55), rgba(15,23,42,.55));
    padding-block: 220px;
    text-align: center;
}
.overlay h1{
    color: white;
    width: 50%;
    margin: 0 auto;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: .3px;
}
.carnival{
    background: rgba(255,255,255,0.85);
    padding: 22px;
    box-shadow: 0 14px 40px rgba(0,0,0,.08);
    text-align: center;
    border-radius: 16px;
    transition: transform .2s ease, box-shadow .2s ease;
}
.carnival img{
    padding-bottom: 20px;
    border-radius: 12px;
    width: 100%;
    height: 360px;
    object-fit: cover;
}
.carnival h4{
    font-weight: 700;
    margin-bottom: 8px;
}
.carnival p{
    color: var(--muted);
}
.carnival:hover{
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(0,0,0,.12);
}
.btn-contact-2{
    background-image: var(--primary-grad);
    color: white;
    padding-inline: 46px;
    margin-top: 10px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 10px 24px rgba(124,58,237,.25);
}
.btn-contact-2:hover{
    filter: brightness(1.05);
    color: #fff !important;
}
.carnival-section{
    padding-block: 64px;
}
.footer{
    padding-top: 28px;
    padding-bottom: 28px;
    background: #0b1220;
    color: #e5e7eb;
}

@media screen and (max-width: 767px) {
    .navbar-brand{
        font-size: 16px;
    }
    .navbar-toggler{
        box-shadow: none !important;
    }
    .overlay{
      padding-block: 120px;
    }
    .overlay h1{
        width: 100%;
        font-size: 28px;
    }
    .carnival{
        margin-top: 20px;
    }
    .form{
        min-width: 100%;
    }
    .stands-row-2{
       min-width: 100%;
    }
}

.form-section{
    background-image: linear-gradient(180deg, #0b1220, #111827);
    padding-block: 60px;
}
.form{
    background-color: rgba(255,255,255,0.9);
    width: 52%;
    margin: 0 auto;
    padding: 24px;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.img-linking{
    color: initial;
    text-decoration: none;
}
.img-linking:hover{
    color: initial;
}
.stands-row-2{
    max-width: 70%;
    margin: 0 auto;
}
.footer ul{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    justify-content: center;
    padding: 0;
}
.footer ul li a{
    color: #e5e7eb;
    text-decoration: none;
    font-family: "Poppins";
    transition: color .2s ease;
}
.footer ul li a:hover{
    color: #a78bfa;
}
/* overrides */
.main-bg{background: radial-gradient(1200px 600px at 10% 10%, rgba(124,58,237,.25), transparent), radial-gradient(1200px 600px at 90% 30%, rgba(6,182,212,.25), transparent), linear-gradient(180deg, #0b1220 0%, #0f172a 100%);background-size: cover}
.overlay{background-image: linear-gradient(rgba(11,18,32,.4), rgba(11,18,32,.6));position: relative}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;filter:saturate(115%) contrast(105%)}
.hero-content{position:relative;z-index:1}
.hero-title{color:#fff;font-weight:800;font-size:56px;letter-spacing:.5px;text-shadow:0 8px 30px rgba(0,0,0,.35)}
.hero-sub{display:inline-block;font-weight:700;font-size:24px;color:#e5e7eb;opacity:.85}
.cta-bar{display:inline-flex;align-items:center;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);padding:10px 12px;border-radius:14px}
.hero-mesh{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.6}
.b1{width:42vmax;height:42vmax;left:-10vmax;top:-6vmax;background:radial-gradient(closest-side, #7c3aed, transparent);animation:blob 18s ease-in-out infinite}
.b2{width:36vmax;height:36vmax;right:-8vmax;top:10vmax;background:radial-gradient(closest-side, #06b6d4, transparent);animation:blob 22s ease-in-out infinite reverse}
.b3{width:40vmax;height:40vmax;left:10vmax;bottom:-12vmax;background:radial-gradient(closest-side, #a78bfa, transparent);animation:blob 26s ease-in-out infinite}
@keyframes blob{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}
.grad-text{background-image: linear-gradient(135deg, #fff, #e5e7eb);-webkit-background-clip: text;background-clip: text;color: transparent}
.overlay .sub{display:inline-block;font-size:18px;font-weight:500;color:#cbd5e1}
.hero-orbs{position:absolute;inset:0;pointer-events:none}
.orb{position:absolute;filter:blur(40px);opacity:.7;border-radius:50%}
.orb-1{width:280px;height:280px;left:10%;top:15%;background:radial-gradient(closest-side,#7c3aed,transparent);animation:float 8s ease-in-out infinite}
.orb-2{width:220px;height:220px;right:12%;top:20%;background:radial-gradient(closest-side,#06b6d4,transparent);animation:float 9s ease-in-out infinite reverse}
.orb-3{width:260px;height:260px;left:20%;bottom:10%;background:radial-gradient(closest-side,#a78bfa,transparent);animation:float 11s ease-in-out infinite}
@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-12px,0)}}
.btn-ghost{background:transparent;color:#e5e7eb;border:1px solid rgba(255,255,255,.35);padding-inline:28px;border-radius:10px}
.btn-ghost:hover{color:#fff;border-color:#fff}
.carnival{position:relative}
.carnival::before{content:"";position:absolute;inset:-2px;border-radius:18px;background:conic-gradient(from 0deg, rgba(124,58,237,.2), rgba(6,182,212,.2), rgba(167,139,250,.2), rgba(124,58,237,.2));filter:blur(12px);z-index:-1}
.section-title{position:relative;display:inline-block;background-image:linear-gradient(135deg,#7c3aed,#06b6d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-title::after{content:"";display:block;height:4px;width:80px;margin:10px auto;background-image:linear-gradient(135deg,#7c3aed,#06b6d4);border-radius:3px}
.navbar{border-radius:16px;margin:12px 12px 0}
.navbar-brand{background-image:linear-gradient(135deg,#7c3aed,#06b6d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.navbar .nav-link.active{color:#7c3aed !important}