/*
 * Infocentric Header & Footer: header
 * Ported from the homepage header section (01-header.html).
 */
#ic-header, #ic-header *, #ic-header *::before, #ic-header *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id^="ic-"] { scroll-margin-top: 72px; }

.ich-root {
  --ich-h: 88px; --ich-h-s: 68px; --ich-top: 0px;
  --ich-ease: cubic-bezier(.22, 1, .36, 1);
  --ic-ink: #121111; --ic-orange: #FF5D00; --ic-ember: #FF8A3D;
  display: block; margin: 0 !important; padding: 0 !important; height: 0; line-height: normal;
  font-family: 'Inter', system-ui, sans-serif;
}
.ich-root a { text-decoration: none; }
.ich-root svg { display: block; flex: none; }
.ich-root img { max-width: none; }
.ich-root button { font-family: inherit; margin: 0; border: 0; background: none; cursor: pointer; padding: 0; min-height: 0; box-shadow: none; text-transform: none; letter-spacing: 0; }

.ich-skip { position: fixed; left: 16px; top: -60px; z-index: 100001; padding: 10px 16px; border-radius: 10px; background: #fff; color: #121111 !important; font-weight: 700; font-size: 14px; transition: top .2s ease; }
.ich-skip:focus { top: calc(var(--ich-top) + 12px); }

.ich-bar {
  position: fixed; left: 0; right: 0; top: var(--ich-top); z-index: 99980; height: var(--ich-h);
  background: transparent; transition: height .45s var(--ich-ease), background-color .45s ease, box-shadow .45s ease;
}
.ich-bar.is-scrolled {
  height: var(--ich-h-s); background: rgba(18, 17, 17, .82);
  -webkit-backdrop-filter: saturate(150%) blur(16px); backdrop-filter: saturate(150%) blur(16px);
  box-shadow: 0 14px 34px -24px rgba(0, 0, 0, .9);
}
/* Thin, faded divider between header and page, always on */
.ich-line {
  position: absolute; left: 0; right: 0; bottom: 0; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 22%, rgba(255, 255, 255, .14) 50%, rgba(255, 255, 255, .1) 78%, rgba(255, 255, 255, 0) 100%);
}
.ich-inner { width: 92%; max-width: 1360px; height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }

.ich-logo { display: flex; align-items: center; flex: none; }
.ich-logo-img { height: 46px !important; width: auto !important; display: block; transition: height .45s var(--ich-ease); }
.ich-bar.is-scrolled .ich-logo-img { height: 38px !important; }

.ich-nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.ich-nav > a, .ich-dd-btn {
  position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 10px;
  font-size: 15px !important; font-weight: 500 !important; color: #C9CDD6 !important; line-height: 1.2 !important;
  transition: color .25s ease;
}
.ich-dd-btn svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s var(--ich-ease); }
.ich-nav > a::after, .ich-dd-btn::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 1.5px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ic-orange), var(--ic-ember)); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ich-ease);
}
.ich-nav > a:hover, .ich-dd-btn:hover, .ich-dd.is-open .ich-dd-btn, .ich-nav > a.is-active { color: #FFFFFF !important; }
.ich-nav > a:hover::after, .ich-dd-btn:hover::after, .ich-nav > a.is-active::after { transform: scaleX(1); }
.ich-nav a:focus-visible, .ich-dd-btn:focus-visible, .ich-cta:focus-visible, .ich-burger:focus-visible { outline: 2px solid var(--ic-ember); outline-offset: 3px; }

.ich-dd { position: relative; }
.ich-dd.is-open .ich-dd-btn svg { transform: rotate(180deg); }
.ich-mega {
  position: absolute; top: calc(100% + 14px); left: 50%; width: 620px; padding: 14px; border-radius: 18px;
  background: rgba(28, 27, 27, .97); border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 93, 0, .06);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity .3s ease, transform .35s var(--ich-ease), visibility .3s;
}
.ich-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.ich-dd.is-open .ich-mega { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.ich-mega-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.ich-mega-grid a { display: block; padding: 12px 14px; border-radius: 12px; transition: background-color .25s ease; }
.ich-mega-grid a:hover, .ich-mega-grid a:focus-visible { background: rgba(255, 93, 0, .1); outline: none; }
.ich-mega-grid b { display: block; font-family: 'Sora', sans-serif; font-size: 14px; font-weight: 600; color: #FFFFFF; margin-bottom: 3px; }
.ich-mega-grid span { display: block; font-size: 13px; line-height: 1.45; color: #9AA3AF; }
.ich-mega-all { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; padding: 12px 14px; border-radius: 12px; border-top: 1px solid rgba(255, 255, 255, .06); font-size: 14px; font-weight: 600; color: var(--ic-ember) !important; }
.ich-mega-all svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s var(--ich-ease); }
.ich-mega-all:hover svg { transform: translateX(3px); }

.ich-actions { display: flex; align-items: center; gap: 10px; flex: none; }
.ich-cta {
  display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 20px; border-radius: 999px;
  background: var(--ic-orange); color: var(--ic-ink) !important; font-size: 14.5px; font-weight: 600;
  box-shadow: 0 10px 30px -12px rgba(255, 93, 0, .8); transition: transform .35s var(--ich-ease), box-shadow .35s var(--ich-ease), background-color .3s ease;
}
.ich-cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s var(--ich-ease); }
.ich-cta:hover { transform: translateY(-2px); background: var(--ic-ember); box-shadow: 0 18px 36px -12px rgba(255, 93, 0, .95); }
.ich-cta:hover svg { transform: translateX(3px); }

.ich-burger { display: none; width: 46px; height: 46px; border-radius: 12px !important; border: 1px solid rgba(255, 255, 255, .16) !important; position: relative; }
.ich-burger span { position: absolute; left: 13px; right: 13px; height: 2px; border-radius: 2px; background: #FFFFFF; transition: transform .3s var(--ich-ease), opacity .2s ease; }
.ich-burger span:nth-child(1) { top: 16px; } .ich-burger span:nth-child(2) { top: 22px; } .ich-burger span:nth-child(3) { top: 28px; }
.ich-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ich-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ich-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.ich-drawer {
  position: fixed; left: 0; right: 0; top: calc(var(--ich-top) + var(--ich-h-s)); z-index: 99979; padding: 8px 4% 22px;
  background: rgba(18, 17, 17, .98); border-bottom: 1px solid rgba(255, 93, 0, .25); box-shadow: 0 30px 40px -20px rgba(0, 0, 0, .8);
}
.ich-drawer[hidden] { display: none; }
.ich-drawer nav { display: flex; flex-direction: column; margin-bottom: 14px; }
.ich-drawer nav > a { padding: 15px 4px; border-bottom: 1px solid rgba(255, 255, 255, .07); font-size: 17px; font-weight: 500; color: #E7E9EE !important; }
.ich-cta--block { width: 100%; justify-content: center; height: 52px; }

@media (max-width: 1180px) { .ich-nav > a, .ich-dd-btn { padding: 10px 10px; font-size: 14.5px !important; } .ich-nav > a::after, .ich-dd-btn::after { left: 10px; right: 10px; } }
@media (max-width: 1023px) {
  .ich-root { --ich-h: 72px; --ich-h-s: 64px; }
  .ich-nav { display: none; }
  .ich-actions { display: flex; }
  .ich-burger { display: block; }
  .ich-bar.is-open { background: rgba(18, 17, 17, .98); height: var(--ich-h-s); }
  .ich-logo-img { height: 38px !important; }
}
@media (max-width: 600px) {
  .ich-logo-img { height: 34px !important; }
}


/* ---- Plugin additions ---- */

/* Theme resets: many themes style every <button> with high-specificity rules
   (e.g. button:not(:hover):not(:active)), so the header's buttons are pinned here. */
.ich-root button, .ich-root button:hover, .ich-root button:focus, .ich-root button:active {
  background: none !important; box-shadow: none !important; text-decoration: none !important; text-transform: none !important;
  letter-spacing: 0 !important; font-family: inherit !important; min-height: 0 !important;
}
.ich-root button:not(.ich-burger) { border: 0 !important; border-radius: 10px !important; }
.ich-root .ich-dd-btn { padding: 10px 14px !important; }
@media (max-width: 1180px) { .ich-root .ich-dd-btn { padding: 10px 10px !important; } }
.ich-root button:focus:not(:focus-visible) { outline: none !important; }
.ich-root a:hover, .ich-root a:focus { text-decoration: none; }
.ich-root ul, .ich-root li { list-style: none; margin: 0; padding: 0; }

/* Solid header on pages without a dark hero */
.ich-solid .ich-bar { background: rgba(18, 17, 17, .96); -webkit-backdrop-filter: saturate(150%) blur(16px); backdrop-filter: saturate(150%) blur(16px); }
.ich-spacer { height: 88px; background: #121111; }

/* Mobile drawer: Solutions accordion */
.ich-drawer { background: #121111; max-height: calc(100vh - var(--ich-top) - var(--ich-h-s)); max-height: calc(100dvh - var(--ich-top) - var(--ich-h-s)); overflow-y: auto; overscroll-behavior: contain; }
.ich-root .ich-acc {
  display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 15px 4px !important; text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, .07) !important; border-radius: 0 !important;
  font-size: 17px !important; font-weight: 500 !important; color: #E7E9EE !important; line-height: 1.3 !important;
}
.ich-acc svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s var(--ich-ease); }
.ich-acc[aria-expanded="true"] { color: #FFFFFF !important; }
.ich-acc[aria-expanded="true"] svg { transform: rotate(180deg); }
.ich-acc-panel { padding: 6px 0 12px 14px; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.ich-acc-panel[hidden] { display: none; }
.ich-acc-panel a { display: block; padding: 10px 4px; font-size: 15px; font-weight: 500; line-height: 1.35; color: #B9BDC6 !important; }
.ich-acc-panel a:hover { color: #FFFFFF !important; }
.ich-acc-panel .ich-acc-all { color: var(--ic-ember) !important; font-weight: 600; }
.ich-root .ich-acc:focus-visible, .ich-drawer a:focus-visible { outline: 2px solid var(--ic-ember); outline-offset: 2px; }
.ich-cta--block { margin-top: 4px; }

/* Header button: shown in the bar on desktop, in the drawer on small screens */
@media (max-width: 1023px) {
  .ich-spacer { height: 72px; }
  .ich-actions .ich-cta { display: none; }
}

/* Elementor editor: header sits in the page flow */
.elementor-editor-active .ich-spacer { display: none; }

@media (prefers-reduced-motion: reduce) {
  .ich-root *, .ich-root *::before, .ich-root *::after { transition: none !important; }
}

/* ---- Brand states ----
   Every hover, focus, active and current state uses the brand palette only:
   ink #121111, orange #FF5D00, ember #FF8A3D, white and the neutral greys.
   Pinned with !important so theme and Elementor global colours can't reach in. */
.ich-root, .ich-root * { -webkit-tap-highlight-color: transparent; }
.ich-root ::selection { background: rgba(255, 93, 0, .35); color: #FFFFFF; }
.ich-root a, .ich-root a:visited, .ich-root a:hover, .ich-root a:focus { text-decoration: none !important; }
.ich-root a:focus:not(:focus-visible) { outline: none !important; }
.ich-root a:focus-visible, .ich-root button:focus-visible { outline: 2px solid var(--ic-ember) !important; outline-offset: 3px; }
.ich-logo, .ich-logo:hover, .ich-logo:focus,
.ich-nav > a, .ich-nav > a:hover, .ich-nav > a:focus, .ich-nav > a:visited,
.ich-mega-all, .ich-mega-all:hover, .ich-mega-all:focus,
.ich-drawer nav > a, .ich-drawer nav > a:hover, .ich-drawer nav > a:focus,
.ich-acc-panel a, .ich-acc-panel a:hover, .ich-acc-panel a:focus { background-color: transparent !important; box-shadow: none !important; }

/* Main nav: grey, white with the orange underline on hover and on the current page */
.ich-nav > a:hover, .ich-nav > a:focus-visible, .ich-nav > a.is-active, .ich-dd-btn:hover, .ich-dd-btn.is-active, .ich-dd.is-open .ich-dd-btn { color: #FFFFFF !important; }
.ich-dd-btn.is-active::after { transform: scaleX(1); }

/* Solutions dropdown */
.ich-mega-grid a, .ich-mega-grid a:visited { color: #FFFFFF !important; background-color: transparent !important; }
.ich-mega-grid a:hover, .ich-mega-grid a:focus-visible, .ich-mega-grid a.is-current { background-color: rgba(255, 93, 0, .1) !important; }
.ich-mega-grid b { color: #FFFFFF !important; font-family: 'Sora', sans-serif !important; }
.ich-mega-grid span { color: #9AA3AF !important; }
.ich-mega-grid a.is-current b { color: var(--ic-ember) !important; }
.ich-mega-all, .ich-mega-all:visited, .ich-mega-all:hover { color: var(--ic-ember) !important; }

/* Header button */
.ich-cta, .ich-cta:visited, .ich-cta:focus { background-color: var(--ic-orange) !important; color: var(--ic-ink) !important; }
.ich-cta:hover, .ich-cta:focus-visible { background-color: var(--ic-ember) !important; color: var(--ic-ink) !important; }

/* Mobile drawer */
.ich-drawer nav > a:hover, .ich-drawer nav > a:focus-visible { color: #FFFFFF !important; }
.ich-drawer nav > a.is-current, .ich-acc-panel a.is-current { color: var(--ic-ember) !important; }
.ich-acc-panel a:hover, .ich-acc-panel a:focus-visible { color: #FFFFFF !important; }
.ich-acc-panel .ich-acc-all, .ich-acc-panel .ich-acc-all:visited, .ich-acc-panel .ich-acc-all:hover { color: var(--ic-ember) !important; }
.ich-root .ich-acc:hover { color: #FFFFFF !important; }

.ich-logo, .ich-logo:hover { color: #FFFFFF !important; }

/* Layout of the header buttons, pinned: themes such as Hello Elementor set every <button>
   to display:inline-block, which drops the Solutions arrow onto a second line and shows the
   mobile menu button on desktop. */
.ich-root .ich-dd-btn {
  display: inline-flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important;
  gap: 6px !important; white-space: nowrap !important; text-align: left !important; vertical-align: middle; height: auto !important; width: auto !important; margin: 0 !important;
}
.ich-root .ich-dd-btn svg { display: block !important; margin: 0 !important; }
.ich-root .ich-dd { display: flex; align-items: center; }
.ich-root .ich-burger { display: none !important; padding: 0 !important; width: 46px !important; height: 46px !important; }
.ich-root .ich-acc { display: flex !important; }
@media (max-width: 1023px) {
  .ich-root .ich-burger { display: block !important; }
}

