@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700,700i,800,800i&display=swap&subset=vietnamese');
@import url('https://fonts.googleapis.com/css?family=PT+Serif:400,700&display=swap&subset=cyrillic,cyrillic-ext');
@import url('https://fonts.googleapis.com/css?family=Roboto:400,400i,500,500i,700,700i&display=swap');
@import url('https://fonts.googleapis.com/css?family=Raleway:400,500,600,700&display=swap');

/* ============================================================
   Design Tokens — Centralized CSS Custom Properties
   ============================================================ */
:root {
    /* ── Brand Colors ─────────────────────────────────────── */
    --color-primary: #ff8700;
    --color-primary-alt: #f17825;
    --color-secondary: #002436;
    --color-accent-blue: #134686;
    --color-accent-blue-dark: #0b2f55;
    --color-contact-blue: #00519f;
    --color-contact-blue-dk: #003e7a;
    --color-success: #548300;
    --color-green: #28a745;
    --color-link-hover: #1c7ca0;

    /* ── Text Colors ──────────────────────────────────────── */
    --text-heading: #16203a;
    --text-heading-alt: #152840;
    --text-body: #333333;
    --text-body-alt: #333;
    --text-muted: #525252;
    --text-muted-alt: #555555;
    --text-light: #666666;
    --text-lighter: #696969;
    --text-subtle: #6b7280;
    --text-label: #2F2F2F;
    --text-label-alt: #374151;
    --text-input: #7b7878;
    --text-input-dark: #262626;
    --text-dark-surface: #0a0a0a;
    --text-card: #3f3f3f;
    --text-card-heading: #1c1c1c;
    --text-white: #ffffff;

    /* ── Background Colors ────────────────────────────────── */
    --bg-white: #ffffff;
    --bg-light: #f1f1f1;
    --bg-light-alt: #f2f6f7;
    --bg-section: #f3f3f3;
    --bg-section-alt: #f4f7fb;
    --bg-section-blue: #f6f9fc;
    --bg-contact: #f7fafc;
    --bg-icon: #f7f9fc;
    --bg-pill: #f1f1f1c7;
    --bg-footer-modern: #081c2b;
    --bg-footer-muted: #b7b7b7;
    --bg-footer-modern-text: #cfd8dc;
    --bg-dark-overlay: rgba(0, 0, 0, 0.25);
    --bg-carousel-overlay: rgba(0, 52, 77, 0.6);
    --bg-carousel-control: rgba(0, 0, 0, 0.8);
    --bg-tag: rgba(255, 255, 255, 0.15);
    --bg-social: rgba(255, 255, 255, 0.08);
    --bg-section-tag: #e8f0ff;
    --bg-feature-border: #eef3ff;

    /* ── Font Families ────────────────────────────────────── */
    --ff-primary: 'Roboto', sans-serif;
    --ff-heading: 'Raleway', sans-serif;
    --ff-serif: 'PT Serif', serif;
    --ff-system: Poppins, sans-serif;

    /* ── Font Sizes ───────────────────────────────────────── */
    --fs-xs: 13px;
    --fs-sm: 14px;
    --fs-base: 15px;
    --fs-md: 16px;
    --fs-lg: 17px;
    --fs-xl: 18px;
    --fs-2xl: 20px;
    --fs-3xl: 21px;
    --fs-4xl: 22px;
    --fs-5xl: 24px;
    --fs-6xl: 25px;
    --fs-7xl: 28px;
    --fs-8xl: 30px;
    --fs-9xl: 34px;
    --fs-10xl: 36px;
    --fs-11xl: 40px;
    --fs-12xl: 50px;

    /* ── Font Weights ─────────────────────────────────────── */
    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    --fw-extrabold: 800;
    --fw-black: 900;

    /* ── Line Heights ─────────────────────────────────────── */
    --lh-tight: 1.2;
    --lh-snug: 1.4;
    --lh-normal: 1.5;
    --lh-relaxed: 1.6;
    --lh-loose: 1.7;
    --lh-spacious: 1.8;

    /* ── Spacing Scale ────────────────────────────────────── */
    --space-0: 0;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 10px;
    --space-4: 12px;
    --space-5: 15px;
    --space-6: 18px;
    --space-7: 20px;
    --space-8: 24px;
    --space-9: 25px;
    --space-10: 30px;
    --space-11: 35px;
    --space-12: 40px;
    --space-13: 50px;
    --space-14: 60px;
    --space-15: 70px;
    --space-16: 80px;
    --space-17: 90px;

    /* ── Border Colors ────────────────────────────────────── */
    --border-light: #dee2e6;
    --border-input: #e5e7eb;
    --border-muted: #bebebe;
    --border-dashed: #ccc;
    --border-card: #f1f1f1;
    --border-accent: #134686;

    /* ── Border Radius ────────────────────────────────────── */
    --radius-none: 0;
    --radius-xs: 2px;
    --radius-sm: 4px;
    --radius-md: 5px;
    --radius-base: 6px;
    --radius-lg: 8px;
    --radius-xl: 12px;
    --radius-2xl: 14px;
    --radius-3xl: 16px;
    --radius-4xl: 18px;
    --radius-5xl: 20px;
    --radius-6xl: 25px;
    --radius-pill: 30px;
    --radius-circle: 50%;
    --radius-round: 50px;

    /* ── Shadows ──────────────────────────────────────────── */
    --shadow-xs: 0px 0px 10px 0px rgba(199, 199, 199, 1);
    --shadow-sm: 0 2px 5px #00000029, 0 2px 10px #0000001f;
    --shadow-md: 0 8px 25px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 15px 40px rgba(0, 0, 0, 0.12);
    --shadow-2xl: 0 15px 45px rgba(0, 0, 0, 0.08);
    --shadow-3xl: 0 20px 60px rgba(0, 0, 0, 0.06);
    --shadow-card: 0px 10px 50px rgba(0, 0, 0, 0.1);
    --shadow-form: 0px 4px 24px rgba(225, 225, 225, 0.25);
    --shadow-nav: 0px 10px 40px rgba(202, 202, 202, 0.2);
    --shadow-hover: 0 18px 45px rgba(0, 0, 0, 0.08);
    --shadow-hover-lg: 0 18px 45px rgba(0, 0, 0, 0.12);
    --shadow-contact-btn: 0 8px 20px rgba(0, 81, 159, 0.25);
    --shadow-flip-front: #e0e0e0 0px 0px 5px 1px;
    --shadow-flip-card: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    --shadow-contact-focus: 0 0 0 3px rgba(0, 81, 159, 0.1);
    --shadow-btn-focus: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);
    --shadow-auto-train: 0 15px 40px rgba(0, 0, 0, 0.15);

    /* ── Transitions ──────────────────────────────────────── */
    --transition-fast: all 0.2s linear;
    --transition-base: all 0.3s ease;
    --transition-md: all 0.35s ease;
    --transition-slow: all 0.4s ease-in-out;
    --transition-slower: all 0.5s ease-in-out;
    --transition-transform: transform 0.6s;

    /* ── Z-Index Layers ───────────────────────────────────── */
    --z-nav: 10;
    --z-nav-fixed: 15;
    --z-sticky: 9999;
    --z-scroll-top: 99999;
    --z-progress: 10000;

    /* ── Container ────────────────────────────────────────── */
    --container-max: 1200px;

    /* ── Component Sizes ──────────────────────────────────── */
    --icon-sm: 30px;
    --icon-md: 44px;
    --icon-lg: 50px;
    --icon-xl: 56px;
    --icon-2xl: 60px;
    --icon-3xl: 65px;
    --icon-4xl: 70px;
    --input-height: 50px;
    --input-height-sm: 45px;
    --input-height-md: 48px;
    --logo-width: 170px;
    --navbar-line-height: 2px;
    --footer-accent-height: 4px;
    --footer-accent-width: 30px;
}

body {
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    font-family: var(--ff-primary);
}

img {
    max-width: 100%;
    height: auto;
}

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

*,
::before,
::after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a:hover {
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

a:hover,
a:focus {
    text-decoration: none;
    outline: none;
}

.btn {
    color: var(--text-white);
    background-color: var(--color-primary);
    display: inline-block;
    border: var(--color-primary);
}

html {
    scroll-bAAICvior: smooth;
}

.btn.focus,
.btn:focus {
    outline: 0;
    box-shadow: var(--shadow-btn-focus);
}

.btn:hover {
    color: var(--text-white);
    background-color: var(--color-primary);
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.container {
    max-width: var(--container-max);
}


.one--nav {
    background-color: var(--bg-white);
    position: fixed;
    width: 100%;
    z-index: var(--z-nav);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.navfixed {
    /* padding: 5px 0 5px; */
    background-color: var(--bg-white);
    z-index: var(--z-nav-fixed);
    box-shadow: var(--shadow-nav);
}



.rgstration {
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-7);
    font-size: var(--fs-lg);
    font-weight: var(--fw-bold);
    transition: all 0.5s;
    background-color: var(--color-primary-alt);
    border: 1px solid var(--color-primary-alt);
    box-shadow: inset 0 0 0 var(--bg-white);
}

.rgstration:hover {
    background-color: var(--color-secondary);
    border: 1px solid var(--color-secondary);
    box-shadow: inset 0 70px 0 0 var(--color-secondary);
    /* color: var(--color-primary); */
}

.header-bg_main {
    background: var(--bg-light);
    height: auto !important;
    width: 100%;
    position: relative !important;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: hidden;
}



.header-widget-pck {
    padding: 0 0 !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: var(--color-secondary);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    font-size: var(--fs-md);
    letter-spacing: 0.05em;
    padding: 7px 0px;
    margin-right: var(--space-10);
    position: relative;
}

.navbar-dark .navbar-nav .nav-link::before {
    background-color: var(--color-primary-alt);
    bottom: 0;
    content: "";
    display: block;
    height: var(--navbar-line-height);
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transition: transform .3s ease;
    width: 100%;
}

.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .active>.nav-link:hover {
    color: var(--color-primary-alt);
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.navbar-dark .navbar-nav .nav-link:focus::before,
.navbar-dark .navbar-nav .nav-link:hover::before {
    transform: scaleX(1);
}

.navbar-dark .navbar-nav .nav-item:last-child .nav-link {
    margin: 0;
}

.navbar-dark .navbar-nav .active>.nav-link {
    color: var(--color-secondary);
}

.navbar-toggler {
    padding: 0;
}

.navbar-dark .navbar-toggler-icon {
    background-image: unset;
    height: unset;
}

.navbar-dark .navbar-toggler-icon span {
    background-color: var(--color-secondary);
    display: block;
    float: left;
    height: 3px;
    width: 31px;
    border-radius: var(--radius-xs);
    margin-bottom: 5px;
}

.navbar-dark .navbar-toggler-icon span:nth-child(2) {
    width: 20px;
}

.navbar-dark .navbar-toggler-icon span:nth-child(3) {
    width: 16px;
    margin-bottom: 0;
}

.navbar-dark button:focus {
    outline: unset;
}

.ptop-4 {
    padding-top: 4rem !important;
}

.ptop-6 {
    padding-top: 6rem !important;
}

.fare-nav {
    box-shadow: var(--shadow-sm);
    color: var(--text-white);
    background-color: var(--color-secondary);
    height: 46px;
}

.fare-btn {
    background-color: var(--color-secondary);
    color: var(--text-white);
    padding: 11px var(--space-7);
    border-radius: var(--radius-none);
    font-size: var(--fs-lg);
    font-weight: var(--fw-medium);
}

.fare-btn:hover,
.fare-btn.active {
    background-color: var(--color-primary-alt);
}

.carousel-inner {
    max-height: 500px;
    overflow: hidden;
}

.carousel-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.carousel-control-next,
.carousel-control-prev {
    width: 5%;
    background-color: var(--bg-carousel-control);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none;
}

.carousel-control-prev-icon::after,
.carousel-control-next-icon::after {
    color: var(--color-primary);
    font-family: "FontAwesome";
    font-size: 20px;
}

.carousel-control-prev-icon::after {
    content: "\f104";
}

.carousel-control-next-icon::after {
    content: "\f105";
}

.carousel-caption {
    padding: 0;
    border-radius: var(--radius-base);
    width: 40%;
    text-align: start;
    top: 50%;
    transform: translateY(-50%);
    left: 8%;
    bottom: unset;
}

.carousel-caption h5 {
    font-size: 2.5rem;
    font-weight: 200;
    line-height: 1;
    max-width: 450px;
    margin: 0;
}

.carousel-caption p {
    font-size: 1.5rem;
    font-weight: 200;
    padding-top: 20px;
    margin: 0;
}

.feature-area {
    padding: var(--space-14) 0;
}



.main-bx_pck {
    padding: 2rem 0;
}

.formmain-box {
    background-color: var(--bg-white);
    padding: var(--space-7);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-form);
    /* border: #4a4a4a17 solid 15px; */
}

.formmain-box label {
    margin-bottom: var(--space-3);
    font-weight: var(--fw-bold);
    font-size: var(--fs-base);
    color: var(--text-label);
}

.formmain-box h3 {
    font-family: var(--ff-heading);
    font-size: var(--fs-3xl);
    line-height: var(--lh-snug);
    font-weight: var(--fw-extrabold);
    color: var(--text-heading-alt);
    text-align: center
}

.formmain-box p {
    color: var(--text-heading-alt);
    font-size: var(--fs-md);
    line-height: var(--lh-normal);
    text-align: center;
    margin-bottom: var(--space-5);
}

.formmain-box .form-group {
    position: relative;
    margin-bottom: var(--space-5);
}

.formmain-box .form-group .form-control {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.formmain-box .form-group i.fas,
.formmain-box .form-group i.far,
.formmain-box .form-group i.fab,
.formmain-box .form-group i.fa {
    position: absolute;
    margin-left: 10px;
    font-size: var(--fs-md);
    color: var(--text-muted);
    top: 50%;
    transform: translateY(-50%);
}

.formmain-box .form-group .form-control {
    display: block;
    width: 100%;
    height: var(--input-height);
    background: var(--bg-white);
    color: var(--text-input);
    padding: 13px 13px 13px 36px;
}

.formmain-box .form-group select.form-control {
    padding-left: 10px;
}

.formmain-box .form-group .form-control:focus {
    background: rgba(255, 255, 255, .7);
    color: var(--text-body-alt);
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.formmain-box .form-group textarea.form-control {
    height: auto !important;
}

.formmain-box .form-group select.form-control {
    padding-left: 30px;
}

.formmain-box .btnprimaryform {
    background-color: var(--color-success);
    border: 1px solid var(--color-success);
    box-shadow: inset 0 0 0 var(--bg-white);
    color: var(--text-white);
    margin: 0 auto;
    font-size: var(--fs-md);
    font-weight: var(--fw-medium);
    padding: var(--space-3) 60px;
    display: block;
    transition: all 0.5s;
}

/* .formmain-box .btnprimaryform:hover {
    background-color: #003b6d;
    border: 1px solid #003b6d;
    box-shadow: inset 0 70px 0 0 #003b6d;
    color: var(--color-primary);
} */

.formmain-box .tab-content {
    padding-top: 15px;
}

.formmain-box .nav-pills .nav-link {
    border: 1px solid transparent;
    font-size: var(--fs-md);
    color: var(--text-dark-surface);
    border-radius: 0px;
    background: var(--bg-pill);
    margin-right: var(--space-3);
    margin-left: var(--space-3);
    padding: var(--space-3) 0 var(--space-3) 0;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
}

.formmain-box .nav-pills .nav-link.active {
    color: var(--text-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}

.subtitle-box h3 {
    color: var(--text-white);
    font-size: 2.2rem;
    font-weight: var(--fw-bold);
    margin-bottom: var(--space-3);
    font-family: var(--ff-heading);
    position: relative;
}

.subtitle-box h2 {
    color: var(--text-white);
    font-size: 3.2rem;
    font-weight: var(--fw-extrabold);
    margin-top: var(--space-3);
    margin-bottom: var(--space-3);
    font-family: var(--ff-serif);
    text-shadow: 1px 3px 2px rgb(0 0 0);
}

.subtitle-box h4 {
    color: var(--color-primary);
    font-size: 1.6rem;
    font-weight: var(--fw-medium);
    font-family: var(--ff-heading);
}

.subtitle-box p,
.subtitle-box p span {
    color: var(--text-white);
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: var(--fw-semibold);
    margin: var(--space-7) 0 var(--space-7);
    font-family: var(--ff-serif);
}

.subtitle-box p span {
    width: 100%;
    padding-left: 4%;
}

.subtitle-box p i.fas,
.subtitle-box p i.far {
    color: var(--color-primary);
    font-weight: bold;
    font-size: 1.5rem;
    margin-right: 8px;
}

.aboutus-sctn-box {
    padding: var(--space-12) 0px;
    position: relative;
}

.aboutus-sctn-box .service-right {
    position: absolute;
    top: 0;
    right: 0;
}

.aboutus-sctn-box .post-thumb img {
    border-radius: var(--radius-6xl);
}

@media (max-width: 991px) {
    .aboutus-sctn-box .post-thumb img {
        margin-bottom: 20px;
    }
}

.main-heding {
    color: var(--color-secondary);
    font-size: var(--fs-8xl);
    line-height: var(--lh-normal);
    font-weight: var(--fw-extrabold);
    margin-bottom: 5px;
    text-align: left;
    font-family: var(--ff-heading);
}

.main-heding span {
    border-bottom: var(--text-body-alt) solid 2px;
}

.main-pra {
    color: var(--text-muted);
    font-size: var(--fs-lg);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-normal);
    text-align: left;
    font-family: var(--ff-heading);
}

/* .whyabout-pck .main-heding {
    color: #333;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 600;
    text-align: left;
} */

.aboutbox-pck {
    padding: 15px 0 15px;
}

.aboutbox-pck figure img {
    float: left;
    width: 480px;
    height: 480px;
    border-radius: var(--radius-circle);
    object-fit: cover;
    shape-outside: circle();
    margin: var(--space-3) var(--space-7) var(--space-3) 0px;
    border: var(--color-primary) solid 3px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}

.whyabout-pck {
    margin: var(--space-14) 0 var(--space-14);
}

.navbar-brand img {
    width: var(--logo-width);
}

.bg-2 {
    background-color: var(--bg-light-alt);
}


.whyabout-pck h3 {
    color: var(--color-secondary);
    font-size: var(--fs-11xl);
    font-weight: var(--fw-light);
    margin-bottom: var(--space-10);
    /* text-transform: uppercase;
    font-family: 'Raleway', sans-serif; */
}

.whyabout-pck p {
    margin-bottom: 14px;
    color: var(--text-muted);
    line-height: 33px;
    font-size: var(--fs-lg);
    font-weight: var(--fw-light);
    text-align: justify;
}

.informating-main {
    padding: 15px 0 15px;
}

.housing-pck-box {
    position: relative;
    overflow: hidden;
    margin-top: var(--space-10);
    box-shadow: var(--shadow-card);
    margin-bottom: var(--space-10);
    border-radius: var(--radius-5xl);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}

.service-pck {
    background: var(--bg-white);
    padding: 10px;
    width: 100%;
    height: 100%;
    text-align: center;
}

.service-pck figure {
    position: relative;
    overflow: hidden;
}

.service-pck img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin-bottom: 0;
    border-radius: 15px;
    -moz-transition-duration: .5s;
    -webkit-transition-duration: .5s;
    -o-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
}

.service-pck:hover img {
    transform: scale(1.1);
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}

.service-pck h3 {
    color: var(--text-body-alt);
    font-size: var(--fs-3xl);
    line-height: var(--lh-normal);
    font-weight: var(--fw-semibold);
}

.service-pck p {
    color: var(--text-muted);
    font-size: var(--fs-md);
    line-height: var(--lh-spacious);
    text-align: justify;
    text-align-last: center;
}

.eventform-box,
.eventsecton-box {
    background-color: var(--bg-white);
    padding: var(--space-10) var(--space-10);
    margin-bottom: var(--space-12);
    height: 100%;
    min-height: auto !important;
    border: dashed 2px var(--border-dashed);
}

.eventform-box form {
    text-align: center;
}

.eventform-box form h4 {
    color: var(--text-body-alt);
    font-size: var(--fs-4xl);
    line-height: var(--lh-normal);
    font-weight: var(--fw-semibold);
    text-align: center;
    display: inline-block;
    border-bottom: var(--text-body-alt) solid 2px;
    margin-bottom: var(--fs-md);
    font-family: var(--ff-serif);
}

.eventform-box .form-group {
    margin-bottom: var(--space-5);
}

.eventform-box .form-group .form-control {
    background: var(--bg-white);
    border: none;
    border-bottom: var(--border-muted) solid 1px;
    border-radius: 0;
    color: var(--text-input-dark);
    font-size: var(--fs-xl);
    padding-left: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.eventform-box .form-group .form-control:focus {
    border: var(--border-muted) solid 1px;
    border-radius: 0;
    padding: 5px;
    box-shadow: var(--shadow-btn-focus);
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.eventsecton-box {
    text-align: center;
    margin: 0 auto;
    margin-bottom: var(--space-12);
    padding-top: 5.5rem;
}

.eventsecton-box figure img {
    width: 80px;
}

.eventsecton-box h3 {
    color: var(--text-body-alt);
    font-size: var(--fs-7xl);
    line-height: var(--lh-normal);
    font-weight: var(--fw-extrabold);
    margin-top: var(--space-7);
    margin-bottom: var(--space-3);
    font-family: var(--ff-serif);
}

.eventsecton-box h3 .far,
.eventsecton-box h3 .fas {
    color: var(--color-primary);
    font-size: 26px;
    margin-right: var(--space-1);
}

.eventsecton-box p {
    color: var(--text-muted);
    font-size: var(--fs-lg);
    line-height: var(--lh-normal);
    font-weight: var(--fw-medium);
}

.eventsecton-box a {
    color: var(--color-primary);
    font-size: var(--fs-lg);
    line-height: var(--lh-normal);
    font-weight: var(--fw-semibold);
    letter-spacing: 1px;
    font-family: var(--ff-serif);
}

.eventsecton-box a:hover {
    color: var(--color-link-hover);
    border-bottom: var(--color-link-hover) dotted 1px;
}

.sendnowb {
    border-radius: 0;
    font-size: var(--fs-xl);
    padding: 10px 15px;
    margin-top: 10px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.shedulevntpbox-main {
    margin-top: 10px;
    margin-bottom: 10px;
}

.shedulevntpbox-crd {
    background-color: transparent;
    width: 100%;
    height: 300px;
    border: 1px solid var(--border-card);
    perspective: 1000px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.shedulevntpbox-crdinr {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    box-shadow: var(--shadow-flip-card);
    -webkit-transition: transform 0.6s;
    -moz-transition: transform 0.6s;
    -ms-transition: transform 0.6s;
    -o-transition: transform 0.6s;
}

.shedulevntpbox-crd:hover .shedulevntpbox-crdinr {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
}

.shedulevntpbox-crdfrnt,
.shedulevntpbox-crdbck {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
}

.shedulevntpbox-crdfrnt {
    background-color: var(--bg-white);
    padding: 55px var(--space-5) 55px;
    box-shadow: var(--shadow-flip-front);
}

.shedulevntpbox-crdbck {
    background-color: var(--color-primary);
    transform: rotateY(180deg);
    padding: var(--space-10) var(--space-5) var(--space-10);
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
}

.starline {
    letter-spacing: -3.2px;
    color: var(--color-primary);
    font-size: var(--fs-7xl);
    margin-top: var(--space-5);
    margin-bottom: var(--space-5);
}

.rating-heading {
    color: var(--text-body-alt);
    font-size: var(--fs-5xl);
    line-height: var(--lh-normal);
    font-weight: var(--fw-extrabold);
    margin-bottom: var(--space-3);
    font-family: var(--ff-serif);
}

.rate-heading {
    color: var(--text-body-alt);
    font-size: var(--fs-12xl);
    line-height: var(--lh-normal);
    font-weight: var(--fw-extrabold);
    font-family: var(--ff-heading);
}

.rate-heading sup {
    color: var(--text-muted);
    font-size: 32px;
    line-height: var(--lh-normal);
    font-weight: var(--fw-medium);
    margin-right: -7px;
}

.rate-pra {
    color: var(--text-white);
    font-size: var(--fs-md);
    line-height: var(--lh-normal);
    text-align: justify;
    text-align-last: center;
}

.footer-main {
    background-color: var(--color-secondary);
    position: relative;
}

/* .footer-main::before {
    content: "";
    background: url(../images/breadcrumbright.png) no-repeat;
    position: absolute;
    top: 50px;
    left: 20px;
    width: 100px;
    height: 105px;
    background-size: cover;
}

.footer-main::after {
    content: "";
    background: url(../images/footer-right.png) no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 393px;
    height: 334px;
    background-size: cover;
} */

.footer-main .footer-above {
    position: relative;
    margin: 0;
    padding: var(--space-14) 0 0;
}

.footer-main .footer-above .border-r {
    border-right: 1px solid var(--text-white);
}

.footer-main .footer-above .matter {
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 80px;
}

@media (max-width: 991px) {
    .footer-main .footer-above .matter {
        justify-content: center;
        gap: 20px;
    }
}

.footer-main .footer-above .matter p {
    position: relative;
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    color: var(--text-white);
    margin: 0;
}

.footer-main .footer-top {
    position: relative;
    margin: 0;
    padding: var(--space-12) 0 var(--space-10);
}

.footer-main .footer-widget .footer-title {
    position: relative;
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    color: var(--text-white);
    margin: 0 0 var(--space-12);
}

.footer-main .footer-widget .footer-title:before {
    content: "";
    background: var(--color-primary-alt);
    width: var(--footer-accent-width);
    height: var(--footer-accent-height);
    left: 0;
    position: absolute;
    bottom: -80%;
}

.footer-main .footer-widget p {
    color: var(--bg-footer-muted);
    line-height: 1.5;
    text-align: justify;
    margin: 0;
}

.footer-main .footer-widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-10);
}

.footer-main .footer-widget ul li {
    margin: 0 0 var(--space-7);
}

.footer-main .footer-widget ul li i {
    color: var(--bg-footer-muted);
}

.footer-main .footer-widget ul li:last-child {
    margin: 0;
}

.footer-main .footer-widget ul li a {
    color: var(--bg-footer-muted);
    transition: all 0.5s ease-in-out;
    position: relative;
    padding-bottom: 5px;
}

.footer-main .footer-widget ul li a::before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background-color: var(--text-white);
    content: "";
    transition: all 0.5s ease-in-out;
}

.footer-main .footer-widget ul li a:hover {
    color: var(--text-white);
    transition: all 0.5s ease-in-out;
}

.footer-main .footer-widget ul li a:hover::before {
    width: 100%;
}

.footer-main .footer-contact-info .footer-address {
    margin-bottom: 20px;
    display: flex;
}

.footer-main .footer-contact-info .footer-address span {
    margin-right: var(--space-7);
    width: var(--icon-lg);
    height: var(--icon-lg);
    background: var(--color-primary);
    color: var(--text-white);
    font-size: var(--fs-2xl);
    border-radius: var(--radius-sm);
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    display: flex;
}

.footer-main .footer-contact-info .footer-address .addr-info {
    align-items: center;
    justify-content: center;
    display: flex;
}

.footer-main .footer-contact-info .footer-address .addr-info a {
    font-weight: var(--fw-medium);
    font-size: var(--fs-xl);
    color: var(--text-white);
}

.footer-main .footer-bottom {
    background: var(--color-secondary);
    position: relative;
    margin: 0;
    padding: var(--space-3) 0 var(--space-12);
}

.footer-main .footer-bottom .copyright .image {
    text-align: center;
}

.footer-main .footer-bottom .copyright .icon {
    text-align: center;
    margin-top: 20px;
}

.footer-main .footer-bottom .copyright .icon .social-media-list {
    display: flex;
    justify-content: center;
}

.footer-main .footer-bottom .copyright .icon .social-media-list li {
    margin-right: 7px;
}

.footer-main .footer-bottom .copyright .icon .social-media-list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-sm);
    height: var(--icon-sm);
    border: 1px solid var(--text-white);
    border-radius: var(--radius-circle);
    color: var(--text-white);
}

.footer-main .footer-bottom .copyright .icon .social-media-list li a:hover {
    background-color: var(--bg-white);
}

.footer-main .footer-bottom .copyright .icon .social-media-list li a:hover i {
    color: var(--color-secondary);
}


.footer-main .footer-bottom .copyright p {
    text-align: center;
    color: var(--bg-footer-muted);
}

.footer-main .footer-bottom .copyright .copyright-text p {
    text-align: center;
    color: var(--text-white);
    margin: 0;
}

.evntcount-aira {
    background-color: var(--bg-section);
    padding-top: var(--space-10);
    padding-bottom: var(--space-10);
    margin-bottom: var(--space-5);
}

.registration-main-aria .modal-header {
    border-bottom: 0;
}

.registration-main-aria .modal-content {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.registration-main-aria .modal-body {
    margin-top: -40px;
}

.registration-main-aria .modal-body h3 {
    font-family: var(--ff-heading);
    font-size: var(--fs-3xl);
    line-height: var(--lh-snug);
    font-weight: var(--fw-extrabold);
    color: var(--text-heading-alt);
    margin-bottom: 2px;
    text-align: center;
}

.registration-main-aria .modal-body p {
    color: var(--text-heading-alt);
    font-size: var(--fs-md);
    line-height: var(--lh-normal);
    text-align: center;
    margin-bottom: var(--space-5);
}

.registration-main-aria .modal-body .form-group {
    margin-bottom: 15px;
}

.registration-main-aria .modal-body .form-group i.fas,
.registration-main-aria .modal-body .form-group i.far {
    position: absolute;
    margin: 15px 10px;
    font-size: 16px;
    color: var(--text-muted);
}

.registration-main-aria .modal-body .form-group .form-control {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.registration-main-aria .modal-body .form-group .form-control {
    display: block;
    width: 100%;
    height: var(--input-height-sm);
    background: var(--bg-white);
    color: var(--text-input);
    padding-left: 32px;
}

.registration-main-aria .modal-body .form-group .form-control:focus {
    background: rgba(255, 255, 255, .7);
    color: var(--text-body-alt);
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.registration-main-aria .modal-body .form-group select.form-control,
.registration-main-aria .modal-body .form-group textarea.form-control {
    padding-left: 10px;
}

.registration-main-aria .btnprimaryform {
    margin: 0 auto;
    margin-top: 20px;
    font-size: var(--fs-md);
    padding: var(--space-3) var(--space-7);
    border-radius: 0;
    display: block;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.registration-main-aria .modal-content .modal-header .close {
    z-index: 1;
}

.housing-pck-box .service-pck .ullist {
    margin: 0;
    padding: 0 6px;
    margin-bottom: 15px;
}

.housing-pck-box .service-pck .ullist li {
    position: relative;
    list-style: none;
    padding: 5px 0 10px 20px;
    font-size: 16px;
    margin: 0;
    text-align: left;
    line-height: 22px;
    color: #000 !important;
}

.housing-pck-box .service-pck .ullist li::before {
    position: absolute;
    top: 8px;
    left: 0;
    font: 14px/1 FontAwesome;
    content: "\f192";
    color: var(--color-primary);
}

figure.figurebox {
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 100%;
    min-height: 380px;
}

figure.figurebox .inlineimg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 100%;
}

.informating-main .formmain-box {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    height: 100%;
}

.formmain-box .form-group .fa-home {
    top: -4px;
}

.cardrondbx {
    overflow: hidden;
    width: 100%;
    padding: 18px;
    border: var(--border-light) solid 1px;
    border-radius: var(--radius-none);
    background: var(--bg-white);
    box-shadow: var(--shadow-xs);
}


.cardrondbx .squareicon {
    width: var(--icon-2xl);
    height: var(--icon-2xl);
    color: var(--color-primary);
    font-size: 1.75rem;
    border-radius: var(--radius-circle);
    background: var(--bg-icon);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}

.cardrondbx h4 {
    color: var(--text-heading);
    font-size: var(--fs-lg);
    line-height: var(--lh-tight);
    font-weight: var(--fw-bold);
}

.cardrondbx p {
    color: var(--text-card);
    font-size: var(--fs-lg);
    line-height: 26px;
    margin-bottom: 6px;
    text-align: left;
}

.cardrondbx p span {
    color: var(--text-body-alt);
    font-weight: var(--fw-bold);
    font-size: var(--fs-8xl);
}

.greetwelcome-box {
    padding: 20px 0 20px;
}

.greetwelcome-box p {
    color: var(--text-lighter);
    font-size: var(--fs-lg);
    line-height: var(--lh-relaxed);
    text-align: justify;
}

.info-item {
    background-color: var(--bg-white);
    padding: var(--space-7) 0;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
}

.info-item i {
    color: var(--color-primary);
    width: var(--icon-xl);
    height: var(--icon-xl);
    font-size: var(--fs-5xl);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--transition-base);
    border-radius: var(--radius-circle);
    border: 2px dotted color-mix(in srgb, var(--color-primary), transparent 40%);
}

.info-item h3 {
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    margin: var(--space-3) 0;
    font-family: var(--ff-heading);
}

.info-item p {
    padding: 0;
    margin-bottom: 0;
    font-size: var(--fs-md);
    text-align: center;
}

.scroll-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: var(--space-5);
    bottom: -15px;
    z-index: var(--z-scroll-top);
    background-color: var(--color-primary);
    width: var(--icon-md);
    height: var(--icon-md);
    border-radius: var(--radius-round);
    transition: var(--transition-slow);
}

.scroll-top i {
    font-size: 19px;
    color: var(--text-white);
    line-height: 0;
}

.scroll-top:hover {
    background-color: color-mix(in srgb, var(--color-primary), transparent 20%);
    color: var(--text-white);
}

.scroll-top.active {
    visibility: visible;
    opacity: 1;
    bottom: 50px;
}

.hero__title {
    -webkit-text-stroke: 1px #fff;
    color: transparent !important;
    background-image: linear-gradient(#fff, #fff);
    background-repeat: no-repeat;
    -webkit-background-clip: text;
    background-position: -1050px 0;
    animation: backcolor 4s linear infinite alternate;
    text-shadow: unset !important;
    letter-spacing: 3px;
}

@keyframes backcolor {
    100% {
        background-position: 0 0;
    }
}

.box-shadowz {
    box-shadow: 0px 0px 10px 0px rgba(199, 199, 199, 1);
}

.middle-about {
    position: relative;
    padding: 0px 75px;
}

.middle-about .shape-1 {
    position: absolute;
    z-index: -1;
    top: -65px;
    right: 0px;
}

.middle-about .shape-1 img {
    height: 530px;
}

.middle-about .image img {
    border-radius: 50%;
}

.main-about {
    padding: var(--space-7) 0;
    background-color: var(--bg-light-alt);
}

.explore-main h2 {
    color: var(--color-primary);
    font-size: var(--fs-11xl);
    font-weight: var(--fw-black);
    margin-bottom: var(--space-10);
    text-transform: uppercase;
    font-family: var(--ff-heading);
    text-align: center;
}

.train-class {
    background: var(--bg-white);
    /* padding: 15px; */
}

.train-class .text {
    padding: 40px 25px;
    min-height: 220px;
}

.train-class h2 {
    font-size: var(--fs-6xl);
    font-weight: var(--fw-light);
    color: var(--text-body-alt);
    margin-bottom: var(--space-5);
    text-align: center;
}

.train-class p {
    line-height: 1.5;
    margin: 0;
    text-align: center;
}

.progress-wrap {
    position: fixed;
    right: 30px;
    bottom: 60px;
    height: 56px;
    width: 56px;
    cursor: pointer;
    display: block;
    border-radius: var(--radius-round);
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.1);
    z-index: var(--z-progress);
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 200ms linear;
    color: var(--text-white);
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap::after {
    position: absolute;
    font-family: "FontAwesome";
    content: "\f062";
    text-align: center;
    line-height: 56px;
    font-size: 18px;
    color: var(--color-primary-alt);
    left: 0;
    top: 0;
    height: 56px;
    width: 56px;
    cursor: pointer;
    display: block;
    z-index: 1;
    transition: all 200ms linear;
}

.progress-wrap:hover::after {
    color: var(--color-primary-alt);
}

.progress-wrap::before {
    position: absolute;
    font-family: "FontAwesome";
    content: "\f062";
    text-align: center;
    line-height: 56px;
    font-size: 18px;
    opacity: 0;
    left: 0;
    top: 0;
    height: 56px;
    width: 56px;
    cursor: pointer;
    display: block;
    z-index: 2;
    transition: all 200ms linear;
}

.progress-wrap:hover::before {
    opacity: 1;
    color: var(--color-primary-alt);
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--color-primary-alt);
    stroke-width: 4;
    box-sizing: border-box;
    transition: all 200ms linear;
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


.contact-section {
    position: relative;
    padding: var(--space-17) 0;
    background: var(--bg-contact);
}

.contact-section .contact-info-area {
    margin-bottom: 50px;
}

.single-contact-info {
    text-align: center;
    background: var(--bg-white);
    border-radius: var(--radius-2xl);
    padding: var(--space-11) var(--space-9);
    box-shadow: var(--shadow-lg);
    transition: var(--transition-md);
    position: relative;
    overflow: hidden;
}

.single-contact-info::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--color-contact-blue);
    transform: scaleX(0);
    transition: 0.4s;
}

.single-contact-info:hover::before {
    transform: scaleX(1);
}

.single-contact-info:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
}

.single-contact-info i {
    font-size: 22px;
    width: 65px;
    height: 65px;
    line-height: 65px;
    background: rgba(0, 81, 159, 0.08);
    color: var(--color-contact-blue);
    border-radius: 50%;
    margin-bottom: 18px;
    transition: 0.3s;
}

.single-contact-info:hover i {
    background: var(--color-contact-blue);
    color: var(--text-white);
}

.single-contact-info h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--text-card-heading);
}

.single-contact-info a {
    color: var(--text-subtle);
    font-size: 15px;
    text-decoration: none;
    line-height: 1.6;
    transition: 0.3s;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

.single-contact-info:hover a {
    color: var(--color-contact-blue);
}

.form-info-area {
    background: var(--bg-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-12);
    box-shadow: var(--shadow-3xl);
}

.form-info-area img {
    border-radius: var(--radius-2xl);
    height: 100%;
    object-fit: cover;
}

.form-info-area h1 {
    font-size: var(--fs-9xl);
    font-weight: var(--fw-bold);
    margin-bottom: var(--space-9);
    color: var(--color-secondary);
}

.input-block {
    margin-bottom: 18px;
}

.input-block label {
    font-weight: var(--fw-semibold);
    font-size: var(--fs-sm);
    color: var(--text-label-alt);
    margin-bottom: 6px;
}

.input-block .form-control {
    background: #f9fbfd;
    border: 1px solid var(--border-input);
    border-radius: var(--radius-lg);
    padding: 14px;
    font-size: var(--fs-base);
    transition: all 0.25s ease;
    height: var(--input-height-md);
}

textarea.form-control {
    height: 130px !important;
    resize: none;
}

.form-control:focus {
    border-color: var(--color-contact-blue);
    box-shadow: var(--shadow-contact-focus);
    background: var(--bg-white);
}

.contact-btn {
    background: var(--color-contact-blue);
    border: none;
    color: var(--text-white);
    font-weight: var(--fw-semibold);
    padding: 14px var(--space-9);
    border-radius: var(--radius-lg);
    transition: var(--transition-base);
    width: 100%;
    letter-spacing: .4px;
}

.contact-btn:hover {
    background: var(--color-contact-blue-dk);
    transform: translateY(-2px);
    box-shadow: var(--shadow-contact-btn);
}

@media (max-width: 991px) {
    .contact-section {
        padding: 40px 0;
    }

    .contact-section .contact-info-area {
        margin-bottom: 40px;
    }

    .single-contact-info {
        margin-bottom: 20px;
    }

    .form-info-area {
        padding: 25px;
    }

    .form-info-area img {
        height: 300px;
        width: 100%;
        margin-bottom: 20px;
    }

    .form-info-area h1 {
        font-size: 28px;
    }
}


.we-offer .wrap-box {
    padding: var(--space-8);
    margin-bottom: var(--space-8);
    border-radius: 0.375rem;
    border: 1px solid var(--border-accent);
    text-align: center;
    background-color: var(--bg-white);
    box-shadow: 0rem 0.1875rem 0.625rem rgba(0, 0, 0, 0.2);
}

.we-offer .wrap-box .icon {
    margin-bottom: 1rem;
}

.we-offer .wrap-box .title {
    font-size: 1.25rem;
    font-weight: var(--fw-semibold);
    margin-bottom: 1rem;
    color: #0a152f;
}

.we-offer .wrap-box p {
    color: var(--text-body);
    font-size: 0.875rem;
    line-height: 2;
}


.cta-banner {
    position: relative;
    z-index: 1;
}

.cta-banner .cta-img {
    border-radius: 0.375rem 0px 0px 0.375rem;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.cta-banner .cta-content {
    background: var(--color-accent-blue);
    height: 100%;
    padding: 73px var(--space-7);
    border-radius: 0px 0.375rem 0.375rem 0px;
    overflow: hidden;
    text-align: center;
    position: relative;
    z-index: 1;
}

.cta-banner .cta-content .title {
    font-weight: var(--fw-extrabold);
    color: var(--text-white);
    margin-bottom: 1rem;
}

.cta-banner .cta-content .desc {
    font-weight: var(--fw-semibold);
    color: var(--text-white);
    margin-bottom: 0.5rem;
}

@media (max-width: 991px) {
    .cta-banner .cta-img {
        border-radius: 0.375rem 0.375rem 0px 0px;
        min-height: 250px;
    }

    .cta-banner .cta-content {
        border-radius: 0px 0px 0.375rem 0.375rem;
        padding: 35px 0;
    }
}


.breadcrumb-area {
    position: relative;
    z-index: 1;
    background-image: url(../images/breadcrumb.jpg);
    background-position: center top;
    background-attachment: scroll;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 350px;
    display: flex;
    justify-content: center;
    align-items: end;
    text-align: center;
}

.breadcrumb-area::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background: var(--bg-dark-overlay);
    left: 0;
    top: 0;
    z-index: -1;
}

.breadcrumb-area .breadcrumb-content {
    width: 30%;
    border-radius: 0.375rem;
    margin: auto;
    margin-bottom: 2rem;
}

.breadcrumb-area .breadcrumb-content h2 {
    margin-bottom: 0;
    color: var(--text-white);
    font-size: 2rem;
    font-weight: var(--fw-bold);
    padding: 1rem 0 0 0;
}

.breadcrumb-area .breadcrumb-content ul {
    padding-left: 0;
    list-style-type: none;
    padding: 12px 0 1rem 0;
    margin-bottom: 0;
}

.breadcrumb-area .breadcrumb-content ul li {
    color: var(--color-primary-alt);
    display: inline-block;
    position: relative;
    margin-left: 0px;
    margin-right: var(--space-10);
    font-weight: var(--fw-semibold);
}

.breadcrumb-area .breadcrumb-content ul li:last-child {
    margin-right: 0px;
}

.breadcrumb-area .breadcrumb-content ul li::before {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: -25px;
    top: 0px;
}

.breadcrumb-area .breadcrumb-content ul li:last-child:before {
    display: none;
}

.breadcrumb-area .breadcrumb-content ul li a {
    display: inline-block;
    color: var(--text-white);
    transition: 0.4s;
}

@media (max-width: 991px) {
    .breadcrumb-area {
        min-height: 300px;
    }

    .breadcrumb-area .breadcrumb-content {
        width: 100%;
    }
}

.thankyou-card {
    background: var(--bg-white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-hover);
}

.thankyou-card i {
    font-size: 80px;
    color: var(--color-green);
}

.thankyou-card h3 {
    color: var(--text-heading);
    font-weight: var(--fw-semibold);
}

.thankyou-card p {
    color: var(--text-muted-alt);
    font-size: var(--fs-md);
    line-height: var(--lh-loose);
}

.service {
    padding: var(--space-15) 0;
    background: var(--bg-section-alt);
}

.section-title h2 {
    font-size: var(--fs-10xl);
    font-weight: var(--fw-bold);
    color: var(--text-heading);
    margin-bottom: var(--space-3);
}

.section-title p {
    color: var(--text-light);
    font-size: var(--fs-md);
}

.service-card {
    background: var(--bg-white);
    padding: var(--space-12) var(--space-10);
    border-radius: var(--radius-xl);
    text-align: center;
    transition: var(--transition-md);
    box-shadow: var(--shadow-md);
    height: 100%;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover-lg);
}

.service-card .icon {
    width: var(--icon-4xl);
    height: var(--icon-4xl);
    margin: 0 auto var(--space-7);
    background: var(--text-heading);
    border-radius: var(--radius-circle);
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-card .icon i {
    color: var(--text-white);
    font-size: 28px;
}

.service-card h4 {
    font-size: var(--fs-4xl);
    font-weight: var(--fw-semibold);
    color: var(--text-heading);
    margin-bottom: var(--space-5);
}

.service-card p {
    color: var(--text-muted-alt);
    line-height: var(--lh-loose);
    font-size: var(--fs-base);
}

.pass-section {
    padding: var(--space-15) 0;
    background: var(--bg-section-alt);
}

.pass-card {
    background: var(--bg-white);
    padding: var(--space-11) 28px;
    border-radius: var(--radius-xl);
    text-align: center;
    height: 100%;
    box-shadow: var(--shadow-md);
    transition: var(--transition-md);
}

.pass-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover-lg);
}

.pass-card.horizontal {
    text-align: left;
}

.pass-icon {
    width: var(--icon-3xl);
    height: var(--icon-3xl);
    margin: 0 auto var(--space-6);
    background: var(--text-heading);
    border-radius: var(--radius-circle);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pass-icon i {
    color: var(--text-white);
    font-size: 26px;
}

.pass-card h4 {
    font-size: var(--fs-4xl);
    font-weight: var(--fw-semibold);
    color: var(--text-heading);
    margin-bottom: var(--space-4);
}

.pass-card p {
    color: var(--text-muted-alt);
    line-height: var(--lh-loose);
    font-size: var(--fs-base);
}

.pass-policy {
    background: var(--text-heading);
    color: var(--text-white);
    padding: var(--space-11);
    border-radius: var(--radius-xl);
    text-align: center;
}

.pass-policy h5 {
    font-weight: var(--fw-bold);
    margin-bottom: var(--space-3);
}


.auto-train-section {
    padding: var(--space-15) 0;
    background: var(--bg-section-alt);
}

.auto-train-banner {
    position: relative;
    background: url('../images/auto-train.jpg') center/cover no-repeat;
    border-radius: var(--radius-2xl);
    overflow: hidden;
    padding: var(--space-15) var(--space-13);
}

.auto-train-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
            rgba(22, 34, 65, 0.92),
            rgba(22, 34, 65, 0.75));
}

.auto-train-banner .row {
    position: relative;
    z-index: 2;
}

.auto-content {
    color: var(--text-white);
}

.auto-content .tag {
    background: var(--bg-tag);
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    font-size: var(--fs-xs);
    display: inline-block;
    margin-bottom: var(--space-5);
}

.auto-content h2 {
    font-weight: var(--fw-extrabold);
    margin-bottom: var(--space-6);
}

.auto-content p {
    opacity: 0.95;
    line-height: 1.7;
}

.auto-offer-card {
    background: var(--bg-white);
    border-radius: var(--radius-xl);
    padding: var(--space-11);
    text-align: center;
    box-shadow: var(--shadow-auto-train);
}

.auto-offer-card h3 {
    color: #162241;
    font-weight: var(--fw-bold);
    margin-bottom: var(--space-4);
}

.auto-offer-card p {
    color: var(--text-muted-alt);
}

.offer-highlight {
    margin-top: 18px;
    font-weight: var(--fw-semibold);
    color: #162241;
}

.offer-highlight i {
    margin-right: 8px;
}

.comfort-box {
    background: var(--bg-white);
    padding: var(--space-13);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
}

.comfort-box h3 {
    font-weight: var(--fw-bold);
    margin-bottom: var(--space-5);
    color: #162241;
}

.comfort-box p {
    max-width: 850px;
    margin: auto;
    line-height: var(--lh-spacious);
    color: var(--text-muted-alt);
}

@media (max-width: 991px) {
    .auto-content {
        margin-bottom: 30px;
    }
}

@media (max-width: 575px) {
    .auto-train-section {
        padding: 40px 0;
    }

    .auto-train-banner {
        padding: 40px 20px;
    }

    .comfort-box {
        padding: 20px;
    }
}


.roomette-section {
    padding: var(--space-16) 0;
}

.roomette-wrapper {
    background: var(--bg-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-13);
    box-shadow: var(--shadow-2xl);
}

.roomette-image {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-3xl);
}

.roomette-image img {
    width: 100%;
    border-radius: var(--radius-3xl);
    transition: transform 0.6s ease;
}

.roomette-image:hover img {
    transform: scale(1.05);
}

.roomette-content h2 {
    font-weight: var(--fw-extrabold);
    color: #162241;
    margin-bottom: var(--space-5);
}

.roomette-content p {
    color: var(--text-muted-alt);
    line-height: var(--lh-spacious);
}

.section-tag {
    display: inline-block;
    background: var(--bg-section-tag);
    color: var(--color-accent-blue);
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    font-size: var(--fs-xs);
    margin-bottom: var(--space-4);
    font-weight: var(--fw-semibold);
}

.roomette-features {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.roomette-features li {
    margin-bottom: var(--space-3);
    font-weight: var(--fw-medium);
    color: var(--text-body-alt);
}

.roomette-features i {
    color: var(--color-accent-blue);
    margin-right: 8px;
}

@media (max-width: 991px) {
    .roomette-image {
        margin-bottom: 20px;
    }
}

@media (max-width: 575px) {
    .roomette-section {
        padding: 40px 0;
    }

    .roomette-wrapper {
        padding: 20px;
    }
}


.baggage-section {
    padding: var(--space-16) 0;
    background: var(--bg-section-blue);
}

.section-header h2 {
    font-weight: var(--fw-extrabold);
    color: #162241;
    margin-bottom: var(--space-3);
}

.section-header p {
    max-width: 700px;
    margin: auto;
    color: var(--text-light);
    margin-bottom: var(--space-13);
    line-height: 1.7;
}

.feature-card {
    background: var(--bg-white);
    padding: var(--space-11) var(--space-9);
    border-radius: var(--radius-3xl);
    text-align: center;
    transition: var(--transition-md);
    box-shadow: var(--shadow-md);
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-hover-lg);
}

.feature-img {
    margin-bottom: 20px;
}

.feature-img img {
    border-radius: var(--radius-circle);
    border: 4px solid var(--bg-feature-border);
}

.feature-card h4 {
    font-weight: var(--fw-bold);
    color: var(--color-accent-blue);
    margin-bottom: var(--space-4);
}

.feature-card p {
    color: var(--text-muted-alt);
    line-height: var(--lh-loose);
    margin: 0;
}

@media (max-width: 991px) {
    .feature-card {
        margin-bottom: 20px;
        height: auto;
    }
}

@media (max-width: 575px) {
    .baggage-section {
        padding: 40px 0;
    }
}


.footer-modern {
    background: var(--bg-footer-modern);
    color: var(--bg-footer-modern-text);
    font-size: var(--fs-base);
}

.footer-cta {
    background: linear-gradient(135deg, var(--color-accent-blue), var(--color-accent-blue-dark));
    padding: var(--space-12) 0;
    color: var(--text-white);
}

.cta-box h4 {
    font-weight: var(--fw-bold);
    margin-bottom: 5px;
}

.newsletter-box form {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.newsletter-box input {
    flex: 1;
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-base);
    border: none;
}

.newsletter-box button {
    background: var(--color-primary);
    border: none;
    padding: 12px 22px;
    color: var(--text-white);
    border-radius: var(--radius-base);
    font-weight: var(--fw-semibold);
    transition: .3s;
}

.newsletter-box button:hover {
    background: var(--color-secondary);
}

.footer-main-area {
    padding: var(--space-15) 0 var(--space-13);
}

.footer-widget h5 {
    position: relative;
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    color: var(--text-white);
    margin: 0 0 var(--space-12);
}

.footer-about {
    margin-top: 20px;
    line-height: 1.7;
    text-align: justify;
}

.footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.footer-links i {
    color: var(--bg-footer-modern-text);
    margin-right: 6px;
}

.footer-links a {
    color: var(--bg-footer-modern-text);
    text-decoration: none;
    transition: .3s;
}

.footer-links a:hover {
    color: var(--color-primary);
    padding-left: 5px;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding: 20px 0;
}

.footer-bottom-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.social-icons {
    display: flex;
    list-style: none;
    gap: 12px;
    margin: 0;
}

.social-icons a {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-social);
    border-radius: var(--radius-circle);
    color: var(--text-white);
    transition: .3s;
}

.social-icons a:hover {
    background: var(--color-primary);
}

@media (max-width: 991px) {
    .footer-links {
        gap: 20px;
    }
}

@media (max-width: 575px) {
    .footer-bottom-wrap {
        justify-content: center;
    }

    .footer-bottom-wrap p {
        font-size: 13px;
    }
}


/* ============================================================
   NEW DESIGN — Header, Fare Nav, Hero Booking Section
   ============================================================ */

/* ── Header Navigation ───────────────────────────────────── */
.header-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding-top: 8px;
    padding-bottom: 8px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(18px) saturate(180%);
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    border-bottom: 1px solid rgba(0, 36, 54, 0.06);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-nav.navfixed {
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 4px 30px rgba(0, 36, 54, 0.08);
}

.header-nav .navbar-brand img {
    width: 170px;
    transition: all 0.3s ease;
}

/* Nav Links */
.header-nav .navbar-nav .nav-link {
    font-family: 'Inter', sans-serif;
    color: var(--color-secondary);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 8px 0;
    margin: 0 16px;
    position: relative;
    transition: color 0.3s ease;
}

.header-nav .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-primary-alt));
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-nav .navbar-nav .nav-link:hover,
.header-nav .navbar-nav .nav-link:focus {
    color: var(--color-primary-alt);
}

.header-nav .navbar-nav .nav-link:hover::after,
.header-nav .navbar-nav .nav-link:focus::after {
    transform: scaleX(1);
    transform-origin: left;
}

.header-nav .navbar-nav .nav-item.active .nav-link {
    color: var(--color-primary-alt);
}

.header-nav .navbar-nav .nav-item.active .nav-link::after {
    transform: scaleX(1);
}

.header-nav .navbar-nav .nav-item:last-child .nav-link {
    margin-right: 0;
}

/* Header CTA Button */
.header-cta-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #fff !important;
    border: none;
    border-radius: 10px;
    padding: 8px 18px;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    transition: all 0.35s ease;
    box-shadow: 0 4px 15px rgba(241, 120, 37, 0.25);
}

.header-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(241, 120, 37, 0.35);
    background: linear-gradient(135deg, var(--color-primary-alt), var(--color-primary));
}

.header-cta-btn .cta-icon-wrap {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.header-cta-btn .cta-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    text-align: left;
}

.header-cta-btn .cta-text small {
    font-size: 11px;
    opacity: 0.85;
    font-weight: 500;
}

.header-cta-btn .cta-text strong {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

/* Hamburger Toggle */
.header-nav .navbar-toggler {
    border: none;
    padding: 6px;
    outline: none;
    box-shadow: none;
}

.header-nav .navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

.toggler-bar {
    display: block;
    width: 26px;
    height: 3px;
    background: var(--color-secondary);
    border-radius: 3px;
    margin-bottom: 5px;
    transition: all 0.3s ease;
}

.toggler-bar:last-child {
    margin-bottom: 0;
}

.toggler-bar:nth-child(2) {
    width: 18px;
}

.toggler-bar:nth-child(3) {
    width: 13px;
}


/* ── Hero Booking Section ────────────────────────────────── */
.hero-booking-section {
    position: relative;
    padding: 130px 0 50px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.hero-bg-layer {
    position: absolute;
    inset: 0;
    background: url('../images/banner1.jpg') center/cover no-repeat;
    filter: brightness(0.25) saturate(1.2);
}

.hero-gradient-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(0, 36, 54, 0.88) 0%,
            rgba(19, 70, 134, 0.65) 50%,
            rgba(241, 120, 37, 0.15) 100%);
    z-index: 1;
}

.hero-content-row {
    position: relative;
    z-index: 2;
}

/* Hero Text Column */
.hero-text-col {
    color: #fff;
    padding-right: 40px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    padding: 8px 18px;
    border-radius: 50px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
    animation: fadeInUp 0.6s ease-out;
}

.hero-badge i {
    font-size: 14px;
    color: var(--color-primary);
}

.hero-headline {
    font-family: 'Outfit', sans-serif;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    color: #fff;
    margin-bottom: 20px;
    animation: fadeInUp 0.7s ease-out 0.1s both;
}

.hero-highlight {
    background: linear-gradient(135deg, var(--color-primary), #ffa94d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-subtext {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 32px;
    max-width: 420px;
    animation: fadeInUp 0.8s ease-out 0.2s both;
}

.hero-trust-row {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    animation: fadeInUp 0.9s ease-out 0.3s both;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}

.trust-item i {
    color: var(--color-primary);
    font-size: 15px;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ── Booking Card ────────────────────────────────────────── */
.booking-card {
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(20px);
    border-radius: 18px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(255, 255, 255, 0.1);
    overflow: hidden;
    animation: fadeInUp 0.8s ease-out 0.15s both;
}

/* Fare Tab Navigation */
.fare-tab-nav {
    display: flex;
    background: var(--color-secondary);
    padding: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.fare-tab-nav::-webkit-scrollbar {
    display: none;
}

.fare-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 20px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    position: relative;
    white-space: nowrap;
    transition: all 0.3s ease;
    border: none;
    background: none;
    letter-spacing: 0.3px;
}

.fare-tab i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.fare-tab:hover {
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.06);
}

.fare-tab:hover i {
    transform: scale(1.15);
}

.fare-tab::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-primary-alt));
    border-radius: 3px 3px 0 0;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.fare-tab.active {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.fare-tab.active::after {
    transform: translateX(-50%) scaleX(1);
}

.fare-tab.active i {
    color: var(--color-primary);
}


/* ── Booking Form Body ───────────────────────────────────── */
.booking-form-body {
    padding: 28px 30px 30px;
}

.form-field {
    margin-bottom: 18px;
}

.form-field label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 6px;
}

.input-icon-wrap {
    position: relative;
}

.input-icon-wrap i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--color-primary-alt);
    z-index: 2;
    transition: color 0.3s ease;
}

.input-icon-wrap .form-control {
    width: 100%;
    height: 48px;
    padding: 12px 14px 12px 42px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-body-alt);
    background: #f8f9fc;
    border: 1.5px solid #e8ecf3;
    border-radius: 10px;
    transition: all 0.3s ease;
    appearance: none;
    -webkit-appearance: none;
}

.input-icon-wrap .form-control::placeholder {
    color: #a0a8b8;
    font-weight: 400;
}

.input-icon-wrap .form-control:focus {
    background: #fff;
    border-color: var(--color-primary-alt);
    box-shadow: 0 0 0 3px rgba(241, 120, 37, 0.1);
    outline: none;
}

.input-icon-wrap .form-control:focus+i,
.input-icon-wrap:focus-within i {
    color: var(--color-primary);
}

.input-icon-wrap select.form-control {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
}


/* ── Submit Button ───────────────────────────────────────── */
.booking-submit-btn {
    width: 100%;
    padding: 14px 24px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.4px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.35s ease;
    box-shadow: 0 6px 20px rgba(241, 120, 37, 0.3);
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.booking-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(241, 120, 37, 0.4);
    background: linear-gradient(135deg, var(--color-primary-alt), var(--color-primary));
}

.booking-submit-btn:active {
    transform: translateY(0);
}

.booking-submit-btn i {
    font-size: 14px;
}


/* ── Responsive — Hero & Booking ─────────────────────────── */
@media (max-width: 991px) {
    .hero-booking-section {
        padding: 120px 0 50px;
        min-height: auto;
    }

    .hero-text-col {
        padding-right: 15px;
        margin-bottom: 40px;
        text-align: center;
    }

    .hero-headline {
        font-size: 34px;
    }

    .hero-subtext {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-trust-row {
        justify-content: center;
    }

    .booking-card {
        max-width: 560px;
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .hero-booking-section {
        padding: 100px 0 40px;
    }

    .hero-headline {
        font-size: 28px;
    }

    .hero-subtext {
        font-size: 14px;
    }

    .hero-trust-row {
        gap: 16px;
    }

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

    .fare-tab {
        padding: 12px 14px;
        font-size: 12px;
    }

    .fare-tab i {
        font-size: 12px;
    }

    .booking-form-body {
        padding: 20px 18px 24px;
    }

    .input-icon-wrap .form-control {
        height: 44px;
        font-size: 13px;
    }

    .header-nav .navbar-nav {
        background: var(--color-secondary);
        border-radius: 0 0 12px 12px;
        margin-top: 10px;
        padding: 8px 0;
    }

    .header-nav .navbar-nav .nav-link {
        color: #fff;
        text-align: center;
        padding: 10px 16px;
        margin: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .header-nav .navbar-nav .nav-link::after {
        display: none;
    }

    .header-nav .navbar-nav .nav-item:last-child .nav-link {
        border-bottom: none;
    }

    .header-nav .navbar-nav .nav-item.active .nav-link {
        color: var(--color-primary);
    }

    .header-actions .header-cta-btn {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .fare-tab span {
        display: none;
    }

    .fare-tab {
        padding: 14px 18px;
    }

    .fare-tab i {
        font-size: 16px;
    }
}


/* ── Redesigned Banner Carousel ────────────────────────── */
.banner {
    padding: 30px 0;
    background: #f8fafc;
}

.banner .carousel {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(0, 36, 54, 0.1);
}

.banner .carousel-inner {
    max-height: 480px;
    border-radius: 20px;
}

.banner .carousel-item {
    position: relative;
    height: 440px;
}

.banner .carousel-item img {
    height: 100%;
    object-fit: cover;
    filter: brightness(0.7) saturate(1.1);
}

.banner .carousel-item::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 36, 54, 0.85) 0%, rgba(0, 36, 54, 0.2) 60%, transparent 100%);
}

.banner .carousel-caption .caption-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.banner .carousel-caption h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
    line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.banner .carousel-caption p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin-bottom: 0;
    padding: 0;
}

.banner .carousel-indicators {
    bottom: 20px;
    margin-bottom: 0;
    gap: 8px;
}

.banner .carousel-indicators li {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    border: none;
    transition: all 0.35s ease;
}

.banner .carousel-indicators li.active {
    width: 30px;
    border-radius: 10px;
    background: var(--color-primary);
}

.banner .carousel-control-prev,
.banner .carousel-control-next {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: all 0.3s ease;
}

.banner:hover .carousel-control-prev {
    left: 20px;
    opacity: 1;
}

.banner:hover .carousel-control-next {
    right: 20px;
    opacity: 1;
}

.banner .carousel-control-prev:hover,
.banner .carousel-control-next:hover {
    background: rgba(255, 255, 255, 0.9);
    color: var(--color-secondary);
}


/* ── Redesigned Main About (Promo Cards) ─────────────────── */
.main-about {
    padding: 50px 0;
    background: #ffffff;
}

.main-about .promo-card-v2 {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 36, 54, 0.06);
    border: 1px solid rgba(0, 36, 54, 0.06);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.main-about .promo-card-v2:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(0, 36, 54, 0.12);
    border-color: rgba(241, 120, 37, 0.3);
}

.main-about .promo-img-wrap {
    position: relative;
    height: 220px;
    overflow: hidden;
}

.main-about .promo-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.main-about .promo-card-v2:hover .promo-img-wrap img {
    transform: scale(1.08);
}

.main-about .promo-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(0, 36, 54, 0.85);
    backdrop-filter: blur(8px);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.main-about .promo-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.main-about .promo-body h3 {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 12px;
    line-height: 1.35;
    transition: color 0.3s ease;
}

.main-about .promo-card-v2:hover .promo-body h3 {
    color: var(--color-primary-alt);
}

.main-about .promo-body p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 0;
    flex-grow: 1;
}


/* ── Redesigned We Offer Section ─────────────────────────── */
.we-offer {
    padding: 50px 0;
    background: #f8fafc;
    position: relative;
}

.we-offer .section-header-v2 {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 50px;
}

.we-offer .section-header-v2 .badge-sub {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-primary-alt);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.we-offer .section-header-v2 h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 36px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 12px;
}

.we-offer .section-header-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
}

.we-offer .offer-card-v2 {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 26px;
    height: 100%;
    box-shadow: 0 8px 25px rgba(0, 36, 54, 0.04);
    border: 1px solid rgba(0, 36, 54, 0.05);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.we-offer .offer-card-v2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-primary-alt));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
}

.we-offer .offer-card-v2:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(0, 36, 54, 0.1);
    border-color: rgba(241, 120, 37, 0.15);
}

.we-offer .offer-card-v2:hover::before {
    transform: scaleX(1);
}

.we-offer .offer-icon-box {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.1), rgba(19, 70, 134, 0.08));
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: all 0.35s ease;
}

.we-offer .offer-card-v2:hover .offer-icon-box {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    transform: scale(1.05);
}

.we-offer .offer-icon-box img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    transition: filter 0.35s ease;
}

.we-offer .offer-card-v2 h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 19px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 10px;
}

.we-offer .offer-card-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 0;
}


/* ── Redesigned Service (Why Choose Us) ──────────────────── */
.service {
    padding: 50px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f4f7fa 100%);
}

.service .section-title {
    max-width: 640px;
    margin: 0 auto 55px;
}

.service .section-title h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 36px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 12px;
}

.service .section-title p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: var(--text-muted);
}

.service .service-card-v2 {
    background: #ffffff;
    border-radius: 18px;
    padding: 15px 20px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 36, 54, 0.05);
    border: 1px solid rgba(0, 36, 54, 0.06);
    transition: all 0.4s ease;
    height: 100%;
    position: relative;
}

.service .service-card-v2:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 36, 54, 0.12);
    border-color: rgba(241, 120, 37, 0.25);
}

.service .service-card-v2 .card-step-num {
    position: absolute;
    top: 20px;
    right: 24px;
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: rgba(0, 36, 54, 0.06);
    line-height: 1;
}

.service .service-card-v2 .icon-circle {
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, var(--color-secondary), var(--color-primary-alt));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    color: #fff;
    font-size: 26px;
    box-shadow: 0 8px 20px rgba(19, 70, 134, 0.25);
    transition: all 0.35s ease;
}

.service .service-card-v2:hover .icon-circle {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 12px 25px rgba(241, 120, 37, 0.35);
}

.service .service-card-v2 h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 12px;
}

.service .service-card-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 0;
}


/* ── Mobile adjustments ─────────────────────────────────── */
@media (max-width: 767px) {
    .banner .carousel-item {
        height: 280px;
    }

    .banner .carousel-caption {
        bottom: 20px;
        left: 20px;
        right: 20px;
        width: 90%;
    }

    .banner .carousel-caption h5 {
        font-size: 22px;
    }

    .banner .carousel-caption p {
        font-size: 13px;
    }

    .we-offer,
    .service,
    .main-about {
        padding: 50px 0;
    }

    .we-offer .section-header-v2 h2,
    .service .section-title h2 {
        font-size: 26px;
    }
}



/* ── Redesigned Feature Area (Trip Planning Map) ────────── */
.feature-area {
    padding: 50px 0;
    background: #f8fafc;
}

.feature-area .feature-wrapper {
    background: #ffffff;
    border-radius: 24px;
    padding: 48px;
    box-shadow: 0 15px 45px rgba(0, 36, 54, 0.06);
    border: 1px solid rgba(0, 36, 54, 0.06);
    transition: all 0.35s ease;
}

.feature-area .feature-wrapper:hover {
    box-shadow: 0 25px 55px rgba(0, 36, 54, 0.1);
    border-color: rgba(241, 120, 37, 0.2);
}

.feature-area .feature-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.1), rgba(19, 70, 134, 0.08));
    color: var(--color-primary-alt);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 16px;
}

.feature-area .feature-title {
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 14px;
    line-height: 1.25;
}

.feature-area .feature-desc {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 24px;
}

.feature-area .feature-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.feature-area .highlight-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-secondary);
    background: #f1f5f9;
    padding: 8px 16px;
    border-radius: 30px;
}

.feature-area .highlight-pill i {
    color: var(--color-primary-alt);
}

.feature-area .media-area {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
}

.feature-area .media-area img {
    height: auto;
    object-fit: cover;
    display: block;
    margin: 0 auto;
    transition: transform 0.5s ease;
}

.feature-area .media-area:hover img {
    transform: scale(1.03);
}


/* ── Redesigned CTA Banner ────────────────────────────────── */
.cta-banner {
    padding: 0px 0 50px;
    background: #f8fafc;
}

.cta-banner .cta-card-wrapper {
    background: linear-gradient(135deg, var(--color-secondary) 0%, #051d2f 100%);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 36, 54, 0.15);
    position: relative;
}

.cta-banner .cta-img-col {
    position: relative;
}

.cta-banner .cta-img {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    min-height: 300px;
    filter: brightness(0.85);
}

.cta-banner .cta-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(5, 29, 47, 0.95) 100%);
}

.cta-banner .cta-content {
    padding: 60px 48px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.cta-banner .cta-discount-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 16px;
    width: fit-content;
}

.cta-banner .cta-content .desc {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 8px;
}

.cta-banner .cta-content .title {
    font-family: 'Outfit', sans-serif;
    font-size: 38px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 24px;
    line-height: 1.2;
}

.cta-banner .cta-btn-v2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 32px;
    border-radius: 30px;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(241, 120, 37, 0.35);
    transition: all 0.35s ease;
    width: fit-content;
}

.cta-banner .cta-btn-v2:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(241, 120, 37, 0.5);
    color: #ffffff;
    text-decoration: none;
}


/* ── Redesigned Footer Modern ────────────────────────────── */
.footer-modern {
    background: #061928;
    color: #94a3b8;
    font-family: 'Inter', sans-serif;
    position: relative;
    overflow: hidden;
}

/* Top Newsletter / CTA Bar */
.footer-modern .footer-cta {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 40px 0;
}

.footer-modern .cta-box h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 6px;
}

.footer-modern .cta-box p {
    font-size: 14px;
    color: #94a3b8;
    margin-bottom: 0;
}

.footer-modern .newsletter-box p {
    font-size: 13px;
    font-weight: 600;
    color: #cbd5e1;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-modern .newsletter-box form {
    display: flex;
    gap: 8px;
    max-width: 440px;
}

.footer-modern .newsletter-box input {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 30px;
    padding: 10px 20px;
    color: #ffffff;
    font-size: 14px;
    flex-grow: 1;
    outline: none;
    transition: all 0.3s ease;
}

.footer-modern .newsletter-box input::placeholder {
    color: #64748b;
}

.footer-modern .newsletter-box input:focus {
    border-color: var(--color-primary-alt);
    background: rgba(255, 255, 255, 0.12);
}

.footer-modern .newsletter-box button {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    border: none;
    padding: 10px 24px;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.footer-modern .newsletter-box button:hover {
    box-shadow: 0 6px 20px rgba(241, 120, 37, 0.4);
    transform: translateY(-2px);
}

/* Main Footer Area */
.footer-modern .footer-main-area {
    padding: 50px 0;
}

.footer-modern .footer-widget h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 22px;
    position: relative;
    padding-bottom: 10px;
}

.footer-modern .footer-widget h5::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 3px;
    background: var(--color-primary);
    border-radius: 2px;
}

.footer-modern .footer-about {
    font-size: 14px;
    line-height: 1.65;
    color: #94a3b8;
    margin: 0;
}

.footer-modern .footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-modern .footer-links li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.footer-modern .footer-links li i {
    color: var(--color-primary-alt);
    font-size: 13px;
    width: 16px;
    text-align: center;
}

.footer-modern .footer-links li a {
    color: #cbd5e1;
    text-decoration: none;
    transition: all 0.3s ease;
}

.footer-modern .footer-links li a:hover {
    color: var(--color-primary-alt);
    padding-left: 4px;
}

/* Inline Grid Links for Quick Links */
.footer-modern .footer-grid-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 24px;
}

/* Footer Bottom Bar */
.footer-modern .footer-bottom {
    background: #04121e;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding: 22px 0;
}

.footer-modern .footer-bottom-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.footer-modern .footer-bottom p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

.footer-modern .social-icons {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 10px;
}

.footer-modern .social-icons li a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.footer-modern .social-icons li a:hover {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(241, 120, 37, 0.35);
}


/* ── Redesigned PaginaContainer (Scroll Progress Button) ─── */
.paginacontainer {
    position: relative;
    z-index: 1000;
}

.progress-wrap {
    position: fixed;
    right: 28px;
    bottom: 35px;
    height: 52px;
    width: 52px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 8px 25px rgba(0, 36, 54, 0.2);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 36, 54, 0.08);
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(241, 120, 37, 0.35);
}

.progress-wrap::after {
    position: absolute;
    font-family: "FontAwesome";
    content: "\f062";
    text-align: center;
    line-height: 52px;
    font-size: 16px;
    color: var(--color-primary-alt);
    left: 0;
    top: 0;
    height: 52px;
    width: 52px;
    cursor: pointer;
    display: block;
    z-index: 1;
    transition: all 250ms ease;
}

.progress-wrap:hover::after {
    color: var(--color-primary);
    transform: scale(1.15);
}

.progress-wrap::before {
    display: none;
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--color-primary);
    stroke-width: 4;
    box-sizing: border-box;
    transition: all 200ms linear;
}


/* ── Mobile adjustments for feature & footer ──────────────── */
@media (max-width: 991px) {
    .feature-area .feature-wrapper {
        padding: 30px 20px;
    }

    .feature-area .feature-title {
        font-size: 24px;
    }

    .cta-banner .cta-content {
        padding: 24px;
        text-align: center;
        align-items: center;
    }

    .cta-banner .cta-content .title {
        font-size: 28px;
    }

    .cta-banner .cta-img {
        min-height: 220px;
    }

    .footer-modern .newsletter-box form {
        flex-direction: column;
        max-width: 100%;
    }
}



/* ── Redesigned Pass Section (Rail Passes Page) ──────────── */
.pass-section {
    padding: 50px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    position: relative;
}

.pass-section .section-tag-v2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.12), rgba(19, 70, 134, 0.08));
    color: var(--color-primary-alt);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.pass-section .section-title h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 36px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 10px;
}

.pass-section .section-title p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: var(--text-muted);
}

/* Primary Pass Cards */
.pass-card-v2 {
    background: #ffffff;
    border-radius: 20px;
    padding: 36px 28px 30px;
    box-shadow: 0 10px 30px rgba(0, 36, 54, 0.05);
    border: 1px solid rgba(0, 36, 54, 0.06);
    position: relative;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.35s ease;
}

.pass-card-v2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-primary-alt));
    opacity: 0.4;
    transition: opacity 0.35s ease;
}

.pass-card-v2:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(0, 36, 54, 0.12);
    border-color: rgba(241, 120, 37, 0.25);
}

.pass-card-v2:hover::before {
    opacity: 1;
}

.pass-card-v2 .pass-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background: #f1f5f9;
    color: var(--color-secondary);
    padding: 4px 10px;
    border-radius: 12px;
}

.pass-card-v2 .pass-icon-wrap {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.1), rgba(19, 70, 134, 0.08));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary-alt);
    font-size: 24px;
    margin-bottom: 22px;
    transition: all 0.35s ease;
}

.pass-card-v2:hover .pass-icon-wrap {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #ffffff;
    transform: scale(1.08) rotate(3deg);
    box-shadow: 0 8px 20px rgba(241, 120, 37, 0.3);
}

.pass-card-v2 h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 12px;
}

.pass-card-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 0;
    flex-grow: 1;
}

/* Secondary Feature Cards */
.pass-feature-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 28px 24px;
    box-shadow: 0 8px 25px rgba(0, 36, 54, 0.04);
    border: 1px solid rgba(0, 36, 54, 0.06);
    display: flex;
    align-items: flex-start;
    gap: 20px;
    height: 100%;
    transition: all 0.35s ease;
}

.pass-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 36, 54, 0.09);
    border-color: rgba(19, 70, 134, 0.2);
}

.pass-feature-card .feature-icon-box {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: rgba(19, 70, 134, 0.08);
    color: var(--color-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    transition: all 0.35s ease;
}

.pass-feature-card:hover .feature-icon-box {
    background: var(--color-secondary);
    color: #ffffff;
}

.pass-feature-card h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 19px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 8px;
}

.pass-feature-card p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.6;
    margin-bottom: 0;
}

/* Policy Box */
.pass-policy-box {
    background: linear-gradient(135deg, rgba(0, 36, 54, 0.03) 0%, rgba(241, 120, 37, 0.04) 100%);
    border-radius: 18px;
    padding: 30px 36px;
    border: 1px solid rgba(0, 36, 54, 0.08);
    border-left: 5px solid var(--color-primary-alt);
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 12px;
}

.pass-policy-box .policy-icon {
    font-size: 28px;
    color: var(--color-primary-alt);
    flex-shrink: 0;
    margin-top: 2px;
}

.pass-policy-box h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 8px;
}

.pass-policy-box p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .pass-section .section-title h2 {
        font-size: 26px;
    }

    .pass-feature-card {
        flex-direction: column;
    }

    .pass-policy-box {
        flex-direction: column;
        padding: 24px;
    }
}



/* ── Redesigned Auto Train Section ───────────────────────── */
.auto-train-section {
    padding: 50px 0;
    background: #ffffff;
}

.auto-train-section .auto-train-banner-v2 {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 24px;
    padding: 48px;
    box-shadow: 0 15px 45px rgba(0, 36, 54, 0.06);
    border: 1px solid rgba(0, 36, 54, 0.06);
}

.auto-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.12), rgba(19, 70, 134, 0.08));
    color: var(--color-primary-alt);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 16px;
}

.auto-train-section .auto-content h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 34px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 16px;
    line-height: 1.25;
}

.auto-train-section .auto-content p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 14px;
}

.auto-train-section .auto-offer-card-v2 {
    background: linear-gradient(135deg, var(--color-secondary) 0%, #051d2f 100%);
    border-radius: 20px;
    padding: 36px 28px;
    color: #ffffff;
    box-shadow: 0 15px 35px rgba(0, 36, 54, 0.15);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.auto-train-section .auto-offer-card-v2::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 140px;
    height: 140px;
    background: rgba(241, 120, 37, 0.15);
    border-radius: 50%;
    filter: blur(30px);
}

.auto-train-section .auto-offer-card-v2 h3 {
    font-family: 'Outfit', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 12px;
}

.auto-train-section .auto-offer-card-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    margin-bottom: 20px;
}

.auto-train-section .offer-highlight-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 30px;
}

.auto-train-section .offer-highlight-pill i {
    color: var(--color-primary-alt);
}

/* Comfort Box Callout */
.auto-train-section .comfort-box-v2 {
    background: #f8fafc;
    border-radius: 20px;
    padding: 36px 40px;
    border: 1px solid rgba(0, 36, 54, 0.06);
    border-top: 4px solid var(--color-primary);
    box-shadow: 0 10px 30px rgba(0, 36, 54, 0.04);
}

.auto-train-section .comfort-box-v2 h3 {
    font-family: 'Outfit', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 10px;
}

.auto-train-section .comfort-box-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 0;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}


/* ── Redesigned Roomette Section ─────────────────────────── */
.roomette-section {
    padding: 50px 0;
    background: #f8fafc;
}

.roomette-section .roomette-wrapper-v2 {
    background: #ffffff;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 15px 45px rgba(0, 36, 54, 0.06);
    border: 1px solid rgba(0, 36, 54, 0.06);
}

.roomette-section .roomette-image-box {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 36, 54, 0.1);
}

.roomette-section .roomette-image-box img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.roomette-section .roomette-image-box:hover img {
    transform: scale(1.04);
}

.roomette-section .roomette-tag-overlay {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(0, 36, 54, 0.75);
    backdrop-filter: blur(10px);
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 20px;
}

.roomette-section .roomette-content-v2 h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 14px;
}

.roomette-section .roomette-content-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.65;
    margin-bottom: 12px;
}

.roomette-section .roomette-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 20px;
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}

.roomette-section .roomette-features-grid li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-secondary);
}

.roomette-section .roomette-features-grid li i {
    color: var(--color-primary-alt);
    font-size: 16px;
}


/* ── Redesigned Baggage Section ──────────────────────────── */
.baggage-section {
    padding: 50px 0;
    background: #ffffff;
}

.baggage-section .section-header h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 34px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 10px;
}

.baggage-section .section-header p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-muted);
}

.baggage-section .baggage-card-v2 {
    background: #ffffff;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0, 36, 54, 0.05);
    border: 1px solid rgba(0, 36, 54, 0.06);
    height: 100%;
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
}

.baggage-section .baggage-card-v2:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(0, 36, 54, 0.12);
    border-color: rgba(241, 120, 37, 0.25);
}

.baggage-section .baggage-img-box {
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
}

.baggage-section .baggage-img-box img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.baggage-section .baggage-card-v2:hover .baggage-img-box img {
    transform: scale(1.06);
}

.baggage-section .baggage-card-v2 h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 10px;
}

.baggage-section .baggage-card-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.6;
    margin-bottom: 0;
    flex-grow: 1;
}

@media (max-width: 991px) {

    .auto-train-section .auto-train-banner-v2,
    .roomette-section .roomette-wrapper-v2 {
        padding: 30px 20px;
    }

    .roomette-section .roomette-features-grid {
        grid-template-columns: 1fr;
    }

    .auto-train-section .comfort-box-v2 {
        padding: 24px;
    }
}


/* ── Breadcrumb Hero Banner (Shared) ─────────────────────── */
.breadcrumb-area {
    position: relative;
    padding: 140px 0 60px;
    background: linear-gradient(135deg, var(--color-secondary) 0%, #051d2f 100%);
    overflow: hidden;
}

.breadcrumb-area::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../images/breadcrumb.jpg') center/cover no-repeat;
    opacity: 0.12;
    filter: saturate(0.6);
}

.breadcrumb-area .breadcrumb-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.breadcrumb-area .breadcrumb-content h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 42px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 14px;
    letter-spacing: -0.5px;
}

.breadcrumb-area .breadcrumb-content ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.breadcrumb-area .breadcrumb-content ul li {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.65);
}

.breadcrumb-area .breadcrumb-content ul li a {
    color: var(--color-primary-alt);
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb-area .breadcrumb-content ul li a:hover {
    color: #ffffff;
}

.breadcrumb-area .breadcrumb-content ul li+li::before {
    content: '\f054';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 10px;
    margin-right: 8px;
    color: rgba(255, 255, 255, 0.35);
}

/* Floating decorative orbs */
.breadcrumb-area .breadcrumb-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(50px);
    z-index: 1;
}

.breadcrumb-area .breadcrumb-orb.orb-1 {
    width: 200px;
    height: 200px;
    background: rgba(241, 120, 37, 0.15);
    top: -40px;
    right: 10%;
}

.breadcrumb-area .breadcrumb-orb.orb-2 {
    width: 160px;
    height: 160px;
    background: rgba(19, 70, 134, 0.2);
    bottom: -30px;
    left: 8%;
}


/* ── About Us Section ────────────────────────────────────── */
.aboutus-sctn-box {
    padding: 80px 0 60px;
    background: #ffffff;
}

/* Image Mosaic Grid */
.about-img-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    height: 100%;
}

.about-img-mosaic .mosaic-img {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 8px 24px rgba(0, 36, 54, 0.08);
}

.about-img-mosaic .mosaic-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.about-img-mosaic .mosaic-img:hover img {
    transform: scale(1.05);
}

.about-img-mosaic .mosaic-img.tall {
    grid-row: span 2;
}

.about-img-mosaic .mosaic-img .mosaic-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(0, 36, 54, 0.7);
    backdrop-filter: blur(10px);
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 16px;
}

/* About Content */
.about-content-block {
    padding-left: 20px;
}

.about-content-block .about-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.12), rgba(19, 70, 134, 0.08));
    color: var(--color-primary-alt);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 14px;
}

.about-content-block h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 34px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 16px;
    line-height: 1.25;
}

.about-content-block p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-body-alt);
    line-height: 1.7;
    margin-bottom: 14px;
}

.about-content-block h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 8px;
    margin-top: 20px;
}

/* About Info Cards */
.about-info-card {
    background: #f8fafc;
    border-radius: 18px;
    padding: 20px;
    border: 1px solid rgba(0, 36, 54, 0.06);
    height: 100%;
    transition: all 0.35s ease;
}

.about-info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 36, 54, 0.08);
    border-color: rgba(241, 120, 37, 0.2);
}

.about-info-card .info-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.1), rgba(19, 70, 134, 0.08));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary-alt);
    font-size: 20px;
    margin-bottom: 16px;
    transition: all 0.35s ease;
}

.about-info-card:hover .info-icon {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(241, 120, 37, 0.3);
}

.about-info-card h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 8px;
}

.about-info-card p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.6;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .breadcrumb-area {
        padding: 120px 0 50px;
    }

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

    .about-content-block {
        padding-left: 0;
        margin-top: 30px;
    }

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

    .about-img-mosaic {
        max-width: 500px;
        margin: 0 auto;
    }
}


/* ── Modern Contact Us Section ───────────────────────────── */
.contact-section {
    padding: 50px 0;
    background: #ffffff;
}

/* Contact Info Cards */
.contact-info-area {
    margin-bottom: 50px;
}

.contact-info-card-v2 {
    background: #f8fafc;
    border-radius: 20px;
    padding: 20px;
    border: 1px solid rgba(0, 36, 54, 0.06);
    height: 100%;
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.contact-info-card-v2:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0, 36, 54, 0.08);
    border-color: rgba(241, 120, 37, 0.25);
    background: #ffffff;
}

.contact-info-card-v2 .contact-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.12), rgba(19, 70, 134, 0.08));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary-alt);
    font-size: 20px;
    margin-bottom: 18px;
    transition: all 0.35s ease;
}

.contact-info-card-v2:hover .contact-icon {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-alt));
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(241, 120, 37, 0.3);
}

.contact-info-card-v2 h3 {
    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 8px;
}

.contact-info-card-v2 a,
.contact-info-card-v2 p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.6;
    margin-bottom: 0;
    text-decoration: none;
    transition: color 0.3s ease;
    word-break: break-word;
}

.contact-info-card-v2 a:hover {
    color: var(--color-primary-alt);
}

/* Contact Form Wrapper */
.contact-form-wrapper-v2 {
    background: #ffffff;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 15px 45px rgba(0, 36, 54, 0.06);
    border: 1px solid rgba(0, 36, 54, 0.06);
}

.contact-img-box {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 12px 30px rgba(0, 36, 54, 0.08);
}

.contact-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.contact-img-box:hover img {
    transform: scale(1.04);
}

.contact-img-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: rgba(0, 36, 54, 0.8);
    backdrop-filter: blur(12px);
    color: #ffffff;
    padding: 16px 20px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.contact-img-badge h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #ffffff;
}

.contact-img-badge p {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0;
}

.contact-form-content h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 12px;
}

.contact-form-content p.subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 24px;
}

.contact-form-content .form-label {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-secondary);
    margin-bottom: 6px;
}

.contact-form-content .form-control {
    background: #f8fafc;
    border: 1.5px solid rgba(0, 36, 54, 0.08);
    border-radius: 12px;
    padding: 12px 16px 12px 40px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--color-secondary);
    transition: all 0.3s ease;
}

.contact-form-content .form-control:focus {
    background: #ffffff;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(241, 120, 37, 0.12);
    outline: none;
}

.contact-form-content .input-icon-wrap {
    position: relative;
}

.contact-form-content .input-icon-wrap i {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
    transition: color 0.3s ease;
}

.contact-form-content .input-icon-wrap .form-control:focus + i {
    color: var(--color-primary);
}

.contact-form-content textarea.form-control {
    resize: vertical;
    min-height: 120px;
    padding: 12px 16px;
}

@media (max-width: 991px) {
    .contact-form-wrapper-v2 {
        padding: 24px;
    }

    .contact-img-box {
        margin-bottom: 24px;
    }

    .contact-form-content h2 {
        font-size: 26px;
    }
}

/* ── Modern Privacy Policy Section ────────────────────────── */
.privacy-policy-section {
    padding: 70px 0 90px;
    background: #f8fafc;
}

.policy-card-v2 {
    background: #ffffff;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 15px 45px rgba(0, 36, 54, 0.05);
    border: 1px solid rgba(0, 36, 54, 0.06);
}

.policy-card-v2 .policy-header {
    border-bottom: 1px solid rgba(0, 36, 54, 0.08);
    padding-bottom: 24px;
    margin-bottom: 32px;
}

.policy-card-v2 .policy-header h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 34px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 12px;
}

.policy-card-v2 .policy-header .last-updated-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(19, 70, 134, 0.08);
    color: var(--color-secondary);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 20px;
}

.policy-intro-box {
    background: #f8fafc;
    border-left: 4px solid var(--color-primary);
    border-radius: 0 16px 16px 0;
    padding: 24px 28px;
    margin-bottom: 36px;
}

.policy-intro-box p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-body-alt);
    line-height: 1.7;
    margin-bottom: 0;
}

.policy-section-block {
    margin-bottom: 32px;
}

.policy-section-block:last-child {
    margin-bottom: 0;
}

.policy-section-block h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.policy-section-block h4 i {
    color: var(--color-primary-alt);
    font-size: 16px;
}

.policy-section-block p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-body-alt);
    line-height: 1.7;
    margin-bottom: 14px;
}

.policy-list {
    list-style: none;
    padding-left: 0;
    margin: 16px 0 20px;
}

.policy-list li {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.6;
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.policy-list li i {
    color: var(--color-primary-alt);
    font-size: 15px;
    margin-top: 3px;
    flex-shrink: 0;
}

.policy-contact-box {
    background: linear-gradient(135deg, var(--color-secondary) 0%, #051d2f 100%);
    border-radius: 20px;
    padding: 28px 32px;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px;
}

.policy-contact-box h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 6px;
}

.policy-contact-box p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .policy-card-v2 {
        padding: 28px 20px;
    }

    .policy-card-v2 .policy-header h2 {
        font-size: 26px;
    }

    .policy-contact-box {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* ── Modern Thank You Section ────────────────────────────── */
.thankyou-section {
    padding: 70px 0 90px;
    background: #f8fafc;
}

.thankyou-card-v2 {
    background: #ffffff;
    border-radius: 24px;
    padding: 50px 40px;
    box-shadow: 0 15px 45px rgba(0, 36, 54, 0.06);
    border: 1px solid rgba(0, 36, 54, 0.06);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.thankyou-icon-badge {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(241, 120, 37, 0.15), rgba(19, 70, 134, 0.1));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    position: relative;
}

.thankyou-icon-badge::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px dashed rgba(241, 120, 37, 0.3);
    animation: spinSlow 20s linear infinite;
}

@keyframes spinSlow {
    100% {
        transform: rotate(360deg);
    }
}

.thankyou-icon-badge i {
    font-size: 42px;
    color: var(--color-primary-alt);
}

.thankyou-card-v2 h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 14px;
}

.thankyou-card-v2 p.lead-text {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: var(--text-body-alt);
    line-height: 1.65;
    max-width: 620px;
    margin: 0 auto 24px;
}

/* Next Steps Box */
.thankyou-steps-box {
    background: #f8fafc;
    border-radius: 18px;
    padding: 24px;
    border: 1px solid rgba(0, 36, 54, 0.06);
    margin: 28px 0 36px;
}

.thankyou-steps-box h5 {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.thankyou-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.thankyou-step-item {
    background: #ffffff;
    border-radius: 14px;
    padding: 16px 12px;
    border: 1px solid rgba(0, 36, 54, 0.05);
    text-align: center;
}

.thankyou-step-item i {
    font-size: 20px;
    color: var(--color-primary-alt);
    margin-bottom: 8px;
    display: block;
}

.thankyou-step-item span {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-secondary);
    display: block;
}

@media (max-width: 767px) {
    .thankyou-card-v2 {
        padding: 30px 20px;
    }

    .thankyou-card-v2 h2 {
        font-size: 24px;
    }

    .thankyou-steps-grid {
        grid-template-columns: 1fr;
    }
}