/* header CSS */

:root{
    --ink:#101B2D;
    --navy:#16294A;
    --steel:#2C4870;
    --paper:#F7F8FA;
    --line:#E4E8EF;
    --text:#33415C;
    --muted:#8592A6;
    --amber:#C89A45;
    --amber-dark:#A87F34;
    --white:#FFFFFF;
    --radius:6px;
    --speed:.28s;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',sans-serif;color:var(--text);}

/* ============ TOP STRIP ============ */
.top-strip{
    background:var(--ink);
    color:#CBD4E3;
    font-size:13px;
    padding:7px 24px;
    display:flex;
    justify-content:center;
    align-items:center;
    letter-spacing:.2px;
}
.top-strip a{
    color:#CBD4E3;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:7px;
    transition:color var(--speed);
}
.top-strip a:hover{color:var(--amber);}
.top-strip svg{width:14px;height:14px;flex:none;}

/* ============ MAIN HEADER BAR ============ */
.site-header{
    position:sticky;
    top:0;
    z-index:999;
    background:var(--white);
    border-bottom:1px solid var(--line);
    box-shadow:0 1px 0 rgba(16,27,45,.03);
}
.header-inner{
    max-width:1320px;
    margin:0 auto;
    padding:12px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

/* Logo (left) */
.brand-left{flex:none;display:flex;align-items:center;}
.brand-left .logo-mark{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:22px;
    color:var(--navy);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:9px;
}
.brand-left .logo-mark .dot{
    width:9px;height:9px;border-radius:50%;
    background:var(--amber);display:inline-block;
}
.brand-left img{height:38px;display:block;}
.brand-left img[data-fallback]{display:none;}

/* Right cluster: logo on top, CTA button below it */
.brand-right{
    flex:none;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
}
.brand-right .partner-mark{
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:14px;
    color:var(--steel);
    letter-spacing:.3px;
}
.brand-right img{height:26px;display:block;}
.btn-demo{
    background:var(--amber);
    color:var(--ink);
    border:none;
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:13.5px;
    padding:9px 18px;
    border-radius:var(--radius);
    cursor:pointer;
    white-space:nowrap;
    transition:background var(--speed), transform var(--speed);
}
.btn-demo:hover{background:var(--amber-dark);transform:translateY(-1px);}

/* ============ MAIN NAV ============ */
.main-nav{flex:1 1 auto;}
.nav-list{
    list-style:none;
    margin:0;padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
}
.nav-list > li{position:relative;}
.nav-list > li > a,
.nav-list > li > button.nav-toggle{
    display:flex;
    align-items:center;
    gap:5px;
    background:none;
    border:none;
    font-family:'Inter',sans-serif;
    font-size:14.5px;
    font-weight:500;
    color:var(--navy);
    text-decoration:none;
    padding:12px 14px;
    cursor:pointer;
    position:relative;
}
.nav-list > li > a::after,
.nav-list > li > button.nav-toggle::after{
    content:"";
    position:absolute;
    left:14px;right:14px;bottom:6px;
    height:2px;
    background:var(--amber);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform var(--speed);
}
.nav-list > li > a:hover::after,
.nav-list > li.open > button.nav-toggle::after{transform:scaleX(1);}
.nav-list > li > a:hover,
.nav-list > li > button.nav-toggle:hover{color:var(--amber-dark);}
.caret{
    width:9px;height:9px;
    border-right:1.6px solid currentColor;
    border-bottom:1.6px solid currentColor;
    transform:rotate(45deg);
    margin-top:-3px;
    transition:transform var(--speed);
}
.nav-list > li.open .caret{transform:rotate(-135deg);margin-top:2px;}

/* ---- Generic dropdown panel ---- */
.dropdown{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:0 16px 40px rgba(16,27,45,.12);
    padding:14px;
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity var(--speed), transform var(--speed), visibility var(--speed);
    z-index:50;
}
.nav-list > li.open > .dropdown{opacity:1;visibility:visible;transform:translateY(0);}

/* Services / Industries simple list dropdown */
.dropdown.list-panel{width:230px;padding:8px;}
.dropdown.list-panel a{
    display:block;
    padding:9px 12px;
    font-size:14px;
    color:var(--text);
    text-decoration:none;
    border-radius:4px;
    transition:background var(--speed), color var(--speed), padding-left var(--speed);
}
.dropdown.list-panel a:hover{background:var(--paper);color:var(--amber-dark);padding-left:16px;}

/* Products dropdown - 5 image tiles */
.dropdown.product-panel{
    width:560px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
}
.product-tile{
    display:flex;
    flex-direction:column;
    text-decoration:none;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
    transition:transform var(--speed), box-shadow var(--speed);
}
.product-tile:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(16,27,45,.12);}
.product-tile .thumb{
    height:74px;
    background:linear-gradient(135deg,var(--navy),var(--steel));
    display:flex;align-items:center;justify-content:center;
    color:var(--white);
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:12px;
}
.product-tile img{width:100%;height:74px;object-fit:cover;display:block;}
.product-tile span{
    font-size:12.5px;
    color:var(--text);
    padding:8px 8px;
    text-align:center;
}

/* ---- States mega menu ---- */
.dropdown.states-panel{
    width:620px;
    max-height:380px;
    display:flex;
    padding:0;
    overflow:hidden;
}
.states-col{
    width:260px;
    max-height:380px;
    overflow-y:auto;
    padding:10px;
    border-right:1px solid var(--line);
}
.states-col::-webkit-scrollbar{width:6px;}
.states-col::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
.state-item{position:relative;}
.state-item > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:8px 10px;
    font-size:13.5px;
    color:var(--text);
    text-decoration:none;
    border-radius:4px;
    transition:background var(--speed), color var(--speed);
}
.state-item > a::after{
    content:"";
    width:6px;height:6px;
    border-right:1.5px solid var(--muted);
    border-bottom:1.5px solid var(--muted);
    transform:rotate(-45deg);
    flex:none;
}
.state-item:hover > a,
.state-item.active > a{background:var(--paper);color:var(--amber-dark);}
.state-flyout{
    width:340px;
    padding:16px;
    display:none;
    flex-direction:column;
    justify-content:flex-start;
}
.state-flyout.show{display:flex;}
.state-flyout h4{
    margin:0 0 10px;
    font-family:'Poppins',sans-serif;
    font-size:15px;
    color:var(--navy);
}
.state-flyout a.capital-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    color:var(--text);
    font-size:14px;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    width:fit-content;
    transition:border-color var(--speed), color var(--speed), background var(--speed);
}
.state-flyout a.capital-link:hover{border-color:var(--amber);color:var(--amber-dark);background:var(--paper);}
.state-flyout p{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.5;}

/* ============ HAMBURGER (mobile) ============ */
.hamburger{
    display:none;
    flex:none;
    width:38px;height:38px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--white);
    cursor:pointer;
    position:relative;
}
.hamburger span{
    position:absolute;left:9px;right:9px;height:2px;background:var(--navy);
    transition:transform var(--speed), opacity var(--speed), top var(--speed);
}
.hamburger span:nth-child(1){top:12px;}
.hamburger span:nth-child(2){top:18px;}
.hamburger span:nth-child(3){top:24px;}
.hamburger.active span:nth-child(1){top:18px;transform:rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){top:18px;transform:rotate(-45deg);}

/* ============ RESPONSIVE ============ */
@media (max-width:992px){
    .hamburger{display:block;}
    .main-nav{
        position:fixed;
        top:0;right:0;
        width:min(340px,86vw);
        height:100vh;
        background:var(--white);
        box-shadow:-12px 0 30px rgba(16,27,45,.15);
        transform:translateX(100%);
        transition:transform var(--speed);
        overflow-y:auto;
        padding:70px 0 24px;
        z-index:998;
    }
    .main-nav.open{transform:translateX(0);}
    .nav-list{flex-direction:column;align-items:stretch;gap:0;}
    .nav-list > li{border-bottom:1px solid var(--line);}
    .nav-list > li > a,
    .nav-list > li > button.nav-toggle{
        width:100%;padding:14px 22px;justify-content:space-between;font-size:15px;
    }
    .nav-list > li > a::after,
    .nav-list > li > button.nav-toggle::after{display:none;}

    .dropdown{
        position:static;
        opacity:1;visibility:visible;transform:none;
        display:none;
        width:100% !important;
        box-shadow:none;border:none;border-radius:0;
        background:var(--paper);
        max-height:none;
        flex-direction:column;
        grid-template-columns:1fr 1fr;
    }
    .nav-list > li.open > .dropdown{display:flex;}
    .dropdown.product-panel.open,
    .nav-list > li.open > .dropdown.product-panel{display:grid;}

    .dropdown.states-panel{flex-direction:column;max-height:none;}
    .states-col{width:100%;max-height:none;border-right:none;overflow:visible;}
    .state-flyout{width:100%;border-top:1px solid var(--line);}

    .overlay-bg{
        content:"";position:fixed;inset:0;background:rgba(16,27,45,.45);
        opacity:0;visibility:hidden;transition:opacity var(--speed);z-index:997;
    }
    .overlay-bg.show{opacity:1;visibility:visible;}

    .header-inner{padding:10px 16px;}
    .brand-right .partner-mark{display:none;}
}
@media (min-width:993px){
    .overlay-bg{display:none;}
}