/* ==========================================================================
   Site header — one structure for desktop, sticky, tablet and mobile.
   Desktop (>=1201px): bar over the hero; slides back in as a fixed bar when
   scrolling up (.is-fixed / .is-shown, set by main.js).
   Tablet & mobile (<=1200px): black bar + off-canvas menu (.menu-open).
   .site-header--alt: glass bar with top bar (portfolio / 404 pages).
   ========================================================================== */
.site-header img{max-width:100%;height:auto;vertical-align:middle;border:0}
.site-header ul{list-style:none;margin:0;padding:0}
.site-header button{display:inline-block;position:static;z-index:auto;overflow:visible;height:auto;margin:0;padding:0;border:0;border-radius:0;background:none;font:inherit;line-height:inherit;color:inherit;text-align:center;cursor:pointer;transition:none;-webkit-appearance:none;appearance:none}
.site-header button:hover,.site-header button:focus{background-color:transparent;color:inherit}
.site-header .icon::before{font-family:kit-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}
.site-header__logo{display:block;position:relative}
.site-header__logo .logo-wide{display:none}
.mega__title{font-family:Urbanist,sans-serif;font-size:17px;font-weight:900;line-height:17px;letter-spacing:-0.25px;text-transform:uppercase;color:#fff;text-align:left;margin:7px 0 4px;clear:both}
.mega__title::before{content:"";display:inline-block;vertical-align:middle;width:6px;height:6px;margin:0 5px 0 0;background-color:#09b0ef;transform:translateY(-2px)}
.mega__list li{display:flex;align-items:center;position:relative;margin:0;padding:0;font-size:15px;font-weight:700;line-height:15px}
.mega__list a{display:flex;align-items:flex-start;position:relative;transition:0.4s}
.mega__list i{display:block;flex:0 0 16px;width:16px;font-size:16px;color:#fff;text-align:center;transition:0.4s}
.mega__list span{display:block;align-self:center;margin:0 0 15px;padding-left:15px;color:#fff;transition:0.4s}
.mega__list li:hover span{color:#09b0ef}
.mega__list li:hover i{color:#fefefe}
.mega__inner{display:flex;flex-wrap:nowrap;gap:10px;padding:10px 0;margin:0 auto;height:100%}
.mega__col{display:flex;flex-direction:column;gap:20px;width:100%;min-width:0;padding:35px 0 30px 30px;transition:background .3s,border .3s,box-shadow .3s,transform .4s}
.mega--wide .mega__col:first-child{padding-top:30px}
.mega--wide .mega__inner::before,.mega--wide .mega__inner::after{content:"";width:100%;min-width:0;padding:35px 0 30px 30px}
.mega--wide .mega__inner::before{padding-top:30px}

/* ---------------------------------------------------------------- Desktop */
@media (min-width:1201px){
  .site-header{position:absolute;top:0;left:0;right:0;z-index:1001;padding:0 15px 2px 0}
  .site-header__bar{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:space-between;max-width:1366px;margin:21px auto 0;padding:0 33px 0 51px;background-color:#000;border-radius:8px;box-shadow:0 3px 21px 0 #000;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s}
  .site-header__logo img{height:90px;width:auto}
  .site-header .menu-button,.site-header .site-nav__close,.site-nav__logo,.site-nav__backdrop,.site-header .submenu-toggle{display:none}
  .site-nav,.site-nav__actions{display:contents}

  .menu__item{display:inline-block;vertical-align:middle;position:relative;margin:0 14px;color:#5e6e6e}
  .menu__item>a{display:inline-block;position:relative;font-size:18px;font-weight:700;line-height:80px;color:#fff}
  .menu__item>a>span{position:relative;padding-right:8px}
  .has-sub>a::before{content:"\f0d7";font-family:"Font Awesome 5 Free";font-weight:900;font-size:15px;font-style:normal;position:absolute;top:1px;right:-6px}

  .submenu{position:absolute;top:100%;left:0;z-index:99;min-width:235px;margin-top:10px;visibility:hidden;opacity:0;text-align:left;border-radius:0 0 5px 5px;box-shadow:0 15px 30px -10px rgba(0,0,0,.09);transition:all 300ms linear;transform-origin:0 0 0}
  .menu__item:hover>.submenu{visibility:visible;opacity:1;margin-top:0}

  .dropdown{background-color:#fff;border:solid var(--primary-color);border-width:4px 0;padding:10px 0}
  .dropdown::before,.dropdown::after{content:"";position:absolute;top:0;width:0;height:0;border-top:7px solid var(--primary-color)}
  .dropdown::before{left:0;border-right:7px solid transparent}
  .dropdown::after{right:0;border-left:7px solid transparent}
  .dropdown.is-reversed{left:auto;right:0}
  .dropdown li{position:relative;white-space:nowrap;color:#5e6e6e}
  .dropdown a{display:block;position:relative;padding:10px 20px;font-size:15px;font-weight:500;color:rgba(0,0,0,.9)}
  .dropdown a:hover{color:rgba(0,0,0,.9)}
  .dropdown a>span{position:relative;transition:all 200ms linear}
  .dropdown a:hover>span,.dropdown a[aria-current]>span{margin-left:7px}
  .dropdown .char{transition:transform .3s ease,color .3s ease;transition-delay:calc(var(--char-index) * .03s)}
  .dropdown a:hover .char,.dropdown a[aria-current] .char{color:var(--primary-color);transform:translateY(-10px)}

  .has-mega{position:static}
  .mega{right:15px;max-width:none;margin-left:auto;margin-right:auto;overflow:hidden;background:transparent}
  .mega>.mega__inner{background-color:rgba(0,0,0,.92);box-shadow:0 10px 25px 0 rgba(0,0,0,.1);max-width:none;padding:10px max(10px,calc((100% - 1366px) / 2))}
  .mega:not(.mega--wide)>.mega__inner{padding:10px max(10px,calc((100% - 730px) / 2))}
  .mega__list a{font-weight:500;color:rgba(0,0,0,.9)}
  .mega__list a:hover{color:rgba(0,0,0,.9)}

  .header-btn{display:flex;align-items:center;padding:0 37px 0 30px;border-radius:50px;background-color:#004bd2;font-family:"DM Sans",sans-serif;font-size:18px;font-weight:700;line-height:60px;letter-spacing:-0.25px;color:#fff;text-decoration:underline;text-align:center}
  .header-btn:hover,.header-btn:focus{color:#fff}
  .header-btn i{display:flex;justify-content:center;align-items:center;margin-left:9px;font-size:20px;animation:move-down 2s ease-in-out infinite}
  .header-cta{display:none}

  /* Sticky: fixed bar that slides in while scrolling up */
  .site-header.is-fixed{position:fixed;transform:translateY(-120%);visibility:hidden;transition:.6s cubic-bezier(.24,.74,.58,1)}
  .site-header.is-fixed.is-shown{transform:translateY(0);visibility:visible}
  .is-fixed .site-header__bar{margin-top:20px;box-shadow:none}

  /* Alternate design (portfolio / 404), not while fixed */
  .site-header--alt:not(.is-fixed){padding:0}
  .site-header--alt:not(.is-fixed) .site-header__bar{position:relative;max-width:1170px;margin-top:0;border-radius:8px;background:transparent;box-shadow:0 3px 21px 0 rgba(128,0,128,.2)}
  .site-header--alt:not(.is-fixed) .site-header__bar::before{content:"";position:absolute;top:50%;left:50%;width:100%;height:calc(100% + 2px);padding:3px;border-radius:inherit;background-image:linear-gradient(180deg,#e7e0ef,#a89dad);transform:translate(-50%,-50%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.94;pointer-events:none}
  .site-header--alt:not(.is-fixed) .site-header__bar::after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:linear-gradient(90deg,rgba(206,170,240,.302) 0%,rgba(237,237,237,.302) 100%);box-shadow:inset 0 0 27px #fff;pointer-events:none}
  .site-header--alt:not(.is-fixed) .mega{right:0}
  .site-header--alt:not(.is-fixed) .site-header__logo{z-index:1}
  .site-header--alt:not(.is-fixed) .logo-icon{display:none}
  .site-header--alt:not(.is-fixed) .logo-wide{display:inline;height:50px;width:auto}
  .site-header--alt:not(.is-fixed) .menu{z-index:1}
  .site-header--alt:not(.is-fixed) .menu__item>a{line-height:115px;color:#0a0f0e}
  .site-header--alt:not(.is-fixed) .menu__item>a>span,.site-header--alt:not(.is-fixed) .dropdown a>span{padding-right:0;background-image:linear-gradient(90deg,var(--primary-color),var(--fourth-color),var(--third-color) 50%,var(--heading-color) 50%);background-size:200% 100%;background-position:-100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:all .3s}
  .site-header--alt:not(.is-fixed) .has-sub>a>span{padding-right:15px}
  .site-header--alt:not(.is-fixed) .menu__item:hover>a>span,.site-header--alt:not(.is-fixed) .dropdown a:hover>span{background-position:0}
  .site-header--alt:not(.is-fixed) .has-sub>a::before{content:"";right:0;top:47%;width:8px;height:8px;transform:translateY(-50%);clip-path:polygon(48% 100%,0 50%,100% 48%);background:linear-gradient(90deg,var(--primary-color),var(--fourth-color),var(--third-color) 50%,var(--heading-color) 50%);background-size:200% 100%;background-position:-100%;transition:all .3s}
  .site-header--alt:not(.is-fixed) .has-sub:hover>a::before{background-position:0}
  .site-header--alt:not(.is-fixed) .has-sub>a::after{content:"";position:absolute;left:0;bottom:-15px;width:100%;height:30px}
  .site-header--alt:not(.is-fixed) .has-sub:hover>.submenu{margin-top:10px}
  .site-header--alt:not(.is-fixed) .dropdown a:hover>span{margin-left:0}
  .site-header--alt:not(.is-fixed) .header-btn{display:none}
  .site-header--alt:not(.is-fixed) .header-cta{display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1;overflow:hidden;padding:0 17px 0 10px;border:3px solid #fff;border-radius:8px;background:var(--primary-color);font-family:"DM Sans",sans-serif;font-size:18px;font-weight:700;line-height:64px;letter-spacing:-0.25px;color:#fff;transition:all 300ms linear}
  .site-header--alt:not(.is-fixed) .header-cta:hover{background:#220210;color:#fff}
  .header-cta>span:first-child{margin:0 17px}
  .header-cta__icon{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;margin-left:9px;overflow:hidden;border-radius:inherit;background:#fff;color:#07000e;font-size:20px;font-weight:400;box-shadow:4px 4px 2px rgba(0,0,0,.2);transition:all 300ms linear}
  .header-cta__icon i{display:block;margin-top:4px}
  .header-cta:hover .header-cta__icon i{animation:toRightFromLeft .3s forwards}
  .is-fixed .topbar{display:none}

  .topbar{display:flex;align-items:flex-start;max-width:1170px;min-height:58px;margin:0 auto;padding:15px 9px 7px 15px;font-size:18px}
  .topbar:empty{min-height:23px}
  .topbar__note,.topbar__call{display:inline-flex;align-items:center;margin:0}
  .topbar__note{flex:1 1 50%}
  .topbar__end{display:flex;flex:1 1 50%;justify-content:flex-end;align-items:center;min-height:36px}
  .topbar__note i,.topbar__call i{display:inline-flex;margin:4px 5px 0 0}
  .topbar__label{font-family:"DM Sans",sans-serif;font-weight:500}
  .topbar__value{margin-left:5px;font-weight:700}
  .topbar__note i{height:31px;color:#07000e}
  .topbar__note .topbar__label{font-size:15px;line-height:1.28;letter-spacing:-0.25px;color:#07000e}
  .topbar__note .topbar__value{font-size:15px;color:#a234fd}
  .topbar__call{position:relative;margin-right:33px;padding:4px 25px 0 0;border-right:1px solid #8e8695;min-height:36px}
  .topbar__call i{height:28px;padding-top:1px;color:#a234fd;font-size:15px}
  .topbar__call .topbar__label{font-size:16px;line-height:1.28;letter-spacing:-0.3px;color:rgba(66,66,66,.8)}
  .topbar__call .topbar__value{font-size:16px;color:#000}
  .topbar__social{margin-right:-18px}
  .topbar__social a{position:relative;display:inline-flex;justify-content:center;align-items:center;margin-right:18px;font-size:17px;color:#a234fd}
}

/* ------------------------------------------------------ Tablet & mobile */
@media (max-width:1200px){
  .site-header{position:relative;z-index:99;background-color:#0b0c10}
  .topbar,.logo-wide,.site-nav__actions .header-cta{display:none}
  .site-header__bar{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:space-between;padding:15px;background-color:#000;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s}
  .site-header__logo{flex-grow:1}
  .site-header__logo img{height:84px;width:auto}

  .site-header .menu-button{position:relative;display:block;width:30px;height:21px;overflow:hidden;color:#fff}
  .menu-button span{position:absolute;right:0;height:3px;border-radius:3px}
  .menu-button span::before,.menu-button span::after{content:"";position:absolute;top:0;right:0;bottom:0;width:100%;height:100%;border-radius:3px;background:#fff}
  .menu-button span::before{transform:translate3d(100%,0,0)}
  .menu-button span:nth-child(1){top:0;width:22px}
  .menu-button span:nth-child(2){top:50%;width:100%;transform:translate(0,-50%)}
  .menu-button span:nth-child(3){bottom:0;width:16px}
  .menu-button:hover span::before{transform:translate3d(0,0,0);transition:transform .8s cubic-bezier(.215,.61,.355,1) var(--in),opacity .8s cubic-bezier(.215,.61,.355,1) var(--in)}
  .menu-button:hover span::after{transform:translate3d(-36px,0,0);opacity:0;transition:transform .6s cubic-bezier(.165,.84,.44,1) var(--out),opacity .6s cubic-bezier(.165,.84,.44,1) var(--out)}
  .menu-button span:nth-child(1){--in:460ms;--out:0ms}
  .menu-button span:nth-child(2){--in:620ms;--out:160ms}
  .menu-button span:nth-child(3){--in:780ms;--out:320ms}

  .site-nav{position:fixed;top:0;left:0;bottom:0;z-index:999;width:300px;height:100vh;margin:0;padding:40px 27px;overflow:hidden scroll;background-color:#000;box-shadow:0 0 15px rgba(0,0,0,.08);transform:translateX(-100%);visibility:hidden;transition:all .25s cubic-bezier(.645,.045,.355,1)}
  .site-nav__backdrop{position:fixed;top:0;left:0;z-index:998;width:100%;height:100%;background-color:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:all .25s cubic-bezier(.645,.045,.355,1)}
  .menu-open .site-nav{transform:translateX(0);visibility:visible;opacity:1}
  .menu-open .site-nav__backdrop{opacity:1;visibility:visible}

  .site-header .site-nav__close{position:absolute;top:0;right:0;display:inline-flex;justify-content:center;align-items:center;width:36px;height:36px;border:6px solid transparent;background-color:rgba(255,255,255,.12)}
  .site-nav__close::before,.site-nav__close::after{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;margin-top:-1px;transform-origin:50% 50%;background-color:#fff;transition:all .25s cubic-bezier(.645,.045,.355,1)}
  .site-nav__close::before{transform:rotate(45deg)}
  .site-nav__close::after{transform:rotate(-45deg)}
  .site-header .site-nav__close:hover{background-color:rgba(255,255,255,.12)}
  .site-nav__close:hover::before,.site-nav__close:hover::after{transform:rotate(0)}
  .site-nav__logo{display:block;margin-bottom:35px}
  .site-nav__logo img{height:120px;width:auto}

  .menu li{position:relative}
  .menu__item>a,.dropdown a,.site-nav__actions a{display:block;font-size:14px;font-weight:700;line-height:46px;color:rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.08)}
  .menu__item>a:hover,.dropdown a:hover,.menu a[aria-current],.menu .is-current-parent>a,.site-nav__actions a:hover,.site-nav__actions a[aria-current]{color:#fff}
  body.menu-open{overflow:hidden}
  .site-header .submenu-toggle{position:absolute;top:10px;right:0;width:28px;height:28px;line-height:28px;text-align:center;font-size:10px;border-radius:3px;color:rgba(255,255,255,.8);background-color:rgba(255,255,255,.1);transition:all .25s cubic-bezier(.645,.045,.355,1)}
  .site-header .submenu-toggle:hover,.site-header .submenu-toggle:focus{color:rgba(255,255,255,.8);background-color:rgba(255,255,255,.1)}
  .submenu-toggle::before{content:"\f150";font-family:Caseicon}
  .submenu-toggle.is-open::before{content:"\f13d"}
  .submenu{position:relative;display:none}
  .dropdown a{font-weight:500;padding-left:14px}
  .mega__inner{margin-top:20px;flex-wrap:wrap;padding:10px;background-color:rgba(0,0,0,.92);box-shadow:0 10px 25px 0 rgba(0,0,0,.1)}
  .mega__list li{font-weight:700}
  .mega__list a{color:rgba(255,255,255,.8)}
  .mega__list a:hover{color:#fff}
  .site-nav__actions,.mega--wide .mega__inner::before{display:none}
  .mega--wide .mega__inner::after{padding-top:35px}
}
@media (min-width:1025px) and (max-width:1200px){
  .mega--wide .mega__inner::before{display:block}
}
@media (min-width:768px) and (max-width:1024px){
  .mega:not(.mega--wide) .mega__col,.mega--wide .mega__col:not(:first-child),.mega--wide .mega__inner::after{width:32%}
}
@media (max-width:768px){
  .site-nav__actions{display:block}
  .site-nav__actions a{margin:10px 0;padding:0 20px;border-radius:50px;background:#004bd2}
  .site-nav__actions i{display:none}
}
@media (max-width:767px){
  .site-nav{width:100%}
  .mega__col,.mega--wide .mega__col:first-child,.mega--wide .mega__inner::after{padding:0 0 0 30px}
}
