/* =========================== */
    /* !! USE TO WEB SITE COLOR !! -
    01. var(--bs-primary)                 -
    02. #393738                 -
    */
    /* =========================== */
    /* =========================== */
    /* !! SITE PAGE USE !!       -
    01. HOME                     -
    */
    /* =========================== */
    /* =========================== */
    /* !! SITE OF CONTENT'S !!
    01. Google Font               -
    02. Generated Font            -
    04. Site Global               -
    03. Site Typography           -
    05. Minify Transition         -
    06. Cuttom Button             -
    07. Form Input                -
    08. Form Input Placeholder    -
    09. Header ('Navbar')         -
    10. Footer                    -
    11. All Page's Modal Common   -
    13. All Page's Common Content -
    14. Hero Banner Wrapper       -
    */
    /* =========================== */
    /*==============================================*/
    /*          !!! GOOGLE FONT IMPORT !!!          */
    /*==============================================*/
    /* @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); */
    /* font-family: "Inter", sans-serif; font-family: "Roboto", sans-serif;  */
    /* @import url("https://fonts.googleapis.com/css2?family=Adamina&family=Baskervville&family=Lato:wght@400;700&family=Quattrocento:wght@400;700&family=Roboto:wght@400;500;700&display=swap"); */
    /* @import url('https://fonts.googleapis.com/css2?family=Adamina&family=Baskervville&family=Lato:wght@400;700&family=Quattrocento:wght@400;700&family=Roboto:wght@400;500;700&family=Shippori+Mincho:wght@400;600&display=swap'); */


    /* --------------------------
    +--------------+--------------+
    | FONT-WEIGHT  | Value        |
    +--------------+--------------+
    | thin         | 100          |
    | ex-light     | 200          |
    | light        | 300          |
    | regular      | 400          |
    | medium       | 500          |
    | semi-bold    | 600          |
    | bold         | 700          |
    | ex-bold      | 800          |
    | black        | 900          |
    +--------------+--------------+
    --------------------------- */
    /* ============================================== */
    /*              !! GENERATED FONT !!              */
    /* ============================================== */
    /* ============================================= */
    /* !!!!        SITE GLOBAL STYLE CSS        !!!! */
    /* ============================================= */
    /* =========================================================
    DESIGN TOKENS — pulled from roofsoveryourhead.com scheme
    ========================================================= */
    :root{
    --bs-primary:#1B1B1A;
    --bs-secondary:#173564;
    --bs-gray:#787878;
    --bs-gray-light:#EFEFEF;
    --bs-blue:#1e6db5;
    --bs-primary-rgb:27,27,26;
    --bs-secondary-rgb:23,53,100;
    --bs-gray-light-rgb:239,239,239;
    --bs-blue-rgb:30,109,181;

    --ink:var(--bs-primary);
    --navy:var(--bs-secondary);
    --navy-deep:#0F2140;
    --blue:var(--bs-blue);
    --blue-deep:#164f82;
    --gray:var(--bs-gray);
    --gray-light:var(--bs-gray-light);
    --white:#FFFFFF;

    --radius:14px;
    --shadow-soft:0 20px 45px -25px rgba(23,53,100,0.35);
    --shadow-card:0 12px 30px -18px rgba(23,53,100,0.22);
    --transition:0.4s ease-in-out;
    --bs-link-color: #173564;
    --bs-link-color-rgb: 23,53,100;
    --bs-link-hover-color: #1e6db5;
    --bs-link-hover-color-rgb: 30, 109, 181;
    }

    *{box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{
    font-family:'Outfit', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
    font-size:18px;
    font-weight:500;
    line-height:normal;
    color:var(--gray);
    background:#fff;
    overflow-x:hidden;
    }
    p{color:var(--gray); font-size:1rem; line-height:1.7;}
    a{text-decoration:none; transition:color var(--transition);}
    ::selection{background:var(--blue); color:#fff;}

    /* Inline SVG icon system — span containers that hold injected SVGs */
    .icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.15em; height:1.15em;
    vertical-align:middle;
    flex-shrink:0;
    line-height:1;
    }
    /* The injected <svg> inside each .icon span */
    .icon .icon-svg{
    display:block;
    width:100%; height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    overflow:visible;
    }

    /* =========================================================
    GLOBAL HEADING SYSTEM — one font family, responsive scale
    ========================================================= */
    h1,h2,h3,h4,h5,h6,.display-font{
    font-family:'Outfit', sans-serif;
    color:var(--ink);
    font-weight:700;
    line-height:1.18;
    letter-spacing:-0.01em;
    margin:0;
    }
    h1,.h1{ font-size:clamp(2.1rem, 1.35rem + 3.6vw, 3.75rem); font-weight:800; letter-spacing:-0.02em; }
    h2,.h2{ font-size:clamp(1.7rem, 1.25rem + 2.2vw, 2.75rem); font-weight:700; }
    h3,.h3{ font-size:clamp(1.35rem, 1.1rem + 1.2vw, 1.85rem); font-weight:700; }
    h4,.h4{ font-size:clamp(1.15rem, 1rem + 0.7vw, 1.4rem); font-weight:600; }
    h5,.h5{ font-size:clamp(1.05rem, 0.95rem + 0.4vw, 1.2rem); font-weight:600; }
    h6,.h6{ font-size:0.95rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }

    .sub_title{
    display:inline-flex; align-items:center; gap:.5rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.75rem;
    font-weight:700;
    color:var(--blue);
    background:rgba(30,109,181,0.10);
    border:1px solid rgba(30,109,181,0.22);
    border-radius:999px;
    padding: 6.08px 16.8px;
    }
    /* Dark-section sub_title variant (reviews) */
    .reviews-section .sub_title{
    background:rgba(30,109,181,0.22);
    border-color:rgba(30,109,181,0.45);
    color:#93c5fd;
    }
    .reviews-section .sub_title:before{background:#93c5fd;}

    .section{padding:96px 0;}
    @media (max-width:991px){ .section{padding:72px 0;} }
    @media (max-width:576px){ .section{padding:56px 0;} }
    /* Ensure adjacent sections with same bg color have clear visual break */
    .section + .section:not([style*="background"]):not(.reviews-section):not(.contact-section){
    border-top:1px solid rgba(23,53,100,0.07);
    }

    .section-divider{width:60px; height:3px; background:var(--blue); border-radius:2px; margin:16px 0 24px;}
    .section-divider.center{margin-left:auto; margin-right:auto;}
    .section-intro{max-width:640px; margin-left:auto; margin-right:auto;}
    .sub_title.center{justify-content:center; margin-left:auto; margin-right:auto;}
    /* In text-center wrappers the sub_title auto-centers as an inline-flex element */
    .text-center .sub_title, .section-intro .sub_title{margin-left:auto; margin-right:auto;}
    .section-head {
        max-width: 640px;
    }

    /* =========================================================
    GLOBAL BUTTON SYSTEM
    Common base: .btn
    Fills:       .btn-primary (blue) / .btn-secondary (navy) / .btn-light (white)
    Bordered:    .btn-outline (adapts to light/dark context automatically)
    Size:        .btn-sm
    ========================================================= */
    .btn{
        font-family:'Outfit', sans-serif;
        font-weight:600;
        font-size:0.98rem;
        padding:0.9rem 2.1rem;
        border-radius:999px;
        border:2px solid transparent;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:.55rem;
        transition:all var(--transition);
        white-space:nowrap;
        line-height:1;
        cursor:pointer;
    }
    .btn i, .btn .icon{
        width:1.1em; height:1.1em; min-width:16px; flex-shrink:0;
        display:inline-flex; align-items:center; justify-content:center;
    }
    .btn .icon .icon-svg{
        width:100%; height:100%;
        stroke:currentColor;
    }

    /* Global SVG icon sizing defaults */
    .icon-svg{
        display:block;
        width:100%; height:100%;
        fill:none;
        stroke:currentColor;
        stroke-width:2;
        stroke-linecap:round;
        stroke-linejoin:round;
        overflow:visible;
        flex-shrink:0;
    }

    /* Primary: solid blue */
    .btn-primary{
        background:var(--blue);
        border-color:var(--blue);
        color:#fff;
    }
    .btn-primary:hover{
        background:var(--blue-deep);
        border-color:var(--blue-deep);
        color:#fff;
        transform:translateY(-3px);
        box-shadow:0 16px 30px -12px rgba(30,109,181,0.55);
    }

    /* Secondary: solid navy */
    .btn-secondary{
        background:var(--navy);
        border-color:var(--navy);
        color:#fff;
    }
    .btn-secondary:hover{
        background:var(--navy-deep);
        border-color:var(--navy-deep);
        color:#fff;
        transform:translateY(-3px);
        box-shadow:0 16px 30px -12px rgba(23,53,100,0.55);
    }

    /* Outline: bordered / transparent. Defaults to a dark border+text
       for use on light backgrounds; dark-section contexts (hero, mobile
       call bar, cta band) flip it to a light outline automatically. */
    .btn-outline{
        background:transparent;
        border-color:var(--navy);
        color:var(--navy);
    }
    .btn-outline:hover{
        background:var(--navy);
        border-color:var(--navy);
        color:#fff;
        transform:translateY(-3px);
        box-shadow:0 16px 30px -12px rgba(23,53,100,0.4);
    }
    .hero .btn-outline,
    .mobile-call-bar .btn-outline,
    .cta-section .btn-outline{
        border-color:rgba(255,255,255,0.55);
        color:#fff;
    }
    .hero .btn-outline:hover,
    .mobile-call-bar .btn-outline:hover,
    .cta-section .btn-outline:hover{
        background:#fff;
        border-color:#fff;
        color:var(--navy);
        box-shadow:0 16px 30px -12px rgba(0,0,0,0.35);
    }

    /* Light pill: white bg for dark sections */
    .btn-light{
        background:#fff;
        border-color:#fff;
        color:var(--navy);
    }
    .btn-light:hover{
        background:var(--gray-light);
        border-color:var(--gray-light);
        color:var(--navy);
        transform:translateY(-3px);
        box-shadow:0 16px 30px -12px rgba(0,0,0,0.35);
    }

    .btn-sm{padding:0.65rem 1.5rem; font-size:0.88rem;}

    /* =========================================================
    TOPBAR — dark strip, trust badges left, call link right
    ========================================================= */
    /* ---------------------------------------------------------------
    TOPBAR (dark)
    --------------------------------------------------------------- */
    .topbar {
        background: #12202b;
        color: #cfd8dc;
        font-size: 0.85rem;
    }
    
    .topbar-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 0.5rem 0;
    }
    
    .topbar-trust {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    .topbar-trust li {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        white-space: nowrap;
    }
    
    .topbar-sep {
        opacity: 0.5;
    }
    
    .topbar-right {
        display: flex;
        align-items: center;
        gap: 1.25rem;
    }
    
    .topbar-hours {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        white-space: nowrap;
    }
    
    .topbar-call {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        color: #ffffff;
        font-weight: 600;
        text-decoration: none;
        white-space: nowrap;
    }
    
    .topbar-call:hover {
        color: #173564;
    }
    
    .topbar .icon svg {
        width: 14px;
        height: 14px;
    }
    
    /* ---------------------------------------------------------------
    HEADER / NAVBAR (light)
    --------------------------------------------------------------- */
    #siteHeader {
        background: #ffffff;
        border-bottom: 1px solid #e7ebee;
        position: sticky;
        top: 0;
        z-index: 1000;
    }
    
    #siteHeader .navbar {
        position: relative;
    }
    
    #siteHeader .navbar > .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    
    .navbar-brand-custom img {
        height: 42px;
        width: auto;
        display: block;
    }
    
    /* Desktop nav links */
    #siteNav {
        display: flex;
        align-items: center;
        flex-grow: 1;
    }
    
    #siteNav .navbar-nav {
        display: flex;
        align-items: center;
        gap: 1.75rem;
        list-style: none;
        margin: 0 auto;
        padding: 0;
    }
    
    #siteNav .nav-link {
        color: #16232c;
        font-weight: 500;
        text-decoration: none;
        padding: 0.5rem 0;
        position: relative;
        transition: color 0.2s ease;
    }
    
    #siteNav .nav-link:hover,
    #siteNav .nav-link.active {
        color: #173564;
    }
    
    #siteNav .nav-link.active::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4px;
        height: 2px;
        background: #173564;
        border-radius: 2px;
    }
    
    .header-actions {
        display: flex;
        align-items: center;
        margin-left: 1.5rem;
    }
    
    .header-actions .btn svg,
    .header-actions .icon svg {
        width: 16px;
        height: 16px;
    }
    
    /* ---------------------------------------------------------------
    HAMBURGER TOGGLE
    --------------------------------------------------------------- */
    .navbar-toggler {
        display: none;
        background: transparent;
        border: none;
        padding: 0.35rem;
        cursor: pointer;
        line-height: 0;
    }
    
    .navbar-toggler:focus {
        outline: none;
        box-shadow: none;
    }
    
    .bar-stack {
        display: inline-flex;
        flex-direction: column;
        justify-content: space-between;
        width: 24px;
        height: 18px;
    }
    
    .bar-stack .bar {
        display: block;
        height: 2px;
        width: 100%;
        background: #16232c;
        border-radius: 2px;
        transition: transform 0.25s ease, opacity 0.2s ease;
    }
    
    /* Animate to an "X" when Bootstrap marks the toggler as expanded */
    .navbar-toggler[aria-expanded="true"] .bar-stack .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }
    
    .navbar-toggler[aria-expanded="true"] .bar-stack .bar:nth-child(2) {
        opacity: 0;
    }
    
    .navbar-toggler[aria-expanded="true"] .bar-stack .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }
    
    /* ---------------------------------------------------------------
    MOBILE / TABLET (< 992px — matches Bootstrap's lg breakpoint)
    --------------------------------------------------------------- */
    @media (max-width: 991.98px) {
    
        .topbar {
            display: none;
        }
        .topbar-right {
            margin: auto;
        }
    
        .topbar-inner {
            justify-content: space-between;
        }
    
        .navbar-toggler {
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
    
        /* Collapsed panel acts as the mobile dropdown */
        #siteNav.collapse:not(.show) {
            display: none;
        }
    
        #siteNav {
            flex-basis: 100%;
            flex-grow: 0;
            display: block;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: #ffffff;
            border-top: 1px solid #e7ebee;
            box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            transition: max-height 0.3s ease, opacity 0.25s ease;
        }

        .navbar .btn.mobile_btn {
            border-radius: 10px !important;
            padding: 0.65rem;
        }
    
        #siteNav.show {
            max-height: none;
            opacity: 1;
            overflow-y: auto;
            height: calc(100vh - 69px);
        }
    
        #siteNav .navbar-nav {
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            margin: 0;
            padding: 8px;
        }

        #siteNav .navbar-nav li a {
            padding: 10px;
            display: block;
            font-size: 16px;
        }
    
        #siteNav .nav-item {
            border-bottom: 1px solid #e7ebee;
        }
    
        #siteNav .nav-item:last-child {
            border-bottom: none;
        }
    
        #siteNav .nav-link {
            display: block;
            padding: 0.85rem 0;
        }
    
        #siteNav .nav-link.active::after {
            display: none;
        }
    
        .header-actions {
            margin: 0.5rem 1.25rem 1.25rem;
            padding-top: 0.75rem;
            border-top: 1px solid #e7ebee;
        }
    
        .header-actions .btn {
            width: 100%;
            justify-content: center;
        }
    }
    
    /* ---------------------------------------------------------------
    SMALL PHONES (< 480px)
    --------------------------------------------------------------- */
    @media (max-width: 479.98px) {
        .topbar-trust li:nth-child(2),
        .topbar-trust .topbar-sep {
            display: none;
        }
    
        .navbar-brand-custom img {
            height: 34px;
        }
    }
    

    
    body.menu-locked{overflow:hidden;}

    .hero{
        position:relative;
        color:#fff;
        padding:120px 0 0;
        overflow:hidden;
        background: #0f2140;
    }
    /* Image container */
    .hero-image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
    }

    /* Actual image */
    .hero-image img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center;
    }

    /* Separate gradient */
    .hero-overlay {
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(
            100deg,
            rgba(10, 22, 42, 0.92) 0%,
            rgba(15, 33, 64, 0.74) 38%,
            rgba(15, 33, 64, 0.34) 68%,
            rgba(15, 33, 64, 0.20) 100%
        );
    }

    /* Existing decorations */
    .hero-grid-bg,
    .hero-blob {
        z-index: 2;
    }

    /* Hero content */
    .hero-inner {
        position: relative;
        z-index: 3;
    }

    /* Bottom wave */
    .wave-divider {
        position: relative;
        z-index: 4;
    }
    .hero-grid-bg{
        position:absolute; inset:0;
        background-image:
            linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
        background-size:64px 64px;
        mask-image:radial-gradient(circle at 75% 20%, black, transparent 70%);
        pointer-events:none;
    }
    .hero-blob{
        position:absolute; border-radius:50%;
        background:radial-gradient(circle, rgba(30,109,181,0.55), transparent 70%);
        filter:blur(10px);
        pointer-events:none;
    }
    .hero-blob.b1{width:520px; height:520px; top:-180px; right:-120px;}
    .hero-blob.b2{width:320px; height:320px; bottom:-140px; left:-80px; opacity:.6;}

    .hero-inner{position:relative; z-index:2; padding-bottom:90px;}
    .hero-badge{
        display:inline-flex; align-items:center; gap:.65rem;
        background:rgba(255,255,255,0.08);
        border:1px solid rgba(255,255,255,0.18);
        padding:.5rem 1.25rem .5rem .5rem;
        border-radius:999px;
        font-size:0.85rem;
        color:#fff;
        margin-bottom:1.8rem;
        font-weight:600;
    }
    .hero-badge i, .hero-badge .icon{
        color:var(--blue); background:#fff;
        width:26px; height:26px; min-width:26px;
        border-radius:50%;
        display:inline-flex !important; align-items:center; justify-content:center;
        font-size:0.85rem; line-height:1;
    }
    .hero-badge .icon .icon-svg{
        width:14px; height:14px;
    }
    .hero h1{color:#fff; font-size:clamp(1.8rem, 1.15rem + 2.6vw, 2.85rem);}
    .hero h1 .accent{
        color:var(--blue);
        position:relative;
        display:inline-block;
    }
    .hero h1 .accent svg{position:absolute; left:0; bottom:-10px; width:100%; height:auto;}
    .hero p.lead-text{
        color:rgba(255,255,255,0.78);
        font-size:1.14rem;
        max-width:540px;
        margin-top:1.4rem;
    }
    .hero-cta-row{display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.3rem;}

    .hero-stats{
        margin-top:3.2rem;
        padding-top:2rem;
        border-top:1px solid rgba(255,255,255,0.14);
        display:flex;
        gap:2.8rem;
        flex-wrap:wrap;
    }
    .hero-stats .stat-num{font-size:2.1rem; font-weight:800; color:#fff;}
    .hero-stats .stat-label{font-size:0.78rem; color:rgba(255,255,255,0.58); text-transform:uppercase; letter-spacing:.08em; font-weight:500;}

    .hero-visual{
        position:relative;
        border-radius:22px;
        overflow:hidden;
        background:rgba(255,255,255,0.06);
        border:1px solid rgba(255,255,255,0.16);
        backdrop-filter:blur(6px);
        box-shadow:var(--shadow-soft);
        padding:6px;
    }

    .hero-form-card{background:#fff; border-radius:18px; padding:1.8rem 1.8rem 2rem;}
    .hero-form-card h5{color:var(--ink);}
    .hero-form-sub{font-size:0.85rem; color:var(--gray); margin-bottom:1.2rem;}
    .hero-form-card .form-label{font-size:0.85rem;}
    #heroFormSuccess{
        display:none;
        background:rgba(30,109,181,0.08);
        border:1px solid rgba(30,109,181,0.3);
        color:var(--blue-deep);
        border-radius:10px;
        padding:0.8rem 1rem;
        font-size:0.85rem;
        font-weight:600;
        margin-bottom:1rem;
    }

    /* Trust checklist — moved from the visual card so icons read clearly
       against the dark hero (solid blue chip + white icon) */
    .hero-checklist{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0.95rem 1.4rem;
        margin-top:2rem;
        max-width:560px;
    }
    .check-item{
        display:flex; align-items:center; gap:.75rem;
        color:rgba(255,255,255,0.9);
        font-size:0.92rem; font-weight:500;
    }
    .check-item .icon{
        width:36px; height:36px; min-width:36px; border-radius:10px;
        background:var(--blue);
        color:#fff;
        display:inline-flex; align-items:center; justify-content:center;
        box-shadow:0 8px 18px -8px rgba(30,109,181,0.7);
    }
    .check-item .icon .icon-svg{width:18px; height:18px; stroke:#fff;}
    @media(max-width:575px){ .hero-checklist{grid-template-columns:1fr;} }

    .wave-divider{display:block; width:100%; height:70px; position:relative; z-index:2; margin-top:-1px;}

    /* =========================================================
    ABOUT
    ========================================================= */
    .about-media{
        position:relative;
        border-radius:var(--radius);
        overflow:hidden;
        background:linear-gradient(150deg, var(--blue), var(--navy));
        min-height:420px;
        display:flex; align-items:center; justify-content:center;
        box-shadow:var(--shadow-soft);
    }
    /* Image collage layout */
    .about-img-collage{
        position:relative;
        width:100%;
        min-height:440px;
        display:flex;
        align-items:stretch;
        gap:12px;
        padding:4px;
    }
    .about-img-collage .img-col{
        display:flex; flex-direction:column; gap:12px; flex:1;
    }
    .about-img-collage .img-col:first-child{ flex:1.35; }
    .about-img-frame{
        border-radius:14px;
        overflow:hidden;
        flex:1;
        position:relative;
        box-shadow:var(--shadow-card);
    }
    .about-img-frame img{
        width:100%; height:100%; object-fit:cover;
        display:block;
        transition:transform .5s ease;
    }
    .about-img-frame:hover img{ transform:scale(1.04); }
    .about-badge-float{
        position:absolute;
        bottom:16px; left:16px;
        background:var(--blue);
        color:#fff;
        border-radius:10px;
        padding:0.55rem 1rem;
        font-size:0.82rem; font-weight:700;
        display:flex; align-items:center; gap:.45rem;
        box-shadow:0 8px 20px -8px rgba(0,0,0,0.5);
        white-space:nowrap;
    }
    .about-badge-float i, .about-badge-float .icon{
        font-size:1rem;
        width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center;
    }
    .about-badge-float .icon .icon-svg{ width:16px; height:16px; stroke:white; }
    .credential-list {
        padding: 0;
    }
    .credential-list li{display:flex; gap:.9rem; align-items:flex-start; padding:0.95rem 0; border-bottom:1px dashed var(--gray-light);}
    .credential-list li:last-child{border-bottom:none;}
    .credential-list i, .credential-list .icon{
        color:var(--blue); font-size:1.35rem; margin-top:2px;
        width:28px; height:28px; flex-shrink:0;
        display:flex; align-items:center; justify-content:center;
    }
    .credential-list .icon .icon-svg{
        width:22px; height:22px;
    }
    .credential-list h6{font-weight:700; margin-bottom:2px; color:var(--ink); text-transform:none; letter-spacing:0; font-size:1.02rem;}
    .credential-list p{margin:0; font-size:0.94rem;}
    
    @media (max-width: 767px ) {
        .about-img-collage {
            flex-direction: column
        }
    }

    /* =========================================================
    SERVICES
    ========================================================= */
    .service-card{
        background:#fff;
        border-radius:var(--radius);
        padding:2.1rem 1.8rem;
        height:100%;
        box-shadow:var(--shadow-card);
        border:1px solid rgba(23,53,100,0.06);
        transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
        position:relative;
        overflow:hidden;
    }
    .service-card:before{
        content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
        background:var(--blue); transform:scaleY(0); transform-origin:bottom;
        transition:transform .35s ease;
    }
    .service-card:hover{transform:translateY(-8px); box-shadow:0 26px 50px -22px rgba(23,53,100,0.3);}
    .service-card:hover:before{transform:scaleY(1);}
    .service-icon{
        width:56px; height:56px; border-radius:14px;
        background:linear-gradient(150deg, rgba(30,109,181,0.16), rgba(30,109,181,0.05));
        display:flex; align-items:center; justify-content:center;
        color:var(--blue); font-size:1.5rem; margin-bottom:1.2rem;
        flex-shrink:0;
    }
    .service-icon .icon{
        width:26px; height:26px;
    }
    .service-icon .icon .icon-svg{
        width:26px; height:26px;
    }
    .service-card p{font-size:0.94rem; margin-bottom:0;}

    /* =========================================================
    PRICING
    ========================================================= */
    /* =========================================================
    PRICING — light cards, blue accents, same design tokens
    ========================================================= */
    .pricing-wrap{display:block;}
    .pricing-card{
        background:#fff;
        border:1px solid rgba(23,53,100,0.08);
        border-radius:var(--radius);
        padding:2rem 2.2rem;
        box-shadow:var(--shadow-card);
        height:100%;
    }
    .pricing-card-head{display:flex; align-items:center; gap:.85rem; margin-bottom:.4rem;}
    .pricing-card-head .icon{
        width:44px; height:44px; min-width:44px; border-radius:12px;
        background:rgba(30,109,181,0.1); color:var(--blue);
        display:inline-flex; align-items:center; justify-content:center;
    }
    .pricing-card-head .icon .icon-svg{width:20px; height:20px;}
    .pricing-card-head h5{margin:0;}
    .price-table{width:100%; border-collapse:collapse; margin-top:.5rem;}
    .price-table tr{border-bottom:1px solid var(--gray-light);}
    .price-table tr:last-child{border-bottom:none;}
    .price-table td{padding:1rem 0.4rem; color:var(--gray); font-size:0.96rem; font-weight:500;}
    .price-table td.price-val{text-align:right; color:var(--navy); font-weight:700; white-space:nowrap;}
    .pricing-note{background:var(--gray-light); border:1px solid rgba(23,53,100,0.06); border-radius:12px; padding:1.2rem 1.4rem; font-size:0.9rem; color:var(--gray); display:flex; align-items:center; gap:.6rem; height:100%;}
    .pricing-note strong{color:var(--navy);}
    .pricing-note .icon{ width:20px; height:20px; min-width:20px; flex-shrink:0; color:var(--blue); }
    .pricing-note .icon .icon-svg{ width:20px; height:20px; }

    /* =========================================================
    PROCESS
    ========================================================= */
    .process-step {
      position: relative;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    .process-num{font-size:2.6rem; font-weight:800; color:transparent; -webkit-text-stroke:1.5px var(--blue);}
    .process-card{background:#fff; border-radius:var(--radius); padding:2rem 1.6rem; height:100%; border:1px solid var(--gray-light); transition:transform .3s ease, border-color .3s ease;}
    .process-card:hover{transform:translateY(-6px); border-color:var(--blue);}
    .process-card h5{margin-top:0.6rem;}
    .process-card p{font-size:0.92rem;}

    /* =========================================================
    REVIEWS
    ========================================================= */
    .reviews-section{background:var(--navy); color:#fff; position:relative;}
    .reviews-section .sub_title{color:var(--blue);}
    .reviews-section .sub_title:before{background:var(--blue);}
    .reviews-section h2{color:#fff;}
    .review-card{background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius); padding:2.2rem; height:100%; margin:6px;}
    .review-card .stars{color:#F5B841; font-size:0.95rem; margin-bottom:1rem;}
    .review-card p.review-text{color:rgba(255,255,255,0.85); font-size:0.98rem; min-height:120px;}
    .review-name{font-weight:700; color:#fff; margin-bottom:0;}
    .review-loc{font-size:0.8rem; color:rgba(255,255,255,0.55);}
    .swiper-pagination-bullet{background:rgba(255,255,255,0.4); opacity:1;}
    .swiper-pagination-bullet-active{background:var(--blue);}
    .reviews-section .swiper-button-next, .reviews-section .swiper-button-prev{color:#fff; --swiper-navigation-size:20px;}

    /* =========================================================
    BLOG
    ========================================================= */
    .blog-card{
        background:#fff;
        border-radius:var(--radius);
        overflow:hidden;
        height:100%;
        box-shadow:var(--shadow-card);
        border:1px solid rgba(23,53,100,0.06);
        transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
        display:flex; flex-direction:column;
    }
    .blog-card:hover{transform:translateY(-8px); box-shadow:0 26px 50px -22px rgba(23,53,100,0.3);}
    .blog-thumb{
        height:190px; position:relative; overflow:hidden;
    }
    .blog-thumb img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
    .blog-card:hover .blog-thumb img{transform:scale(1.07);}
    .blog-thumb .blog-tag{
        position:absolute; left:14px; top:14px;
        background:var(--blue); color:#fff;
        font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
        padding:.35rem .8rem; border-radius:999px;
    }
    .blog-body{padding:1.6rem 1.5rem 1.8rem; flex:1; display:flex; flex-direction:column;}
    .blog-meta{
        display:flex; align-items:center; gap:.5rem;
        font-size:0.8rem; color:var(--gray); margin-bottom:.7rem;
    }
    .blog-meta .icon{width:14px; height:14px; min-width:14px; color:var(--blue);}
    .blog-meta .icon .icon-svg{width:14px; height:14px;}
    .blog-body h5{margin-bottom:.6rem;}
    .blog-body p{font-size:0.92rem; flex:1;}
    .blog-readmore{
        display:inline-flex; align-items:center; gap:.4rem;
        font-weight:700; font-size:0.9rem; color:var(--blue);
        margin-top:.9rem; transition:gap .25s ease;
    }
    .blog-readmore .icon{width:15px; height:15px; min-width:15px;}
    .blog-readmore .icon .icon-svg{width:15px; height:15px;}
    .blog-card:hover .blog-readmore{gap:.65rem; color:var(--blue-deep);}


    .accordion-item{border:none; margin-bottom:0.9rem; border-radius:12px !important; overflow:hidden; box-shadow:var(--shadow-card);}
    .accordion-button{font-weight:600; font-size:1.06rem; color:var(--ink); background:#fff; padding:1.3rem 1.6rem; font-family:'Outfit', sans-serif;}
    .accordion-button:not(.collapsed){background:#fff; color:var(--blue); box-shadow:none;}
    .accordion-button:focus{box-shadow:none; border-color:transparent;}
    .accordion-body{padding:0 1.6rem 1.5rem; color:var(--gray); font-size:0.96rem;}

    /* =========================================================
    CONTACT — redesigned tile layout (no duplicate form)
    ========================================================= */
    .contact-section{background:var(--gray-light);}

    .contact-tile{
        background:#fff;
        border-radius:var(--radius);
        padding:2rem 1.6rem;
        height:100%;
        box-shadow:var(--shadow-card);
        border:1px solid rgba(23,53,100,0.06);
        display:flex; flex-direction:column; align-items:flex-start;
        transition:transform .3s ease, box-shadow .3s ease;
    }
    .contact-tile:hover{transform:translateY(-6px); box-shadow:0 24px 48px -20px rgba(23,53,100,0.25);}
    .ct-icon{
        width:52px; height:52px; border-radius:14px;
        background:linear-gradient(150deg, rgba(30,109,181,0.16), rgba(30,109,181,0.05));
        display:flex; align-items:center; justify-content:center;
        color:var(--blue); margin-bottom:1.1rem; flex-shrink:0;
    }
    .ct-icon .icon{ width:24px; height:24px; }
    .ct-icon .icon .icon-svg{ width:24px; height:24px; }
    .ct-label{font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--gray); margin-bottom:.35rem;}
    .ct-value{font-weight:700; color:var(--ink); font-size:1rem; margin-bottom:.25rem; word-break:break-all;}
    a.ct-value{color:var(--blue); transition:color .25s;}
    a.ct-value:hover{color:var(--blue-deep);}
    .ct-note{font-size:0.83rem; color:var(--gray); font-weight:500;}

    .contact-info-card{
        background:var(--navy);
        border-radius:var(--radius);
        padding:2.6rem;
        color:#fff;
        height:100%;
        box-shadow:var(--shadow-soft);
    }
    .contact-info-row{display:flex; gap:1rem; align-items:flex-start; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,0.1);}
    .contact-info-row:last-of-type{border-bottom:none;}
    .contact-info-row i, .contact-info-row .icon{
        width:42px; height:42px; min-width:42px; border-radius:11px; flex-shrink:0;
        background:rgba(30,109,181,0.25); color:#fff;
        display:flex; align-items:center; justify-content:center; font-size:1.15rem;
    }
    .contact-info-row .icon .icon-svg{
        width:18px; height:18px;
        stroke:white;
    }
    .contact-info-row .label{font-size:0.78rem; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,0.5); margin-bottom:2px;}
    .contact-info-row .value{font-weight:600; color:#fff; font-size:0.98rem;}
    .contact-info-row a.value{color:#fff;}
    .contact-info-row a.value:hover{color:var(--blue);}

    .contact-form-card{
        background:#fff;
        border-radius:var(--radius);
        padding:2.6rem;
        height:100%;
        box-shadow:var(--shadow-card);
        border:1px solid rgba(23,53,100,0.06);
    }
    .form-label{
        font-weight:600; font-size:0.9rem; color:var(--ink); margin-bottom:.4rem;
    }
    .form-control, .form-select{
        font-family:'Outfit', sans-serif;
        font-weight:500;
        border:1.5px solid var(--gray-light);
        border-radius:10px;
        padding:0.75rem 1rem;
        font-size:0.96rem;
        color:var(--ink);
        background-color:#fbfbfb;
        transition:border-color .25s, box-shadow .25s, background-color .25s;
    }
    .form-control:focus, .form-select:focus{
        border-color:var(--blue);
        background-color:#fff;
        box-shadow:0 0 0 4px rgba(30,109,181,0.14);
    }
    textarea.form-control{resize:vertical; min-height:120px;}
    .form-note{font-size:0.82rem; color:var(--gray); display:flex; align-items:center; gap:.4rem;}
    #contactSuccess{
        display:none;
        background:rgba(30,109,181,0.08);
        border:1px solid rgba(30,109,181,0.3);
        color:var(--blue-deep);
        border-radius:10px;
        padding:0.9rem 1.1rem;
        font-size:0.9rem;
        font-weight:600;
    }

    /* =========================================================
    CTA
    ========================================================= */
    .cta-band{background:linear-gradient(120deg, var(--blue-deep), var(--blue)); border-radius:26px; padding:3.6rem 3rem; color:#fff; position:relative; overflow:hidden;}
    .cta-band:before{content:""; position:absolute; right:-60px; top:-60px; width:260px; height:260px; border-radius:50%; background:rgba(255,255,255,0.08);}
    .cta-band h2{color:#fff; margin: 0 0 10px;}
    .cta-band p{color:rgba(255,255,255,0.85);}
    .cta-band .btn-light {
        z-index: 11;
        position: relative;
    }
    @media (max-width: 767.98px) {
        .cta-band {
            text-align: center;
        }

        .cta-band .col-lg-6,
        .cta-band .col-lg-4 {
            text-align: center !important;
        }

        .cta-band .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
    }

    /* =========================================================
    LOCATIONS SECTION (above footer)
    ========================================================= */
    .locations-section{
        background: var(--ink);
        padding: 56px 0 46px;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    .location-card{
        height:100%;
        background: rgba(255,255,255,0.04);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 14px;
        padding: 28px 26px 24px;
        transition: transform .3s ease, border-color .3s ease, background .3s ease;
    }
    .location-card:hover{
        transform: translateY(-4px);
        border-color: rgba(30,109,181,0.45);
        background: rgba(255,255,255,0.06);
    }

    /* Forced visible + high specificity so nothing in the theme's global h4/heading
       rules (animation classes, opacity resets, etc.) can hide this again. */
    .locations-section h4.location-title{
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        animation: none !important;
        color: #ffffff !important;
        font-size: 1.2rem !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        letter-spacing: .02em;
        margin: 0 0 1.1rem !important;
        padding-bottom: .7rem;
        position: relative;
    }
    .locations-section h4.location-title:after{
        content:"";
        position:absolute; left:0; bottom:0;
        width:34px; height:3px;
        background: var(--blue);
        border-radius: 2px;
    }

    .location-links{ list-style:none; padding:0; margin:0; }
    .location-links li{
        margin-bottom: .8rem;
        font-size: 0.92rem;
        line-height: 1.5;
        display:flex;
        align-items:center;
        gap:.7rem;
    }
    .location-links li:last-child{ margin-bottom:0; }
    .location-links li .icon{
        width:30px; height:30px; min-width:30px;
        border-radius:50%;
        background: rgba(255,255,255,0.06);
        display:inline-flex; align-items:center; justify-content:center;
    }
    .location-links li .icon svg,
    .location-links li .icon .icon-svg{ width:15px; height:15px; stroke:rgba(255,255,255,0.75); }
    .location-links li strong{ color:#fff; font-weight:600; }
    .location-links li a{ color:rgba(255,255,255,0.75); }
    .location-links li a:hover{ color:var(--blue); }

    /* Address/Hours rows wrap icon to the top since the text runs to 2 lines */
    .location-links li:not(.location-website):not(.location-directions):has(strong){
        align-items:flex-start;
    }
    .location-links li:not(.location-website):not(.location-directions) .icon{
        margin-top: 1px;
    }

    /* Get Directions reads as a CTA, distinct from the plain info rows */
    .location-links li.location-directions{ margin-top: .5rem; }
    .location-links li.location-directions .icon{ background: rgba(30,109,181,0.18); }
    .location-links li.location-directions .icon svg,
    .location-links li.location-directions .icon .icon-svg{ stroke: var(--blue); }
    .location-links li.location-directions a{
        color: var(--blue);
        font-weight: 600;
    }
    .location-links li.location-directions a:hover{ color:#fff; }

/* =========================================================
    FOOTER
    ========================================================= */
    footer{background:var(--ink); color:rgba(255,255,255,0.7); padding:50px 0; position:relative;}
    footer:before {
        content: "";
        display: block;
        height: 4px;
        width: 100%;
        background: linear-gradient(90deg, var(--blue), var(--navy) 55%, var(--blue));
        margin: auto;
        left: 0;
        top: -54px;
        position: relative;
    }

    footer .foot-logo-wrap {
        margin-bottom: 1.3rem;
        display: inline-flex;
        max-width: 300px;
        width: 100%;
        justify-content: center;
        align-items: center;
        background: #fff;
        border-radius: 14px;
        padding: 8px 14px;
        box-shadow: 0 0 0 3px rgba(30, 109, 181, 0.25), 0 12px 28px -10px rgba(0, 0, 0, 0.55);
        border: 2px solid rgba(255, 255, 255, 0.9);
        transition: padding var(--transition), transform var(--transition), box-shadow var(--transition);
        position: relative;
    }
    footer .foot-logo-wrap:hover {
        transform: translateY(-2px);
        box-shadow: 0 0 0 4px rgba(30, 109, 181, 0.45), 0 16px 32px -10px rgba(0, 0, 0, 0.6);
    }
    footer img.foot-logo {
        height: auto;
        display: block;
        filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.4));
        width: 100%;
        object-fit: contain;
        object-position: center;
    }
    footer img.foot-logo:focus, footer img.foot-logo:hover {
        color: rgba(var(--bs-emphasis-color-rgb), 1);
    }
    footer p{font-size:0.94rem;}
    footer h6{
    color:#fff; margin-bottom:1.4rem; letter-spacing:.08em;
    position:relative; padding-bottom:.8rem;
    }
    footer h6:after{content:""; position:absolute; left:0; bottom:0; width:30px; height:2px; background:var(--blue); border-radius:2px;}
    footer a{color:rgba(255,255,255,0.68);}
    footer a:hover{color:var(--blue);}
    footer ul{list-style:none; padding:0; margin:0;}
    footer li{margin-bottom:.75rem; font-size:0.92rem; display:flex; align-items:flex-start; gap:.5rem;}
    footer li .icon{ width:16px; height:16px; min-width:16px; margin-top:3px; flex-shrink:0; }
    footer li .icon .icon-svg{ width:16px; height:16px; stroke:rgba(255,255,255,0.6); }
    /* Foot-link-list overrides the flex for simple text links */
    footer .foot-link-list li{ display:list-item; }
    footer .foot-link-list li a{
    display:inline-flex; align-items:center; gap:.55rem; transition:gap .25s ease, color .25s ease;
    }
    footer .foot-link-list li a:before{
        content:"›";
        font-size:1rem; line-height:1;
        color:var(--blue);
        flex-shrink:0;
        display:inline-block;
        transition:transform .25s ease, color .25s ease;
    }
    footer .foot-link-list li a:hover{gap:.8rem; color:#fff;}
    footer .foot-link-list li a:hover:before{transform:translateX(3px); color:#fff;}
    .footer-trust-row{ font-size:0.9rem; color:rgba(255,255,255,0.7); }
    .footer-trust-row .icon{ width:16px; height:16px; min-width:16px; }
    .footer-bottom{border-top:1px solid rgba(255,255,255,0.09); margin-top:2.6rem; font-size:0.82rem; color:rgba(255,255,255,0.45); padding: 0.82rem 1.8rem;}
    .social-icon{width:40px; height:40px; min-width:40px; border-radius:50%; border:1px solid rgba(255,255,255,0.18); display:inline-flex; align-items:center; justify-content:center; transition:all .3s;}
    .social-icon:hover{background:var(--blue); border-color:var(--blue); color:#fff !important; transform:translateY(-3px);}
    .social-icon .icon{ width:18px; height:18px; }
    .social-icon .icon .icon-svg{ width:18px; height:18px; }
    .social_icons_footer {
        gap: 10px;
        display: flex;
        flex-wrap: wrap;
    }
    .back-to-top{
        position:fixed; right:22px; bottom:90px; z-index:1040;
        width:46px; height:46px; border-radius:50%;
        background:var(--blue); color:#fff;
        display:flex; align-items:center; justify-content:center;
        font-size:1.1rem; box-shadow:0 12px 24px -10px rgba(0,0,0,0.5);
        opacity:0; visibility:hidden; transform:translateY(10px);
        transition:all .3s ease;
    }
    .back-to-top .icon{ width:20px; height:20px; }
    .back-to-top .icon .icon-svg{ width:20px; height:20px; stroke:white; }
    .back-to-top.visible{opacity:1; visibility:visible; transform:translateY(0);}
    .back-to-top:hover{background:var(--blue-deep); color:#fff;}
    @media(min-width:992px){.back-to-top{bottom:32px;}}


    /* =========================================================
    MOBILE CALL BAR
    ========================================================= */
    .mobile-call-bar{position:fixed; left:0; right:0; bottom:0; z-index:999; background:var(--ink); padding:.75rem 1rem; display:flex; gap:.6rem; box-shadow:0 -8px 24px rgba(0,0,0,0.25);}
    .mobile-call-bar .btn{flex:1;}
    @media(min-width:992px){.mobile-call-bar{display:none;}}
    @media(max-width:991px){body{padding-bottom:74px;}}

    .badge-soft{background:rgba(30,109,181,0.12); color:var(--blue); border-radius:999px; padding:.35rem .9rem; font-size:0.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;}

    @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important;}
    html{scroll-behavior:auto;}
    }

    /* =========================================
    HOME PAGE — INLINE CSS REPLACEMENTS
    ========================================= */
    /* ---------- Common Gray Sections ---------- */
    .section-gray {
        background: var(--gray-light);
    }
    /* ---------- About Image Collage ---------- */
    .about-img-large {
        flex: 1.6;
        min-height: 230px;
    }
    .about-img-small {
        min-height: 150px;
    }
    .about-img-position {
        position: relative;
    }
    /* ---------- Hero Form ---------- */
    .form-note-small {
        font-size: 0.78rem;
    }
    .form-message {
        min-height: 80px;
    }
    /* =========================================
    RESPONSIVE
    ========================================= */
    @media (max-width: 991.98px) {
        .about-img-large {
            min-height: 200px;
        }
        .about-img-small {
            min-height: 130px;
        }
    }
    @media (max-width: 767.98px) {
        .about-img-large {
            min-height: 180px;
        }
        .about-img-small {
            min-height: 120px;
        }
        .form-message {
            min-height: 100px;
        }
    }
/* =========================================================
   PRICING PAGE — ADDITIONAL STYLES (page-specific, additive)
   ========================================================= */
    .page-hero{
    position:relative; color:#fff; padding:170px 0 110px; overflow:hidden; background:#0f2140; text-align:center;
    }
    .page-hero .hero-image{position:absolute; inset:0; width:100%; height:100%; z-index:0;}
    .page-hero .hero-image img{width:100%; height:100%; object-fit:cover; object-position:center;}
    .page-hero .hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(10,22,42,0.90) 0%, rgba(15,33,64,0.88) 55%, rgba(15,33,64,0.95) 100%);
    }
    .page-hero-inner{position:relative; z-index:2; max-width:720px; margin:0 auto;}
    .page-hero p.lead-text{color:rgba(255,255,255,0.8); font-size:1.1rem; max-width:550px; margin:1.2rem auto 0;}
    .page-hero-cta-row{display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:2.1rem;}
    .page-hero .btn-outline{border-color:rgba(255,255,255,0.55); color:#fff;}
    .page-hero .btn-outline:hover{background:#fff; border-color:#fff; color:var(--navy);}
    .page-hero h1{color:#fff; font-size:clamp(1.6rem, 1.05rem + 2.2vw, 2.5rem);}

    /* Pricing cards grid */
   .price-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.6rem;
        margin-top: 2.6rem;
    }

    .price-grid > * {
        flex: 1 1 200px;
        max-width: calc(25% - 1.2rem);
    }

    /* Tablet */
    @media (max-width: 991px) {
        .price-grid > * {
            max-width: calc(50% - 0.8rem);
        }
    }

    /* Mobile */
    @media (max-width: 575px) {
        .price-grid > * {
            flex: 1 1 100%;
            max-width: 100%;
        }
    }
    .price-card {
        background:#fff; border:1px solid rgba(23,53,100,0.08); border-radius:var(--radius);
        padding:2rem 1.7rem; box-shadow:var(--shadow-card); text-align:center;
        transition:transform .3s ease, box-shadow .3s ease; display:flex; flex-direction:column;
    }
    .price-card:hover{transform:translateY(-8px); box-shadow:0 26px 50px -22px rgba(23,53,100,0.32);}
    .price-card.featured{border:2px solid var(--blue); position:relative;}
    .price-card .badge-pop{
        position:absolute; top:-13px; left:50%; transform:translateX(-50%);
        background:var(--blue); color:#fff; font-size:0.7rem; font-weight:700;
        text-transform:uppercase; letter-spacing:.06em; padding:.32rem .9rem; border-radius:999px;
    }
    .price-card .icon-wrap{
        width:60px; height:60px; border-radius:16px; background:rgba(30,109,181,0.1); color:var(--blue);
        display:flex; align-items:center; justify-content:center; margin:0 auto 1.1rem;
    }
    .price-card .icon-wrap .icon-svg{width:28px; height:28px;}
    .price-card h3{margin-bottom:.5rem;}
    .price-card .price-start{font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gray); font-weight:600;}
    .price-card .price-amount{font-size:2rem; font-weight:800; color:var(--navy); margin:.2rem 0 .9rem;}
    .price-card p.price-desc{font-size:.9rem; flex:1; margin-bottom:1.3rem;}
    .price-card .btn{width:100%;}

    .pricing-fineprint{
        text-align:center; margin-top:2.4rem; font-size:.88rem; color:var(--gray);
        display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap;
    }
    .pricing-fineprint .icon{color:var(--blue); width:16px; height:16px;}

    /* Pricing factors */
    .factors-section{background:var(--gray-light);}
    .factors-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.4rem; margin-top:2.4rem;}
    @media(max-width:768px){ .factors-grid{grid-template-columns:repeat(2, 1fr);} }
    @media(max-width:480px){ .factors-grid{grid-template-columns:1fr;} }
    .factor-tile{
        background:#fff; border-radius:12px; padding:1.5rem 1.4rem; box-shadow:var(--shadow-card);
        display:flex; align-items:flex-start; gap:1rem; border:1px solid rgba(23,53,100,0.06);
    }
    .factor-tile .icon{
        width:42px; height:42px; min-width:42px; border-radius:10px; background:rgba(30,109,181,0.1); color:var(--blue);
        display:flex; align-items:center; justify-content:center;
    }
    .factor-tile .icon .icon-svg{width:20px; height:20px;}
    .factor-tile h4{margin-bottom:.25rem; font-size:1rem;}
    .factor-tile p{font-size:.88rem; margin:0;}

    /* Featured image CTA */
    .image-cta{
        position:relative; border-radius:20px; overflow:hidden; min-height:320px;
        display:flex; align-items:center; justify-content:center; text-align:center; color:#fff;
    }
    .image-cta img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
    .image-cta .overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,33,64,0.82), rgba(15,33,64,0.9)); z-index:1;}
    .image-cta .content{position:relative; z-index:2; max-width:560px; padding:2.5rem 1.5rem;}
    .image-cta h2{color:#fff; margin-bottom:.8rem;}
    .image-cta p{color:rgba(255,255,255,0.8); margin-bottom:1.6rem;}

    /* Comparison table */
    .compare-wrap{overflow-x:auto; margin-top:2.4rem; border-radius:var(--radius); box-shadow:var(--shadow-card);}
    table.compare-table{width:100%; border-collapse:collapse; background:#fff; min-width:640px;}
    .compare-table th, .compare-table td{padding:1rem 1.2rem; text-align:left; font-size:.92rem; border-bottom:1px solid var(--gray-light);}
    .compare-table thead th{background:var(--navy); color:#fff; font-weight:700; font-family:'Outfit', sans-serif;}
    .compare-table thead th:first-child{border-top-left-radius:var(--radius);}
    .compare-table thead th:last-child{border-top-right-radius:var(--radius);}
    .compare-table tbody tr:last-child td{border-bottom:none;}
    .compare-table tbody tr:nth-child(even){background:rgba(23,53,100,0.02);}
    .compare-table td:first-child{font-weight:700; color:var(--navy);}
    .compare-table .yes{color:var(--blue); display:inline-flex; align-items:center; gap:.35rem; font-weight:600;}
    .compare-table .yes .icon{width:16px; height:16px;}

    /* Why choose us */
    .benefits-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.4rem;
        margin-top: 2.4rem;
    }

    .benefits-grid > * {
        flex: 1 1 200px;
        max-width: calc(25% - 1.05rem);
    }

    /* Tablet */
    @media (max-width: 991px) {
        .benefits-grid > * {
            max-width: calc(50% - 0.7rem);
        }
    }

    /* Mobile */
    @media (max-width: 575px) {
        .benefits-grid > * {
            flex: 1 1 100%;
            max-width: 100%;
        }
    }
    .benefit-card{
        background:#fff; border-radius:var(--radius); padding:1.8rem 1.5rem; text-align:center;
        border:1px solid rgba(23,53,100,0.06); box-shadow:var(--shadow-card);
        transition:transform .3s ease;
    }
    .benefit-card:hover{transform:translateY(-6px);}
    .benefit-card .icon-wrap{
        width:56px; height:56px; border-radius:14px; background:rgba(30,109,181,0.1); color:var(--blue);
        display:flex; align-items:center; justify-content:center; margin:0 auto 1rem;
    }
    .benefit-card .icon-wrap .icon-svg{width:26px; height:26px;}
    .benefit-card h4{margin-bottom:.4rem; font-size:1.02rem;}
    .benefit-card p{font-size:.86rem; margin:0;}

    /* Emergency CTA */
    .emergency-cta{position:relative; color:#fff; text-align:center; overflow:hidden;}
    .emergency-cta .bg-img{position:absolute; inset:0; z-index:0;}
    .emergency-cta .bg-img img{width:100%; height:100%; object-fit:cover;}
    .emergency-cta .overlay{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(10,22,42,0.94) 10%, rgba(23,53,100,0.85) 100%);}
    .emergency-cta .content{position:relative; z-index:2; padding:70px 20px;}
    .emergency-cta h2{color:#fff; margin-bottom:.7rem;}
    .emergency-cta p{color:rgba(255,255,255,0.82); max-width:520px; margin:0 auto 1.8rem;}
    .emergency-cta .hours-pill{
        display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,0.1);
        border:1px solid rgba(255,255,255,0.2); border-radius:999px; padding:.5rem 1.2rem;
        font-size:.82rem; font-weight:600; margin-bottom:1.6rem;
    }
    .emergency-cta .hours-pill .icon{width:15px; height:15px; color:var(--blue);}

    /* FAQ accordion — vanilla JS */
    .faq-list{max-width:800px; margin:2.4rem auto 0;}
    .faq-item{
        background:#fff; border-radius:12px; box-shadow:var(--shadow-card); margin-bottom:.9rem; overflow:hidden;
        border:1px solid rgba(23,53,100,0.06);
    }
    .faq-question{
        width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
        background:#fff; border:none; padding:1.3rem 1.5rem; text-align:left; cursor:pointer;
        font-family:'Outfit', sans-serif; font-weight:600; font-size:1rem; color:var(--ink);
    }
    .faq-question .chev{width:20px; height:20px; min-width:20px; color:var(--blue); transition:transform .3s ease;}
    .faq-item.open .faq-question{color:var(--blue);}
    .faq-item.open .chev{transform:rotate(180deg);}
    .faq-answer{max-height:0; overflow:hidden; transition:max-height .35s ease;}
    .faq-answer-inner{padding:0 1.5rem 1.4rem; font-size:.94rem; color:var(--gray);}

/* =========================================================
   ABOUT PAGE — ADDITIONAL STYLES (page-specific, additive)
   ========================================================= */
/* =========================================================
    ABOUT PAGE — sub_title / Divider on-dark variants
    Used inside navy sections (mission band, section-navy)
    ========================================================= */
    .sub_title.on-dark{
        background:rgba(255,255,255,0.12);
        border-color:rgba(255,255,255,0.28);
        color:#bcd7ef;
    }
    .section-divider.on-dark{background:#bcd7ef;}

    /* =========================================================
    ABOUT PAGE — Navy section modifier
    Full navy background sections (mission band uses section-navy)
    ========================================================= */
    .section-navy{
        background:var(--navy);
        color:rgba(255,255,255,0.82);
    }
    .section-navy h2,
    .section-navy h3,
    .section-navy h4{color:#fff;}
    /* btn-outline inside navy sections flips to white border/text */
    .section-navy .btn-outline{border-color:rgba(255,255,255,0.55); color:#fff;}
    .section-navy .btn-outline:hover{background:#fff; border-color:#fff; color:var(--navy); box-shadow:0 16px 30px -12px rgba(0,0,0,0.35);}
    /* Prevent section border-top between section-navy and adjacent sections */
    .section + .section-navy,
    .section-navy + .section{border-top:none;}

    /* =========================================================
    ABOUT PAGE — Mission Quote Band
    Navy band with centred pull-quote; uses hero-blob decorations
    ========================================================= */
    .mission-band{position:relative; overflow:hidden; text-align:center;}
    .mission-band .quote-mark{
        width:56px; height:56px; margin:0 auto; border-radius:50%;
        background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.2);
        display:flex; align-items:center; justify-content:center; color:var(--blue);
    }
    .mission-band .quote-mark .icon-svg{width:24px; height:24px;}
    .mission-quote{
        font-style:italic; font-weight:600; color:#fff;
        font-size:clamp(1.3rem, 1rem + 1.4vw, 2.05rem);
        max-width:820px; margin:1.6rem auto 0; line-height:1.55;
    }
    .mission-cite{
        margin-top:1.8rem; font-weight:700; color:#bcd7ef; font-size:0.82rem;
        text-transform:uppercase; letter-spacing:.1em;
    }
    /* Decorative radial blobs reused from hero */
    .mission-band .hero-blob{
        position:absolute; border-radius:50%;
        background:radial-gradient(circle, rgba(30,109,181,0.4), transparent 70%);
        filter:blur(10px); pointer-events:none;
    }
    .mission-band .b1{width:420px; height:420px; top:-160px; right:-100px;}
    .mission-band .b2{width:300px; height:300px; bottom:-140px; left:-90px; opacity:.6;}

    /* =========================================================
    ABOUT PAGE — Timeline / Milestones
    Two-column alternating layout; collapses to single on mobile
    ========================================================= */
    .timeline{position:relative; max-width:900px; margin:3.2rem auto 0;}
    .timeline:before{
        content:""; position:absolute; left:50%; top:6px; bottom:6px; width:2px;
        background:repeating-linear-gradient(
            to bottom,
            rgba(30,109,181,0.35) 0,
            rgba(30,109,181,0.35) 8px,
            transparent 8px,
            transparent 16px
        );
        transform:translateX(-50%);
    }
    .timeline-item{position:relative; width:50%; padding:0 44px 56px;}
    .timeline-item:nth-child(odd){left:0; text-align:right;}
    .timeline-item:nth-child(even){left:50%; text-align:left;}
    .timeline-item:last-child{padding-bottom:0;}
    .timeline-dot{
        position:absolute; top:2px; width:16px; height:16px; border-radius:50%;
        background:var(--blue); border:4px solid #fff; box-shadow:0 0 0 3px rgba(30,109,181,0.22);
    }
    .timeline-item:nth-child(odd) .timeline-dot{right:-9px;}
    .timeline-item:nth-child(even) .timeline-dot{left:-9px;}
    .timeline-year{font-weight:800; color:var(--blue); font-size:1.3rem; display:block; margin-bottom:.3rem;}
    .timeline-content{
        background:#fff; border-radius:var(--radius); padding:1.5rem 1.7rem;
        box-shadow:var(--shadow-card); border:1px solid rgba(23,53,100,0.06);
        display:inline-block; max-width:380px;
    }
    .timeline-content h5{margin-bottom:.4rem;}
    .timeline-content p{margin:0; font-size:0.92rem;}
    /* Timeline — mobile: collapse to single column */
    @media (max-width:767.98px){
    .timeline:before{left:20px;}
    .timeline-item,
    .timeline-item:nth-child(odd),
    .timeline-item:nth-child(even){
        width:100%; left:0; text-align:left !important; padding:0 0 46px 54px;
    }
    .timeline-item:nth-child(odd) .timeline-dot,
    .timeline-item:nth-child(even) .timeline-dot{left:12px; right:auto;}
    .timeline-content{max-width:100%;}
    }

    /* =========================================================
    ABOUT PAGE — Stat Cards
    Circular icon + large number + label; used in "By The Numbers"
    ========================================================= */
    .stat-card{
        background:#fff; border-radius:var(--radius); padding:2rem 1.4rem; text-align:center; height:100%;
        box-shadow:var(--shadow-card); border:1px solid rgba(23,53,100,0.06);
        transition:transform .3s ease, border-color .3s ease;
    }
    .stat-card:hover{transform:translateY(-6px); border-color:var(--blue);}
    .stat-card .icon{
        width:52px; height:52px; border-radius:50%; margin:0 auto 1rem; color:#fff; background:var(--blue);
        display:flex; align-items:center; justify-content:center;
        box-shadow:0 10px 22px -10px rgba(30,109,181,0.7);
    }
    .stat-card .icon .icon-svg{width:22px; height:22px; stroke:#fff;}
    .stat-card .stat-num{font-size:2.1rem; font-weight:800; color:var(--ink); line-height:1.1;}
    .stat-card .stat-label{font-size:0.85rem; color:var(--gray); font-weight:600; margin-top:.35rem;}

    /* =========================================================
    ABOUT PAGE — Values / Core Principles
    Horizontal list rows with icon + heading + description
    ========================================================= */
    .value-row{display:flex; gap:1.3rem; align-items:flex-start; padding:1.5rem 0; border-bottom:1px solid rgba(23,53,100,0.08);}
    .value-row:last-child{border-bottom:none;}
    .value-icon{
        width:52px; height:52px; min-width:52px; border-radius:14px;
        background:linear-gradient(150deg, rgba(30,109,181,0.16), rgba(30,109,181,0.05));
        display:flex; align-items:center; justify-content:center; color:var(--blue);
    }
    .value-icon .icon{width:24px; height:24px;}
    .value-icon .icon .icon-svg{width:24px; height:24px;}
    .value-row h5{margin-bottom:.35rem;}
    .value-row p{margin:0; font-size:0.94rem;}

    /* =========================================================
    ABOUT PAGE — Image + Text Panel (Why Choose Us)
    Full-bleed image with floating corner badge
    ========================================================= */
    .about-panel-img{
        border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-soft);
        min-height:420px; position:relative;
    }
    .about-panel-img img{width:100%; height:100%; object-fit:cover; display:block; min-height:420px;}
    .about-panel-badge{
        position:absolute; right:18px; top:18px; background:#fff; color:var(--navy); border-radius:12px;
        padding:.7rem 1.1rem; font-weight:800; font-size:1.4rem; text-align:center;
        box-shadow:var(--shadow-card); line-height:1.1;
    }
    .about-panel-badge span{
        display:block; font-size:0.68rem; font-weight:700; color:var(--gray);
        text-transform:uppercase; letter-spacing:.06em; margin-top:.2rem;
    }

    /* =========================================================
    ABOUT PAGE — Service Area Strip
    Pill/chip list of served cities
    ========================================================= */
    .area-strip{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem;}
    .area-chip{
        display:inline-flex; align-items:center; gap:.5rem; background:#fff;
        border:1px solid rgba(23,53,100,0.1); border-radius:999px; padding:.55rem 1.1rem;
        font-size:0.86rem; font-weight:600; color:var(--ink); box-shadow:var(--shadow-card);
    }
    .area-chip .icon{width:15px; height:15px; color:var(--blue);}
    .area-chip .icon .icon-svg{width:15px; height:15px;}

    /* =========================================================
    CONTACT  PAGE — ADDITIONAL STYLES (page-specific, additive)
    ========================================================= */
    /* =========================== */
    /* SECTION: GRAY               */
    /* =========================== */
    .section-gray { background: var(--gray-light); }

    /* =========================== */
    /* CONTACT INFO CARDS          */
    /* =========================== */
    .contact-info-section { background: var(--gray-light); }

    .contact-info-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.4rem;
        margin-top: 2.6rem;
    }
    @media (max-width: 991px) { .contact-info-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px) { .contact-info-grid { grid-template-columns: 1fr; } }

    .contact-info-card {
        background: #fff;
        border-radius: var(--radius);
        padding: 2rem 1.6rem;
        text-align: center;
        border: 1px solid rgba(23, 53, 100, 0.06);
        box-shadow: var(--shadow-card);
        transition: transform .3s ease, box-shadow .3s ease;
    }
    .contact-info-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-soft); }
    .contact-info-card .ci-icon {
        width: 62px; height: 62px; border-radius: 16px;
        background: rgba(30, 109, 181, 0.10);
        color: var(--blue);
        display: flex; align-items: center; justify-content: center;
        margin: 0 auto 1.2rem;
    }
    .contact-info-card .ci-icon svg { width: 28px; height: 28px; }
    .contact-info-card h4 { font-size: 1.05rem; margin-bottom: .5rem; color: var(--ink); }
    .contact-info-card p { font-size: .88rem; margin: 0; line-height: 1.6; }
    .contact-info-card a { color: var(--blue); font-weight: 600; }
    .contact-info-card a:hover { color: var(--blue-deep); }

    /* =========================== */
    /* CONTACT FORM + MAP SECTION  */
    /* =========================== */
    .contact-main-section { background: #fff; }

    .contact-form-card {
        background: #fff;
        border-radius: 22px;
        border: 1px solid rgba(23, 53, 100, 0.08);
        box-shadow: var(--shadow-soft);
        padding: 2.8rem 2.5rem;
    }
    @media (max-width: 575px) { .contact-form-card { padding: 2rem 1.4rem; } }

    .contact-form-card h3 { margin-bottom: .4rem; }
    .contact-form-card .sub { font-size: .9rem; color: var(--gray); margin-bottom: 2rem; }

    /* Form elements */
    .form-label { font-size: 0.85rem; font-weight: 600; color: var(--ink); margin-bottom: .35rem; }
    .form-control, .form-select {
        font-family: 'Outfit', sans-serif;
        font-size: 0.95rem;
        font-weight: 500;
        color: var(--ink);
        background: #fff;
        border: 1.5px solid rgba(23, 53, 100, 0.18);
        border-radius: 10px;
        padding: .75rem 1rem;
        transition: border-color .25s ease, box-shadow .25s ease;
        width: 100%;
    }
    .form-control:focus, .form-select:focus {
        outline: none;
        border-color: var(--blue);
        background-color: #fff;
        box-shadow: 0 0 0 4px rgba(30, 109, 181, 0.14);
    }
    .form-control::placeholder { color: rgba(120, 120, 120, 0.6); }
    textarea.form-control { resize: vertical; min-height: 130px; }

    .form-group { margin-bottom: 1.2rem; }

    .form-note {
        font-size: 0.82rem; color: var(--gray);
        display: flex; align-items: center; gap: .4rem;
        margin-top: .5rem;
    }
    .form-note .icon { width: 15px; height: 15px; color: var(--blue); flex-shrink: 0; }

    #contactSuccess {
        display: none;
        background: rgba(30, 109, 181, 0.08);
        border: 1px solid rgba(30, 109, 181, 0.3);
        color: var(--blue-deep);
        border-radius: 10px;
        padding: 0.9rem 1.1rem;
        font-size: 0.9rem;
        font-weight: 600;
        margin-bottom: 1rem;
    }

    /* Map panel */
    .map-panel {
        border-radius: 22px;
        overflow: hidden;
        border: 1px solid rgba(23, 53, 100, 0.08);
        box-shadow: var(--shadow-card);
        display: flex;
        flex-direction: column;
        height: 100%;
        min-height: 520px;
    }
    .map-embed {
        flex: 1;
        background: var(--gray-light);
        position: relative;
        min-height: 340px;
    }
    .map-embed iframe {
        position: absolute; inset: 0;
        width: 100%; height: 100%;
        border: none;
        display: block;
    }
    .map-info {
        background: var(--navy-deep);
        padding: 1.8rem 2rem;
    }
    .map-info h5 { color: #fff; margin-bottom: 1.1rem; font-size: 1.05rem; }
    .map-detail {
        display: flex; align-items: flex-start; gap: .8rem;
        margin-bottom: .85rem;
    }
    .map-detail:last-child { margin-bottom: 0; }
    .map-detail .icon {
        width: 36px; height: 36px; min-width: 36px; border-radius: 50%;
        background: rgba(30, 109, 181, 0.25);
        color: #93c5fd;
        display: inline-flex; align-items: center; justify-content: center;
        flex-shrink: 0;
    }
    .map-detail .icon svg { width: 16px; height: 16px; stroke: #93c5fd; stroke-width: 2; }
    .map-detail-text small { display: block; color: rgba(255, 255, 255, 0.45); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .15rem; }
    .map-detail-text span { color: rgba(255, 255, 255, 0.9); font-size: .92rem; font-weight: 600; }
    .map-detail-text a { color: rgba(255, 255, 255, 0.9); font-weight: 600; font-size: .92rem; }
    .map-detail-text a:hover { color: #93c5fd; }

    /* =========================== */
    /* TRUST BADGES ROW            */
    /* =========================== */
    .trust-row-section { background: var(--gray-light); }

    .trust-badges-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.2rem;
        margin-top: 2rem;
    }
    .trust-badge {
        display: flex;
        gap: .8rem;
        background: #fff;
        border: 1px solid rgba(23, 53, 100, 0.08);
        border-radius: var(--radius);
        padding: 12px;
        box-shadow: var(--shadow-card);
        min-width: 200px;
        flex: 1;
        max-width: 280px;
    }
    @media (max-width: 575px) { .trust-badge { min-width: 100%; max-width: 100%; } }
    .trust-badge .tb-icon {
        width: 48px; height: 48px; min-width: 48px; border-radius: 12px;
        background: rgba(30, 109, 181, 0.10);
        color: var(--blue);
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
    }
    .trust-badge .tb-icon svg { width: 24px; height: 24px; }
    .trust-badge .tb-text strong { display: block; font-size: .95rem; color: var(--ink); font-weight: 700; }
    .trust-badge .tb-text span {
        font-size: 14px;
        color: var(--gray);
        line-height: normal !important;
        display: block;
    }

    /* =========================== */
    /* PROCESS STRIP               */
    /* =========================== */
    .process-strip {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
        background: #fff;
        border-radius: 18px;
        overflow: hidden;
        border: 1px solid rgba(23, 53, 100, 0.08);
        box-shadow: var(--shadow-card);
        margin-top: 2.8rem;
    }
    @media (max-width: 767px) { .process-strip { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px) { .process-strip { grid-template-columns: 1fr; } }

    .process-step {
        padding: 2rem 1.6rem;
        text-align: center;
        border-right: 1px solid rgba(23, 53, 100, 0.07);
        position: relative;
    }
    .process-step:last-child { border-right: none; }
    @media (max-width: 767px) {
        .process-step:nth-child(2n) { border-right: none; }
        .process-step { border-bottom: 1px solid rgba(23, 53, 100, 0.07); }
        .process-step:nth-last-child(-n+2) { border-bottom: none; }
        .process-step {
            padding: 10px;
        }
    }
    @media (max-width: 480px) {
        .process-step { border-right: none; border-bottom: 1px solid rgba(23, 53, 100, 0.07); }
        .process-step:last-child { border-bottom: none; }
    }
    .process-step .step-num {
        width: 38px; height: 38px; border-radius: 50%;
        background: var(--blue);
        color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: .85rem; font-weight: 800;
        margin: 0 auto .9rem;
    }
    .process-step h5 { font-size: .98rem; color: var(--ink); margin-bottom: .35rem; }
    .process-step p { font-size: .82rem; margin: 0; }

    /* =========================================================
    FAQ  PAGE — ADDITIONAL STYLES (page-specific, additive)
    ========================================================= */
    /* =========================== */
    /* QUICK CATEGORY NAV          */
    /* =========================== */
    .faq-quicknav-section { background: var(--gray-light); padding: 28px 0; border-top: 1px solid rgba(23,53,100,0.07); }
    .faq-quicknav {
        display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem;
    }
    .faq-quicknav a {
        display: inline-flex; align-items: center; gap: .55rem;
        background: #fff;
        border: 1.5px solid rgba(23, 53, 100, 0.12);
        border-radius: 999px;
        padding: .65rem 1.3rem;
        font-size: .88rem; font-weight: 600;
        color: var(--ink);
        transition: all .25s ease;
    }
    .faq-quicknav a .icon { width: 17px; height: 17px; color: var(--blue); }
    .faq-quicknav a:hover, .faq-quicknav a.is-active {
        border-color: var(--blue); background: rgba(30,109,181,0.08); color: var(--blue-deep);
        transform: translateY(-2px);
    }

    /* =========================== */
    /* FAQ CATEGORY SECTIONS       */
    /* =========================== */
    .faq-category-section { background: #fff; scroll-margin-top: 90px; }
    .faq-category-section:nth-of-type(even) { background: var(--gray-light); }

    .faq-cat-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 2.4rem; }
    .faq-cat-icon {
        width: 54px; height: 54px; min-width: 54px; border-radius: 16px;
        background: rgba(30, 109, 181, 0.10);
        color: var(--blue);
        display: flex; align-items: center; justify-content: center;
    }
    .faq-cat-icon .icon-svg { width: 26px; height: 26px; }
    .faq-cat-head h2 { margin-bottom: .2rem; }
    .faq-cat-head p { margin: 0; font-size: .92rem; }

    .faq-accordion { max-width: 860px; }
    .faq-item {
        background: #fff;
        border: 1px solid rgba(23, 53, 100, 0.08);
        border-radius: var(--radius);
        box-shadow: var(--shadow-card);
        margin-bottom: 1rem;
        overflow: hidden;
        transition: box-shadow .25s ease, border-color .25s ease;
    }
    .faq-item.is-open { border-color: rgba(30, 109, 181, 0.35); box-shadow: var(--shadow-soft); }
    .faq-question {
        width: 100%;
        display: flex; align-items: center; justify-content: space-between; gap: 1rem;
        background: transparent; border: none; text-align: left;
        padding: 1.3rem 1.6rem;
        cursor: pointer;
        font-family: 'Outfit', sans-serif;
        font-weight: 600; font-size: 1.02rem; color: var(--ink);
    }
    @media (max-width: 575px) { .faq-question { padding: 1.1rem 1.2rem; font-size: .96rem; } }
    .faq-question .fq-chev {
        width: 30px; height: 30px; min-width: 30px; border-radius: 50%;
        background: rgba(30, 109, 181, 0.10);
        color: var(--blue);
        display: flex; align-items: center; justify-content: center;
        transition: transform .3s ease, background .25s ease, color .25s ease;
    }
    .faq-question .fq-chev .icon-svg { width: 16px; height: 16px; }
    .faq-item.is-open .faq-question .fq-chev { transform: rotate(180deg); background: var(--blue); color: #fff; }
    .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height .35s ease;
    }
    .faq-answer-inner { padding: 0 1.6rem 1.5rem; }
    @media (max-width: 575px) { .faq-answer-inner { padding: 0 1.2rem 1.3rem; } }
    .faq-answer-inner p { margin: 0; font-size: .94rem; }

    /* BLOG PAGE CSS */
    .blog-pagination{
        display:flex;
        justify-content:center;
        margin-top:48px;
    }
    .blog-pagination ul{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
        list-style:none;
        margin:0;
        padding:0;
    }
    .blog-pagination li{
        display:flex;
    }
    .blog-pagination .page-numbers{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-width:42px;
        height:42px;
        padding:0 14px;
        border-radius:50px;
        background:var(--white);
        color:var(--navy);
        font-weight:600;
        font-size:14px;
        box-shadow:var(--shadow-card);
        transition:var(--transition);
    }
    .blog-pagination .page-numbers:hover{
        background:var(--blue);
        color:var(--white);
    }
    .blog-pagination .page-numbers.current{
        background:var(--blue);
        color:var(--white);
        box-shadow:none;
    }
    .blog-pagination .page-numbers.dots{
        background:transparent;
        box-shadow:none;
        color:var(--gray);
    }
    .blog-empty{
        padding:40px 0;
        color:var(--gray);
        font-size:16px;
    }
    .blog-body h5 a {
        font-family: 'Outfit', sans-serif;
        color: var(--ink);
        font-weight: 700;
        line-height: 1.18;
        letter-spacing: -0.01em;
    }
    .blog-body h5 a:hover {
        color: var(--bs-secondary);
    }

    .wpcf7 form .wpcf7-response-output {
        color: #000;
    }

/* =========================================
   NAVIGATION MENU
========================================= */

.navbar-nav > li {
    position: relative;
}

/* =========================================
   1ST LEVEL DROPDOWN
   Main Menu → Sub Menu
========================================= */

.navbar-nav > li > .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    margin: 0;
    padding: 10px 0;
    background: #fff;
    list-style: none;
    z-index: 9999;

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease,
        transform 0.25s ease;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

/* Show 1st-level dropdown */
.navbar-nav > li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* =========================================
   1ST LEVEL ARROW
   Main Menu → ↓
========================================= */

.navbar-nav > li.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}


/* =========================================
   DROPDOWN ITEMS
========================================= */

.navbar-nav .sub-menu li {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.navbar-nav .sub-menu li a {
    display: block;
    padding: 10px 18px;
    white-space: nowrap;
}


/* =========================================
   2ND LEVEL DROPDOWN
   Sub Menu → Third Menu
========================================= */

.navbar-nav .sub-menu .sub-menu {
    position: absolute;
    top: 0;
    left: 100%;

    min-width: 240px;

    margin: 0;
    padding: 10px 0;

    background: #fff;
    list-style: none;

    z-index: 10000;

    opacity: 0;
    visibility: hidden;

    transform: translateX(10px);

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease,
        transform 0.25s ease;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}


/* Show 2nd-level dropdown */
.navbar-nav .sub-menu li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}


/* =========================================
   2ND LEVEL ARROW
   Sub Menu → →
========================================= */

.navbar-nav .sub-menu li.menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

/* =========================================
   HOVER EFFECT
========================================= */

.navbar-nav .sub-menu li > a {
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.navbar-nav .sub-menu li > a:hover {
    background-color: #f5f5f5;
}


/* =========================================
   3RD LEVEL MENU
   If you have another nested level
========================================= */

.navbar-nav .sub-menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
}


/* =========================================
   MENU ITEMS WITH SUBMENU
========================================= */

.navbar-nav li.menu-item-has-children {
    position: relative;
}


/* =========================================
   DESKTOP ARROW
========================================= */

@media (min-width: 992px) {

    .navbar-nav > li.menu-item-has-children {
        position: relative;
    }

    .navbar-nav > li.menu-item-has-children > a {
        display: inline-flex;
        align-items: center;
        gap: 9px;
    }

    .submenu-toggle {
        display: none;
    }

    /* Main arrow */
    .navbar-nav > li.menu-item-has-children > a::after {
        content: "";
        width: 7px;
        height: 7px;

        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;

        transform: rotate(45deg);

        margin-top: -4px;

        transition: transform 0.25s ease;
    }

    /* Rotate */
    .navbar-nav > li.menu-item-has-children:hover > a::after {
        transform: rotate(225deg);
        margin-top: 4px;
    }


    /* Submenu arrow */
    .navbar-nav .sub-menu li.menu-item-has-children > a {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .navbar-nav .sub-menu li.menu-item-has-children > a::after {
        content: "";
        width: 7px;
        height: 7px;

        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;

        transform: rotate(-45deg);

        transition: transform 0.25s ease;
    }

    .navbar-nav .sub-menu li.menu-item-has-children:hover > a::after {
        transform: rotate(45deg);
    }

}


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

@media (max-width: 991.98px) {

    /* Parent menu item */
    .navbar-nav li.menu-item-has-children {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    /* Parent link */
    .navbar-nav li.menu-item-has-children > a {
        flex: 1 1 auto;
        width: auto;

        display: block;
        padding-right: 15px;
    }

    /* =====================================
       ARROW BUTTON
    ===================================== */

    .navbar-nav li.menu-item-has-children > .submenu-toggle {
        flex: 0 0 42px;

        width: 42px;
        height: 42px;

        padding: 0;
        margin: 0;

        border: 0;
        background: transparent;

        display: flex;
        align-items: center;
        justify-content: center;

        cursor: pointer;

        position: relative;
        z-index: 5;
    }


    /* Arrow itself */
    .navbar-nav li.menu-item-has-children > .submenu-toggle span {
        display: block;

        width: 8px;
        height: 8px;

        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;

        transform: rotate(45deg);

        transition: transform 0.25s ease;
    }


    /* =====================================
       OPEN ARROW
    ===================================== */

    .navbar-nav li.menu-item-has-children.submenu-open > .submenu-toggle span {
        transform: rotate(225deg);
    }


    /* =====================================
       SUBMENU
    ===================================== */

    .navbar-nav li.menu-item-has-children > .sub-menu {
        display: none;

        position: static;

        width: 100%;
        min-width: 100%;

        padding: 0 0 0 5px;
        margin: 0;

        background: transparent;

        box-shadow: none;

        opacity: 1;
        visibility: visible;
        transform: none;
    }


    /* Show submenu when opened */
    .navbar-nav li.menu-item-has-children.submenu-open > .sub-menu {
        display: block;
    }


    /* =====================================
       NESTED SUBMENU
    ===================================== */

    .navbar-nav .sub-menu li.menu-item-has-children {
        display: flex;
        flex-wrap: wrap;
    }

    .navbar-nav .sub-menu li.menu-item-has-children > a {
        flex: 1 1 auto;
        width: auto;

        display: block;
        padding-right: 15px;
    }


    /* Nested arrow */
    .navbar-nav .sub-menu li.menu-item-has-children > .submenu-toggle {
        flex: 0 0 42px;

        width: 42px;
        height: 42px;
    }


    /* Nested submenu */
    .navbar-nav .sub-menu li.menu-item-has-children > .sub-menu {
        width: 100%;
        padding-left: 15px;
    }


    /* =====================================
       REMOVE DESKTOP HOVER ON MOBILE
    ===================================== */

    .navbar-nav > li:hover > .sub-menu {
        display: none;
    }

    .navbar-nav > li.submenu-open:hover > .sub-menu {
        display: block;
    }

    .navbar-nav .sub-menu li:hover > .sub-menu {
        display: none;
    }

    .navbar-nav .sub-menu li.submenu-open:hover > .sub-menu {
        display: block;
    }

}