/* =========================================================
   HEADER
   ========================================================= */
.site-topbar{
    background:var(--color-deep);
    color:#b9c8d8;
    font-size:14px;
}

.site-topbar__inner{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.site-topbar__text{
    display:flex;
    gap:12px;
    align-items:center;
}

.site-topbar__dot{
    color:#6f8299;
}

.site-topbar__social{
    display:flex;
    gap:14px;
}

.site-topbar__social a{
    color:#dce6ef;
}

.site-topbar__social a:hover{
    color:var(--color-gold);
}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
    position:relative;
    background:var(--color-white);
    border-bottom:1px solid var(--color-line);
    z-index:300;
}
.site-header__inner{
    min-height:108px;
    display:flex;
    align-items:center;
    gap:10px;
}
/* Slightly larger logo */
.site-logo{
    width:90px;
    height:90px;
    object-fit:contain;
    flex:0 0 auto;
}

/* =========================================================
   VERITAS ASSURANCE BRAND
   VERITAS = line 1
   ASSURANCE = line 2
   Both have identical width
   ========================================================= */
.site-brand{
    display:flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
}

.va-brand-text{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    width:250px;
}
.va-brand-text strong{
    display:block;
    width:150px;
    color:var(--color-navy);
    font-family:var(--font-heading);
    font-size:18px;
    line-height:.92;
    letter-spacing:.17em;
    font-weight:800;
    white-space:nowrap;
}

.va-brand-text .va-brand-assurance{
    display:block;
    width:150px;
    margin-top:4px;
    color:var(--color-navy);
    font-family:var(--font-heading);
    font-size:14px;
    line-height:.92;
    letter-spacing:.17em;
    font-weight:800;
    white-space:nowrap;
}

.va-brand-text small{
    display:block;
    width:150px;
    margin-top:9px;
    color:#6d7e92;
    font-size:12px;
    line-height:1;
    letter-spacing:.17em;
    white-space:nowrap;
}

/* =========================================================
   NAVIGATION
   Reduced horizontal spacing
   ========================================================= */
.site-navigation{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    justify-content:stretch;
    gap:18px;
    flex:1 1 auto;
    min-width:0;
    margin-left:10px;
    overflow:visible;
}
.site-navigation__links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    min-width:0;
    overflow:visible;
    flex:1 1 auto;
}
.site-navigation__links>a,
.site-navigation__trigger{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:var(--color-navy);
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
    padding-left:0;
    padding-right:0;
    flex:0 0 auto;
}
.site-navigation__links>a:hover,
.site-navigation__trigger:hover{
    color:var(--color-blue);
}

.site-navigation__tools{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    flex:0 0 auto;
    position:static;
    z-index:auto;
}
.site-navigation__search{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    flex:0 0 52px;
    border:1px solid #d7e0e9;
    border-radius:50%;
    background:var(--color-white);
    color:var(--color-navy);
    font-size:20px;
    line-height:1;
    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.site-navigation__search:hover{
    background:#f4f8fb;
    border-color:var(--color-blue);
    color:var(--color-blue);
    transform:translateY(-1px);
}
.site-navigation__quote{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:58px;
    padding:0 22px;
    margin-left:0;
    background:var(--color-gold);
    color:var(--color-deep);
    font-size:14px;
    font-weight:900;
    white-space:nowrap;
    position:static;
    flex:0 0 auto;
}
.site-mobile-toggle{
    display:none;
    border:0;
    background:none;
    color:var(--color-navy);
    font-size:26px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1250px){

    .site-header__inner{
        gap:14px;
    }

    .site-logo{
        width:68px;
        height:68px;
    }

    .va-brand-text{
        width:260px;
    }

    .va-brand-text strong,
    .va-brand-text .va-brand-assurance,
    .va-brand-text small{
        width:260px;
    }

    .va-brand-text strong,
    .va-brand-text .va-brand-assurance{
        font-size:27px;
    }

    .site-navigation{
        gap:5px;
    }

    .site-navigation__links{
        gap:11px;
    }

    .site-navigation__quote{
        padding-left:14px;
        padding-right:14px;
    }
}

@media(max-width:980px){

    .site-header__inner{
        position:relative;
        min-height:82px;
    }

    .site-logo{
        width:58px;
        height:58px;
    }

    .va-brand-text{
        width:auto;
        min-width:0;
    }

    .va-brand-text strong,
    .va-brand-text .va-brand-assurance{
        width:auto;
        max-width:100%;
        font-size:24px;
    }

    .va-brand-text small{
        width:auto;
        max-width:100%;
        font-size:14px;
    }

    .site-navigation{
        display:none;
    }

    .site-navigation.is-open{
        position:absolute;
        left:0;
        right:0;
        top:100%;
        width:100%;
        display:block;
        background:var(--color-white);
        border-top:1px solid var(--color-line);
        border-bottom:1px solid var(--color-line);
        padding:10px 20px 18px;
        margin:0;
        z-index:1000;
        box-shadow:0 18px 40px rgba(3,21,47,.14);
    }

    .site-navigation__links{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        width:100%;
        min-width:0;
        overflow:visible;
        white-space:normal;
    }

    .site-navigation__links > a,
    .site-navigation__links > .mega > .mega__trigger{
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        min-height:48px;
        padding:12px 4px;
        margin:0;
        font-size:16px;
        line-height:1.3;
        white-space:normal;
        border-bottom:1px solid #e7edf3;
    }

    .site-navigation__links > .mega{
        width:100%;
        position:relative;
    }

    .site-navigation__links > .mega--services > .mega__panel--services,
    .site-navigation__links > .mega--industries > .mega__panel{
        display:none !important;
    }

    .site-navigation__tools{
        display:flex !important;
        align-items:center;
        justify-content:flex-end;
        gap:12px;
        width:100%;
        min-width:0;
        margin:14px 0 0;
    }

    .site-navigation__search{
        width:44px !important;
        height:44px !important;
        flex:0 0 44px !important;
    }

    .site-navigation__quote{
        min-height:52px;
        padding:0 20px;
        font-size:16px;
    }

    .site-mobile-toggle{
        display:block;
        margin-left:auto;
        flex:0 0 auto;
    }
}
@media(max-width:600px){

    .site-topbar__text{
        display:flex;
        align-items:center;
        gap:8px;
        width:100%;
        min-width:0;
        font-size:14px;
        line-height:1.3;
    }

    .site-topbar__text span{
        min-width:0;
    }

    .site-topbar__text span:nth-child(2),
    .site-topbar__dot{
        display:none;
    }

    .site-topbar__inner{
        min-height:42px;
        padding:6px 0;
    }

    .site-logo{
        width:50px;
        height:50px;
    }

    .va-brand-text{
        min-width:0;
    }

    .va-brand-text strong,
    .va-brand-text .va-brand-assurance{
        font-size:20px;
        letter-spacing:.15em;
        line-height:.95;
        white-space:nowrap;
    }

    .va-brand-text small{
        margin-top:7px;
        font-size:14px;
        letter-spacing:.13em;
        white-space:nowrap;
    }

    .site-header__inner{
        min-height:76px;
        gap:8px;
    }

    .site-navigation.is-open{
        top:100%;
        padding:8px 16px 16px;
    }

    .site-navigation__links > a,
    .site-navigation__links > .mega > .mega__trigger{
        min-height:46px;
        padding:11px 2px;
        font-size:16px;
    }

    .site-navigation__tools{
        gap:10px;
        margin-top:12px;
    }

    .site-navigation__search{
        width:42px !important;
        height:42px !important;
        flex-basis:42px !important;
    }

    .site-navigation__quote{
        min-height:50px;
        padding:0 18px;
        font-size:15px;
    }
}