/* archVi shared header: the Corporate Header template (bar, Services dropdown, mobile menu) and the colour
   and font tokens it shares with the Corporate pages. Loaded on every page (19 October 2026): Corporate pages
   have body.archvi-corporate, older pages body.archvi-shared-header (inc/corporate.php). */
:root{--c4-bg:#fff;--c4-soft:#f4f5f8;--c4-ink:#13203a;--c4-text:#3d4757;--c4-muted:#6b7483;--c4-line:#e2e5eb;--c4-brand:#5a4fa0;--c4-brand-dark:#463d86;--c4-navy:#0f1a30;
  --c4-head:'Roboto Slab',Georgia,serif;--c4-sans:'Roboto',Arial,sans-serif;--c4-ui:'Roboto',Arial,sans-serif;--c4-pad:clamp(18px,4vw,56px);--c4-gap:clamp(56px,7vw,96px);--c4-r:8px}
/* Header bar */
:is(.archvi-corporate,.archvi-shared-header) .cx-header{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;gap:32px;height:80px;padding-inline:var(--c4-pad);color:#fff;transition:background .3s,color .3s,box-shadow .3s,height .3s}
:is(.archvi-corporate,.archvi-shared-header) .cx-header.is-scrolled{height:70px;background:#fff;color:var(--c4-ink);box-shadow:0 2px 18px rgba(15,26,48,.08)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__brand{display:inline-flex;align-items:center;gap:10px;font:700 21px/1 var(--c4-head);letter-spacing:-.02em}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__brand img{width:30px;height:30px;transition:filter .3s}
:is(.archvi-corporate,.archvi-shared-header) .cx-header.is-scrolled .cx-header__brand img{filter:invert(1)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__nav{display:flex;gap:30px;margin-left:auto;font:500 15px/1 var(--c4-ui)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__nav a{padding:8px 0;border-bottom:2px solid transparent;transition:border-color .25s,color .25s}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__nav a:hover{border-color:var(--c4-brand)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__cta{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--c4-r);background:var(--c4-brand);color:#fff;font:600 14px/1 var(--c4-ui)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__cta:hover{background:var(--c4-brand-dark)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__toggle{display:none;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;margin-left:auto}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__toggle span:not(.cx-sr){display:block;width:24px;height:2px;background:currentColor;transition:transform .3s}
:is(.archvi-corporate,.archvi-shared-header) .cx-menu{display:none}
@media(max-width:1100px){
  :is(.archvi-corporate,.archvi-shared-header) .cx-header__nav,:is(.archvi-corporate,.archvi-shared-header) .cx-header__cta{display:none}
  :is(.archvi-corporate,.archvi-shared-header) .cx-header__toggle{display:flex}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu{position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:100px var(--c4-pad) 40px;background:#fff;color:var(--c4-ink);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu a{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--c4-line);font:600 24px/1.2 var(--c4-head)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu small{font:700 12px/1 var(--c4-ui);color:var(--c4-brand)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu .cx-menu__cta{margin-top:20px;justify-content:center;border:0;border-radius:var(--c4-r);background:var(--c4-brand);color:#fff;font-size:16px}
  :is(.archvi-corporate,.archvi-shared-header).cx-menu-open .cx-header{color:var(--c4-ink)}
  :is(.archvi-corporate,.archvi-shared-header).cx-menu-open .cx-header__brand img{filter:invert(1)}
  :is(.archvi-corporate,.archvi-shared-header).cx-menu-open .cx-menu{opacity:1;visibility:visible;transition:opacity .3s}
  :is(.archvi-corporate,.archvi-shared-header).cx-menu-open .cx-header__toggle span:first-child{transform:translateY(4px) rotate(45deg)}
  :is(.archvi-corporate,.archvi-shared-header).cx-menu-open .cx-header__toggle span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
}
.elementor-editor-active .cx-header{position:relative;background:var(--c4-navy)}
/* Services dropdown (15 October 2026): the same four groups and links as the older pages' menu. Opens on hover or
   keyboard focus on desktop (corporate-header.js). Edit the links in Templates → Corporate Header. */
:is(.archvi-corporate,.archvi-shared-header) .cx-header__mega-toggle{display:inline-flex;align-items:center;gap:6px}
:is(.archvi-corporate,.archvi-shared-header) .cx-chevron{transition:transform .26s ease}
:is(.archvi-corporate,.archvi-shared-header) .cx-header__mega-toggle[aria-expanded="true"] .cx-chevron{transform:rotate(180deg)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header.is-mega-open{background:#fff;color:var(--c4-ink);box-shadow:0 2px 18px rgba(15,26,48,.08)}
:is(.archvi-corporate,.archvi-shared-header) .cx-header.is-mega-open .cx-header__brand img{filter:invert(1)}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega{position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--c4-text);border-top:1px solid var(--c4-line);box-shadow:0 24px 48px rgba(15,26,48,.12);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s ease,transform .26s ease,visibility 0s linear .26s}
:is(.archvi-corporate,.archvi-shared-header) .cx-header.is-mega-open .cx-mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);max-width:1360px;margin-inline:auto;padding:36px var(--c4-pad) 44px;box-sizing:content-box;max-height:calc(100svh - 120px);overflow-y:auto}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__group{display:flex;flex-direction:column;align-items:flex-start}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__title{align-self:stretch;margin-bottom:10px;padding-bottom:14px;border-bottom:1px solid var(--c4-line);font:600 18px/1.25 var(--c4-head);color:var(--c4-ink);transition:color .2s}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__link{padding:7px 0;font:400 15px/1.4 var(--c4-ui);color:var(--c4-text);transition:color .2s}
:is(.archvi-corporate,.archvi-shared-header) :is(.cx-mega__title,.cx-mega__link):hover,:is(.archvi-corporate,.archvi-shared-header) :is(.cx-mega__title,.cx-mega__link)[aria-current]{color:var(--c4-brand)}
@media(max-width:1100px){
  :is(.archvi-corporate,.archvi-shared-header) .cx-mega{display:none}
}
/* Main services only (19 October 2026): a group without specialist links shows its service as a card with an arrow. */
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__inner:not(:has(.cx-mega__link)){padding-block:24px 28px}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__group:not(:has(.cx-mega__link)) .cx-mega__title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:20px 22px;border:1px solid var(--c4-line);border-radius:var(--c4-r);transition:border-color .2s,color .2s,background .2s}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__group:not(:has(.cx-mega__link)) .cx-mega__title::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--c4-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a4fa0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__group:not(:has(.cx-mega__link)) .cx-mega__title:hover{border-color:var(--c4-brand);background:var(--c4-soft)}
:is(.archvi-corporate,.archvi-shared-header) .cx-mega__group:not(:has(.cx-mega__link)) .cx-mega__title:hover::after{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){
  :is(.archvi-corporate,.archvi-shared-header) .cx-mega,:is(.archvi-corporate,.archvi-shared-header) .cx-chevron{transition:none}
}
.elementor-editor-active .cx-header{flex-wrap:wrap;height:auto}
.elementor-editor-active .cx-mega{display:block;position:relative;flex:0 0 100%;opacity:1;visibility:visible;transform:none}
/* Mobile menu: Services expands into the dropdown's groups (16 October 2026), built by corporate-header.js from the
   .cx-mega links. The menu scrolls once a group is open; the auto margins keep the closed menu centred. */
@media(max-width:1100px){
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu{justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu>:first-child{margin-top:auto}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu>:last-child{margin-bottom:auto}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__services{border-bottom:1px solid var(--c4-line)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__services>summary{display:flex;align-items:center;gap:14px;padding:14px 0;font:600 24px/1.2 var(--c4-head);cursor:pointer;list-style:none}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu summary::-webkit-details-marker{display:none}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__chevron{flex:none;width:10px;height:10px;margin-left:auto;margin-right:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .25s}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu details[open]>summary>.cx-menu__chevron{transform:translateY(2px) rotate(-135deg)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__groups{display:grid;padding:0 0 14px 34px}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu .cx-menu__all{padding:10px 0;border:0;font:600 16px/1.3 var(--c4-ui);color:var(--c4-brand)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__group{border-top:1px solid var(--c4-line)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__group>summary{display:flex;align-items:center;padding:13px 0;font:600 18px/1.3 var(--c4-head);color:var(--c4-ink);cursor:pointer;list-style:none}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__group>summary .cx-menu__chevron{width:8px;height:8px}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu .cx-menu__group-link{display:block;padding:13px 0;border-top:1px solid var(--c4-line);border-bottom:0;font:600 18px/1.3 var(--c4-head);color:var(--c4-ink)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu .cx-menu__group-link[aria-current]{color:var(--c4-brand)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu__links{display:grid;padding:0 0 10px 14px}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu .cx-menu__link{padding:8px 0;border:0;font:400 16px/1.35 var(--c4-ui);color:var(--c4-text)}
  :is(.archvi-corporate,.archvi-shared-header) .cx-menu :is(.cx-menu__link,.cx-menu__all)[aria-current]{color:var(--c4-brand);font-weight:600}
}
/* Older pages (body.archvi-shared-header, 19 October 2026): their own stylesheets don't reset links, buttons or
   lists, so the header does that for itself. Their heroes vary from dark to light, so the bar starts dark and
   translucent (like the header it replaced) and turns white on scroll as on the Corporate pages. */
.archvi-shared-header :where(.cx-header,.cx-header *,.cx-header ::before,.cx-header ::after){box-sizing:border-box}
.archvi-shared-header .cx-header :is(a,a:hover,a:focus,a:visited){text-decoration:none}
/* Links without a colour of their own inherit the bar's; the button, dropdown and menu links keep theirs. */
.archvi-shared-header .cx-header :is(a,a:hover,a:focus,a:visited):not(.cx-header__cta,.cx-mega__title,.cx-mega__link,.cx-menu__cta,.cx-menu__all,.cx-menu__link){color:inherit}
.archvi-shared-header .cx-header :where(p,ul,ol,figure){margin:0;padding:0}
.archvi-shared-header .cx-header :where(img){display:block;max-width:100%;height:auto}
.archvi-shared-header .cx-header :where(button){font:inherit;color:inherit;background:none;border:0;border-radius:0;padding:0;box-shadow:none;text-transform:none;letter-spacing:inherit;line-height:inherit;cursor:pointer}
.archvi-shared-header .cx-header summary{cursor:pointer;list-style:none}
.archvi-shared-header .cx-header{font:400 16px/1.5 var(--c4-sans)}
.archvi-shared-header:not(.cx-menu-open) .cx-header:not(.is-scrolled):not(.is-mega-open){background:rgba(15,26,48,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.archvi-shared-header .cx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Logged-in visitors: keep the bar below the WordPress toolbar. */
.admin-bar:is(.archvi-corporate,.archvi-shared-header) .cx-header{top:32px}
@media(max-width:782px){.admin-bar:is(.archvi-corporate,.archvi-shared-header) .cx-header{top:46px}}
