/**
 * Enterprise header component. Values deliberately consume theme tokens only.
 * Header begins transparent on the front page and receives its solid state via JS.
 */
.avc-topbar { position: relative; z-index: 30; color: var(--avc-surface); background: var(--avc-primary); font-size: var(--avc-text-sm, .8125rem); }
.avc-topbar__inner { display: flex; min-height: var(--avc-topbar-height, 2.25rem); align-items: center; justify-content: space-between; gap: var(--avc-space-2); }.avc-topbar__message { margin: 0; }.avc-topbar__link { color: inherit; font-weight: var(--avc-weight-semibold, 600); }
.avc-header { position: sticky; z-index: 30; top: 0; transition: background-color var(--avc-transition, 180ms ease), box-shadow var(--avc-transition, 180ms ease); background: var(--avc-surface); box-shadow: var(--avc-header-shadow, 0 1px 0 var(--avc-border)); }.avc-header--transparent { background: var(--avc-header-transparent, transparent); box-shadow: none; }.avc-header--scrolled { background: var(--avc-surface); box-shadow: var(--avc-shadow); }
.avc-header__inner { display: flex; min-height: var(--avc-header-height, 5rem); align-items: center; gap: var(--avc-space-2); }.avc-header__brand { flex: 0 0 auto; }.avc-header .custom-logo-link { display: block; max-width: var(--avc-logo-width, 10.75rem); }.avc-header .custom-logo, .avc-header__logo { display: block; width: auto; max-width: var(--avc-logo-width, 10.75rem); height: auto; max-height: var(--avc-logo-height, 3.5rem); }
.avc-header__nav { display: none; margin-left: auto; }.avc-header__menu, .avc-mega-menu__list, .avc-mobile-menu__list { padding: 0; margin: 0; list-style: none; }.avc-header__menu { display: flex; align-items: center; gap: var(--avc-space-1); }.avc-header__menu a { display: block; padding: var(--avc-space-1) var(--avc-space-2); color: var(--avc-primary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-header__menu a:hover, .avc-header__menu .current-menu-item > a { color: var(--avc-secondary); }
.avc-header__actions { display: flex; align-items: center; gap: var(--avc-space-1); margin-left: auto; }.avc-header__icon-button, .avc-header__menu-button { display: grid; width: var(--avc-control-size, 2.75rem); height: var(--avc-control-size, 2.75rem); place-items: center; padding: 0; border: 0; border-radius: var(--avc-radius); color: var(--avc-primary); background: transparent; cursor: pointer; font-size: var(--avc-icon-size, 1.5rem); }.avc-header__icon-button:hover, .avc-header__menu-button:hover { background: var(--avc-surface-alt); }.avc-button { display: inline-flex; min-height: var(--avc-control-size, 2.75rem); align-items: center; justify-content: center; padding: var(--avc-space-1) var(--avc-space-2); border: var(--avc-button-border, 1px solid transparent); border-radius: var(--avc-radius); font-weight: var(--avc-weight-semibold, 600); line-height: 1.2; text-align: center; text-decoration: none; }.avc-button--consultation { color: var(--avc-button-on-accent, var(--avc-surface)); background: var(--avc-accent); }.avc-button--consultation:hover { color: var(--avc-button-on-accent, var(--avc-surface)); background: var(--avc-accent-hover, var(--avc-highlight)); }
.avc-mega-menu { position: absolute; z-index: 20; top: 100%; right: 0; left: 0; border-top: var(--avc-mega-border, 1px solid var(--avc-border)); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-mega-menu__inner { padding-block: var(--avc-space-4); }.avc-mega-menu__eyebrow { margin: 0 0 var(--avc-space-2); color: var(--avc-secondary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-transform: uppercase; letter-spacing: var(--avc-tracking, .08em); }.avc-mega-menu__list { display: grid; gap: var(--avc-space-1); grid-template-columns: repeat(auto-fit, minmax(var(--avc-mega-item-min, 12rem), 1fr)); }.avc-mega-menu__list a { display: block; padding: var(--avc-space-1); color: var(--avc-primary); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-mega-menu__list a:hover { color: var(--avc-secondary); background: var(--avc-surface-alt); }
.avc-mobile-menu { position: fixed; z-index: 60; inset: 0; pointer-events: none; }.avc-mobile-menu--open { pointer-events: auto; }.avc-mobile-menu__backdrop { position: absolute; inset: 0; opacity: 0; background: var(--avc-overlay, rgb(21 33 59 / 65%)); transition: opacity var(--avc-transition, 180ms ease); }.avc-mobile-menu--open .avc-mobile-menu__backdrop { opacity: 1; }.avc-mobile-menu__panel { position: relative; display: flex; width: min(var(--avc-drawer-width, 22rem), 88vw); height: 100%; flex-direction: column; padding: var(--avc-space-3); overflow-y: auto; transform: translateX(-100%); color: var(--avc-ink); background: var(--avc-surface); transition: transform var(--avc-transition, 180ms ease); }.avc-mobile-menu--open .avc-mobile-menu__panel { transform: translateX(0); }.avc-mobile-menu__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: var(--avc-space-2); border-bottom: var(--avc-mobile-border, 1px solid var(--avc-border)); }.avc-mobile-menu__title { color: var(--avc-primary); font-family: var(--avc-font-heading); font-weight: var(--avc-weight-semibold, 600); }.avc-mobile-menu__close, .avc-mobile-menu__submenu-toggle, .avc-search__close { border: 0; color: var(--avc-primary); background: transparent; cursor: pointer; }.avc-mobile-menu__close, .avc-search__close { font-size: var(--avc-close-size, 2rem); }.avc-mobile-menu__nav { margin-top: var(--avc-space-2); }.avc-mobile-menu__list a { display: block; padding: var(--avc-space-1) 0; color: var(--avc-primary); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-mobile-menu__list .menu-item-has-children { display: grid; grid-template-columns: 1fr auto; align-items: start; }.avc-mobile-menu__list .sub-menu { display: none; grid-column: 1 / -1; padding: 0 0 0 var(--avc-space-2); margin: 0; list-style: none; }.avc-mobile-menu__list .sub-menu--open { display: block; }.avc-mobile-menu__submenu-toggle { min-width: var(--avc-control-size, 2.75rem); min-height: var(--avc-control-size, 2.75rem); }.avc-mobile-menu__cta { margin-top: auto; }
.avc-search { position: fixed; z-index: 70; inset: 0; display: grid; place-items: start center; padding: var(--avc-space-4) var(--avc-space-2); }.avc-search__backdrop { position: absolute; inset: 0; background: var(--avc-overlay, rgb(21 33 59 / 65%)); }.avc-search__panel { position: relative; width: min(var(--avc-search-width, 42rem), 100%); padding: var(--avc-space-3); border-radius: var(--avc-radius); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-search__close { display: block; margin-left: auto; }.avc-search .search-form { display: flex; gap: var(--avc-space-1); }.avc-search .search-field { width: 100%; min-height: var(--avc-control-size, 2.75rem); padding-inline: var(--avc-space-1); border: var(--avc-input-border, 1px solid var(--avc-border)); border-radius: var(--avc-radius); }.avc-search .search-submit { min-height: var(--avc-control-size, 2.75rem); padding-inline: var(--avc-space-2); border: 0; border-radius: var(--avc-radius); color: var(--avc-button-on-accent, var(--avc-surface)); background: var(--avc-accent); cursor: pointer; }
body.avc-scroll-locked { overflow: hidden; }
@media (min-width: 64rem) { .avc-header__nav { display: block; }.avc-header__menu-button { display: none; }.avc-header__actions { margin-left: var(--avc-space-1); }.avc-mobile-menu { display: none; } }
@media (max-width: 63.9375rem) { .avc-button--consultation { display: none; } }
@media (prefers-reduced-motion: reduce) { .avc-header, .avc-mobile-menu__backdrop, .avc-mobile-menu__panel { transition: none; } }
.avc-search[hidden] {
    display: none;
}

.avc-search {
    position: fixed;
    inset: 0;
    z-index: 9999;
}

body.search-open {
    overflow: hidden;
}

/* High-priority support action beside the existing consultation CTA. */
.urgent-support-menu { --urgent-menu-background: #f04444; --urgent-menu-hover: #d93636; --urgent-menu-text: #fff; --urgent-menu-glow: rgb(240 68 68 / 34%); position: relative; isolation: isolate; display: none; min-height: var(--avc-control-size, 2.875rem); align-items: center; justify-content: center; gap: .625rem; padding: .65rem 1.05rem; border: 1px solid rgb(255 255 255 / 28%); border-radius: calc(var(--avc-radius) + .125rem); color: var(--urgent-menu-text); background: linear-gradient(110deg, #bd1828 0%, #f04444 38%, #168947 62%, #087438 100%); background-size: 260% 100%; box-shadow: 0 .625rem 1.375rem var(--urgent-menu-glow), inset 0 1px 0 rgb(255 255 255 / 24%), inset 0 -1px 0 rgb(31 49 29 / 22%); font-size: var(--avc-text-sm, .9rem); font-weight: 700; letter-spacing: .01em; line-height: 1.2; text-align: center; text-decoration: none; text-shadow: 0 1px 1px rgb(25 25 25 / 32%); white-space: nowrap; animation: urgent-support-color-cycle 4s ease-in-out infinite alternate; transition: box-shadow 180ms ease, transform 180ms ease, filter 180ms ease; }
.urgent-support-menu:hover, .urgent-support-menu[aria-current="page"] { color: var(--urgent-menu-text); box-shadow: 0 .75rem 1.625rem rgb(31 148 81 / 40%), inset 0 1px 0 rgb(255 255 255 / 28%), inset 0 -1px 0 rgb(31 49 29 / 24%); filter: brightness(1.08) saturate(1.08); transform: translateY(-1px); }
.urgent-support-menu[aria-current="page"] { box-shadow: 0 0 0 2px rgb(255 255 255 / 72%), 0 .75rem 1.625rem rgb(240 68 68 / 42%), inset 0 1px 0 rgb(255 255 255 / 28%); }
.urgent-support-menu::after { position: absolute; z-index: -1; inset: 0; border: 2px solid rgb(240 68 68 / 68%); border-radius: inherit; content: ""; pointer-events: none; animation: urgent-support-button-pulse 2s ease-out infinite; }
.urgent-support-menu:active { transform: translateY(0); }
.urgent-support-menu:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px var(--avc-focus), 0 .75rem 1.625rem rgb(240 68 68 / 42%); }
.urgent-support-menu__status { position: relative; z-index: 1; width: .5625rem; height: .5625rem; flex: 0 0 .5625rem; border-radius: 50%; background: #fffafa; box-shadow: 0 0 0 2px rgb(255 255 255 / 18%); }
.urgent-support-menu__status::before { position: absolute; inset: -.25rem; border: 1px solid rgb(255 255 255 / 55%); border-radius: inherit; content: ""; }
.avc-mobile-menu__actions { display: grid; gap: .75rem; margin-top: 1.5rem; }
.avc-mobile-menu__actions .urgent-support-menu, .avc-mobile-menu__actions .avc-mobile-menu__cta { display: inline-flex; width: 100%; min-height: 3rem; }

@keyframes urgent-support-color-cycle { 0%, 15% { background-position: 0 50%; } 85%, 100% { background-position: 100% 50%; } }
@keyframes urgent-support-button-pulse { 0% { border-color: rgb(240 68 68 / 72%); opacity: .72; transform: scale(1); } 50% { border-color: rgb(22 137 71 / 72%); } 70%, 100% { border-color: rgb(8 116 56 / 40%); opacity: 0; transform: scale(1.12, 1.3); } }

@media (min-width: 70rem) { .urgent-support-menu { display: inline-flex; } }
@media (min-width: 64rem) and (max-width: 69.9375rem) { .avc-header__nav { display: none; } .avc-header__menu-button { display: grid; } .avc-header__actions { margin-left: auto; } .avc-mobile-menu { display: block; } }
@media (max-width: 69.9375rem) { .avc-header__actions > .avc-button--consultation { display: none; } }
@media (prefers-reduced-motion: reduce) { .urgent-support-menu { animation: none; background-position: 25% 50%; } .urgent-support-menu::after { animation: none; opacity: 0; } .urgent-support-menu__status, .urgent-support-menu__status::before { animation: none; } .urgent-support-menu__status::before { opacity: .45; transform: scale(.72); } }
