/* ==========================================
   SHOWLIGHTS ENTERTAINMENT LLP
   PREMIUM WEBSITE CSS
   PART 3A
========================================== */

/* Google Font Import */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600&family=Inter:wght@300;400;500;600;700&display=swap');

/* ==========================================
   ROOT VARIABLES
========================================== */

:root{

    --primary:#0F172A;
    --secondary:#1E3A8A;
    --accent:#F4B400;
    --light:#ffffff;
    --gray:#f5f7fb;
    --text:#333333;
    --muted:#777777;

    --shadow:0 15px 40px rgba(0,0,0,.08);
    --radius:18px;
    --transition:.35s ease;

}
/* =========================================
   SHOWLIGHTS BACKGROUND + SCROLLING EFFECT
========================================= */

body {
    background: #020d26;
    overflow-x: hidden;
}

/* Fixed animated background */
body::before {
    content: "";
    position: fixed;
    inset: 0;

    width: 100%;
    height: 100%;

    background-image: url("images/ip2.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    z-index: -10;

    /* Slow background movement */
    animation: backgroundMove 25s ease-in-out infinite alternate;

    pointer-events: none;
}

/* Dark overlay so your content remains readable */
body::after {
    content: "";
    position: fixed;
    inset: 0;

    background: rgba(2, 13, 38, 0.20);

    z-index: -9;

    pointer-events: none;
}

/* =========================================
   SLOW SCROLLING / MOVEMENT
========================================= */

@keyframes backgroundMove {

    0% {
        transform: scale(1);
        background-position: center top;
    }

    50% {
        transform: scale(1.05);
        background-position: center center;
    }

    100% {
        transform: scale(1.10);
        background-position: center bottom;
    }
}


/* =========================================
   MOBILE
========================================= */

@media screen and (max-width: 768px) {

    body::before {
        background-size: cover;
        background-position: center;
        animation-duration: 30s;
    }

}


/* =========================================
   REDUCE MOTION FOR ACCESSIBILITY
========================================= */

@media (prefers-reduced-motion: reduce) {

    body::before {
        animation: none;
    }

}

/* ==========================================
   RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    color:var(--text);
    /* background:#fff; */
    line-height:1.7;
    overflow-x:hidden;

}

img{
    width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

/* ==========================================
   WHY SHOWLIGHTS
========================================== */

.wrap{

    width:min(1200px,92%);
    margin:auto;

}

.section{

    padding:110px 0;

}

.section-head{

    text-align:center;
    max-width:760px;
    margin:auto auto 70px;

}

.section-tag{

    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:.9rem;
    font-weight:700;

}

.section-head h2{

    font-family:'Fraunces',serif;
    font-size:3rem;
    color:whitesmoke;
    margin:18px 0;

}

.section-head p{

    color:#E8A33D;
    font-size:1.05rem;

}

/* ==========================================
   HEADER
========================================== */

header {
    position: fixed;
    width: 100%;
    height: 85px;
    top: 0;
    left: 0;
    z-index: 9999;

    background: rgba(15, 23, 42, 0.90);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Navbar */
.navbar {
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Logo container */
.logo {
    height: 85px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* Logo image */
.logo img {
    display: block;
    width: auto;
    height: 78px;
    max-height: 80px;
    object-fit: contain;
}

/* Navigation */
.nav-links {
    display: flex;
    align-items: center;
    gap: 35px;
}

/* Navigation links */
.nav-links a {
    color: #fff;
    font-size: 0.95rem;
    text-decoration: none;
    transition: 0.3s ease;
}

.nav-links a:hover {
    color: var(--accent);
}

/* Contact button */
.nav-cta {
    background: var(--accent);
    color: #111 !important;
    padding: 12px 22px;
    border-radius: 30px;
    font-weight: 600;
}

.nav-cta:hover {
    background: #fff;
}

.menu-toggle{
    display:none;
    width:35px;
    cursor:pointer;
}

.menu-toggle span{
    display:block;
    height:3px;
    background:#fff;
    margin:7px 0;
    border-radius:5px;
    transition:.3s;
}

/* ==========================================
   HERO
========================================== */

.hero{

    min-height:100vh;

    display:flex;
    align-items:center;
    padding:160px 0 80px;
    background:

    url("images/")
    center/cover no-repeat;

}

.hero-grid{

    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:center;

}

.eyebrow{

    display:inline-block;

    color:var(--accent);

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:20px;

    font-weight:700;

}

.hero h1{

    font-family:'Fraunces',serif;
    color:#fff;
    font-size:4.5rem;
    line-height:1.1;
    margin-bottom:30px;

}

.hero h1 em{

    color:var(--accent);
    font-style:normal;

}

.lead{

    color:#ddd;
    font-size:1.15rem;
    max-width:650px;
    margin-bottom:40px;

}

/* ==========================================
   BUTTONS
========================================== */

.hero-actions{

    display:flex;
    gap:20px;
    flex-wrap:wrap;

}

.btn-primary{

    display:inline-block;

    background:var(--accent);

    color:#111;

    padding:16px 34px;

    border-radius:40px;

    font-weight:700;

    transition:var(--transition);

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:0 12px 25px rgba(0,0,0,.15);

}

.btn-ghost{

    display:inline-block;

    border:2px solid rgba(255,255,255,.5);

    color:#fff;

    padding: 20px 34px;

    border-radius:40px;

    transition:var(--transition);

}

.btn-ghost:hover{

    background:#fff;
    color:#111;

}

/* ==========================================
   HERO CARD
========================================== */

.hero-card{

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.15);

    padding:45px;

    border-radius:25px;

    box-shadow:var(--shadow);

}

.hero-card h3{

    color:#fff;

    font-size:2rem;

    margin-bottom:25px;

    font-family:'Fraunces',serif;

}

.hero-card ul{

    display:grid;
    gap:18px;

}

.hero-card li{

    color:#fff;

    font-size:1rem;

}

/* =========================================
   MOBILE HERO — 360px TO 430px
========================================= */

@media screen and (max-width: 430px) {

    /* HERO CONTAINER */
    .hero {
        min-height: auto !important;
        width: 100% !important;

        padding: 105px 16px 50px !important;

        display: block !important;

        overflow: hidden;
    }


    /* HERO GRID → SINGLE COLUMN */
    .hero-grid {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 30px !important;

        margin: 0 !important;
    }


    /* HERO CONTENT */
    .hero-grid > .hero-content {
        width: 100% !important;
        max-width: 100% !important;

        flex: none !important;
    }


    /* ALL HERO CHILDREN */
    .hero-grid > * {
        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;
    }


    /* EYEBROW */
    .eyebrow {
        font-size: 0.72rem !important;

        letter-spacing: 1.5px !important;

        margin-bottom: 15px !important;
    }


    /* HERO HEADING */
    .hero h1 {
        width: 100% !important;

        font-size: 2.65rem !important;

        line-height: 1.08 !important;

        margin-bottom: 22px !important;

        word-break: normal !important;
    }


    /* HERO DESCRIPTION */
    .lead {
        width: 100% !important;
        max-width: 100% !important;

        font-size: 0.95rem !important;

        line-height: 1.65 !important;

        margin-bottom: 28px !important;
    }


    /* BUTTONS */
    .hero-actions {
        width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        gap: 12px !important;
    }


    .hero-actions .btn-primary,
    .hero-actions .btn-ghost {
        width: 100% !important;

        text-align: center !important;

        padding: 15px 20px !important;

        font-size: 0.9rem !important;
    }


    /* =========================================
       HERO CARD
    ========================================= */

    .hero-card {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        margin: 0 !important;

        padding: 28px 22px !important;

        border-radius: 20px !important;

        box-sizing: border-box !important;

        animation: none !important;
    }


    .hero-card h3 {
        font-size: 1.6rem !important;

        line-height: 1.2 !important;

        margin-bottom: 20px !important;
    }


    .hero-card ul {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 12px !important;

        width: 100% !important;
    }


    .hero-card li {
        font-size: 0.9rem !important;

        line-height: 1.5 !important;
    }
}

/* =========================================
   EXTRA SMALL MOBILE — 360px
========================================= */

@media screen and (max-width: 380px) {

    .hero {
        padding: 100px 14px 45px !important;
    }

    .hero h1 {
        font-size: 2.35rem !important;
    }

    .lead {
        font-size: 0.88rem !important;
    }

    .hero-card {
        padding: 24px 18px !important;
    }

    .hero-card h3 {
        font-size: 1.45rem !important;
    }

    .hero-card li {
        font-size: 0.85rem !important;
    }
}

/* =========================================
   FINAL MOBILE WIDTH FIX
========================================= */

@media screen and (max-width: 430px) {

    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .hero,
    .hero-grid,
    .hero-content,
    .hero-card,
    .wrap {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .wrap {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero-grid {
        display: flex !important;
        flex-direction: column !important;
    }
}

/* ==========================================
   SECTION BACKGROUNDS
========================================== */

.dark-section{

    /* background:var(--primary); */

}

.dark-section .section-head h2{

    /* color:#fff; */

}

.dark-section .section-head p{

    color:#d4d4d4;

}


/* =========================================

   STATS BAND
   RESPONSIVE STATS SECTION
========================================= */

.stat-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    margin-top: 80px;
    margin-bottom: 80px;
    width: 100%;
}

.stat {
    background: #fff;
    padding: 45px 25px;
    text-align: center;
    border-radius: 20px;
    box-shadow: var(--shadow);
    min-width: 0;
}

.stat .num {
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 700;
    color: var(--secondary);
    margin-bottom: 10px;
    line-height: 1.1;
}

.stat .label {
    color: var(--muted);
    font-size: clamp(0.75rem, 1.5vw, 1rem);
    line-height: 1.4;
}


/* =========================================
   TABLET
========================================= */

@media screen and (max-width: 992px) {

    .stat-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        margin-top: 60px;
        margin-bottom: 60px;
    }

    .stat {
        padding: 35px 20px;
        border-radius: 18px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media screen and (max-width: 600px) {

    .stat-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 45px;
        margin-bottom: 45px;
    }

    .stat {
        padding: 25px 10px;
        border-radius: 14px;
    }

    .stat .num {
        font-size: 1.7rem;
        margin-bottom: 7px;
    }

    .stat .label {
        font-size: 0.75rem;
        line-height: 1.3;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media screen and (max-width: 380px) {

    .stat-band {
        gap: 10px;
    }

    .stat {
        padding: 22px 7px;
        border-radius: 12px;
    }

    .stat .num {
        font-size: 1.45rem;
    }

    .stat .label {
        font-size: 0.7rem;
    }

}




/* =========================================
   NAVBAR + HAMBURGER MENU
========================================= */

.navbar {
    position: relative;
    width: 100%;
    
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 15px 30px;

    z-index: 10000;

    box-sizing: border-box;
}


/* =========================================================
   LOGO
========================================================= */

.logo {
    display: flex;
    align-items: center;

    position: relative;

    z-index: 100001;

    text-decoration: none;
}

.logo img {
    width: 115px;
    height: auto;

    display: block;

    object-fit: contain;
}


/* =========================================================
   DESKTOP NAVIGATION
========================================================= */

.nav-links {
    display: flex;
    align-items: center;

    gap: 25px;
}

.nav-links a {
    text-decoration: none;
}


/* =========================================================
   HAMBURGER
   DESKTOP = HIDDEN
========================================================= */

.menu-toggle {
    display: none;

    width: 45px;
    height: 45px;

    padding: 0;
    margin: 0;

    border: none;
    outline: none;

    background: #000;

    cursor: pointer;

    flex-direction: column;
    justify-content: center;
    align-items: center;

    gap: 6px;

    position: relative;

    z-index: 100002;

    box-sizing: border-box;
}


/* =========================================================
   HAMBURGER LINES
========================================================= */

.menu-toggle span {
    display: block;

    width: 28px;
    height: 3px;

    min-width: 28px;
    min-height: 3px;

    margin: 0;
    padding: 0;

    background: #fff;

    border-radius: 5px;

    opacity: 1;
    visibility: visible;

    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}


/* =========================================================
   MOBILE
   320px - 768px
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================
       NAVBAR
    ===================================== */

    .navbar {

        width: 100%;

        height: 70px;
        min-height: 70px;

        padding: 8px 15px;

        display: flex;

        align-items: center;
        justify-content: space-between;

        position: relative;

        box-sizing: border-box;
    }


    /* =====================================
       LOGO
    ===================================== */

    .logo {

        display: flex;

        align-items: center;

        position: relative;

        z-index: 100001;
    }


    .logo img {

        width: 105px;

        max-width: 105px;

        height: auto;

        display: block;

        object-fit: contain;
    }


    /* =====================================
       HAMBURGER BUTTON
    ===================================== */

    .menu-toggle {

        display: flex;

        width: 42px;
        height: 42px;

        min-width: 42px;
        min-height: 42px;

        padding: 0;
        margin: 0;

        position: absolute;

        right: 15px;
        top: 50%;

        transform: translateY(-50%);

        background: #000;

        border: none;

        border-radius: 4px;

        outline: none;

        flex-direction: column;

        justify-content: center;

        align-items: center;

        gap: 5px;

        cursor: pointer;

        z-index: 100002;

        visibility: visible;

        opacity: 1;

        box-sizing: border-box;

        -webkit-tap-highlight-color: transparent;
    }


    /* =====================================
       HAMBURGER LINES
    ===================================== */

    .menu-toggle span {

        display: block;

        width: 26px;
        height: 3px;

        min-width: 26px;
        min-height: 3px;

        margin: 0;
        padding: 0;

        background: #fff;

        border-radius: 5px;

        opacity: 1;

        visibility: visible;

        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }


    /* =====================================
       MOBILE NAVIGATION
    ===================================== */

    .nav-links {

        position: absolute;

        top: 70px;
        left: 0;

        width: 100%;

        display: flex;

        flex-direction: column;

        align-items: center;

        justify-content: flex-start;

        gap: 0;

        padding: 15px 16px 20px;

        margin: 0;

        background: rgba(7, 18, 40, 0.98);

        border-top:
            1px solid rgba(255,255,255,0.08);

        box-shadow:
            0 15px 30px rgba(0,0,0,0.25);

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        transform: translateY(-10px);

        transition:
            opacity 0.3s ease,
            transform 0.3s ease,
            visibility 0.3s ease;

        z-index: 100000;

        box-sizing: border-box;
    }


    /* =====================================
       OPEN MENU
    ===================================== */

    .nav-links.active {

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: translateY(0);
    }


    /* =====================================
       NAVIGATION LINKS
    ===================================== */

    .nav-links a {

        display: block;

        width: 100%;

        padding: 13px 10px;

        margin: 0;

        text-align: center;

        color: #fff;

        font-size: 0.95rem;

        line-height: 1.4;

        text-decoration: none;

        border-bottom:
            1px solid rgba(255,255,255,0.06);

        box-sizing: border-box;

        transition:
            color 0.3s ease,
            background 0.3s ease;
    }


    .nav-links a:hover {

        color: #F4B400;
    }


    /* =====================================
       LAST LINK
    ===================================== */

    .nav-links a:last-child {

        border-bottom: none;
    }


    /* =====================================
       CONTACT BUTTON
    ===================================== */

    .nav-links .nav-cta {

        width: 90%;

        margin-top: 12px;

        padding: 12px 20px;

        border-radius: 30px;

        background: var(--accent, #F4B400);

        color: #111;

        text-align: center;

        border: none;
    }


    /* =====================================
       HAMBURGER → X
    ===================================== */

    .menu-toggle.active span:nth-child(1) {

        transform:
            translateY(8px)
            rotate(45deg);
    }


    .menu-toggle.active span:nth-child(2) {

        opacity: 0;
    }


    .menu-toggle.active span:nth-child(3) {

        transform:
            translateY(-8px)
            rotate(-45deg);
    }

}


/* =========================================================
   SMALL MOBILE
   320px - 380px
========================================================= */

@media screen and (max-width: 380px) {

    .navbar {

        padding-left: 12px;
        padding-right: 12px;
    }


    .logo img {

        width: 100px;
        max-width: 100px;
    }


    .menu-toggle {

        right: 12px;

        width: 40px;
        height: 40px;

        min-width: 40px;
        min-height: 40px;
    }


    .menu-toggle span {

        width: 25px;

        min-width: 25px;
    }

}


/* =========================================================
   TABLET
   431px - 768px
========================================================= */

@media screen and (min-width: 431px) and (max-width: 768px) {

    .navbar {

        padding:
            10px 20px;
    }


    .logo img {

        width: 110px;

        max-width: 110px;
    }


    .menu-toggle {

        right: 20px;

        width: 44px;
        height: 44px;

        min-width: 44px;
        min-height: 44px;
    }


    .menu-toggle span {

        width: 27px;

        min-width: 27px;
    }

}




/* ==========================================
   ABOUT SECTION
==========================================*/

#about{
    /* background:#fff; */
}

#about .section-head{
    max-width:900px;
}

#about .section-head p{
    font-size:1.08rem;
    color:#E8A33D;
    line-height:1.9;
}


/* ==========================================
   SERVICES
==========================================*/

.type-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.type-card{

    background:#fff;

    padding:40px 35px;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

    position:relative;

    overflow:hidden;

    border-top:5px solid transparent;

}

.type-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:var(--accent);

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.type-card:hover::before{

    transform:scaleX(1);

}

.type-card:hover{

    transform:translateY(-12px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.type-card h3{

    color:var(--primary);

    font-size:1.4rem;

    margin-bottom:18px;

    font-family:'Fraunces',serif;

}

.type-card p{

    color:var(--muted);

    line-height:1.8;

}

.type-card i{

    font-size:42px;

    color:var(--accent);

    margin-bottom:20px;

}


/* ==========================================
   WHY SHOWLIGHTS
==========================================*/

.dark-section{

    position:relative;

    overflow:hidden;

}

.dark-section::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    background:rgba(255,255,255,.03);

    right:-180px;
    top:-180px;

}

.dark-section::after{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    border-radius:50%;

    background:rgba(255,255,255,.02);

    left:-120px;
    bottom:-120px;

}

.process-list{

    display:grid;

    gap:28px;

    position:relative;

    z-index:2;

}

.process-row{

    background:rgba(255,255,255,.06);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.08);

    padding:35px;

    border-radius:18px;

    transition:.35s;

}

.process-row:hover{

    background:rgba(255,255,255,.12);

    transform:translateX(10px);

}

.process-row h3{

    color:#fff;

    margin-bottom:15px;

    font-size:1.45rem;

    font-family:'Fraunces',serif;

}

.process-row p{

    color:#ddd;

    line-height:1.8;

}


/* ==========================================
   OUR APPROACH
==========================================*/

#approach{

    /* background:var(--gray); */

}

#approach .process-list{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:25px;

}

#approach .process-row{

    background:#fff;

    border:none;

    color:#222;

    text-align:center;

    padding:40px 25px;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

    position:relative;

}

#approach .process-row:hover{

    transform:translateY(-12px);

}

#approach .process-row h3{

    color:var(--secondary);

    font-size:1.5rem;

    margin-bottom:18px;

}

#approach .process-row p{

    color:var(--muted);

}

#approach .process-row::after{

    content:"➜";

    position:absolute;

    top:50%;

    right:-18px;

    transform:translateY(-50%);

    font-size:28px;

    color:var(--accent);

}

#approach .process-row:last-child::after{

    display:none;

}


/* ==========================================
   HOVER EFFECTS
==========================================*/

.type-card:hover h3{

    color:var(--secondary);

}

.process-row:hover h3{

    color:var(--accent);

}


/* ==========================================
   RESPONSIVE
==========================================*/

@media(max-width:1100px){

.type-grid{

grid-template-columns:repeat(2,1fr);

}

#approach .process-list{

grid-template-columns:repeat(2,1fr);

}

#approach .process-row::after{

display:none;

}

}

@media(max-width:768px){

.type-grid{

grid-template-columns:1fr;

}

#approach .process-list{

grid-template-columns:1fr;

}

.process-row{

padding:28px;

}

.type-card{

padding:30px;

}

}

@media(max-width:480px){

.type-card h3{

font-size:1.2rem;

}

.process-row h3{

font-size:1.2rem;

}

#about .section-head p{

font-size:1rem;

}

}
/* ==========================================
   INDUSTRIES | BRANDS | GALLERY
   TESTIMONIALS
==========================================*/


/* ==========================================
   INDUSTRIES
==========================================*/

#industries{
    /* background:#fff; */
}

#industries .type-card{
    text-align:center;
    padding:45px 25px;
}

#industries .type-card h3{
    margin:0;
    font-size:1.3rem;
    color:var(--primary);
}

#industries .type-card:hover{
    background:var(--secondary);
}

#industries .type-card:hover h3{
    color:#fff;
}

/* ==========================================
   BRAND SECTION - INFINITE LOOP
==========================================*/

.clients-section{
    padding:60px 0;
    background:#fff;
    overflow:hidden;
}

.brand-slider{
    width:100%;
    overflow:hidden;
    position:relative;
}

.brand-grid{
    display:flex;
    align-items:center;
    gap:60px;
    width:max-content;
    animation:scrollLogo 35s linear infinite;
}

.brand-grid img{
    width:140px;
    height:80px;
    object-fit:contain;
    flex-shrink:0;
    filter:grayscale(100%);
    opacity:.8;
    transition:.3s;
}

.brand-grid img:hover{
    filter:grayscale(0%);
    opacity:1;
    transform:scale(1.08);
}

@keyframes scrollLogo{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}




/* ==========================================
   OUR WORK GALLERY
==========================================*/
#work{
    /* background:#fff; */
}

.marquee-gallery{
    display:flex;
    align-items:center;
    gap:25px;
    padding:15px 0;
}

.gallery-card{
    display:inline-block;
    width:320px;
    margin-right:25px;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
    background:#fff;
}

.gallery-card img{
    width:320px;
    height:220px;
    object-fit:cover;
    transition:.4s;
}

.gallery-card img:hover{
    transform:scale(1.08);
}

.gallery-card p{
    padding:15px;
    text-align:center;
    font-weight:600;
    font-size:18px;
    color:#111;
}


/* ==========================================
   TESTIMONIALS
==========================================*/

.testimonials{

    background:var(--gray);

}

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.testimonial-card{

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

    position:relative;

}

.testimonial-card:hover{

    transform:translateY(-10px);

}

.testimonial-card::before{

    content:"“";

    position:absolute;

    top:10px;

    left:20px;

    font-size:70px;

    color:rgba(30,58,138,.12);

    font-family:serif;

}

.stars{

    color:#F4B400;

    font-size:18px;

    margin-bottom:20px;

}

.testimonial-card p{

    color:var(--muted);

    line-height:1.8;

    margin-bottom:25px;

}

.client{

    font-weight:700;

    color:var(--primary);

}

.designation{

    color:#777;

    font-size:.9rem;

}


/* ==========================================
   IMAGE ANIMATION
==========================================*/

.gallery-item,
.brand-grid img,
.testimonial-card{

    transition:all .35s ease;

}

.gallery-item:hover{

    transform:translateY(-8px);

}


/* ==========================================
   RESPONSIVE
==========================================*/

@media(max-width:1100px){

.brand-grid{

grid-template-columns:repeat(4,1fr);

}

.gallery-grid{

grid-template-columns:repeat(2,1fr);

}

.testimonial-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.brand-grid{

grid-template-columns:repeat(3,1fr);

gap:20px;

}

.gallery-grid{

grid-template-columns:1fr;

grid-auto-rows:260px;

}

.gallery-item.tall{

grid-row:auto;

}

.testimonial-grid{

grid-template-columns:1fr;

}

}

@media(max-width:480px){

.brand-grid{

grid-template-columns:repeat(2,1fr);

}

.brand-grid img{

padding:15px;

}

.cap{

font-size:1rem;

left:18px;

}

}
/* ==========================================

   CONTACT | FOOTER | ANIMATIONS | RESPONSIVE
==========================================*/

/* ==========================
   CONTACT SECTION
========================== */

#contact{
    background:var(--gray);
}

.book-panel{

    max-width:900px;
    margin:auto;

    background:#fff;

    padding:30px;

    margin-bottom: 10px;

    border-radius:20px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.book-fields{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    margin-bottom:25px;

}

.field{

    display:flex;

    flex-direction:column;

}

.field label{

    font-weight:600;

    color:var(--primary);

    margin-bottom:10px;

}

.field input,
.field textarea{

    width:100%;

    padding:15px 18px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:15px;

    font-family:inherit;

    transition:.3s;

    resize:none;

}

.field input:focus,
.field textarea:focus{

    border-color:var(--secondary);

    outline:none;

    box-shadow:0 0 0 4px rgba(30,58,138,.08);

}

.book-footer{

    margin-top:30px;

    text-align:center;

}

.btn-primary {
    background: #f7b500;
    color: #000;
    border: 1px solid #666;
    border-radius: 60px;
    padding: 22px 60px;
    cursor: pointer;
    box-shadow: none;
    outline: none;
}
/* ==========================
   FOOTER
========================== */

footer{

    /* background:var(--primary); */

    color:#fff;

    padding:70px 0 25px;

}

.footer-row{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:40px;

    flex-wrap:wrap;

}

.footer-row h3{

    font-family:'Fraunces',serif;

    font-size:2rem;

    margin-bottom:15px;

}

.footer-row p{

    color:#cbd5e1;

    line-height:1.8;

}

.foot-links{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.foot-links a{

    color:#e2e8f0;

    transition:.3s;

}

.foot-links a:hover{

    color:var(--accent);

    padding-left:6px;

}

.social-icons{

    display:flex;

    gap:18px;

}

.social-icons a{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.08);

    color:#fff;

    font-size:20px;

    transition:.35s;

}

.social-icons a:hover{

    background:var(--accent);

    color:#111;

    transform:translateY(-6px);

}

footer hr{

    margin:40px 0 25px;

    border:none;

    border-top:1px solid rgba(255,255,255,.12);

}

footer p{

    color:#cbd5e1;

    text-align:center;

    font-size:15px;

}

/* ==========================
   SCROLLBAR
========================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f1f1f1;

}

::-webkit-scrollbar-thumb{

    background:var(--secondary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--accent);

}

/* ==========================
   TEXT SELECTION
========================== */

::selection{

    background:var(--accent);

    color:#111;

}

/* ==========================
   FLOAT ANIMATION
========================== */

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-12px);
}

100%{
transform:translateY(0px);
}

}

.hero-card{

    animation:float 5s ease-in-out infinite;

}

/* ==========================
   FADE UP
========================== */

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(50px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.section{

    animation:fadeUp .8s ease;

}

/* ==========================
   BUTTON EFFECT
========================== */

.btn-primary{

    position:relative;

    overflow:hidden;

}

.btn-primary::after{

content:"";

position:absolute;

left:-120%;

top:0;

width:100%;

height:100%;

background:rgba(255,255,255,.3);

transform:skewX(-25deg);

transition:.6s;

}

.btn-primary:hover::after{

left:130%;

}

/* ==========================
   IMAGE HOVER
========================== */

.gallery-item img{

transition:transform .6s;

}

.gallery-item:hover img{

transform:scale(1.12);

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:992px){

.book-fields{

grid-template-columns:1fr;

}

.footer-row{

flex-direction:column;

align-items:center;

text-align:center;

}

.social-icons{

justify-content:center;

}

.foot-links{

align-items:center;

}

}

@media(max-width:768px){

.book-panel{

padding:30px;

}

.footer-row h3{

font-size:1.7rem;

}

}

@media(max-width:480px){

.book-panel{

padding:22px;

}

.social-icons a{

width:42px;

height:42px;

font-size:18px;

}

footer{

padding:50px 0 20px;

}

}

.portfolio-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
    padding:40px 0;
}

.event-card{
    text-decoration:none;
    background:#fff;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    transition:.4s;
}

.event-card:hover{
    transform:translateY(-8px);
}

.event-card img{
    width:100%;
    height:230px;
    object-fit:cover;
}

.event-card h3{
    text-align:center;
    color:#0d6efd;
    padding:15px;
}
.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:20px;


padding:40px;



}

.gallery-grid img{

width:100%;

height:220px;

object-fit:cover;

border-radius:12px;

cursor:pointer;

transition:.3s;

}

.gallery-grid img:hover{

transform:scale(1.05);

}

#title{

text-align:center;

margin:150px 0 0 0 ;

font-size:40px;

}


/* =========================================
   FORCE MOBILE HAMBURGER
========================================= */

@media screen and (max-width: 768px) {

    nav {
        position: relative !important;
        width: 100%;
        min-height: 70px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
    }

    .menu-toggle {
        display: flex !important;

        position: absolute !important;
        right: 15px !important;
        top: 50% !important;

        transform: translateY(-50%);

        width: 45px !important;
        height: 45px !important;

        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;

        gap: 6px !important;

        cursor: pointer;

        z-index: 99999 !important;

        visibility: visible !important;
        opacity: 1 !important;
    }

    .menu-toggle span {
        display: block !important;

        width: 28px !important;
        height: 3px !important;

        background: #ffffff !important;

        border-radius: 5px;

        opacity: 1 !important;
        visibility: visible !important;
    }

}
