@charset "UTF-8";

/* ===== Header shell ===== */
.site-header {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 1000;
  background: #000;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  -webkit-box-shadow: 0 4px 10px rgba(0,0,0,0.4);
          box-shadow: 0 4px 10px rgba(0,0,0,0.4);
}

.header-inner {
  height: 72px;
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
}

/* ===== Brand ===== */
.brand {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  color: #f7f7f9;
}
.brand-mark { width: 40px; height: 40px; border-radius: 10px; background: #ff6b3d; margin-right: 10px; }
.brand-text { line-height: 1.1; }
.brand-title { font-weight: 800; display: block; }
.brand-sub { font-size: 12px; color: #bdbfc4; display: block; }

/* ===== Nav ===== */
.nav { }
.nav-list { list-style: none; margin: 0; padding: 0; }
.nav-list a {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: #bdbfc4;
}
.nav-list a:hover { color: #f7f7f9; background: rgba(255,255,255,0.06); }

.nav-list a.is-active {
  color: #f7f7f9;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
}

.nav-cta { margin-left: 12px; }

/* ===== Mobile hamburger ===== */
.nav-toggle{
  width: 42px; height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.07);
  cursor: pointer;
}
.nav-toggle-lines{
  display: block;
  width: 18px;
  height: 12px;
  margin: 0 auto;
  position: relative;
}
.nav-toggle-lines:before,
.nav-toggle-lines:after,
.nav-toggle-lines{
  background: transparent;
}
.nav-toggle-lines:before,
.nav-toggle-lines:after{
  content: "";
  position: absolute; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,0.85);
  border-radius: 999px;
}
.nav-toggle-lines:before{ top: 1px; }
.nav-toggle-lines:after{ bottom: 1px; }
/* middle line */
.nav-toggle-lines{
  border-top: 2px solid rgba(255,255,255,0.85);
  border-bottom: 2px solid rgba(255,255,255,0.85);
  border-radius: 999px;
}

/* Dropdown */
#primary-nav{
  position: fixed; left: 0; right: 0; top: 72px;
  background: #0d0d0d;
  border-top: 1px solid rgba(255,255,255,0.08);
  -webkit-box-shadow: 0 10px 30px rgba(0,0,0,0.5);
          box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  max-height: 0; overflow: hidden;
  -webkit-transition: max-height 0.25s ease;
  transition: max-height 0.25s ease;
}
.site-header.is-open #primary-nav{ max-height: 80vh; }

#primary-nav .nav-list{ padding: 10px 14px; }
#primary-nav .nav-cta{ padding: 6px 14px 14px 14px; margin: 0; }


.site-footer{
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 26px 0;
  margin-top: 18px;
  background: #0b0b0c;
}
.footer-grid{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer-links a{
  display: inline-block;
  margin-right: 12px;
  color: #bdbfc4;
}
.footer-links a:hover{ color: #f7f7f9; }

.newsletter{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.newsletter input{
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #101012;
  color: #f7f7f9;
  margin-right: 10px;
  min-width: 240px;
}
.credits{
  margin-top: 14px;
  color: #bdbfc4;
  font-size: 13px;
}

@media (max-width: 768px){
  .newsletter input{ min-width: 200px; margin-bottom: 10px; }
}

/* Desktop bar */
@media (min-width: 756px){
  .nav-toggle{ display: none; }
  #primary-nav{
    position: static; max-height: none; overflow: visible;
    background: transparent; border-top: 0; -webkit-box-shadow: none; box-shadow: none;
  }
  .nav{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  }
  .nav-list{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -ms-flex-wrap: wrap; flex-wrap: wrap;
  }
  .nav-list li{ margin-left: 10px; }
  .nav-list li:first-child{ margin-left: 0; }
  .nav-list a{ padding: 8px 10px; font-size: 14px; }
}
