/* === Fullscreen Menu (desktop ≥992px) === */
@media (min-width: 992px) {

    :root {
        --brand: #ED5A00;
        --bg-light: #F3F3F3;
        --text-dark: #111;
        --gray-1: #6F6F6F;
        --gray-2: #8B8B8B;
    }

    /* Hide default desktop nav */
    .desk-header .navbar-collapse,
    .desk-header #navbarTogglerDemo03,
    .desk-header .navbar .navbar-nav {
        display: none !important;
    }

    .desk-header {
        /* floats on top of the hero so the bar never turns white */
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 88px;
        /* real bar height – change only here if needed */
        z-index: 99990;
        /* stays above everything, incl. overlay */
        background: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    .vw-no-scroll .desk-header {
        position: fixed;
        inset: 0 0 auto 0;
        width: 100%;
        height: 100%;
    }

    .desk-header .navbar,
    .desk-header .container-fluid {
        background: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    /* Space for toggle + theme button */
    .desk-header .home-contact-link {
        width: 140px;
        min-width: 140px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
    }

    /* Header toggle + Close share the base style */
    .vw-menu-toggle,
    .vw-fs-close {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        border: 0;
        border-radius: 9999px;
        font-weight: 700;
        line-height: 1;
        background: var(--brand);
        color: #fff;
        cursor: pointer;
    }

    .desk-header .home-contact-link .vw-menu-toggle {
        width: 140px;
        height: 45px;
        font-size: 18px;
        padding: 12px 22px;
        font-family: 'Saans-Regular', 'Saans', sans-serif;
    }

    .vw-fs-close {
        padding: 10px 18px;
    }

    /* When overlay is open, only the right corner area is clickable */
    .desk-header.vw-menu-open {
        pointer-events: none;
    }

    .desk-header.vw-menu-open .home-contact-link,
    .desk-header.vw-menu-open .home-contact-link .vw-menu-toggle {
        pointer-events: auto;
    }
	
	.desk-header.vw-menu-open .navbar-brand {
        pointer-events: auto;
    }

    /* Prevent layout shift when locking scroll */
    body.vw-no-scroll {
        overflow: hidden;
        padding-right: var(--vw-scrollbar, 0px);
    }

    /* Overlay root (supports #id or .class) */
    :is(#vw-fs-menu, .vw-fs-menu) {
        position: fixed;
        inset: 0;
        z-index: 99980;
        background: var(--bg-light);
        display: grid;
        grid-template-rows: 1fr auto;
        opacity: 0;
        pointer-events: none;
        transition: opacity .25s ease;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    :is(#vw-fs-menu, .vw-fs-menu):is([aria-hidden="false"], .is-open) {
        opacity: 1;
        pointer-events: auto;
    }

    :is(#vw-fs-menu, .vw-fs-menu)[hidden] {
        display: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* Inner layout + background shapes */
    :is(#vw-fs-menu, .vw-fs-menu) .vw-fs-menu__inner {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        gap: 8rem;
        padding: 6rem 7rem 2rem;
    }

    :is(#vw-fs-menu, .vw-fs-menu) .fs-bg-left,
    :is(#vw-fs-menu, .vw-fs-menu) .fs-bg-right {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
    }

    :is(#vw-fs-menu, .vw-fs-menu) .fs-bg-left {
        background: rgba(255, 255, 255, .92);
        border-radius: 0 8rem 0 0;
        transform: rotateZ(35deg) scale(1.6) translateX(-55%) translateY(30%);
    }

    :is(#vw-fs-menu, .vw-fs-menu) .fs-bg-right {
        background: linear-gradient(125deg, transparent 0 65%, rgba(255, 255, 255, .92) 65%);
    }

    /* Tabs (left column) */
    :is(#vw-fs-menu, .vw-fs-menu) .vw-fs-menu__tabs {
        position: relative;
        z-index: 1;
    }

    .vw-tab {
        display: block;
        width: 100%;
        text-align: left;
        border: 0;
        background: none;
        cursor: pointer;
        font-weight: 500;
        color: #8B8B8B;
        padding: .35em 0;
        font-size: clamp(28px, 3.2vw, 56px);
        line-height: 1.1;
        transition: color .18s ease, transform .12s ease;
    }

    .vw-tab.is-active {
        color: var(--text-dark);
        font-weight: 600;
    }

    .vw-tab:focus-visible {
        outline: none;
    }

    /* Subtle hover only when not active (light theme) */
    .vw-tab:hover:not(.is-active),
    .vw-tab:focus-visible:not(.is-active) {
        color: #1F1F1F;
        transform: translateX(2px);
    }

    /* Link-style tabs (top-level items that navigate directly) */
    .vw-tab.vw-tab--link {
        text-decoration: none;
    }

    /* Panels (right column) */
    :is(#vw-fs-menu, .vw-fs-menu) .vw-fs-menu__panelwrap {
        position: relative;
        z-index: 1;
        padding-left: clamp(20px, 2.2vw, 48px);
    }

    .vw-panel {
        display: none;
    }

    .vw-panel.is-active {
        display: block;
    }

    .vw-sublist {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .vw-sublist li {
        margin: .4rem 0;
    }

    .vw-panel .vw-sublist a {
        text-decoration: none;
        font-family: 'Saans-Regular', 'Saans', sans-serif;
        font-weight: 400;
        font-size: 20px;
        color: var(--gray-1);
        transition: color .18s ease;
    }

    .vw-panel .vw-sublist a:hover,
    .vw-panel .vw-sublist a:focus-visible {
        color: #1F1F1F;
        text-decoration: none;
        outline: none;
    }

    /* First item design accent (light) */
    .vw-panel.is-active .vw-sublist li:first-child>a {
        color: #2A2A2A;
        font-weight: 500;
    }

    /* Current page (light) */
    .vw-panel .vw-sublist li.is-current>a {
        font-weight: 600;
        color: #232323;
        letter-spacing: .003em;
        text-decoration: none;
    }

    .vw-panel.is-active .vw-sublist li.is-current:first-child>a {
        color: #232323;
        font-weight: 600;
    }

    /* If there is any current item, don't keep the “first is bold by default” (light). Exclude when first IS current. */
    .vw-panel.is-active.has-current .vw-sublist li:first-child:not(.is-current)>a {
        color: var(--gray-1);
        font-weight: 400;
    }

    /* Allow first to re-highlight on hover even when has-current (light) */
    .vw-panel.is-active.has-current .vw-sublist li:first-child>a:hover,
    .vw-panel.is-active.has-current .vw-sublist li:first-child>a:focus-visible {
        color: #1F1F1F;
        font-weight: 500;
    }

    /* Soften current ONLY when a real link is hovered/focused (light) */
    :is(#vw-fs-menu, .vw-fs-menu):not(.is-dark) .vw-panel .vw-sublist:has(> li > a:hover, > li > a:focus-visible) li.is-current>a {
        color: var(--gray-1);
        font-weight: 400;
    }

    /* Actions (top-right) */
    .vw-fs-menu__actions {
        position: absolute;
        top: 18px;
        right: 18px;
        display: flex;
        align-items: center;
        gap: 10px;
        z-index: 3;
    }

    /* Theme toggle */
    .vw-theme-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 45px;
        height: 45px;
        border-radius: 9999px;
        border: 1px solid rgba(17, 17, 17, .08);
        background: rgba(255, 255, 255, .72);
        color: var(--text-dark);
        box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
        backdrop-filter: saturate(115%) blur(6px);
        -webkit-backdrop-filter: saturate(115%) blur(6px);
        transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .05s ease;
        line-height: 1;
    }

    .vw-theme-toggle:hover {
        background: rgba(255, 255, 255, .85);
        box-shadow: 0 3px 14px rgba(0, 0, 0, .10);
    }

    .vw-theme-toggle:active {
        transform: translateY(.5px);
    }

    .vw-theme-toggle:focus-visible {
        outline: 0;
        box-shadow: 0 0 0 2px rgba(237, 90, 0, .45), 0 3px 14px rgba(0, 0, 0, .10);
    }

    .vw-theme-toggle[aria-pressed="true"] {
        background: rgba(255, 255, 255, .10);
        border-color: rgba(255, 255, 255, .18);
        color: #f2f2f3;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05), 0 2px 10px rgba(0, 0, 0, .18);
    }

    .vw-theme-toggle[aria-pressed="true"]:hover {
        background: rgba(255, 255, 255, .16);
    }

    /* Footer */
    .vw-fs-menu__footer {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        z-index: 10;
        position: fixed;
        bottom: 4rem;
        right: 8rem;
    }

    .vw-fs-menu__rule {
        align-self: stretch;
        height: 1px;
        border: 0;
        background: #D9D9D9;
        margin: 0 0 1.5rem;
    }

    .vw-connect {
        display: inline-block;
        white-space: nowrap;
        text-decoration: none;
        font-family: 'Saans-Regular', 'Saans', sans-serif;
        font-weight: 600;
        font-size: clamp(36px, 4.2vw, 88px);
        line-height: 1.05;
        color: var(--brand);
    }

    /* =======================
     Dark theme overrides
     ======================= */
    :is(#vw-fs-menu, .vw-fs-menu).is-dark {
        background: #1D1718;
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .fs-bg-left {
        background: #1B1616;
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .fs-bg-right {
        background: linear-gradient(125deg, transparent 0 65%, #1B1616 65%);
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-tab {
        color: #9C9C9E;
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-tab.is-active {
        color: #F2F2F3;
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-tab:hover:not(.is-active),
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-tab:focus-visible:not(.is-active) {
        color: #F2F2F3;
        transform: translateX(2px);
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel .vw-sublist a {
        color: #A8A8AA;
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel .vw-sublist a:hover,
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel .vw-sublist a:focus-visible {
        color: #FFFFFF;
    }

    /* First item design accent (dark) */
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel.is-active .vw-sublist li:first-child>a {
        color: #FFFFFF;
        font-weight: 500;
    }

    /* Current page (dark) */
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel .vw-sublist li.is-current>a {
        color: #FFFFFF;
        font-weight: 500;
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel.is-active .vw-sublist li.is-current:first-child>a {
        color: #FFFFFF;
        font-weight: 600;
    }

    /* If there is any current item, don't keep the “first is bold” (dark). Exclude when first IS current. */
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel.is-active.has-current .vw-sublist li:first-child:not(.is-current)>a {
        color: #A8A8AA;
        font-weight: 400;
    }

    /* Allow first to re-highlight on hover even when has-current (dark) */
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel.is-active.has-current .vw-sublist li:first-child>a:hover,
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel.is-active.has-current .vw-sublist li:first-child>a:focus-visible {
        color: #FFFFFF;
        font-weight: 500;
    }

    /* Soften current ONLY when a real link is hovered/focused (dark) */
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel .vw-sublist:has(> li > a:hover, > li > a:focus-visible) li.is-current>a {
        color: #A8A8AA;
        font-weight: 400;
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-fs-menu__rule {
        background: rgba(255, 255, 255, .18);
    }

    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-theme-toggle {
        background: rgba(0, 0, 0, .35);
        border-color: rgba(255, 255, 255, .25);
        color: #fff;
    }

    /* Dark: if another link in the list is hovered/focused,
    dim the current FIRST item so it doesn't stay highlighted */
    :is(#vw-fs-menu, .vw-fs-menu).is-dark .vw-panel .vw-sublist:has(> li:not(.is-current) > a:hover, > li:not(.is-current) > a:focus-visible) li.is-current:first-child>a {
        color: #A8A8AA;
        font-weight: 400;
    }
	
	/* === “Let’s Connect ↗” === */
    .vw-connect,
    .vw-connect:hover,
    .vw-connect:focus-visible {
        color: var(--brand);
        /* #ED5A00 by default */
    }

    /* icon only scales on hover / focus */
    .vw-connect__icon {
        margin-left: -0.15em;
        width: 1.15em;
        height: 1.15em;
        flex: 0 0 auto;
        transition: transform .15s ease;
    }

    .vw-connect:hover .vw-connect__icon,
    .vw-connect:focus-visible .vw-connect__icon {
        transform: translate(2px, -2px) scale(1.08);
    }

}