:root {
  --purple: #6b4fbb;
  --purple-dark: #5a3fa8;
  --orange: #f5a623;
  --black: #000;
  --footer-bg: #f7f7f7;
  --text: #333;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: "Open Sans", Arial, sans-serif;
  color: var(--text);
  background: #000;
  font-size: 14px;
  line-height: 1.5;
}

a { color: inherit; text-decoration: none; }
ul { list-style: none; }
img { max-width: 100%; display: block; }

.container { max-width: 946px; margin: 0 auto; padding: 0 10px; }

/* ===== Header ===== */
.site-header { background: #000; color: #fff; }

.topbar {
  display: flex; justify-content: flex-end; gap: 18px;
  padding: 8px 0 0;
}
.social svg { width: 16px; height: 16px; fill: #bbb; transition: fill .2s; }
.social:hover svg { fill: #fff; }
.social.cart svg { fill: #fff; }

.header-main {
  display: flex; align-items: center; gap: 30px;
  padding: 14px 0 12px;
}
.logo img { width: 117px; height: auto; }

.main-nav ul { display: flex; gap: 24px; }
.main-nav > ul > li { position: relative; }
.main-nav > ul > li > a {
  font-size: 11.5px; font-weight: 700; display: block; padding: 10px 0;
}
.main-nav > ul > li > a:hover { color: var(--orange); }
.has-sub > a::after {
  content: ""; display: inline-block; width: 4px; height: 4px;
  border-right: 1.5px solid #fff; border-bottom: 1.5px solid #fff;
  transform: rotate(45deg); margin: 0 0 3px 6px;
}
.sub {
  position: absolute; top: 100%; left: 0; z-index: 20;
  display: none !important; flex-direction: column; gap: 0 !important;
  background: #fff; min-width: 210px; box-shadow: 0 4px 14px rgba(0,0,0,.25);
  padding: 6px 0;
}
.sub a { display: block; color: #333; padding: 7px 16px; font-size: 13px; }
.sub a:hover { background: var(--purple); color: #fff; }
.has-sub:hover .sub, .has-sub:focus-within .sub { display: flex !important; }

.header-contact {
  margin-left: auto; display: flex; align-items: center; gap: 12px;
  font-size: 10px; line-height: 1.6;
}
.header-contact .small { font-size: 8.5px; }
.headset { width: 28px; height: 28px; fill: none; stroke: var(--orange); stroke-width: 1.6; }
.headset path { fill: none; }

.nav-toggle {
  display: none; margin-left: auto; background: none; border: 0;
  color: #fff; font-size: 26px; cursor: pointer;
}

/* Purple shop bar */
.shopbar { background: var(--purple); padding: 3px 0; }
.shopbar-inner { display: flex; align-items: center; gap: 20px; }
.shop-by { font-size: 11px; font-weight: 700; width: 190px; padding-left: 10px; }
.shop-by .chev { margin-left: 8px; }
.search {
  flex: 1; display: flex; align-items: center;
  background: #fff; border-radius: 20px; overflow: hidden; height: 28px;
}
.search input {
  flex: 1; border: 0; outline: 0; padding: 0 18px; font: inherit; font-size: 10px; height: 100%;
}
.search select {
  border: 0; outline: 0; background: #fff; font: inherit; font-size: 10px;
  padding: 0 8px; height: 100%; cursor: pointer;
}
.search button {
  background: #2d2369; border: 0; width: 34px; height: 100%; cursor: pointer;
  display: grid; place-items: center;
}
.search button svg { width: 14px; height: 14px; fill: #fff; }

/* ===== Main ===== */
.page-bg {
  background: #000 url("../images/circuit-bg.svg") repeat;
  background-size: 600px;
  padding-bottom: 26px;
}
.content-box { max-width: 946px; margin: 0 auto; background: #fff; }

.hero-row {
  display: grid; grid-template-columns: 1fr 136px; gap: 80px;
  padding: 23px 10px 22px 79px;
}
.hero img { width: 100%; box-shadow: 0 6px 8px rgba(0,0,0,.35); }

.promo-tiles { display: flex; flex-direction: column; gap: 16px; }
.tile {
  display: flex; align-items: center; justify-content: center; text-align: center;
  color: #fff; font-weight: 700; font-size: 19px; line-height: 1.2;
  transition: transform .2s, filter .2s;
}
.tile:hover { transform: translateY(-2px); filter: brightness(1.1); }
.tile-black  { background: #111; height: 98px; }
.tile-purple { background: var(--purple); height: 75px; justify-content: flex-start; padding-left: 4px; }
.tile-orange { background: var(--orange); height: 69px; justify-content: flex-start; padding-left: 4px; }

.tagline {
  background: var(--purple); color: #fff; text-align: center; padding: 22px 20px 22px;
}
.tagline h1 { font-size: 17px; font-weight: 700; letter-spacing: .2px; margin-bottom: 10px; }
.tagline p { font-size: 12px; font-weight: 600; }

.services {
  display: grid; grid-template-columns: repeat(6, 1fr);
  padding: 22px 10px 22px; text-align: center;
}
.service { display: flex; flex-direction: column; align-items: center; }
.service img { width: 108px; height: 108px; transition: transform .25s; }
.service:hover img { transform: scale(1.06); }
.service span {
  font-family: "Montserrat", Arial, sans-serif; font-size: 14px; color: #222;
  line-height: 1; margin-top: 6px; letter-spacing: -.3px;
}

/* ===== Footer ===== */
.site-footer { background: var(--footer-bg); color: #444; }
.footer-grid {
  display: grid; grid-template-columns: 1.95fr 1fr 1fr 1fr;
  padding: 38px 10px 60px; font-size: 9px;
}
.questions { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.headset.purple { stroke: var(--purple); width: 38px; height: 38px; }
.questions small { font-size: 8px; color: #888; display: block; }
.big-phone { font-size: 15px; color: #333; }
.site-footer h4 { font-size: 10px; font-weight: 700; color: #333; margin-bottom: 14px; }
.footer-contact h4 { margin-bottom: 4px; }
.footer-contact p { margin-bottom: 4px; }
.orange { color: var(--orange); }
.footer-social { display: flex; gap: 16px; margin-top: 14px; }
.footer-social svg { width: 14px; height: 14px; fill: #777; }
.footer-social a:hover svg { fill: var(--purple); }
.footer-col li { margin-bottom: 6px; }
.footer-col a:hover { color: var(--purple); }
.footer-col .staff { margin-top: 30px; }

.copyright { background: #ececec; font-size: 9px; padding: 8px 0; }

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .header-main { flex-wrap: wrap; }
  .nav-toggle { display: block; }
  .header-contact { order: 3; width: 100%; margin-left: 0; }
  .main-nav { display: none; order: 4; width: 100%; }
  .main-nav.open { display: block; }
  .main-nav ul { flex-direction: column; gap: 0; }
  .sub { position: static; box-shadow: none; background: #111; }
  .sub a { color: #ddd; }
  .hero-row { grid-template-columns: 1fr; gap: 16px; padding: 16px; }
  .promo-tiles { flex-direction: row; }
  .tile { flex: 1; height: 80px !important; justify-content: center !important; font-size: 16px; }
  .services { grid-template-columns: repeat(3, 1fr); row-gap: 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 560px) {
  .shopbar-inner { flex-direction: column; align-items: stretch; gap: 6px; padding: 6px 16px; }
  .shop-by { width: auto; }
  .services { grid-template-columns: repeat(2, 1fr); }
  .promo-tiles { flex-direction: column; }
  .tile { flex: none; height: 64px !important; }
  .footer-grid { grid-template-columns: 1fr; }
}
