:root {
            --main-blue: #00457C;
            --nav-bg: #f8f9fa;
            --nav-link: #222;
            --nav-link-light: #222;
            --hover-blue: #f8f8f8;
            --focus-blue: #135ea8;
            --dropdown-bg: rgba(0, 69, 124, 0.97);
            --sidebar-bg: #f7f7f7a8;
            --sidebar-active: #184aff;
            --sidebar-border: #e3e7f3;
            --sidebar-text: #222;
            --sidebar-hover: #e7eeff;
            --sidebar-active-bg: #fff;
            --desc-grey: #848484;
            --primary-blue: #245ce6;
            --text-base: 15px;
            --text-small: 13.7px;
            --sidebar-font: 15.4px;
            --sidebar-font-mobile: 14.2px;
            --heading-lg: 2.15rem;
            --heading-md: 1.14rem;
            --feature-li: 15px;
            --anim-duration: .75s;
            /* NEW: dynamic offset ONLY when Google adds a banner/menu */
            --gt-offset: 0px;
            --nav-h: 56px;
        }

        html,
        body {
            margin: 0;
            padding: 0;
            height: 100%;
            min-height: 100%;
            font-family: 'Poppins', Arial, sans-serif;
            background: #fff;
            color: #181a20;
            font-size: var(--text-base);
            box-sizing: border-box;
            overflow-x: hidden;
        }

        /* ===== NAVBAR ===== */
        .navbar {
            position: fixed;
            top: var(--gt-offset, 0px); /* NEW: shift only when banner/menu appears */
            left: 0;
            width: 100vw;
            z-index: 2000;
            background: var(--nav-bg);
            color: var(--nav-link-light);
            transition: background .4s, box-shadow .4s, color .3s, top .18s ease;
            padding: .4rem 0;
            box-sizing: border-box;
            min-height: 56px;
        }

        .navbar.scrolled {
            background: var(--nav-bg);
            color: var(--nav-link);
            box-shadow: 0 1px 8px rgba(0, 0, 0, .07);
        }

        .nav-container {
            width: 94%;
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            overflow: visible;
        }

        .logo img {
            height: 38px;
            display: block;
        }

        nav {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: nowrap;
        }

        nav a,
        nav button {
            font: 500 12px/1 'Poppins', Arial, sans-serif;
            letter-spacing: .01em;
            color: var(--nav-link-light);
            padding: 1.15rem .6rem;
            border-bottom: 2px solid transparent;
            background: transparent;
            border: none;
            cursor: pointer;
            outline: none;
            transition: color .2s, border-bottom .2s, background .18s;
            white-space: nowrap;
        }

        .navbar.scrolled nav a,
        .navbar.scrolled nav button {
            color: var(--nav-link);
        }

        nav a:hover,
        nav a.active,
        nav button:hover,
        nav button.active {
            color: var(--main-blue) !important;
            border-bottom: 2px solid var(--main-blue);
            background: #e3f0fb;
        }

        .dropdown-arrow {
            margin-left: .25em;
            font-size: 1em;
            vertical-align: middle;
        }

        /* Google Translate (desktop) */
        #google_translate_element {
            margin-left: 8px;
        }

        #google_translate_element .goog-te-combo {
            height: 32px;
            max-width: 160px;
            min-width: 130px;
            border: 1.5px solid #d4e4f3;
            border-radius: 16px;
            background: #f9fafd;
            color: var(--main-blue);
            font-size: 12px;
            padding: 0 10px;
            outline: none;
            transition: border .2s, background .2s;
        }

        #google_translate_element .goog-te-combo:hover,
        #google_translate_element .goog-te-combo:focus {
            border-color: var(--main-blue);
            background: #e3f0fb;
        }

        /* Hide Google attribution clutter */
        .goog-logo-link,
        .goog-te-gadget span {
            display: none !important;
        }

        .goog-te-gadget {
            font-size: 0 !important;
        }

        /* Desktop Search */
        .nav-search {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-left: 8px;
            margin-top: 6px;
            height: 36px;
            position: relative;
            margin-bottom:5px;
        }

        .nav-search input {
            height: 32px;
            min-width: 160px;
            max-width: 240px;
            padding: 0 10px;
            border: 1.5px solid #d4e4f3;
            border-radius: 16px;
            background: #f9fafd;
            font-size: 12px;
            outline: none;
            transition: border .18s, background .18s;
        }

        .nav-search input:hover,
        .nav-search input:focus {
            border-color: var(--main-blue);
            background: #e3f0fb;
        }

        .nav-search button {
            display: none !important;
        }

        /* no icon button */
        .search-suggestions {
            list-style: none;
            margin: 0;
            padding: 6px 0;
            display: none;
            z-index: 2500;
        }

        .search-suggestions.show {
            display: block;
        }

        .nav-search .search-suggestions {
            position: absolute;
            top: calc(100% + 4px);
            left: 0;
            right: 0;
            background: #fff;
            border: 1px solid #e5eef8;
            border-radius: 8px;
            box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
            max-height: 240px;
            overflow: auto;
        }

        .nav-search .search-suggestions li {
            padding: 8px 10px;
            font-size: 13px;
            color: #1d1f24;
            cursor: pointer;
        }

        .nav-search .search-suggestions li:hover,
        .nav-search .search-suggestions li:focus {
            background: #eaf3ff;
        }

        /* Mega Menu (desktop) */
        .mega-menu-bg {
            display: none;
            position: fixed;
            left: 0;
            /* top: calc(66px + var(--gt-offset, 0px)); */
            top: calc(var(--gt-offset, 0px) + var(--nav-h)); /* <— replaces hard-coded 66px */
            width: 100vw;
            height: calc(88vh - 2px);
            background: #0078C8;
            color: #fff;
            z-index: 2200;
            opacity: 0;
            pointer-events: none;
            transition: opacity .32s cubic-bezier(.43, .48, .46, 1.02);
        }

        .mega-menu-bg.open {
            display: block;
            opacity: 1;
            pointer-events: auto;
            animation: fadeIn .34s;
        }

        @keyframes fadeIn {
            from {
                opacity: 0
            }

            to {
                opacity: 1
            }
        }

        .mega-menu-content {
            display: flex;
            max-width: 1080px;
            margin: 0 auto;
            padding: 2.6rem 1.5rem 2rem;
            justify-content: space-between;
            align-items: flex-start;
            height: 100%;
            position: relative;
            box-sizing: border-box;
        }

        .mega-menu-left {
            width: 37%;
            padding-right: 2.3rem;
            border-right: 1px solid #187be2;
            font-size: 1.06rem;
            min-width: 235px;
        }

        .mega-menu-left h2 {
            margin: 0 0 1rem 0;
            font-size: 1.42rem;
            font-weight: 700;
            letter-spacing: .01em;
        }

        .mega-menu-left p {
            margin: 0 0 1.2rem 0;
            font-size: 1.04rem;
            line-height: 1.5;
        }

        .mega-menu-left .btn {
            background: transparent;
            color: #fff;
            border: 2px solid #fff;
            font-weight: 700;
            font-size: 1rem;
            border-radius: 0;
            padding: .7rem 2.1rem;
            margin-top: 1.2rem;
            display: inline-block;
            transition: background .2s, color .2s, border .18s;
        }

        .mega-menu-left .btn:hover {
            background: var(--main-blue);
            border-color: var(--main-blue);
        }

        .mega-menu-right {
            width: 55%;
            padding-left: 2.8rem;
            display: flex;
            flex-direction: column;
            gap: 1.1rem;
        }

        .mega-menu-list {
            display: flex;
            flex-direction: column;
            gap: .6rem;
            margin: 0;
            padding: 0;
            /* NEW: make the right-side list scrollable when tall */
            max-height: min(62vh, 520px);
            overflow-y: auto;
            padding-right: 4px;
            -webkit-overflow-scrolling: touch;
            scroll-behavior: smooth;
        }

        .mega-menu-list a {
            color: #fff;
            font-weight: 600;
            background: transparent;
            border: 2px solid #fff;
            border-radius: 0;
            font-size: 1.04rem;
            padding: .75rem 1.4rem;
            margin-bottom: .12rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background .18s, color .18s, border .18s;
            text-decoration: none;
        }

        .mega-menu-list a:hover,
        .mega-menu-list a:focus {
            background: var(--main-blue);
            border-color: var(--main-blue);
        }

        .mega-menu-list a .arrow {
            font-size: 1.2rem;
            margin-left: 1.1rem;
        }

        .mega-menu-close {
            position: absolute;
            right: 2.3rem;
            bottom: 1.5rem;
            color: #fff;
            background: transparent;
            font-size: 1.1rem;
            font-weight: 700;
            letter-spacing: .04em;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: .7rem;
        }

        .mega-menu-close .close-x {
            font-size: 1.7rem;
            margin-left: .18rem;
            margin-bottom: 2px;
        }

        /* Mobile nav trigger */
        .hamburger {
            display: none;
            background: none;
            border: none;
            font-size: 2.1rem;
            color: var(--main-blue);
            cursor: pointer;
            position: absolute;
            right: 20px;
            top: 8px;
            z-index: 2100;
            height: 44px;
            width: 44px;
            align-items: center;
            justify-content: center;
        }

        /* Mobile Drawer (white theme) */
        .mobile-menu-bg {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: #fff;
            color: #111;
            z-index: 3000;
            animation: fadeIn .33s;
        }

        .mobile-menu-bg.open {
            display: block;
        }

        .mobile-menu-content {
            display: flex;
            flex-direction: column;
            height: 100%;
            width: 100vw;
            align-items: flex-start;
            justify-content: flex-start;
            padding: 32px 20px 16px;
            box-sizing: border-box;
            position: relative;
            overflow: visible;
        }

        .mobile-logo-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            margin-bottom: 10px;
        }

        .mobile-logo-bar img {
            height: 34px;
            display: block;
        }

        .mobile-menu-list {
            width: 100%;
            margin: 20px 0 32px;
            display: flex;
            flex-direction: column;
            gap: 11px;
        }

        .mobile-menu-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            box-sizing: border-box;
            padding: 11px 19px 11px 15px;
            border: 1px solid #e5e7eb;
            background: #fff;
            font-size: 1.07rem;
            color: #111;
            font-weight: 500;
            border-radius: 0;
            text-align: left;
            letter-spacing: .04em;
            margin-bottom: 12px;
            text-decoration: none;
            cursor: pointer;
            transition: background .16s, color .16s, border .18s;
        }

        .mobile-menu-link:last-child {
            margin-bottom: 0;
        }

        .mobile-menu-link:hover,
        .mobile-menu-link:focus {
            background: #f5f7fb;
            border-color: #cbd5e1;
            color: #111;
        }

        .mobile-menu-link.active {
            background: #e8f0ff;
            color: #184aff;
            border-color: #184aff;
        }

        .mobile-dropdown {
            display: none;
            flex-direction: column;
            width: 100%;
            margin: 0 0 12px 0;
            padding: 0;
            background: #fff;
            border: 1px solid #e5e7eb;
            box-sizing: border-box;
            /* NEW: make dropdowns scrollable inside the mobile drawer */
            max-height: 60vh;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
        }

        .mobile-dropdown a {
            color: #111;
            background: #fff;
            font-size: 1.02rem;
            border: none;
            border-radius: 0;
            padding: 11px 15px 11px 28px;
            text-align: left;
            font-weight: 400;
            cursor: pointer;
            border-bottom: 1px solid #e5e7eb;
            display: block;
            width: 100%;
            box-sizing: border-box;
            text-decoration: none;
            transition: background .14s;
        }

        .mobile-dropdown a:last-child {
            border-bottom: none;
        }

        .mobile-dropdown a:hover {
            background: #f5f7fb;
        }

        .mobile-close-btn {
            position: absolute;
            top: 12px;
            right: 12px;
            background: #fff;
            color: #111;
            border: 1px solid #e5e7eb;
            border-radius: 6px;
            padding: 6px 10px;
            font-size: .95rem;
            font-weight: 700;
            cursor: pointer;
            letter-spacing: .04em;
            z-index: 3500;
            display: flex;
            align-items: center;
            gap: .7rem;
            margin-top: 20px;
        }

        .mobile-close-btn .close-x {
            font-size: 1.2rem;
        }

        /* Mobile search */
        .mobile-search {
            width: 100%;
            display: flex;
            gap: 10px;
            box-sizing: border-box;
            margin: 10px 0 6px;
            position: relative;
        }

        .mobile-search input,
        .mobile-search button {
            height: 40px;
            border: 1px solid #cbd5e1;
            background: #f8fafc;
            color: #111;
            border-radius: 0;
            outline: none;
            font-size: 1rem;
            padding: 0 12px;
        }

        .mobile-search button {
            font-weight: 700;
            letter-spacing: .02em;
            cursor: pointer;
            transition: background .16s, color .16s, border .16s;
        }

        .mobile-search input::placeholder {
            color: #6b7280;
        }

        .mobile-search button:hover,
        .mobile-search button:focus {
            background: #eef2f6;
        }

        /* Shared suggestions (mobile) */
        .mobile-search .search-suggestions {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            margin-top: 6px;
            padding: 4px 0;
            background: #fff;
            color: #111;
            border: 1px solid #e5e7eb;
            border-radius: 4px;
            box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
            z-index: 4000;
            max-height: 50vh;
            overflow-y: auto;
            display: none;
        }

        .mobile-search .search-suggestions.show {
            display: block;
        }

        .mobile-search .search-suggestions li {
            list-style: none;
            padding: 10px 12px;
            font-size: .98rem;
            color: #000;
            border-bottom: 1px solid #e5e7eb;
            cursor: pointer;
            line-height: 1.3;
        }

        .mobile-search .search-suggestions li:last-child {
            border-bottom: none;
        }

        .mobile-search .search-suggestions li:hover,
        .mobile-search .search-suggestions li:focus,
        .mobile-search .search-suggestions li.active {
            background: #f5f7fb;
            outline: none;
        }

        @media (max-width:380px) {
            .mobile-search .search-suggestions {
                left: -2px;
                right: -2px;
            }
        }

        /* Mobile Google Translate holder */
        .mobile-translate {
            width: 100%;
            margin-top: 12px;
        }

        #translate-holder-mobile .goog-te-combo {
            width: 100%;
            height: 40px;
            border: 1px solid #cbd5e1;
            background: #fff;
            color: #111;
            border-radius: 0;
            padding: 0 12px;
            outline: none;
            font-size: 1rem;
        }

        #translate-holder-mobile .goog-te-combo:focus {
            border-color: var(--main-blue);
        }

        /* Responsive switches */
        @media (max-width:900px) {
            .navbar nav {
                display: none !important;
            }

            .hamburger {
                display: flex !important;
                position: static !important;
                margin-left: auto;
            }

            .nav-container {
                height: 56px;
                display: flex;
                align-items: center;
            }

            .logo img {
                height: 34px;
                margin-top: 10px;
            }
        }

        @media (max-width:700px) {
            .mega-menu-bg {
                 top: calc(var(--gt-offset, 0px) + var(--nav-h)); /* <— replaces hard-coded 54px */
            }
        }

        @media (min-width:1280px) {
            .nav-search input {
                max-width: 300px;
            }

            #google_translate_element .goog-te-combo {
                max-width: 180px;
            }
        }

        @media (max-width:1100px) and (min-width:901px) {
            .nav-search input {
                min-width: 140px;
                max-width: 200px;
            }

            #google_translate_element .goog-te-combo {
                max-width: 150px;
            }
        }
        