.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:4px;
  z-index:90;
  background:linear-gradient(90deg,var(--cyan,var(--nav-cyan)),var(--cyan-2,var(--nav-cyan-2)));
  box-shadow:0 0 24px rgba(18,235,226,.45);
  transform:scaleX(var(--scroll-progress,0));
  transform-origin:left center;
  pointer-events:none;
}
:root{
  --nav-cyan:#009f9c;
  --nav-cyan-2:#12d8cf;
  --nav-ink:#050b16;
}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  height:86px;
  display:flex;
  align-items:center;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(216,226,235,.55);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.site-header.nav-dark{
  position:fixed;
  inset:0 0 auto 0;
  height:96px;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:height .35s ease, background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}
.site-header.nav-dark.is-scrolled{
  height:78px;
  background:rgba(3,5,6,.82);
  box-shadow:0 18px 60px rgba(0,0,0,.22);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.nav-wrap{
  width:min(var(--container,1390px),calc(100% - 96px));
  margin:0 auto;
  display:grid;
  grid-template-columns:260px 1fr 170px;
  align-items:center;
  gap:24px;
}
.nav-dark .nav-wrap{
  grid-template-columns:210px 1fr 210px;
}
.logo img{height:43px;width:auto}
.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  color:var(--nav-ink);
  font-size:14px;
  font-weight:800;
  letter-spacing:0;
  white-space:nowrap;
}
.nav-dark .nav{
  gap:30px;
  color:#fff;
}
.nav a{
  position:relative;
  opacity:.94;
  transition:color .2s ease, opacity .2s ease;
}
.nav-dark .nav a{opacity:.97}
.nav a:hover,
.nav a.is-active{color:var(--nav-cyan);opacity:1}
.nav-dark .nav a:hover,
.nav-dark .nav a.is-active{color:var(--nav-cyan-2)}
.nav:not(.nav-no-underline) a.is-active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-19px;
  height:2px;
  background:currentColor;
  border-radius:999px;
}
.nav .has-arrow{display:inline-flex;align-items:center;gap:8px}
.nav .has-arrow:after{
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
.header-cta{justify-self:end}
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border:1px solid rgba(0,159,156,.22);
  border-radius:12px;
  color:var(--nav-ink);
  background:rgba(255,255,255,.76);
  box-shadow:0 12px 28px rgba(12,39,64,.08);
  cursor:pointer;
}
.nav-toggle span{
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .22s ease, opacity .22s ease;
}
.nav-dark .nav-toggle{
  color:#fff;
  border-color:rgba(255,255,255,.24);
  background:rgba(5,10,16,.28);
}
.site-header.is-menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.is-menu-open .nav-toggle span:nth-child(2){opacity:0}
.site-header.is-menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.btn,
.btn-primary{
  min-width:126px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,#05d7cd 0%,#058b8b 100%);
  font-size:14px;
  font-weight:900;
  letter-spacing:0;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(0,159,156,.24), inset 0 1px 0 rgba(255,255,255,.28);
}
.site-footer{
  color:#fff;
  background:linear-gradient(180deg,#06111f 0%,#030709 100%);
  padding:64px 0 24px;
}
.site-footer-inner{
  width:min(var(--container,1390px),calc(100% - 96px));
  margin:0 auto;
}
.site-footer-grid{
  display:grid;
  grid-template-columns:1.35fr .95fr .95fr 1fr;
  gap:42px;
  padding-bottom:38px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.site-footer-brand{
  max-width:420px;
}
.site-footer-logo{
  display:inline-flex;
  align-items:center;
  margin-bottom:18px;
}
.site-footer-logo img{
  width:min(188px,100%);
  height:auto;
}
.site-footer p,
.site-footer a,
.site-footer li,
.site-footer address{
  color:rgba(255,255,255,.76);
  font-size:15px;
  line-height:1.7;
  font-style:normal;
}
.site-footer p,
.site-footer address{
  margin:0;
}
.site-footer a{
  transition:color .2s ease;
}
.site-footer a:hover{
  color:var(--cyan-2,var(--nav-cyan-2));
}
.site-footer-title{
  margin:0 0 16px;
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
}
.site-footer ul{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.site-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  padding-top:22px;
  color:rgba(255,255,255,.56);
  font-size:13px;
  line-height:1.6;
}
.site-footer-bottom a{
  color:rgba(255,255,255,.64);
  font-size:13px;
}
@media (max-width:1180px){
  .nav-wrap{width:calc(100% - 48px);grid-template-columns:220px 1fr 148px}
  .nav-dark .nav-wrap{grid-template-columns:190px 1fr 170px}
  .nav{gap:20px;font-size:13px}
  .nav-dark .nav{gap:18px}
  .site-footer-inner{width:calc(100% - 48px)}
  .site-footer-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:860px){
  .site-header{height:auto;min-height:82px;padding:18px 0}
  .site-header.nav-dark{height:82px;padding:0;background:transparent}
  .site-header.nav-dark.is-scrolled,.site-header.nav-dark.is-menu-open{height:82px;background:rgba(3,5,6,.88)}
  .nav-wrap,.nav-dark .nav-wrap{position:relative;width:calc(100% - 32px);grid-template-columns:1fr auto auto;gap:10px}
  .logo img{height:36px}
  .nav-toggle{display:inline-flex;grid-column:2;grid-row:1;justify-self:end}
  .header-cta{grid-column:3;grid-row:1;justify-self:end}
  .btn,.btn-primary{height:44px;min-width:108px;padding:0 14px;font-size:13px;border-radius:11px}
  .nav{
    position:absolute;
    top:calc(100% + 14px);
    left:0;
    right:0;
    z-index:60;
    display:grid;
    gap:4px;
    padding:10px;
    color:var(--nav-ink);
    background:rgba(255,255,255,.96);
    border:1px solid rgba(216,226,235,.86);
    border-radius:14px;
    box-shadow:0 24px 54px rgba(12,39,64,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    pointer-events:none;
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .nav-dark .nav{color:var(--nav-ink);background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.28)}
  .site-header.is-menu-open .nav{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nav a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:0 14px;
    border-radius:10px;
    opacity:1;
  }
  .nav a:hover,.nav a.is-active{background:#edfafa;color:var(--nav-cyan)}
  .nav:not(.nav-no-underline) a.is-active:after{display:none}
  .site-footer{padding:52px 0 24px}
  .site-footer-inner{width:calc(100% - 32px)}
  .site-footer-grid{grid-template-columns:1fr;gap:28px;padding-bottom:30px}
  .site-footer-brand{max-width:none}
  .site-footer-logo img{width:min(164px,100%)}
  .site-footer-bottom{display:grid;gap:8px}
}
@media (max-width:420px){
  .nav-wrap,.nav-dark .nav-wrap{width:calc(100% - 28px);gap:8px}
  .logo img{height:32px;max-width:108px;object-fit:contain}
  .nav-toggle{width:42px;height:42px;border-radius:11px}
  .btn,.btn-primary{height:42px;min-width:96px;padding:0 12px;font-size:12px;border-radius:10px}
  .site-footer-inner{width:calc(100% - 28px)}
}
