/* ==========================================================================
   SIGMA v2 header: "the command island"
   At rest the header dissolves into the page: a refined light utility line and an airy,
   borderless navigation row. On scroll (header.js adds .is-scrolled) the row condenses into a
   floating glass island: the logo reduces to the sigma mark, search becomes a round icon, the CTA
   becomes a compact pill with its arrow nested in a circle. A soft highlight pill glides between
   links (the classic ink element) and rests on the current page. Mega menus drop as floating
   double-bezel glass sheets with one accent and a quick stagger. Mobile: a compact floating pill
   and a full-screen light glass menu. All behaviour stays in js/header.js; this is styling only.
   ========================================================================== */

html.sb-v2 .sbh {
  --isl: cubic-bezier(.32, .72, 0, 1);
  --isl-h: 64px;
  --isl-max: 1120px;
  background: transparent; box-shadow: none; border: 0;
}

/* ---------- utility line: light, quiet, hairline ---------- */
html.sb-v2 .sbh--light .sbh-util { background: var(--v2-ink); border-bottom: 1px solid var(--v2-line); }
html.sb-v2 .sbh-util__item { color: var(--v2-text-2); font-size: .8125rem; }
html.sb-v2 .sbh-util__item strong { color: var(--v2-text); }
html.sb-v2 a.sbh-util__item:hover, html.sb-v2 button.sbh-util__item:hover { color: var(--v2-text); }
html.sb-v2 .sbh-util__group > li + li { border-left-color: var(--v2-line-strong); }
html.sb-v2 .sbh-ic-blue { color: #071C33; }
html.sb-v2 .sbh-util__icon i { color: #071C33; }

/* ---------- the row at rest: no bar, just type on paper ---------- */
/* at rest the row is paper (it also covers the curtain footer pinned beneath the page);
   once scrolled the band clears so the page content runs behind the island */
html.sb-v2 .sbh--light .sbh-main { background: var(--v2-ink); border-bottom: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transition: background-color .4s; }
html.sb-v2 .sbh--light.is-scrolled .sbh-main { background: transparent; }
html.sb-v2 .sbh-main__inner {
  position: relative; gap: 32px; border-radius: 0;
  transition: max-width .8s var(--isl), height .8s var(--isl), margin .8s var(--isl), padding .8s var(--isl), border-radius .8s var(--isl), background-color .5s, box-shadow .6s;
}
html.sb-v2 .sbh-progress { display: none; }

/* logo: full lockup at rest, the sigma mark alone in the island */
html.sb-v2 .sbh-logo { overflow: hidden; width: 230px; transition: width .8s var(--isl); }
html.sb-v2 .sbh-logo__img { height: 61px; max-width: none; transition: height .8s var(--isl), filter .3s; }
html.sb-v2 .sbh--light .sbh-logo:hover .sbh-logo__img { filter: none; }

/* nav: medium weight navy type; the highlight pill does the talking */
html.sb-v2 .sbh-nav { margin-inline: auto; }
html.sb-v2 .sbh--light .sbh-link {
  position: relative; z-index: 1; height: 40px; padding: 0 16px; border-radius: 999px;
  font-size: .96875rem; font-weight: 500; color: var(--v2-text-2); transition: color .3s;
}
html.sb-v2 .sbh--light .sbh-link:hover, html.sb-v2 .sbh--light .sbh-link[aria-expanded="true"], html.sb-v2 .sbh--light .sbh-link.is-current { color: var(--v2-text); }
html.sb-v2 .sbh--light .sbh-link.is-current { font-weight: 600; }
html.sb-v2 .sbh--light .sbh-link[aria-expanded="true"]::after, html.sb-v2 .sbh-link::after { display: none; }
html.sb-v2 .sbh-link i { font-size: .625rem; opacity: .7; transition: transform .45s var(--isl); }
html.sb-v2 .sbh-link[aria-expanded="true"] i { transform: rotate(180deg); }
/* the classic ink becomes a gliding pill (header.js sets width = link - 28px and translateX = left + 14px) */
html.sb-v2 .sbh-ink {
  top: calc(50% - 20px); bottom: auto; height: 40px; z-index: 0; background: transparent; box-shadow: none; border-radius: 999px;
  transition: transform .6s var(--isl), width .6s var(--isl), opacity .3s;
}
html.sb-v2 .sbh-ink::before { content: ""; position: absolute; inset: 0 -14px; border-radius: 999px; background: rgba(7, 28, 51, .065); box-shadow: inset 0 0 0 1px rgba(7, 28, 51, .04); }

/* search: a round glass icon (Ctrl K and / still open the palette) */
html.sb-v2 .sbh--light .sbh-search {
  width: 44px; height: 44px; padding: 0; justify-content: center; gap: 0; border-radius: 50%;
  background: rgba(255, 255, 255, .7); border: 1px solid var(--v2-line); color: var(--v2-text-3); font-size: .875rem;
  transition: width .8s var(--isl), padding .8s var(--isl), background-color .3s, border-color .3s;
}
html.sb-v2 .sbh--light .sbh-search:hover { background: #FFFFFF; border-color: var(--v2-line-strong); color: var(--v2-text-2); }
html.sb-v2 .sbh--light .sbh-search > i { color: var(--v2-text); font-size: .9375rem; }
html.sb-v2 .sbh-search__label, html.sb-v2 .sbh--light .sbh-search .sbh-kbd { display: none; }
html.sb-v2 .sbh--light .sbh-kbd { margin-left: auto; height: 22px; padding: 0 7px; border-radius: 6px; background: var(--v2-surface-2); border: 0; font-size: .6875rem; color: var(--v2-text-3); opacity: 1; }
html.sb-v2 .sbh-vr { display: none; }

/* CTA: a pill with its arrow nested in a navy circle (button-in-button) */
html.sb-v2 .sbh--light .sbh-cta, html.sb-v2 .sbh-cta {
  height: 50px; gap: 14px; padding: 0 6px 0 24px; border-radius: 999px;
  background: var(--v2-accent); color: #071C33; font-weight: 700; font-size: .9375rem;
  box-shadow: 0 10px 24px -12px rgba(232, 118, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .35);
  transition: height .8s var(--isl), padding .8s var(--isl), transform .4s var(--isl), box-shadow .4s, background-color .3s;
}
html.sb-v2 .sbh-cta i {
  display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
  background: #071C33; color: #FFFFFF; font-size: .8125rem;
  transition: transform .5s var(--isl), width .8s var(--isl), height .8s var(--isl);
}
html.sb-v2 .sbh-cta:hover { background: #FF9A24; transform: translateY(-1px); box-shadow: 0 16px 30px -12px rgba(232, 118, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .35); }
html.sb-v2 .sbh-cta:hover i { transform: translate(2px, -1px) scale(1.06) rotate(-45deg); }
html.sb-v2 .sbh-cta:active { transform: scale(.98); }

/* burger: a round glass button; lines morph into an X (classic header.js toggles aria-expanded) */
html.sb-v2 .sbh--light .sbh-burger { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--v2-line); background: rgba(255, 255, 255, .7); }
html.sb-v2 .sbh--light .sbh-burger span { left: 13px; right: 13px; height: 1.5px; background: #071C33; transition: transform .5s var(--isl), opacity .3s, top .5s var(--isl); }
html.sb-v2 .sbh--light .sbh-burger span:nth-child(1) { top: 16px; }
html.sb-v2 .sbh--light .sbh-burger span:nth-child(2) { top: 21px; right: 19px; background: var(--v2-accent); }
html.sb-v2 .sbh--light .sbh-burger span:nth-child(3) { top: 26px; }
html.sb-v2 .sbh--light .sbh-burger[aria-expanded="true"] span:nth-child(1), html.sb-v2 .sbh--light .sbh-burger[aria-expanded="true"] span:nth-child(3) { top: 21px; }
html.sb-v2 .sbh--light .sbh-burger[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
html.sb-v2 .sbh--light .sbh-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: translateX(8px); }
html.sb-v2 .sbh--light .sbh-burger[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }

/* ---------- the island (scrolled) ---------- */
html.sb-v2 .sbh.is-scrolled .sbh-main__inner {
  max-width: var(--isl-max); height: var(--isl-h); margin-top: calc((var(--sbh-main-h) - var(--isl-h)) / 2);
  padding: 0 8px 0 18px; border-radius: 999px;
  background: rgba(255, 255, 255, .8);
  box-shadow: 0 0 0 1px rgba(7, 28, 51, .07), 0 0 0 6px rgba(255, 255, 255, .45), 0 0 0 7px rgba(7, 28, 51, .05), 0 22px 44px -20px rgba(7, 28, 51, .32), inset 0 1px 0 rgba(255, 255, 255, .9);
}
@supports (backdrop-filter: blur(1px)) {
  html.sb-v2 .sbh.is-scrolled .sbh-main__inner { background: rgba(255, 255, 255, .66); backdrop-filter: saturate(170%) blur(20px); -webkit-backdrop-filter: saturate(170%) blur(20px); }
}
html.sb-v2 .sbh.is-scrolled .sbh-logo { width: 44px; }
html.sb-v2 .sbh.is-scrolled .sbh-logo__img { height: 44px; }
html.sb-v2 .sbh.is-scrolled .sbh-cta { height: 48px; }
html.sb-v2 .sbh.is-scrolled .sbh-cta__full { display: none; }
html.sb-v2 .sbh.is-scrolled .sbh-cta__short { display: inline; }
html.sb-v2 .sbh.is-scrolled .sbh-cta i { width: 36px; height: 36px; }

/* ---------- mega menus: floating double-bezel glass sheets ---------- */
html.sb-v2 .sbh-mega { background: transparent; border: 0; box-shadow: none; transform: translateY(-10px) scale(.99); transform-origin: 50% 0;
  transition: opacity .35s var(--isl), transform .5s var(--isl), visibility 0s linear .5s; }
html.sb-v2 .sbh-mega.is-open { transform: none; transition: opacity .35s var(--isl), transform .5s var(--isl), visibility 0s; }
html.sb-v2 .sbh-mega--card { padding: 8px var(--sb-gutter) 32px; }
html.sb-v2 .sbh.is-scrolled .sbh-mega--card { padding-top: 0; }
html.sb-v2 .sbh-sv {
  max-width: var(--v2-wrap); border: 0; border-radius: 28px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 0 0 1px rgba(7, 28, 51, .07), 0 0 0 8px rgba(255, 255, 255, .5), 0 0 0 9px rgba(7, 28, 51, .05), 0 50px 90px -40px rgba(7, 28, 51, .45);
}
@supports (backdrop-filter: blur(1px)) {
  html.sb-v2 .sbh-sv { background: rgba(255, 255, 255, .86); backdrop-filter: saturate(160%) blur(24px); -webkit-backdrop-filter: saturate(160%) blur(24px); }
}
html.sb-v2 .sbh-sv__eyebrow { display: none; }
html.sb-v2 .sbh-sv__title { margin-top: 0; font-stretch: 112%; font-weight: 800; letter-spacing: var(--v2-track-h2); color: #071C33; }
html.sb-v2 .sbh-sv__title span { color: var(--v2-accent-text); }
html.sb-v2 .sbh-sv__lede { color: var(--v2-text-2); font-size: 1rem; }
html.sb-v2 .sbh-sv__all strong, html.sb-v2 .sbh-in__all, html.sb-v2 .sbh-in__foot-link, html.sb-v2 .sbh-sv__start-link { color: #071C33; }
/* items: no boxes; a paper tint and the orange arrow appear on hover */
html.sb-v2 :is(.sbh-sv__card, .sbh-in__item, .sbh-rs__item, .sbh-rs__tool) {
  border-color: transparent !important; background: transparent; box-shadow: none !important; border-radius: 16px;
  transition: background-color .35s var(--isl), transform .45s var(--isl);
}
html.sb-v2 :is(.sbh-sv__card, .sbh-in__item, .sbh-rs__item, .sbh-rs__tool):hover,
html.sb-v2 :is(.sbh-sv__card, .sbh-in__item, .sbh-rs__item, .sbh-rs__tool):focus-visible { background: rgba(7, 28, 51, .045); transform: translateX(3px); }
/* one accent: monochrome icon tiles that warm to orange on hover */
html.sb-v2 :is(.sbh-sv__icon, .sbh-in__icon, .sbh-rs__icon, .sbh-rs__ticon) {
  background: #FFFFFF !important; color: #071C33 !important; border-radius: 12px;
  box-shadow: 0 0 0 1px rgba(7, 28, 51, .08), 0 6px 14px -8px rgba(7, 28, 51, .3);
  transition: background-color .35s, color .35s, transform .45s var(--isl);
}
html.sb-v2 :is(.sbh-sv__card, .sbh-in__item, .sbh-rs__item, .sbh-rs__tool):hover :is(.sbh-sv__icon, .sbh-in__icon, .sbh-rs__icon, .sbh-rs__ticon) { background: var(--v2-accent) !important; color: #071C33 !important; transform: rotate(-6deg); }
html.sb-v2 :is(.sbh-sv__go, .sbh-rs__go, .sbh-in__chev) { color: var(--v2-accent-text); }
html.sb-v2 .sbh-sv__go { background: transparent !important; }
html.sb-v2 .sbh-sv__start { border-radius: 18px; background: var(--v2-ink); }
/* a quick stagger as a sheet opens */
@media (prefers-reduced-motion: no-preference) {
  html.sb-v2 .sbh-mega :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li { opacity: 0; transform: translateY(10px); transition: opacity .45s var(--isl), transform .6s var(--isl); }
  html.sb-v2 .sbh-mega.is-open :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li { opacity: 1; transform: none; }
  html.sb-v2 .sbh-mega.is-open :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li:nth-child(2) { transition-delay: 40ms; }
  html.sb-v2 .sbh-mega.is-open :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li:nth-child(3) { transition-delay: 80ms; }
  html.sb-v2 .sbh-mega.is-open :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li:nth-child(4) { transition-delay: 120ms; }
  html.sb-v2 .sbh-mega.is-open :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li:nth-child(5) { transition-delay: 160ms; }
  html.sb-v2 .sbh-mega.is-open :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li:nth-child(6) { transition-delay: 200ms; }
  html.sb-v2 .sbh-mega.is-open :is(.sbh-sv__grid, .sbh-in__grid, .sbh-rs__list, .sbh-rs__tools) > li:nth-child(n+7) { transition-delay: 240ms; }
}

/* ---------- mobile + tablet menu: full-screen light glass, large staggered links ---------- */
html.sb-v2 .sbh-drawer { background: rgba(244, 246, 249, .97); color: #071C33; }
@supports (backdrop-filter: blur(1px)) {
  html.sb-v2 .sbh-drawer { background: rgba(244, 246, 249, .86); backdrop-filter: saturate(160%) blur(26px); -webkit-backdrop-filter: saturate(160%) blur(26px); }
}
html.sb-v2 :is(.sbh-drawer__link, .sbh-acc__btn) {
  padding: 16px 0; border-bottom: 1px solid var(--v2-line); color: #071C33;
  font-family: var(--sb-font-heading); font-stretch: 112%; font-weight: 700; font-size: clamp(1.625rem, 6.5vw, 2.25rem); letter-spacing: -.03em;
}
html.sb-v2 .sbh-acc__btn i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--v2-line-strong); color: #071C33; font-size: .75rem; }
html.sb-v2 .sbh-acc__btn[aria-expanded="true"] i { background: var(--v2-accent); border-color: var(--v2-accent); color: #071C33; }
html.sb-v2 .sbh-drawer__link[aria-current="page"] { color: var(--v2-accent-text); }
html.sb-v2 .sbh-acc__panel { border-bottom-color: var(--v2-line); }
html.sb-v2 .sbh-acc__panel a { color: var(--v2-text-2); font-size: 1rem; border-radius: 12px; }
html.sb-v2 .sbh-acc__panel a:hover, html.sb-v2 .sbh-acc__panel a[aria-current="page"] { background: rgba(7, 28, 51, .05); color: #071C33; }
html.sb-v2 .sbh-acc__all { color: var(--v2-accent-text) !important; }
html.sb-v2 .sbh-drawer__foot .sbh-cta, html.sb-v2 .sbh-drawer__foot > a:first-child { border-radius: 999px; }
html.sb-v2 .sbh-drawer__contact a { height: 50px; border-radius: 999px; }
html.sb-v2 .sbh-drawer__mail { border: 1px solid var(--v2-line-strong) !important; color: #071C33; }
html.sb-v2 .sbh-drawer__meta { color: var(--v2-text-3); }
@media (prefers-reduced-motion: no-preference) {
  html.sb-v2 .sbh-drawer__nav > * { opacity: 0; transform: translateY(28px); transition: opacity .5s var(--isl), transform .7s var(--isl); }
  html.sb-v2 .sbh-drawer.is-open .sbh-drawer__nav > * { opacity: 1; transform: none; }
  html.sb-v2 .sbh-drawer.is-open .sbh-drawer__nav > :nth-child(2) { transition-delay: 50ms; }
  html.sb-v2 .sbh-drawer.is-open .sbh-drawer__nav > :nth-child(3) { transition-delay: 100ms; }
  html.sb-v2 .sbh-drawer.is-open .sbh-drawer__nav > :nth-child(4) { transition-delay: 150ms; }
  html.sb-v2 .sbh-drawer.is-open .sbh-drawer__nav > :nth-child(5) { transition-delay: 200ms; }
  html.sb-v2 .sbh-drawer.is-open .sbh-drawer__nav > :nth-child(n+6) { transition-delay: 250ms; }
}

/* ---------- command palette: same glass language ---------- */
html.sb-v2 .sbh-palette { background: rgba(7, 28, 51, .28); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }

/* ---------- widths ---------- */
@media (max-width: 1400px) { html.sb-v2 .sbh-main__inner { gap: 24px; } }
@media (max-width: 1200px) {
  html.sb-v2 .sbh { --isl-max: 100%; }
  html.sb-v2 .sbh-logo { width: 200px; }
  html.sb-v2 .sbh-logo__img { height: 53px; }
  html.sb-v2 .sbh.is-scrolled .sbh-main__inner { max-width: calc(100% - 2 * var(--sb-gutter) + 16px); }
}
@media (max-width: 767px) {
  html.sb-v2 .sbh { --isl-h: 56px; }
  html.sb-v2 .sbh-logo { width: 150px; }
  html.sb-v2 .sbh-logo__img { height: 40px; }
  html.sb-v2 .sbh.is-scrolled .sbh-main__inner { max-width: calc(100% - 16px); padding: 0 6px 0 14px; }
  html.sb-v2 .sbh.is-scrolled .sbh-logo { width: 38px; }
  html.sb-v2 .sbh.is-scrolled .sbh-logo__img { height: 38px; }
  html.sb-v2 .sbh--light .sbh-search { width: 42px; height: 42px; background: transparent; border-color: transparent; }
  html.sb-v2 .sbh--light .sbh-burger { width: 42px; height: 42px; }
  html.sb-v2 .sbh--light .sbh-burger span:nth-child(1) { top: 15px; } html.sb-v2 .sbh--light .sbh-burger span:nth-child(2) { top: 20px; } html.sb-v2 .sbh--light .sbh-burger span:nth-child(3) { top: 25px; }
  html.sb-v2 .sbh--light .sbh-burger[aria-expanded="true"] span:nth-child(1), html.sb-v2 .sbh--light .sbh-burger[aria-expanded="true"] span:nth-child(3) { top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html.sb-v2 .sbh-main__inner, html.sb-v2 .sbh-logo, html.sb-v2 .sbh-logo__img, html.sb-v2 .sbh-search, html.sb-v2 .sbh-cta, html.sb-v2 .sbh-ink { transition: none; }
}
