  :root{
    --gk-red:#c91f35;
    --gk-red-dark:#8c1528;
    --gk-maroon:#64101d;
}
/* =========================================================
   HERO SLIDER
========================================================= */
.gk-hero-slider{
    position:relative;
    width:100%;
    height:550px;
    overflow:hidden;
    background:#2d0b12;
}
/* =========================================================
   TRACK
========================================================= */
.gk-slider-track{
    position:relative;
    width:100%;
    height:100%;
}
/* =========================================================
   SLIDES
========================================================= */
.gk-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:
        opacity .9s ease,
        visibility .9s ease;
}
.gk-slide.active{
    opacity:1;
    visibility:visible;
}
/* =========================================================
   BACKGROUND
========================================================= */
.gk-slide-bg{
    position:absolute;
    inset:-3%;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transform:scale(1.03);
    transition:
        transform 7s cubic-bezier(.2,.6,.2,1);
}
.gk-slide.active .gk-slide-bg{
    transform:scale(1.08);
}
/* =========================================================
   SOFT COLOR OVERLAY
   Reduced substantially from previous version
========================================================= */
.gk-slide-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(48,7,14,.62) 0%,
            rgba(70,10,20,.38) 34%,
            rgba(80,10,22,.16) 65%,
            rgba(0,0,0,.04) 100%
        );
    z-index:1;
}
/* Very subtle bottom readability layer */
.gk-slide-overlay::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            0deg,
            rgba(24,4,8,.18),
            transparent 48%
        );
}
/* =========================================================
   CONTENT
========================================================= */
.gk-slide-content{
    position:relative;
    z-index:3;
    width:min(1180px, calc(100% - 50px));
    height:100%;
    margin:auto;
    display:flex;
    flex-direction:column;
    /*
       Main adjustment:
       Content is now slightly below the exact center.
    */
    justify-content:center;
    padding-top:58px;
    padding-bottom:10px;
}
/* =========================================================
   SMALL TAG
========================================================= */
.gk-slide-tag{
    display:flex;
    align-items:center;
    gap:9px;
    width:max-content;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    color:rgba(255,255,255,.90);
    margin-bottom:17px;
    opacity:0;
    transform:translateY(18px);
    transition:
        opacity .7s ease .15s,
        transform .7s ease .15s;
}
.gk-slide-tag span{
    width:25px;
    height:2px;
    border-radius:99px;
    background:#ea4960;
}
.gk-slide.active .gk-slide-tag{
    opacity:1;
    transform:translateY(0);
}
/* =========================================================
   HEADING
========================================================= */
.gk-slide-content h1{
    max-width:700px;
    font-family:"Montserrat",sans-serif;
    font-size:clamp(42px, 5.1vw, 70px);
    line-height:1.06;
    letter-spacing:-2px;
    font-weight:700;
    color:#fff;
    margin:0 0 17px;
    opacity:0;
    transform:translateY(28px);
    transition:
        opacity .8s ease .25s,
        transform .8s cubic-bezier(.2,.7,.2,1) .25s;
}
.gk-slide-content h1 strong{
    display:block;
    font-weight:800;
    color:#f27787;
}
.gk-slide.active .gk-slide-content h1{
    opacity:1;
    transform:translateY(0);
}
/* =========================================================
   PARAGRAPH
========================================================= */
.gk-slide-content p{
    max-width:590px;
    font-size:16px;
    line-height:1.75;
    color:rgba(255,255,255,.86);
    margin-bottom:27px;
    opacity:0;
    transform:translateY(25px);
    transition:
        opacity .75s ease .38s,
        transform .75s ease .38s;
}
.gk-slide.active .gk-slide-content p{
    opacity:1;
    transform:translateY(0);
}
/* =========================================================
   BUTTONS
========================================================= */
.gk-slide-buttons{
    display:flex;
    align-items:center;
    gap:12px;
    opacity:0;
    transform:translateY(20px);
    transition:
        opacity .75s ease .5s,
        transform .75s ease .5s;
}
.gk-slide.active .gk-slide-buttons{
    opacity:1;
    transform:translateY(0);
}
/* =========================================================
   PRIMARY BUTTON
========================================================= */
.gk-primary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:48px;
    padding:0 22px;
    border-radius:8px;
    background:
        linear-gradient(
            135deg,
            #d62a42,
            #99182d
        );
    color:#fff;
    font-size:13px;
    font-weight:700;
    box-shadow:
        0 10px 25px rgba(0,0,0,.17);
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}
.gk-primary-btn i{
    font-size:12px;
    transition:
        transform .3s ease;
}
.gk-primary-btn:hover{
    color:#fff;
    transform:translateY(-3px);
    box-shadow:
        0 14px 30px rgba(70,5,15,.26);
}
.gk-primary-btn:hover i{
    transform:translateX(4px);
}
/* =========================================================
   OUTLINE BUTTON
========================================================= */
.gk-outline-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border:1px solid rgba(255,255,255,.44);
    border-radius:8px;
    color:#fff;
    font-size:13px;
    font-weight:600;
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(7px);
    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}
.gk-outline-btn:hover{
    color:#fff;
    background:rgba(255,255,255,.13);
    border-color:rgba(255,255,255,.70);
    transform:translateY(-3px);
}
/* =========================================================
   ARROWS
========================================================= */
.gk-slider-arrow{
    position:absolute;
    top:50%;
    z-index:5;
    width:46px;
    height:46px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(20,3,8,.18);
    backdrop-filter:blur(8px);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transform:translateY(-50%);
    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}
.gk-slider-arrow:hover{
    background:#b72035;
    border-color:#b72035;
    transform:
        translateY(-50%)
        scale(1.06);
}
.gk-prev{
    left:25px;
}
.gk-next{
    right:25px;
}
.gk-slider-arrow i{
    font-size:12px;
}
/* =========================================================
   DOTS
========================================================= */
.gk-slider-controls{
    position:absolute;
    z-index:5;
    left:50%;
    bottom:25px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:8px;
}
.gk-dot{
    width:30px;
    height:3px;
    padding:0;
    border:0;
    border-radius:99px;
    cursor:pointer;
    background:rgba(255,255,255,.40);
    overflow:hidden;
}
.gk-dot span{
    display:block;
    width:0;
    height:100%;
    background:#fff;
    border-radius:99px;
}
.gk-dot.active{
    width:48px;
}
.gk-dot.active span{
    width:100%;
    transition:width 4.8s linear;
}
/* =========================================================
   SLIDE NUMBER
========================================================= */
.gk-slide-number{
    position:absolute;
    z-index:5;
    right:33px;
    bottom:25px;
    display:flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.78);
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
}
.gk-slide-number i{
    width:22px;
    height:1px;
    display:block;
    background:rgba(255,255,255,.4);
}
#gkCurrentSlide{
    color:#fff;
}
/* =========================================================
   TABLET
========================================================= */
@media(max-width:900px){
    .gk-hero-slider{
        height:500px;
    }
    .gk-slide-content{
        width:calc(100% - 100px);
        /*
           Reduce vertical offset at tablet sizes.
        */
        padding-top:35px;
    }
    .gk-slide-content h1{
        font-size:clamp(38px, 7vw, 56px);
    }
    .gk-slide-content p{
        max-width:540px;
        font-size:15px;
    }
    .gk-prev{
        left:15px;
    }
    .gk-next{
        right:15px;
    }
}
/* =========================================================
   MOBILE
========================================================= */
@media(max-width:600px){
    .gk-hero-slider{
        height:455px;
    }
    .gk-slide-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(46,6,13,.60),
                rgba(78,11,25,.27)
            );
    }
    .gk-slide-content{
        width:calc(100% - 42px);
        justify-content:center;
        padding-top:20px;
        padding-bottom:28px;
    }
    .gk-slide-tag{
        font-size:9px;
        letter-spacing:1.35px;
        margin-bottom:13px;
    }
    .gk-slide-tag span{
        width:19px;
    }
    .gk-slide-content h1{
        font-size:36px;
        line-height:1.08;
        letter-spacing:-1px;
        margin-bottom:14px;
    }
    .gk-slide-content p{
        font-size:13px;
        line-height:1.6;
        max-width:100%;
        margin-bottom:21px;
    }
    .gk-slide-buttons{
        gap:8px;
    }
    .gk-primary-btn,
    .gk-outline-btn{
        min-height:43px;
        padding:0 15px;
        font-size:11px;
    }
    .gk-primary-btn i{
        font-size:10px;
    }
    .gk-slider-arrow{
        width:37px;
        height:37px;
    }
    .gk-slider-arrow i{
        font-size:10px;
    }
    .gk-prev{
        left:10px;
    }
    .gk-next{
        right:10px;
    }
    .gk-slider-controls{
        bottom:17px;
    }
    .gk-slide-number{
        display:none;
    }
}
/* =========================================================
   SMALL PHONES
========================================================= */
@media(max-width:390px){
    .gk-hero-slider{
        height:425px;
    }
    .gk-slide-content{
        padding-top:10px;
    }
    .gk-slide-content h1{
        font-size:31px;
    }
    .gk-slide-content p{
        font-size:12px;
    }
    .gk-slide-buttons{
        flex-direction:column;
        align-items:flex-start;
    }
    .gk-primary-btn,
    .gk-outline-btn{
        width:auto;
    }
}
/* =========================================================
   REDUCED MOTION
========================================================= */
@media(prefers-reduced-motion:reduce){
    .gk-slide,
    .gk-slide-bg,
    .gk-slide-content h1,
    .gk-slide-content p,
    .gk-slide-tag,
    .gk-slide-buttons{
        transition:none !important;
    }
}
