:root {
            --primary: #012a64;
            --secondary: #0075d9;
            --accent: #feb004;
            --light-blue: #f3f8ff;
            --border: #dfe8f3;
            --text: #5e7188;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background: #fcfdff;
            color: var(--primary);
        }

        .container {
            width: min(1180px, calc(100% - 40px));
            margin: auto;
        }

        /* =========================
           HEADER
        ========================= */

        #mainHeader {
            background: #fff;
            border-bottom: 1px solid #e7edf5;
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .header-inner {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 25px;
        }

        .logo {
            display: inline-flex;
            align-items: center;
            text-decoration: none;
        }

        .brand-mark {
            width: 175px;
            height: auto;
            display: block;
        }

        .nav {
            display: flex;
            align-items: center;
            gap: 32px;
        }

        .nav a {
            text-decoration: none;
            color: #334b68;
            font-size: 13px;
            font-weight: 700;
            transition: .25s ease;
        }

        .nav a:hover,
        .nav a.active {
            color: var(--secondary);
        }

        .header-phone {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 12px 20px;
            background: var(--accent);
            color: var(--primary);
            border-radius: 100px;
            text-decoration: none;
            font-size: 13px;
            font-weight: 800;
            white-space: nowrap;
        }

        .header-phone:hover {
            background: #f2a600;
            color: var(--primary);
        }

        /* =========================
           HERO
        ========================= */

        .services-hero {
            background: var(--light-blue);
            border-bottom: 1px solid #dce8f5;
            padding: 85px 0 90px;
            text-align: center;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #fff;
            border: 1px solid #ccddf0;
            border-radius: 100px;
            padding: 8px 15px;
            color: var(--secondary);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

        .hero-badge span {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--accent);
        }

        .services-hero h1 {
            margin-top: 20px;
            font-size: clamp(40px, 6vw, 64px);
            line-height: 1.05;
            letter-spacing: -.045em;
            font-weight: 800;
            color: var(--primary);
        }

        .services-hero h1 span {
            color: var(--secondary);
        }

        .services-hero p {
            max-width: 680px;
            margin: 20px auto 0;
            color: var(--text);
            font-size: 16px;
            line-height: 1.75;
        }

        /* =========================
           SERVICES
        ========================= */

        .services-section {
            padding: 75px 0;
        }

        .section-heading {
            text-align: center;
            max-width: 720px;
            margin: auto;
        }

        .section-heading .label {
            color: var(--secondary);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .13em;
            text-transform: uppercase;
        }

        .section-heading h2 {
            margin-top: 10px;
            font-size: clamp(30px, 4vw, 44px);
            line-height: 1.12;
            font-weight: 800;
            letter-spacing: -.035em;
        }

        .section-heading h2 span {
            color: var(--secondary);
        }

        .section-heading p {
            margin-top: 14px;
            color: var(--text);
            font-size: 14px;
            line-height: 1.7;
        }

        /* =========================
           SERVICE GRID
        ========================= */

        .service-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 22px;
            margin-top: 45px;
        }

        .service-card {
            position: relative;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 22px;
            padding: 30px;
            overflow: hidden;
            transition: .3s ease;
        }

        .service-card:hover {
            transform: translateY(-6px);
            border-color: #c9dced;
            box-shadow: 0 20px 45px rgba(1, 42, 100, .10);
        }

        .service-card::after {
            content: "";
            position: absolute;
            width: 100px;
            height: 100px;
            border-radius: 50%;
            background: #f3f8ff;
            right: -40px;
            bottom: -40px;
            z-index: 0;
        }

        .service-top {
            display: flex;
            align-items: flex-start;
            gap: 18px;
            position: relative;
            z-index: 1;
        }

        .service-icon {
            width: 56px;
            height: 56px;
            flex-shrink: 0;
            display: grid;
            place-items: center;
            border-radius: 16px;
            background: #eaf4ff;
            color: var(--secondary);
            font-size: 21px;
        }

        .service-card:nth-child(2) .service-icon {
            background: #fff5d9;
            color: #d89400;
        }

        .service-card:nth-child(3) .service-icon {
            background: #eaf4ff;
            color: var(--primary);
        }

        .service-card:nth-child(4) .service-icon {
            background: #fff5d9;
            color: #d89400;
        }

        .service-card:nth-child(5) .service-icon {
            background: #eaf4ff;
            color: var(--secondary);
        }

        .service-card:nth-child(6) .service-icon {
            background: #fff5d9;
            color: #d89400;
        }

        .service-card:nth-child(7) .service-icon {
            background: #eaf4ff;
            color: var(--primary);
        }

        .service-card h3 {
            color: var(--primary);
            font-size: 19px;
            font-weight: 800;
            line-height: 1.3;
        }

        .service-card p {
            margin-top: 7px;
            color: #687b91;
            font-size: 13.5px;
            line-height: 1.75;
        }

        /* =========================
           FEATURE STRIP
        ========================= */

        .service-strip {
            margin-top: 65px;
            background: #f3f8ff;
            border: 1px solid #dce8f5;
            border-radius: 22px;
            padding: 25px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
        }

        .strip-item {
            display: flex;
            align-items: center;
            gap: 13px;
        }

        .strip-icon {
            width: 44px;
            height: 44px;
            flex-shrink: 0;
            display: grid;
            place-items: center;
            border-radius: 13px;
            background: #fff;
            color: var(--secondary);
            box-shadow: 0 5px 15px rgba(1,42,100,.06);
        }

        .strip-item strong {
            display: block;
            color: var(--primary);
            font-size: 13px;
        }

        .strip-item span {
            display: block;
            margin-top: 3px;
            color: var(--text);
            font-size: 11px;
        }

        /* =========================
           CTA
        ========================= */

        .cta-section {
            padding-bottom: 70px;
        }

        .services-cta {
            background: var(--primary);
            border-radius: 28px;
            padding: 55px 30px;
            text-align: center;
            color: #fff;
            position: relative;
            overflow: hidden;
        }

        .services-cta::before {
            content: "";
            position: absolute;
            width: 280px;
            height: 280px;
            border-radius: 50%;
            background: rgba(0,117,217,.25);
            right: -100px;
            top: -150px;
        }

        .services-cta::after {
            content: "";
            position: absolute;
            width: 230px;
            height: 230px;
            border-radius: 50%;
            background: rgba(254,176,4,.12);
            left: -100px;
            bottom: -140px;
        }

        .services-cta-content {
            position: relative;
            z-index: 2;
        }

        .services-cta h2 {
            font-size: clamp(28px, 4vw, 40px);
            line-height: 1.15;
            font-weight: 800;
        }

        .services-cta p {
            max-width: 620px;
            margin: 12px auto 0;
            color: rgba(255,255,255,.72);
            font-size: 14px;
            line-height: 1.7;
        }

        .cta-btn {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-top: 23px;
            padding: 14px 24px;
            border-radius: 100px;
            background: var(--accent);
            color: var(--primary);
            text-decoration: none;
            font-size: 13px;
            font-weight: 800;
            transition: .25s ease;
        }

        .cta-btn:hover {
            transform: translateY(-2px);
            color: var(--primary);
            background: #ffbd26;
        }

        /* =========================
           FOOTER
        ========================= */

        .footer-modern {
            background: linear-gradient(180deg, #001734 0%, #000f22 100%);
            color: #fff;
            margin-top: 20px;
            border-radius: 32px 32px 0 0;
            overflow: hidden;
        }

        .footer-contact-row {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
            padding-top: 40px;
            margin-bottom: 36px;
        }

        .contact-pill {
            background: rgba(255,255,255,.06);
            border: 1px solid rgba(255,255,255,.11);
            border-radius: 18px;
            padding: 18px 20px;
            display: flex;
            align-items: center;
            gap: 14px;
            transition: .3s;
        }

        .contact-pill:hover {
            background: rgba(255,255,255,.09);
            transform: translateY(-2px);
        }

        .contact-pill .icon-box {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            display: grid;
            place-items: center;
            font-size: 16px;
        }

        .contact-pill.phone .icon-box {
            background: var(--accent);
            color: var(--primary);
        }

        .contact-pill.location .icon-box {
            background: var(--secondary);
            color: #fff;
        }

        .contact-pill.web .icon-box {
            background: #fff;
            color: var(--primary);
        }

        .footer-modern-grid {
            display: grid;
            grid-template-columns: 1.5fr .8fr 1fr 1fr;
            gap: 32px;
            padding: 28px 0 0;
            border-top: 1px solid rgba(255,255,255,.08);
        }

        .footer-logo {
            width: 200px;
        }

        .footer-description {
            color: rgba(255,255,255,.55);
            font-size: 13.5px;
            line-height: 1.6;
            margin-top: 14px;
            max-width: 320px;
        }

        .footer-modern h4 {
            font-size: 11px;
            letter-spacing: .14em;
            text-transform: uppercase;
            color: rgba(255,255,255,.4);
            margin-bottom: 16px;
            font-weight: 800;
        }

        .f-links {
            display: grid;
            gap: 9px;
        }

        .f-links a {
            color: rgba(255,255,255,.7);
            text-decoration: none;
            font-size: 13px;
            transition: .2s;
        }

        .f-links a:hover {
            color: #fff;
        }

        .footer-bottom {
            margin-top: 30px;
            padding: 16px 0 20px;
            border-top: 1px solid rgba(255,255,255,.08);
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px;
            font-size: 12px;
            color: rgba(255,255,255,.4);
        }

        /* =========================
           RESPONSIVE
        ========================= */

        @media(max-width: 991px) {

            .nav {
                gap: 18px;
            }

            .header-phone {
                padding: 11px 15px;
            }

            .service-grid {
                grid-template-columns: 1fr;
            }

            .service-strip {
                grid-template-columns: 1fr;
            }

            .footer-contact-row {
                grid-template-columns: 1fr;
            }

            .footer-modern-grid {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media(max-width: 700px) {

            .container {
                width: min(100% - 28px, 1180px);
            }

            .header-inner {
                min-height: 70px;
            }

            .brand-mark {
                width: 145px;
            }

            .nav {
                display: none;
            }

            .header-phone {
                font-size: 11px;
                padding: 10px 13px;
            }

            .services-hero {
                padding: 60px 0;
            }

            .services-section {
                padding: 55px 0;
            }

            .service-card {
                padding: 23px;
            }

            .service-top {
                gap: 13px;
            }

            .service-icon {
                width: 48px;
                height: 48px;
                font-size: 18px;
            }

            .service-card h3 {
                font-size: 17px;
            }

            .service-card p {
                font-size: 13px;
            }

            .services-cta {
                padding: 40px 22px;
                border-radius: 22px;
            }

            .footer-modern {
                border-radius: 22px 22px 0 0;
            }

            .footer-modern-grid {
                grid-template-columns: 1fr;
            }

            .footer-bottom {
                flex-direction: column;
            }
        }