:root {
    --brand-navy: #062B59;
    --brand-orange: #FF7A00;
    --brand-green: #55B83E;

    --navy-dark: #04182F;
    --blue-light: #0B63B6;

    --white: #FFFFFF;
    --background: #F5F8FC;
    --soft-blue: #EDF4FA;

    --text: #142238;
    --muted: #69798C;

    --border: #DCE6F0;

    --shadow-small:
        0 10px 30px rgba(5, 36, 75, 0.07);

    --shadow:
        0 24px 70px rgba(5, 36, 75, 0.12);

    --radius: 24px;
}


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

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    font-family:
        "Inter",
        "Noto Sans Devanagari",
        system-ui,
        sans-serif;

    color: var(--text);

    background: var(--white);

    overflow-x: hidden;
}

body,
button,
input,
textarea,
select {
    font-family:
        "Inter",
        "Noto Sans Devanagari",
        system-ui,
        sans-serif;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    font-family: inherit;
}

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

.container {
    width: min(
        1180px,
        calc(100% - 36px)
    );

    margin: auto;
}


/* =========================================================
   TOP BAR
========================================================= */

.top-bar {
    background:
        linear-gradient(
            110deg,
            #04182F,
            #062B59
        );

    color: #DDE9F5;

    font-size: 12px;
}

.top-bar-inner {
    min-height: 36px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}

.top-left {
    display: flex;

    align-items: center;

    gap: 24px;
}

.top-left span {
    opacity: 0.9;
}

.top-right a {
    color: #FFFFFF;

    font-weight: 700;
}


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

.main-header {
    position: sticky;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 1000;

    background:
        rgba(255, 255, 255, 0.94);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    border-bottom:
        1px solid
        rgba(6, 43, 89, 0.08);

    transition:
        0.25s ease;
}

.main-header.scrolled {
    box-shadow:
        0 8px 35px
        rgba(5, 36, 75, 0.09);
}

.header-inner {
    min-height: 82px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}


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

.logo {
    display: flex;

    align-items: center;

    flex-shrink: 0;
}

.logo img {
    width: 235px;

    height: 68px;

    object-fit: contain;

    object-position: left center;
}


/* =========================================================
   DESKTOP NAV
========================================================= */

.desktop-nav {
    display: flex;

    align-items: center;

    gap: 27px;
}

.desktop-nav a {
    position: relative;

    font-size: 13px;

    font-weight: 800;

    color: var(--brand-navy);

    transition: 0.2s ease;
}

.desktop-nav a:not(.nav-book)::after {
    content: "";

    position: absolute;

    left: 0;

    bottom: -8px;

    width: 0;

    height: 2px;

    background:
        var(--brand-orange);

    transition: 0.2s ease;
}

.desktop-nav a:hover {
    color:
        var(--brand-orange);
}

.desktop-nav a:hover::after {
    width: 100%;
}


/* =========================================================
   NAV BOOK BUTTON
========================================================= */

.nav-book {
    padding:
        13px 20px;

    color:
        #FFFFFF !important;

    background:
        linear-gradient(
            135deg,
            var(--brand-orange),
            #FF9B2E
        );

    border-radius: 13px;

    box-shadow:
        0 10px 25px
        rgba(255, 122, 0, 0.22);

    transition:
        0.2s ease;
}

.nav-book:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 15px 32px
        rgba(255, 122, 0, 0.3);
}


/* =========================================================
   MOBILE MENU BUTTON
========================================================= */

.mobile-menu-button {
    display: none;

    width: 46px;

    height: 46px;

    border: 0;

    border-radius: 13px;

    background:
        var(--brand-navy);

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 5px;

    cursor: pointer;
}

.mobile-menu-button span {
    width: 20px;

    height: 2px;

    background:
        #FFFFFF;

    border-radius: 20px;

    transition: 0.2s ease;
}


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

.mobile-nav {
    display: none;

    position: absolute;

    left: 12px;

    right: 12px;

    top: calc(100% + 8px);

    padding: 10px;

    background:
        rgba(255, 255, 255, 0.98);

    border:
        1px solid
        var(--border);

    border-radius: 20px;

    box-shadow:
        0 25px 70px
        rgba(5, 36, 75, 0.16);
}

.mobile-nav.active {
    display: flex;

    flex-direction: column;
}

.mobile-nav a {
    padding:
        14px 15px;

    border-radius: 12px;

    color:
        var(--brand-navy);

    font-size: 13px;

    font-weight: 800;
}

.mobile-nav a:hover {
    background:
        var(--soft-blue);
}

.mobile-nav-book {
    background:
        var(--brand-orange);

    color:
        #FFFFFF !important;

    text-align: center;

    margin-top: 5px;
}


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

.hero-section {
    position: relative;

    min-height: 690px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            125deg,
            #F8FBFF 0%,
            #FFFFFF 48%,
            #F1F7FC 100%
        );
}

.hero-grid-bg {
    position: absolute;

    inset: 0;

    opacity: 0.3;

    background-image:
        linear-gradient(
            rgba(6, 43, 89, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(6, 43, 89, 0.035) 1px,
            transparent 1px
        );

    background-size:
        60px 60px;

    mask-image:
        linear-gradient(
            to bottom,
            black,
            transparent
        );
}

.hero-glow {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}

.hero-glow-orange {
    width: 620px;

    height: 620px;

    right: -240px;

    top: -250px;

    background:
        radial-gradient(
            circle,
            rgba(255, 122, 0, 0.13),
            transparent 68%
        );
}

.hero-glow-blue {
    width: 500px;

    height: 500px;

    left: -250px;

    bottom: -300px;

    background:
        radial-gradient(
            circle,
            rgba(11, 99, 182, 0.11),
            transparent 68%
        );
}

.hero-container {
    position: relative;

    z-index: 2;

    width: min(
        1180px,
        calc(100% - 36px)
    );

    margin: auto;

    display: grid;

    grid-template-columns:
        1.02fr
        0.98fr;

    gap: 45px;

    align-items: center;

    padding:
        75px 0 90px;
}


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

.hero-content {
    position: relative;

    z-index: 3;
}

.hero-badge {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    padding:
        9px 14px;

    border:
        1px solid
        rgba(255, 122, 0, 0.25);

    background:
        #FFF4EA;

    border-radius:
        100px;

    color:
        var(--brand-orange);

    font-size: 10px;

    letter-spacing: 1.6px;

    font-weight: 900;
}

.live-dot {
    width: 7px;

    height: 7px;

    border-radius: 50%;

    background:
        var(--brand-green);

    box-shadow:
        0 0 0 6px
        rgba(85, 184, 62, 0.11);
}

.hero-small-title {
    margin-top: 21px;

    color:
        var(--brand-orange);

    font-size: 13px;

    font-weight: 900;

    letter-spacing: 1px;
}

.hero-content h1 {
    margin:
        12px 0 20px;

    max-width: 700px;

    color:
        var(--navy-dark);

    font-size:
        clamp(
            42px,
            5.3vw,
            68px
        );

    line-height: 1.04;

    letter-spacing: -2.8px;

    font-weight: 900;
}

.hero-description {
    max-width: 650px;

    color:
        var(--muted);

    font-size: 17px;

    line-height: 1.85;
}


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

.hero-buttons {
    display: flex;

    align-items: center;

    gap: 12px;

    flex-wrap: wrap;

    margin-top: 29px;
}

.primary-button,
.secondary-button,
.whatsapp-button {
    min-height: 52px;

    padding:
        0 21px;

    border-radius: 14px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 17px;

    font-size: 13px;

    font-weight: 900;

    transition:
        0.22s ease;
}

.primary-button {
    color:
        #FFFFFF;

    background:
        linear-gradient(
            135deg,
            var(--brand-orange),
            #FF9E32
        );

    box-shadow:
        0 15px 32px
        rgba(255, 122, 0, 0.23);
}

.primary-button:hover {
    transform:
        translateY(-3px);

    box-shadow:
        0 20px 38px
        rgba(255, 122, 0, 0.3);
}

.primary-button span {
    font-size: 19px;

    line-height: 1;
}

.secondary-button {
    color:
        var(--brand-navy);

    background:
        #FFFFFF;

    border:
        1px solid
        var(--border);

    box-shadow:
        var(--shadow-small);
}

.secondary-button:hover {
    transform:
        translateY(-3px);

    border-color:
        var(--brand-orange);
}

.whatsapp-icon {
    width: 25px;

    height: 25px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    color:
        #FFFFFF;

    background:
        var(--brand-green);
}

.whatsapp-button {
    background:
        var(--brand-green);

    color:
        #FFFFFF;

    box-shadow:
        0 12px 28px
        rgba(85, 184, 62, 0.2);
}

.whatsapp-button:hover {
    transform:
        translateY(-2px);
}


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

.hero-note {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 20px;

    color:
        #68798D;

    font-size: 11px;

    font-weight: 700;
}

.note-check {
    width: 20px;

    height: 20px;

    display: grid;

    place-items: center;

    border-radius: 7px;

    color:
        var(--brand-green);

    background:
        rgba(85, 184, 62, 0.11);
}


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

.hero-trust {
    display: flex;

    align-items: center;

    gap: 28px;

    margin-top: 31px;

    flex-wrap: wrap;
}

.trust-item {
    display: flex;

    align-items: center;

    gap: 9px;

    color:
        var(--brand-navy);

    font-size: 11px;

    font-weight: 800;

    line-height: 1.25;
}

.trust-item strong {
    width: 31px;

    height: 31px;

    display: grid;

    place-items: center;

    border-radius: 9px;

    color:
        var(--brand-green);

    background:
        #ECF8E9;
}

.trust-item small {
    display: block;

    color:
        var(--muted);

    font-size: 9px;

    font-weight: 600;
}


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

.hero-visual {
    min-height: 510px;

    position: relative;

    display: grid;

    place-items: center;
}

.visual-circle {
    position: absolute;

    border:
        1px dashed
        rgba(6, 43, 89, 0.16);

    border-radius: 50%;

    animation:
        slowRotate 20s linear infinite;
}

.circle-one {
    width: 550px;

    height: 550px;
}

.circle-two {
    width: 420px;

    height: 420px;

    border-color:
        rgba(255, 122, 0, 0.18);

    animation-direction:
        reverse;

    animation-duration:
        15s;
}

.hero-logo-card {
    position: relative;

    width:
        min(500px, 100%);

    padding:
        21px;

    background:
        rgba(255, 255, 255, 0.82);

    border:
        1px solid
        rgba(6, 43, 89, 0.12);

    border-radius:
        32px;

    box-shadow:
        0 30px 80px
        rgba(5, 36, 75, 0.14);

    transform:
        rotate(1deg);

    overflow: hidden;

    backdrop-filter:
        blur(14px);

    z-index: 3;
}

.hero-logo-card::before {
    content: "";

    position: absolute;

    width: 300px;

    height: 300px;

    right: -150px;

    top: -160px;

    border-radius: 50%;

    background:
        rgba(255, 122, 0, 0.07);
}

.hero-logo-card::after {
    content: "";

    position: absolute;

    width: 250px;

    height: 250px;

    left: -160px;

    bottom: -170px;

    border-radius: 50%;

    background:
        rgba(11, 99, 182, 0.06);
}

.card-top-line,
.card-bottom-line {
    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 1.6px;

    color:
        var(--brand-navy);
}

.card-top-line span:last-child {
    color:
        var(--brand-orange);
}

.hero-logo-image {
    position: relative;

    z-index: 2;

    min-height: 320px;

    display: grid;

    place-items: center;

    padding: 12px;
}

.hero-logo-image img {
    width: 100%;

    height: 290px;

    object-fit: contain;
}

.card-bottom-line {
    padding-top: 14px;

    border-top:
        1px solid
        var(--border);
}

.card-bottom-line b {
    color:
        var(--brand-orange);
}


/* =========================================================
   FLOATING CARDS
========================================================= */

.floating-card {
    position: absolute;

    z-index: 6;

    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        12px 15px;

    background:
        #FFFFFF;

    border:
        1px solid
        var(--border);

    border-radius:
        15px;

    box-shadow:
        0 20px 45px
        rgba(5, 36, 75, 0.13);

    animation:
        floating 4s ease-in-out infinite;
}

.floating-card-one {
    left:
        -5px;

    top:
        95px;
}

.floating-card-two {
    right:
        -5px;

    bottom:
        70px;

    animation-delay:
        -2s;
}

.floating-icon {
    width: 34px;

    height: 34px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    color:
        #FFFFFF;

    font-size: 12px;

    font-weight: 900;
}

.floating-icon.green {
    background:
        var(--brand-green);
}

.floating-icon.orange {
    background:
        var(--brand-orange);
}

.floating-card strong {
    display: block;

    color:
        var(--brand-navy);

    font-size: 11px;
}

.floating-card small {
    display: block;

    margin-top: 2px;

    color:
        var(--muted);

    font-size: 9px;
}


/* =========================================================
   BOOKING SECTION
========================================================= */

.booking-section {
    position: relative;

    z-index: 10;

    margin-top:
        -38px;

    padding-bottom:
        20px;
}

.booking-card {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    padding:
        28px 31px;

    background:
        #FFFFFF;

    border:
        1px solid
        var(--border);

    border-radius:
        25px;

    box-shadow:
        0 25px 65px
        rgba(5, 36, 75, 0.13);
}

.section-label {
    display: inline-block;

    color:
        var(--brand-orange);

    font-size: 10px;

    letter-spacing: 2px;

    font-weight: 900;
}

.booking-content h2 {
    margin:
        7px 0 6px;

    color:
        var(--brand-navy);

    font-size: 25px;
}

.booking-content p {
    color:
        var(--muted);

    font-size: 12px;

    line-height: 1.6;
}

.booking-actions {
    display: flex;

    gap: 10px;

    flex-shrink: 0;
}


/* =========================================================
   CONTENT SECTION
========================================================= */

.content-section {
    padding:
        105px 0;
}

.section-heading {
    max-width:
        750px;

    margin:
        0 auto 48px;

    text-align:
        center;
}

.section-heading h2 {
    margin:
        11px 0 14px;

    color:
        var(--brand-navy);

    font-size:
        clamp(
            31px,
            4vw,
            47px
        );

    line-height: 1.12;

    letter-spacing: -1.5px;

    font-weight: 900;
}

.section-heading h2 span {
    color:
        var(--brand-orange);
}

.section-heading p {
    color:
        var(--muted);

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================================
   FEATURE GRID
========================================================= */

.feature-grid {
    display: grid;

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

    gap: 17px;
}

.feature-card {
    position: relative;

    min-height: 260px;

    padding:
        27px;

    background:
        #FFFFFF;

    border:
        1px solid
        var(--border);

    border-radius:
        22px;

    box-shadow:
        var(--shadow-small);

    transition:
        0.25s ease;

    overflow: hidden;
}

.feature-card::after {
    content: "";

    position: absolute;

    right: -45px;

    bottom: -50px;

    width: 130px;

    height: 130px;

    border-radius: 50%;

    background:
        rgba(6, 43, 89, 0.035);
}

.feature-card:hover {
    transform:
        translateY(-7px);

    box-shadow:
        var(--shadow);
}

.feature-icon {
    width: 52px;

    height: 52px;

    display: grid;

    place-items: center;

    margin-bottom: 20px;

    border-radius: 16px;

    font-size: 18px;

    font-weight: 900;
}

.feature-icon.blue {
    color:
        var(--blue-light);

    background:
        #EAF4FF;
}

.feature-icon.green {
    color:
        var(--brand-green);

    background:
        #ECF8E9;
}

.feature-icon.orange {
    color:
        var(--brand-orange);

    background:
        #FFF1E6;
}

.feature-icon.navy {
    color:
        var(--brand-navy);

    background:
        #EAF0F7;
}

.feature-card h3 {
    margin-bottom:
        9px;

    color:
        var(--brand-navy);

    font-size:
        18px;
}

.feature-card p {
    color:
        var(--muted);

    font-size:
        12px;

    line-height:
        1.7;
}

.feature-link {
    position: absolute;

    bottom: 25px;

    left: 27px;

    color:
        var(--brand-orange);

    font-size: 9px;

    letter-spacing: 1.4px;

    font-weight: 900;
}


/* =========================================================
   FLEET SECTION
========================================================= */

.fleet-section {
    position: relative;

    padding:
        105px 0;

    background:
        linear-gradient(
            135deg,
            #04182F,
            #062B59 58%,
            #0A416F
        );

    overflow: hidden;
}

.fleet-background {
    position: absolute;

    width: 650px;

    height: 650px;

    right: -270px;

    top: -260px;

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

    border-radius: 50%;
}

.fleet-section::after {
    content: "";

    position: absolute;

    width: 450px;

    height: 450px;

    left: -300px;

    bottom: -250px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(85, 184, 62, 0.1),
            transparent 70%
        );
}

.section-heading.dark {
    position: relative;

    z-index: 2;
}

.section-heading.dark h2 {
    color:
        #FFFFFF;
}

.section-heading.dark h2 span {
    color:
        #FF9C3B;
}

.section-heading.dark p {
    color:
        #B9CDE0;
}

.fleet-grid {
    position: relative;

    z-index: 2;

    display: grid;

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

    gap: 16px;
}

.fleet-card {
    position: relative;

    min-height:
        390px;

    padding:
        22px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    border:
        1px solid
        rgba(255, 255, 255, 0.13);

    border-radius:
        24px;

    background:
        rgba(255, 255, 255, 0.07);

    backdrop-filter:
        blur(12px);

    overflow: hidden;

    transition:
        0.25s ease;
}

.fleet-card:hover {
    transform:
        translateY(-7px);

    border-color:
        rgba(255, 255, 255, 0.28);

    background:
        rgba(255, 255, 255, 0.1);
}

.fleet-card.featured {
    background:
        linear-gradient(
            145deg,
            rgba(255, 122, 0, 0.25),
            rgba(255, 255, 255, 0.07)
        );

    border-color:
        rgba(255, 165, 84, 0.48);
}

.popular-badge {
    position: absolute;

    right: 16px;

    top: 16px;

    padding:
        6px 9px;

    border-radius: 8px;

    background:
        var(--brand-orange);

    color:
        #FFFFFF;

    font-size: 8px;

    letter-spacing: 1px;

    font-weight: 900;
}

.fleet-top {
    display: flex;

    align-items: center;

    justify-content: space-between;
}

.fleet-tag {
    color:
        #FFB16A;

    font-size: 8px;

    letter-spacing: 1.5px;

    font-weight: 900;
}

.fleet-number {
    color:
        #FFFFFF;

    font-size:
        28px;

    font-weight: 900;
}

.vehicle-placeholder {
    min-height: 140px;

    display: grid;

    place-items: center;

    font-size: 78px;

    filter:
        drop-shadow(
            0 18px 18px
            rgba(0, 0, 0, 0.2)
        );
}

.fleet-info h3 {
    color:
        #FFFFFF;

    font-size:
        24px;

    margin-bottom: 4px;
}

.fleet-info p {
    color:
        #BBD0E4;

    font-size:
        11px;

    margin-bottom:
        15px;
}

.fleet-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 7px;
}

.fleet-meta span {
    padding:
        7px 9px;

    border-radius:
        8px;

    background:
        rgba(255, 255, 255, 0.07);

    color:
        #D5E2EF;

    font-size:
        8px;

    font-weight:
        700;
}

.fleet-button {
    margin-top:
        17px;

    min-height:
        42px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        11px;

    color:
        #FFFFFF;

    background:
        rgba(255, 255, 255, 0.08);

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    font-size:
        9px;

    letter-spacing:
        1.3px;

    font-weight:
        900;

    transition:
        0.2s ease;
}

.fleet-button:hover {
    background:
        var(--brand-orange);

    border-color:
        var(--brand-orange);
}


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

.about-section {
    padding:
        105px 0;

    background:
        #FFFFFF;
}

.about-grid {
    display:
        grid;

    grid-template-columns:
        0.85fr
        1.15fr;

    gap:
        80px;

    align-items:
        center;
}

.about-visual {
    position:
        relative;

    min-height:
        390px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        35px;

    background:
        linear-gradient(
            145deg,
            #F3F8FE,
            #FFFFFF
        );

    border:
        1px solid
        var(--border);

    overflow:
        hidden;
}

.about-glow {
    position:
        absolute;

    width:
        320px;

    height:
        320px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 122, 0, 0.13),
            transparent 68%
        );
}

.about-logo-circle {
    position:
        relative;

    z-index:
        3;

    width:
        205px;

    height:
        205px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        linear-gradient(
            145deg,
            var(--brand-navy),
            #0B5A98
        );

    border:
        12px solid
        #FFFFFF;

    outline:
        2px solid
        var(--brand-orange);

    box-shadow:
        0 0 0 13px
        #EAF1F8,
        0 30px 65px
        rgba(5, 36, 75, 0.16);
}

.about-logo-circle span {
    color:
        #FFFFFF;

    font-size:
        68px;

    font-weight:
        900;

    letter-spacing:
        -4px;
}

.about-ring {
    position:
        absolute;

    border-radius:
        50%;

    border:
        1px dashed
        rgba(6, 43, 89, 0.18);
}

.ring-one {
    width:
        280px;

    height:
        280px;
}

.ring-two {
    width:
        350px;

    height:
        350px;

    border-color:
        rgba(255, 122, 0, 0.17);
}

.about-content h2 {
    margin:
        11px 0 19px;

    color:
        var(--brand-navy);

    font-size:
        clamp(
            32px,
            4vw,
            48px
        );

    line-height:
        1.1;

    letter-spacing:
        -1.7px;

    font-weight:
        900;
}

.about-content > p {
    color:
        var(--muted);

    font-size:
        14px;

    line-height:
        1.9;
}

.about-points {
    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        11px;

    margin-top:
        25px;
}

.about-points div {
    padding:
        13px;

    border-radius:
        12px;

    background:
        #F5F8FC;

    color:
        var(--brand-navy);

    font-size:
        11px;

    font-weight:
        800;
}

.about-points span {
    display:
        inline-grid;

    place-items:
        center;

    width:
        21px;

    height:
        21px;

    margin-right:
        5px;

    border-radius:
        6px;

    color:
        var(--brand-green);

    background:
        #EAF7E7;
}


/* =========================================================
   CTA
========================================================= */

.cta-section {
    padding:
        65px 0;

    background:
        #F4F8FC;
}

.cta-card {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        25px;

    padding:
        42px;

    border:
        1px solid
        var(--border);

    border-radius:
        30px;

    background:
        linear-gradient(
            135deg,
            #FFFFFF,
            #F8FBFF
        );

    box-shadow:
        var(--shadow);
}

.cta-card h2 {
    margin:
        8px 0 8px;

    color:
        var(--brand-navy);

    font-size:
        36px;

    line-height:
        1.15;
}

.cta-card h2 span {
    color:
        var(--brand-orange);
}

.cta-card p {
    color:
        var(--muted);

    font-size:
        13px;
}

.cta-buttons {
    display:
        flex;

    gap:
        10px;

    flex-shrink:
        0;
}


/* =========================================================
   FOOTER
========================================================= */

.footer {
    color:
        #B7C8DA;

    background:
        #04182F;

    padding:
        60px 0 0;
}

.footer-grid {
    display:
        grid;

    grid-template-columns:
        1.4fr
        0.7fr
        0.9fr;

    gap:
        50px;

    padding-bottom:
        45px;
}

.footer-brand img {
    width:
        260px;

    height:
        75px;

    object-fit:
        contain;

    object-position:
        left center;

    filter:
        brightness(0)
        invert(1);

    margin-bottom:
        10px;
}

.footer-brand p {
    max-width:
        380px;

    font-size:
        11px;

    line-height:
        1.8;
}

.footer-column h4 {
    margin-bottom:
        17px;

    color:
        #FFFFFF;

    font-size:
        14px;
}

.footer-column a,
.footer-column span {
    display:
        block;

    margin:
        11px 0;

    color:
        #B7C8DA;

    font-size:
        11px;

    line-height:
        1.6;

    transition:
        0.2s ease;
}

.footer-column a:hover {
    color:
        var(--brand-orange);
}

.footer-bottom {
    padding:
        19px;

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

    text-align:
        center;

    color:
        #8FA4B9;

    font-size:
        10px;
}


/* =========================================================
   MOBILE BOTTOM BAR
========================================================= */

.mobile-bottom-bar {
    display:
        none;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes floating {

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

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

@keyframes slowRotate {

    from {
        transform:
            rotate(0deg);
    }

    to {
        transform:
            rotate(360deg);
    }
}


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

@media (max-width: 1000px) {

    .desktop-nav {
        gap:
            16px;
    }

    .hero-container {
        grid-template-columns:
            1fr;

        text-align:
            center;
    }

    .hero-description {
        margin:
            0 auto;
    }

    .hero-buttons,
    .hero-trust {
        justify-content:
            center;
    }

    .hero-visual {
        min-height:
            450px;
    }

    .feature-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .fleet-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .about-grid {
        grid-template-columns:
            1fr;

        gap:
            45px;
    }

    .about-visual {
        min-height:
            350px;
    }
}


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

@media (max-width: 700px) {

    body {
        padding-bottom:
            68px;
    }


    .container {
        width:
            calc(100% - 24px);
    }


    /* TOP BAR */

    .top-bar {
        display:
            none;
    }


    /* HEADER */

    .main-header {
        position:
            fixed;

        top:
            0;
    }

    .header-inner {
        min-height:
            70px;
    }

    .logo img {
        width:
            190px;

        height:
            57px;
    }

    .desktop-nav {
        display:
            none;
    }

    .mobile-menu-button {
        display:
            flex;
    }


    /* HERO */

    .hero-section {
        min-height:
            auto;

        padding-top:
            70px;
    }

    .hero-container {
        width:
            calc(100% - 24px);

        padding:
            55px 0 70px;

        gap:
            35px;
    }

    .hero-content h1 {
        font-size:
            39px;

        letter-spacing:
            -1.7px;
    }

    .hero-description {
        font-size:
            14px;

        line-height:
            1.75;
    }

    .hero-buttons {
        flex-direction:
            column;

        width:
            100%;
    }

    .primary-button,
    .secondary-button {
        width:
            100%;
    }

    .hero-note {
        justify-content:
            center;

        text-align:
            center;

        font-size:
            9px;

        line-height:
            1.5;
    }

    .hero-trust {
        gap:
            13px;

        justify-content:
            center;
    }

    .trust-item {
        font-size:
            9px;
    }

    .trust-item strong {
        width:
            27px;

        height:
            27px;
    }


    /* HERO VISUAL */

    .hero-visual {
        min-height:
            340px;
    }

    .circle-one {
        width:
            340px;

        height:
            340px;
    }

    .circle-two {
        width:
            275px;

        height:
            275px;
    }

    .hero-logo-card {
        width:
            94%;

        padding:
            13px;

        border-radius:
            24px;
    }

    .hero-logo-image {
        min-height:
            205px;
    }

    .hero-logo-image img {
        height:
            195px;
    }

    .floating-card {
        padding:
            9px 11px;
    }

    .floating-card-one {
        left:
            -2px;

        top:
            15px;
    }

    .floating-card-two {
        right:
            -2px;

        bottom:
            15px;
    }

    .floating-card strong {
        font-size:
            9px;
    }

    .floating-card small {
        font-size:
            8px;
    }


    /* BOOKING */

    .booking-section {
        margin-top:
            -20px;
    }

    .booking-card {
        display:
            block;

        padding:
            22px;

        border-radius:
            21px;
    }

    .booking-content h2 {
        font-size:
            23px;
    }

    .booking-content p {
        font-size:
            11px;
    }

    .booking-actions {
        margin-top:
            17px;

        display:
            grid;

        grid-template-columns:
            1fr 1fr;
    }

    .booking-actions .primary-button,
    .booking-actions .whatsapp-button {
        width:
            100%;

        min-height:
            48px;

        font-size:
            11px;

        padding:
            0 10px;
    }


    /* SECTIONS */

    .content-section,
    .about-section {
        padding:
            75px 0;
    }

    .section-heading {
        margin-bottom:
            30px;
    }

    .section-heading h2 {
        font-size:
            31px;

        letter-spacing:
            -1px;
    }

    .section-heading p {
        font-size:
            12px;
    }


    /* FEATURES */

    .feature-grid {
        grid-template-columns:
            1fr;

        gap:
            13px;
    }

    .feature-card {
        min-height:
            220px;

        padding:
            23px;
    }


    /* FLEET */

    .fleet-section {
        padding:
            75px 0;
    }

    .fleet-grid {
        grid-template-columns:
            1fr;

        gap:
            14px;
    }

    .fleet-card {
        min-height:
            360px;
    }


    /* ABOUT */

    .about-grid {
        gap:
            35px;
    }

    .about-visual {
        min-height:
            290px;

        border-radius:
            26px;
    }

    .about-logo-circle {
        width:
            165px;

        height:
            165px;
    }

    .about-logo-circle span {
        font-size:
            55px;
    }

    .ring-one {
        width:
            225px;

        height:
            225px;
    }

    .ring-two {
        width:
            280px;

        height:
            280px;
    }

    .about-content h2 {
        font-size:
            32px;
    }

    .about-content > p {
        font-size:
            12px;
    }

    .about-points {
        grid-template-columns:
            1fr;

        gap:
            9px;
    }


    /* CTA */

    .cta-section {
        padding:
            45px 0;
    }

    .cta-card {
        display:
            block;

        padding:
            28px 22px;

        border-radius:
            24px;
    }

    .cta-card h2 {
        font-size:
            29px;
    }

    .cta-card p {
        font-size:
            11px;
    }

    .cta-buttons {
        margin-top:
            20px;

        display:
            grid;

        grid-template-columns:
            1fr 1fr;
    }

    .cta-buttons .primary-button,
    .cta-buttons .whatsapp-button {
        width:
            100%;

        min-height:
            48px;

        font-size:
            11px;

        padding:
            0 8px;
    }


    /* FOOTER */

    .footer {
        padding-top:
            45px;
    }

    .footer-grid {
        grid-template-columns:
            1fr 1fr;

        gap:
            28px;
    }

    .footer-brand {
        grid-column:
            1 / -1;
    }

    .footer-brand img {
        width:
            220px;

        height:
            65px;
    }


    /* MOBILE BOTTOM BAR */

    .mobile-bottom-bar {
        position:
            fixed;

        display:
            grid;

        grid-template-columns:
            1fr 1.35fr 1fr;

        left:
            0;

        right:
            0;

        bottom:
            0;

        height:
            64px;

        z-index:
            2000;

        background:
            rgba(255,255,255,0.97);

        backdrop-filter:
            blur(15px);

        border-top:
            1px solid
            var(--border);

        box-shadow:
            0 -12px 30px
            rgba(5, 36, 75, 0.12);
    }

    .mobile-bottom-bar a {
        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        flex-direction:
            column;

        gap:
            3px;

        color:
            var(--brand-navy);

        font-weight:
            800;

        font-size:
            16px;
    }

    .mobile-bottom-bar small {
        font-size:
            8px;

        font-weight:
            900;
    }

    .mobile-bar-icon {
        line-height:
            1;
    }

    .mobile-book-button {
        margin:
            7px;

        border-radius:
            13px;

        color:
            #FFFFFF !important;

        background:
            linear-gradient(
                135deg,
                var(--brand-orange),
                #FF9D2E
            );

        box-shadow:
            0 7px 18px
            rgba(255, 122, 0, 0.23);
    }

    .mobile-book-button span {
        font-size:
            10px;

        letter-spacing:
            0.7px;
    }
}


/* =========================================================
   VERY SMALL DEVICES
========================================================= */

@media (max-width: 380px) {

    .hero-content h1 {
        font-size:
            34px;
    }

    .logo img {
        width:
            175px;
    }

    .hero-trust {
        gap:
            8px;
    }

    .hero-logo-image img {
        height:
            170px;
    }

    .hero-visual {
        min-height:
            310px;
    }

    .floating-card {
        transform:
            scale(0.88);
    }

}
/* =========================================================
   JAVASCRIPT SCROLL ANIMATION
========================================================= */

.scroll-animate {
    opacity: 0;
    transform: translateY(25px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}

.scroll-animate.visible {
    opacity: 1;
    transform: translateY(0);
}

.button-clicked {
    transform: scale(0.97) !important;
}


/* Mobile menu button animation */

.mobile-menu-button.active span:nth-child(1) {
    transform:
        translateY(7px)
        rotate(45deg);
}

.mobile-menu-button.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-button.active span:nth-child(3) {
    transform:
        translateY(-7px)
        rotate(-45deg);
}

/* =========================================================
   GN INTERCITY — NOTICE / OFFER / RECENT BOOKING / POPUP
   ========================================================= */

.gn-notice-bar {
    width: 100%;
    height: 34px;
    overflow: hidden;
    position: relative;
    z-index: 1100;
    display: flex;
    align-items: center;
    background: #062B59;
    color: #FFFFFF;
    border-bottom: 1px solid rgba(255,255,255,.14);
    white-space: nowrap;
}

.gn-marquee-track,
.gn-offer-track {
    display: inline-flex;
    align-items: center;
    width: max-content;
    min-width: 100%;
    animation: gnNoticeScroll 22s linear infinite;
    will-change: transform;
}

.gn-marquee-track span {
    display: inline-block;
    padding-right: 90px;
    font-size: 11px;
    font-weight: 800;
}

.gn-offer-bar {
    width: 100%;
    height: 38px;
    overflow: hidden;
    position: relative;
    z-index: 900;
    display: flex;
    align-items: center;
    background: #FF7A00;
    color: #062B59;
    border-bottom: 1px solid rgba(6,43,89,.10);
    white-space: nowrap;
}

.gn-offer-track {
    animation-duration: 18s;
}

.gn-offer-track span {
    display: inline-block;
    padding-right: 100px;
    font-size: 12px;
    font-weight: 900;
}

@keyframes gnNoticeScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-33.333333%); }
}

.gn-notice-bar:hover .gn-marquee-track,
.gn-notice-bar:active .gn-marquee-track,
.gn-notice-bar:focus-within .gn-marquee-track,
.gn-offer-bar:hover .gn-offer-track,
.gn-offer-bar:active .gn-offer-track,
.gn-offer-bar:focus-within .gn-offer-track {
    animation-play-state: running !important;
}

.header-inner { gap: 18px; }

.gn-recent-booking {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 205px;
    padding: 7px 11px;
    border: 1px solid #DCE7EF;
    border-radius: 12px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 8px 24px rgba(6,43,89,.08);
    opacity: 1;
    transform: translateY(0);
    transition: opacity .25s ease, transform .25s ease;
}

.gn-recent-booking.gn-recent-hide {
    opacity: 0;
    transform: translateY(-5px);
    pointer-events: none;
}

.gn-recent-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #55B83E;
    box-shadow: 0 0 0 4px rgba(85,184,62,.12);
}

.gn-recent-booking small {
    display: block;
    color: #7B8C9D;
    font-size: 7px;
    font-weight: 800;
    line-height: 1.1;
}

.gn-recent-booking strong {
    display: block;
    max-width: 155px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #062B59;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.35;
}

body.gn-popup-open { overflow: hidden; }

.gn-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(3,18,35,.70);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    animation: gnPopupFade .25s ease;
}

.gn-popup-overlay.gn-popup-hidden { display: none; }

.gn-popup-card {
    position: relative;
    width: min(560px, 94vw);
    max-height: 90vh;
    overflow: auto;
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 30px 90px rgba(0,0,0,.35);
    animation: gnPopupScale .28s ease;
}

.gn-popup-link { display: block; line-height: 0; }

.gn-popup-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 86vh;
    object-fit: contain;
    border-radius: 20px;
}

.gn-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(6,43,89,.90);
    color: #FFFFFF;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

.gn-popup-close:hover { background: #FF7A00; }

@keyframes gnPopupFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes gnPopupScale {
    from { opacity: 0; transform: scale(.94); }
    to { opacity: 1; transform: scale(1); }
}

@media (max-width: 900px) {
    .gn-recent-booking { max-width: 180px; }
    .gn-recent-booking strong { max-width: 130px; }
}

@media (max-width: 700px) {
    .gn-notice-bar { height: 32px; }
    .gn-marquee-track span { font-size: 10px; padding-right: 65px; }
    .gn-offer-bar { height: 36px; }
    .gn-offer-track span { font-size: 10px; padding-right: 70px; }

    .gn-recent-booking {
        position: absolute;
        left: 12px;
        top: 70px;
        z-index: 1200;
        max-width: 185px;
    }

    .gn-popup-overlay { padding: 12px; }
    .gn-popup-card { width: 96vw; border-radius: 16px; }
    .gn-popup-image { border-radius: 16px; }
}

@media (max-width: 480px) {
    .gn-recent-booking {
        left: 10px;
        top: 66px;
        max-width: 165px;
        padding: 6px 9px;
    }

    .gn-recent-booking small { font-size: 6px; }
    .gn-recent-booking strong { max-width: 118px; font-size: 9px; }

    .gn-popup-close {
        width: 34px;
        height: 34px;
        top: 7px;
        right: 7px;
        font-size: 22px;
    }
}
/* =========================================================
   FINAL MOBILE FLOW FIX
   Desktop layout remains unchanged.
   Mobile: HEADER -> BLUE NOTICE -> ORANGE OFFER -> HERO
   ========================================================= */

.gn-mobile-notice {
    display: none;
}

@media (max-width: 700px) {

    /* Original desktop notice is above the header; hide that copy on mobile. */
    body > .gn-notice-bar:not(.gn-mobile-notice) {
        display: none !important;
    }

    /* Keep the mobile header in normal flow so it cannot cover the bars. */
    .main-header {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        z-index: 3000 !important;
    }

    .header-inner {
        min-height: 70px !important;
        gap: 8px !important;
    }

    .logo {
        min-width: 0 !important;
        flex: 0 1 auto !important;
    }

    .logo img {
        width: 145px !important;
        height: 54px !important;
        max-width: 145px !important;
    }

    /* Recent booking stays INSIDE header, beside the logo/menu area. */
    .gn-recent-booking {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 3100 !important;
        max-width: 142px !important;
        padding: 6px 8px !important;
        gap: 6px !important;
    }

    .gn-recent-booking.gn-recent-hide {
        transform: translate(-50%, calc(-50% - 5px)) !important;
    }

    .gn-recent-booking small {
        font-size: 7px !important;
        white-space: nowrap !important;
    }

    .gn-recent-booking strong {
        display: block !important;
        max-width: 105px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 10px !important;
    }

    /* Mobile notice is now AFTER the header. */
    .gn-mobile-notice {
        display: flex !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        height: 32px !important;
        z-index: 2500 !important;
        margin: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

    .gn-mobile-notice .gn-marquee-track {
        animation-play-state: running !important;
    }

    /* Orange offer must remain visible directly below blue notice. */
    .gn-offer-bar {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        height: 36px !important;
        z-index: 2400 !important;
        margin: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

    .gn-offer-track {
        animation-play-state: running !important;
    }

    /* Do not add fake top spacing for a fixed header anymore. */
    .hero-section {
        padding-top: 0 !important;
    }

    .hero-container {
        padding-top: 42px !important;
    }
}

@media (max-width: 480px) {

    .logo img {
        width: 140px !important;
        max-width: 140px !important;
        height: 52px !important;
    }

    .gn-recent-booking {
        max-width: 138px !important;
        padding: 5px 7px !important;
    }

    .gn-recent-booking strong {
        max-width: 100px !important;
        font-size: 10px !important;
    }

    .gn-recent-booking small {
        font-size: 6.5px !important;
    }

    .gn-mobile-notice {
        height: 30px !important;
    }

    .gn-mobile-notice .gn-marquee-track span,
    .gn-offer-bar .gn-offer-track span {
        font-size: 9px !important;
        padding-right: 60px !important;
    }

    .gn-offer-bar {
        height: 34px !important;
    }
}

/* =========================================================
   MOBILE: PERMANENT BLUE NOTICE ABOVE LOGO
   Notice stays fixed at the very top while the header stays below it.
   Desktop remains unchanged.
   ========================================================= */
@media (max-width: 700px) {
    .gn-mobile-notice {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 32px !important;
        z-index: 99999 !important;
        margin: 0 !important;
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

    .main-header {
        position: sticky !important;
        top: 32px !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 3000 !important;
        margin-top: 32px !important;
    }

    .gn-offer-bar {
        position: relative !important;
        z-index: 2400 !important;
    }
}

@media (max-width: 480px) {
    .gn-mobile-notice {
        height: 30px !important;
    }

    .main-header {
        top: 30px !important;
        margin-top: 30px !important;
    }
}

/* =========================================================
   FULL WEBSITE LOADER
========================================================= */

.gn-site-loader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(255,255,255,.98);
    opacity: 1;
    visibility: visible;
    transition: opacity .35s ease, visibility .35s ease;
}

.gn-site-loader.gn-loader-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.gn-loader-card {
    width: min(290px, 86vw);
    min-height: 180px;
    padding: 24px 20px 20px;
    border: 1px solid rgba(6,43,89,.10);
    border-radius: 24px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 24px 70px rgba(5,36,75,.16);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 13px;
}

.gn-loader-logo {
    width: 150px !important;
    height: 150px !important;
    max-width: 150px !important;
    max-height: 150px !important;
    object-fit: contain !important;
    display: block !important;
}

.gn-loader-text {
    color: var(--brand-navy);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .5px;
}

}

@media (max-width: 700px) {
    .gn-site-loader {
        padding: 14px;
    }

    .gn-loader-card {
        width: min(260px, 82vw);
        min-height: 165px;
        border-radius: 20px;
    }

    .gn-loader-logo {
        width: 175px;
        height: 56px;
    }
}

/* User supplied GIF is the loader animation; no CSS spinner is shown. */
.gn-loader-spinner {
    display: none !important;
}

/* PREMIUM HOME CONTENT SECTIONS */
.gn-premium-services,.gn-gallery-section,.gn-routes-section,.gn-testimonials-section,.gn-faq-section{background:#f4f7fb;padding:70px 0}
.gn-why-strip{background:#fff;padding:32px 0 38px;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}
.gn-premium-heading{text-align:center;margin-bottom:30px}.gn-premium-heading.compact{margin-bottom:20px}
.gn-premium-heading h2{margin:0;color:#062b59;font-size:32px;line-height:1.15;font-weight:900}.gn-premium-heading h2 span{color:#ff6f00}.gn-premium-heading p{margin:10px auto 0;max-width:720px;color:#718095;font-size:15px}
.gn-service-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:30px}.gn-service-tab{border:0;background:#fff;color:#102a50;border-radius:999px;padding:12px 20px;font-weight:800;box-shadow:0 8px 24px rgba(5,36,75,.08);cursor:pointer;transition:.2s}.gn-service-tab:hover,.gn-service-tab.active{background:#ff7300;color:#fff;transform:translateY(-1px)}
.gn-service-panel{display:none}.gn-service-panel.active{display:block;animation:gnPanelIn .25s ease}@keyframes gnPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.gn-destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gn-destination-card{background:#fff;border-radius:20px;min-height:165px;padding:28px 24px;box-shadow:0 15px 35px rgba(5,36,75,.08);display:flex;flex-direction:column;justify-content:space-between}.gn-destination-card h3{color:#ff6f00;font-size:22px;margin:0 0 12px}.gn-destination-card p{color:#263b58;font-size:14px;line-height:1.7;margin:0}
.gn-feature-card{max-width:980px;margin:auto;background:#fff;border-radius:24px;padding:38px 36px;box-shadow:0 20px 50px rgba(5,36,75,.08)}.gn-feature-card h3{font-size:27px;color:#062b59;margin:0 0 25px}.gn-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gn-feature-item{background:#f4f7fb;border-radius:14px;padding:14px 15px;color:#152b4c;font-weight:700;line-height:1.45;min-height:52px}.gn-feature-item span{color:#19a92a;margin-right:7px}
.gn-why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.gn-why-card{background:#f7f9fc;border-radius:14px;padding:14px 10px;text-align:center;box-shadow:0 5px 18px rgba(5,36,75,.07)}.gn-why-card strong{display:block;color:#062b59;font-size:13px;line-height:1.3}.gn-why-card span{display:block;color:#718095;font-size:11px;margin-top:5px}
.gn-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gn-gallery-card{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 15px 35px rgba(5,36,75,.08);aspect-ratio:16/9}.gn-gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}.gn-gallery-card:hover img{transform:scale(1.04)}.gn-gallery-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 15px;color:#fff;background:linear-gradient(transparent,rgba(4,24,47,.8));font-weight:800}
.gn-achievements-section{background:#153968;padding:65px 0}.gn-achievements-section .gn-premium-heading h2{color:#ff7a00}.gn-achievement-grid{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.gn-achievement-card{margin:0;background:#fff;border-radius:15px;padding:10px;width:min(250px,44vw);box-shadow:0 12px 30px rgba(0,0,0,.15)}.gn-achievement-card img{width:100%;height:105px;object-fit:contain;border-radius:10px;display:block;background:#fff}.gn-achievement-card figcaption{text-align:center;color:#062b59;font-size:12px;font-weight:800;padding:8px 4px 3px}
.gn-routes-section{padding:55px 0 45px}.gn-route-list{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.gn-route-pill{display:inline-flex;padding:13px 22px;background:#fff;border-radius:999px;color:#17365f;text-decoration:none;font-weight:800;box-shadow:0 9px 25px rgba(5,36,75,.08);transition:.2s}.gn-route-pill:hover{background:#ff7300;color:#fff;transform:translateY(-2px)}
.gn-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:920px;margin:auto}.gn-testimonial-card{background:#fff;border-radius:18px;padding:22px;text-align:center;box-shadow:0 12px 30px rgba(5,36,75,.08)}.gn-stars{color:#ffb000;font-size:18px;letter-spacing:2px}.gn-testimonial-card p{color:#46556b;font-size:13px;min-height:40px}.gn-testimonial-card strong{color:#ff6f00;font-size:12px}
.gn-faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:980px;margin:auto}.gn-faq-card{background:#fff;border-radius:15px;padding:16px 18px;box-shadow:0 10px 28px rgba(5,36,75,.07)}.gn-faq-card summary{cursor:pointer;color:#17365f;font-weight:900;font-size:14px}.gn-faq-card p{color:#718095;font-size:12px;line-height:1.6;margin:10px 0 0}
.gn-advertise-section{padding:35px 0 70px;background:#f4f7fb}.gn-advertise-card{background:linear-gradient(110deg,#12386c,#22589b);border-radius:18px;padding:28px;text-align:center;color:#fff}.gn-advertise-card h2{margin:0 0 10px;font-size:22px}.gn-advertise-card p{margin:0 auto 15px;font-size:12px}.gn-advertise-button{display:inline-flex;background:#19d66b;color:#05243f;text-decoration:none;padding:12px 22px;border-radius:999px;font-weight:900}
@media(max-width:900px){.gn-destination-grid{grid-template-columns:repeat(2,1fr)}.gn-feature-grid{grid-template-columns:repeat(2,1fr)}.gn-why-grid{grid-template-columns:repeat(3,1fr)}.gn-gallery-grid{grid-template-columns:repeat(2,1fr)}.gn-testimonial-grid,.gn-faq-grid{grid-template-columns:1fr}}
@media(max-width:600px){.gn-premium-services,.gn-gallery-section,.gn-routes-section,.gn-testimonials-section,.gn-faq-section{padding:46px 0}.gn-premium-heading h2{font-size:25px}.gn-service-tabs{gap:7px}.gn-service-tab{padding:10px 13px;font-size:11px}.gn-destination-grid,.gn-feature-grid,.gn-gallery-grid{grid-template-columns:1fr}.gn-destination-card{min-height:145px}.gn-feature-card{padding:25px 18px;border-radius:18px}.gn-feature-card h3{font-size:22px}.gn-why-grid{grid-template-columns:repeat(2,1fr)}.gn-achievement-card{width:80%}}


/* =========================================================
   MOBILE APP DOWNLOAD / FOOTER APP
========================================================= */

.footer-grid {
    grid-template-columns: 1.25fr .65fr .9fr 1fr;
}

.footer-app-card {
    min-width: 0;
}

.footer-app-card h4 {
    margin: 0 0 12px;
    color: #FFFFFF;
    font-size: 14px;
}

.footer-app-image {
    width: 135px;
    height: 170px;
    object-fit: contain;
    object-position: center;
    border-radius: 14px;
    background: #FFFFFF;
    padding: 5px;
    margin-bottom: 10px;
}

.footer-app-card p {
    margin: 0 0 10px;
    color: #B7C8DA;
    font-size: 10px;
    line-height: 1.6;
}

.footer-app-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.footer-app-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 9px;
    background: #FF7A00;
    color: #FFFFFF !important;
    font-size: 9px !important;
    font-weight: 900;
}

.footer-app-btn:hover {
    transform: translateY(-1px);
    background: #FF9328;
}

.footer-app-pending {
    color: #B7C8DA;
    font-size: 10px;
}

.app-hero-button {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-app-card {
        grid-column: 1 / -1;
    }

    .footer-app-image {
        width: 120px;
        height: 150px;
    }
}

@media (max-width: 520px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand,
    .footer-app-card {
        grid-column: auto;
    }

    .footer-app-card {
        padding-top: 5px;
    }

    .footer-app-image {
        width: 145px;
        height: 180px;
    }

    .footer-app-buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .footer-app-btn {
        width: 100%;
    }
}

/* =========================================================
   PREMIUM FLEET IMAGES + AUTO GALLERY CAROUSEL
========================================================= */
.fleet-image-wrap{
    min-height:140px;
    height:150px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:16px;
    margin:10px 0 8px;
    background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
}
.fleet-image-wrap img{
    width:100%;
    height:100%;
    object-fit:contain;
    filter:drop-shadow(0 18px 18px rgba(0,0,0,.18));
    transition:transform .35s ease;
}
.fleet-card:hover .fleet-image-wrap img{transform:scale(1.045)}
.fleet-image-wrap .vehicle-placeholder{min-height:0;width:100%;height:100%}

.gn-gallery-carousel{
    position:relative;
    overflow:hidden;
    width:100%;
    border-radius:22px;
    padding:4px 0 12px;
}
.gn-gallery-track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding:4px 2px 10px;
    touch-action:pan-x;
}
.gn-gallery-track::-webkit-scrollbar{display:none}
.gn-gallery-card{
    flex:0 0 clamp(280px,31vw,360px);
    aspect-ratio:16/9;
}
.gn-gallery-hint{
    margin:7px 0 0;
    text-align:center;
    color:#7b899b;
    font-size:11px;
    font-weight:700;
}
.about-logo-circle.has-image{
    overflow:hidden;
    padding:0;
}
.about-logo-circle.has-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}
@media(max-width:600px){
    .fleet-image-wrap{height:145px}
    .gn-gallery-card{flex-basis:84vw}
    .gn-gallery-track{gap:12px}
    .gn-gallery-hint{font-size:10px}
}


/* FINAL HOMEPAGE STABILITY POLISH */
.gn-premium-heading h2{display:block!important;visibility:visible!important;opacity:1!important;}
.gn-advertise-card h2,.gn-advertise-card p{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important;}
.gn-advertise-card h2{font-weight:900!important;}
.gn-advertise-card p{line-height:1.6!important;}
.fleet-image-wrap .vehicle-placeholder{display:grid;place-items:center;color:#fff;font-size:56px;text-shadow:0 10px 22px rgba(0,0,0,.22);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));}
@media(max-width:700px){.fleet-image-wrap{height:135px;min-height:135px}.gn-advertise-card{padding:24px 16px}.gn-advertise-card h2{font-size:19px}.gn-advertise-card p{font-size:11px}}


/* =========================================================
   FINAL PREMIUM V6 ADDITIONS
========================================================= */
.gn-trust-counter-section{padding:26px 0;background:#fff;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7}
.gn-trust-counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gn-trust-counter-card{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:center;background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid #e3ebf4;border-radius:18px;padding:17px 18px;box-shadow:0 12px 28px rgba(5,36,75,.07)}
.gn-trust-counter-card:after{content:"";position:absolute;right:-28px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:rgba(255,122,0,.06)}
.gn-trust-icon{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fff1e6;color:#ff7300;font-size:20px;box-shadow:inset 0 0 0 1px #ffe0ca}
.gn-trust-counter-card strong{color:#062b59;font-size:22px;font-weight:950;line-height:1}
.gn-trust-counter-card small{color:#718095;font-size:10px;font-weight:800}
.gn-fare-preview-section{padding:54px 0 58px;background:#f4f7fb}
.gn-fare-kicker{display:inline-flex;align-items:center;gap:6px;color:#ff7300;font-size:10px;font-weight:950;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:9px}
.gn-fare-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#55b83e;box-shadow:0 0 0 4px rgba(85,184,62,.12)}
.gn-fare-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1080px;margin:0 auto}
.gn-fare-card{display:flex;flex-direction:column;gap:7px;min-height:118px;padding:20px 20px;background:#fff;border:1px solid #e1eaf2;border-radius:18px;text-decoration:none;box-shadow:0 12px 30px rgba(5,36,75,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.gn-fare-card:hover{transform:translateY(-3px);border-color:#ffb36d;box-shadow:0 18px 38px rgba(5,36,75,.1)}
.gn-fare-route{color:#17365f;font-size:14px;font-weight:900}
.gn-fare-card strong{color:#ff7300;font-size:21px;font-weight:950}
.gn-fare-card small{color:#7a899a;font-size:10px;font-weight:700}
.gn-fare-note{text-align:center;margin-top:18px;color:#718095;font-size:11px;font-weight:700}
.gn-premium-why{padding:58px 0 62px;background:#fff}
.gn-why-premium-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.gn-why-premium-card{position:relative;display:flex;flex-direction:column;min-height:215px;padding:20px;border:1px solid #e1eaf2;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 15px 35px rgba(5,36,75,.07);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.gn-why-premium-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(5,36,75,.11)}
.gn-why-premium-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#ff7300,#ffb35f,#55b83e)}
.gn-why-premium-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#062b59;color:#fff;font-size:20px;font-weight:950;box-shadow:0 10px 22px rgba(6,43,89,.18);margin-bottom:18px}
.gn-why-premium-content{display:flex;flex-direction:column;height:100%}
.gn-why-number{color:#ff7300;font-size:9px;font-weight:950;letter-spacing:1.5px}
.gn-why-premium-card h3{margin:6px 0 8px;color:#062b59;font-size:16px;font-weight:950}
.gn-why-premium-card p{margin:0;color:#718095;font-size:11px;line-height:1.65}
@media(max-width:900px){.gn-trust-counter-grid{grid-template-columns:repeat(2,1fr)}.gn-fare-preview-grid{grid-template-columns:repeat(2,1fr)}.gn-why-premium-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gn-trust-counter-section{padding:18px 0}.gn-trust-counter-grid{grid-template-columns:repeat(2,1fr);gap:9px}.gn-trust-counter-card{padding:13px 11px;grid-template-columns:auto 1fr;column-gap:8px;border-radius:14px}.gn-trust-icon{width:34px;height:34px;border-radius:10px;font-size:16px}.gn-trust-counter-card strong{font-size:17px}.gn-trust-counter-card small{font-size:8px}.gn-fare-preview-section{padding:42px 0}.gn-fare-preview-grid{grid-template-columns:1fr 1fr;gap:9px}.gn-fare-card{min-height:112px;padding:14px 12px;border-radius:15px}.gn-fare-route{font-size:11px;line-height:1.35}.gn-fare-card strong{font-size:16px}.gn-fare-card small{font-size:8px}.gn-fare-note{font-size:9px}.gn-premium-why{padding:44px 0}.gn-why-premium-grid{grid-template-columns:1fr;gap:10px}.gn-why-premium-card{min-height:0;flex-direction:row;align-items:flex-start;padding:15px;border-radius:16px}.gn-why-premium-icon{width:42px;height:42px;min-width:42px;border-radius:12px;margin:0 13px 0 0}.gn-why-premium-content{min-width:0}.gn-why-premium-card h3{font-size:14px;margin:4px 0 5px}.gn-why-premium-card p{font-size:10px}}

/* =========================================================
   GN INTERCITY PREMIUM APP-LIKE POLISH — FINAL
========================================================= */
.gn-live-status{overflow:hidden;height:32px;background:#f8fbff;border-top:1px solid #e8eff6;border-bottom:1px solid #e2eaf2;white-space:nowrap}
.gn-live-status-track{display:inline-flex;align-items:center;gap:30px;min-width:max-content;height:100%;padding-left:100%;animation:gnLiveStatus 28s linear infinite;font-size:10px;font-weight:850;color:#17365f}
.gn-live-status-track span{display:inline-flex;align-items:center;gap:6px}
.gn-live-status-track i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#55b83e;box-shadow:0 0 0 4px rgba(85,184,62,.13);animation:gnPulse 1.8s ease-in-out infinite}
@keyframes gnLiveStatus{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes gnPulse{50%{opacity:.35;transform:scale(.8)}}
.gn-live-status:hover .gn-live-status-track{animation-play-state:running}
.hero-content{animation:gnHeroIn .7s ease both}
.hero-visual{animation:gnHeroVisual .9s cubic-bezier(.2,.7,.2,1) both}
.hero-slider{animation:gnHeroFloat 7s ease-in-out infinite}
.hero-buttons .primary-button{position:relative;overflow:hidden}
.hero-buttons .primary-button::after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:gnButtonShine 4s ease-in-out infinite}
@keyframes gnHeroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes gnHeroVisual{from{opacity:0;transform:translateX(22px) scale(.98)}to{opacity:1;transform:none}}
@keyframes gnHeroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes gnButtonShine{0%,55%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
.fleet-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.fleet-card:hover{transform:translateY(-8px) scale(1.008);box-shadow:0 28px 65px rgba(6,43,89,.18)}
.fleet-image-wrap{position:relative;overflow:hidden}
.fleet-image-shine{position:absolute;z-index:2;top:0;bottom:0;left:-80%;width:45%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);pointer-events:none;animation:gnFleetShine 6s ease-in-out infinite}
@keyframes gnFleetShine{0%,70%{left:-80%}90%,100%{left:140%}}
.gn-trust-counter-card{transition:transform .28s ease,box-shadow .28s ease}
.gn-trust-counter-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(5,36,75,.13)}
.gn-trust-counter-card strong{font-variant-numeric:tabular-nums}
.gn-how-booking-section{padding:62px 0;background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%)}
.gn-how-booking-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;max-width:1120px;margin:0 auto}
.gn-how-card{position:relative;padding:23px 20px;border:1px solid #e0e9f2;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 16px 38px rgba(5,36,75,.07);transition:transform .3s ease,box-shadow .3s ease}
.gn-how-card:hover{transform:translateY(-6px);box-shadow:0 25px 50px rgba(5,36,75,.12)}
.gn-how-number{position:absolute;right:15px;top:12px;color:#d9e5f1;font-size:26px;font-weight:950}
.gn-how-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#fff1e6;color:#ff7300;font-size:22px;margin-bottom:14px;box-shadow:inset 0 0 0 1px #ffe0ca}
.gn-how-card h3{margin:0 0 7px;color:#062b59;font-size:16px;font-weight:950}
.gn-how-card p{margin:0;color:#748499;font-size:10px;line-height:1.65}
.gn-how-connector{align-self:center;color:#ff7300;font-size:25px;font-weight:950;animation:gnArrow 1.8s ease-in-out infinite}
@keyframes gnArrow{50%{transform:translateX(4px);opacity:.65}}
.gn-gallery-carousel{border-radius:22px}
.gn-gallery-track{scroll-behavior:smooth}
.gn-gallery-card{cursor:zoom-in;transition:transform .3s ease,box-shadow .3s ease}
.gn-gallery-card:hover{transform:translateY(-5px);box-shadow:0 25px 55px rgba(5,36,75,.15)}
.gn-gallery-hint{font-weight:800;letter-spacing:.2px}
@media(max-width:900px){.gn-how-booking-grid{grid-template-columns:1fr 1fr;gap:12px}.gn-how-connector{display:none}}
@media(max-width:600px){.gn-live-status{height:29px}.gn-live-status-track{font-size:8px;gap:20px;animation-duration:22s}.gn-how-booking-section{padding:44px 0}.gn-how-booking-grid{grid-template-columns:1fr 1fr;gap:9px}.gn-how-card{padding:16px 13px;border-radius:16px}.gn-how-icon{width:38px;height:38px;border-radius:11px;font-size:18px;margin-bottom:10px}.gn-how-card h3{font-size:12px}.gn-how-card p{font-size:8px}.gn-how-number{font-size:19px;right:10px;top:8px}.hero-slider{animation:gnHeroFloat 9s ease-in-out infinite}}
@media(prefers-reduced-motion:reduce){.gn-live-status-track,.hero-content,.hero-visual,.hero-slider,.hero-buttons .primary-button::after,.fleet-image-shine,.gn-how-connector,.gn-live-status-track i{animation:none!important}.fleet-card,.gn-how-card,.gn-gallery-card{transition:none!important}}

/* Premium scroll reveal + gallery lightbox */
.gn-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.gn-reveal.gn-reveal-visible{opacity:1;transform:none}
.gn-gallery-lightbox{position:fixed;z-index:10050;inset:0;display:none;align-items:center;justify-content:center;padding:30px;background:rgba(3,18,38,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.gn-gallery-lightbox.open{display:flex}
.gn-gallery-lightbox img{max-width:min(94vw,1200px);max-height:88vh;object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.4);animation:gnLightboxIn .25s ease}
.gn-gallery-lightbox-close{position:absolute;right:22px;top:18px;width:44px;height:44px;border:0;border-radius:50%;font-size:28px;line-height:1;color:#062b59;background:#fff;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.gn-gallery-lightbox-close:hover{background:#ff7a00;color:#fff}
body.gn-gallery-open{overflow:hidden}
@keyframes gnLightboxIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media(max-width:600px){.fleet-grid{display:flex;overflow-x:auto;gap:12px;padding:4px 4px 14px;scroll-snap-type:x mandatory;scrollbar-width:none}.fleet-grid::-webkit-scrollbar{display:none}.fleet-card{flex:0 0 82vw;max-width:82vw;scroll-snap-align:start}.gn-gallery-lightbox{padding:15px}.gn-gallery-lightbox img{max-width:96vw;max-height:82vh;border-radius:14px}.gn-gallery-lightbox-close{right:12px;top:10px;width:40px;height:40px;font-size:25px}}
@media(prefers-reduced-motion:reduce){.gn-reveal{opacity:1;transform:none;transition:none}.gn-gallery-lightbox img{animation:none}}

/* =========================================================
   FLEET DETAILS — ADMIN CONTENT PREVIEW
========================================================= */
.fleet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.fleet-actions .fleet-button{margin-top:0}
.fleet-details-button,.fleet-details-book{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 12px;border-radius:12px;font-size:9px;font-weight:950;letter-spacing:.25px;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.fleet-details-button{border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.07)}
.fleet-details-button:hover{transform:translateY(-2px);border-color:#ff9b48;background:rgba(255,122,0,.16);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.fleet-details-modal{position:fixed;z-index:10060;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(2,18,38,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fleet-details-modal.open{display:flex}
.fleet-details-backdrop{position:absolute;inset:0}
.fleet-details-dialog{position:relative;width:min(620px,94vw);max-height:90vh;overflow:auto;padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:26px;background:linear-gradient(145deg,#fff,#f4f8fc);box-shadow:0 35px 100px rgba(0,0,0,.3);animation:fleetDetailsIn .25s ease}
.fleet-details-close{position:absolute;right:15px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#eaf0f5;color:#062b59;font-size:25px;line-height:1;cursor:pointer}
.fleet-details-close:hover{background:#ff7a00;color:#fff}
.fleet-details-kicker{color:#ff7300;font-size:9px;font-weight:950;letter-spacing:1.4px}
.fleet-details-dialog h2{margin:6px 48px 2px 0;color:#062b59;font-size:28px;font-weight:950}
.fleet-details-subtitle{margin:0 0 20px;color:#75869a;font-size:11px;font-weight:750}
.fleet-details-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:20px}
.fleet-details-stats>div{padding:13px;border:1px solid #e0e9f2;border-radius:14px;background:#fff}
.fleet-details-stats span{display:block;color:#8795a5;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.fleet-details-stats strong{display:block;margin-top:5px;color:#062b59;font-size:11px;font-weight:950}
.fleet-details-section{padding:18px 0;border-top:1px solid #e3ebf3}
.fleet-details-section h3{margin:0 0 11px;color:#062b59;font-size:14px;font-weight:950}
.fleet-details-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.fleet-details-feature-grid span{padding:10px 11px;border-radius:11px;background:#eef4f8;color:#193b60;font-size:10px;font-weight:800}
.fleet-details-section p{margin:0;color:#6f8093;font-size:10px;line-height:1.75;white-space:pre-line}
.fleet-details-book{margin-top:18px;color:#fff;background:linear-gradient(135deg,#ff7300,#ff962f);box-shadow:0 12px 26px rgba(255,115,0,.22)}
.fleet-details-book:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(255,115,0,.28)}
body.fleet-details-open{overflow:hidden}
@keyframes fleetDetailsIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.fleet-actions{grid-template-columns:1fr}.fleet-details-dialog{padding:22px 17px;border-radius:21px}.fleet-details-dialog h2{font-size:22px}.fleet-details-stats{grid-template-columns:1fr 1fr}.fleet-details-feature-grid{grid-template-columns:1fr}.fleet-details-button,.fleet-details-book{min-height:42px;font-size:8px}}
