/*
Theme Name: VIOX Theme
Theme URI: https://viox.com/
Description: VIOX Electric block theme layer for the gradual Elementor-to-Blocks migration.
Author: VIOX Electric
Template: twentytwentyfive
Version: 0.3.5
Text Domain: viox-blocks
*/
html {
  scroll-behavior: smooth;
}

.viox-hero {
  position: relative;
  min-height: 610px;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
  background: var(--viox-dark) url('/wp-content/uploads/2025/07/VIOX-2025-New-Banner.webp') center / cover no-repeat;
}

.viox-hero__slides,
.viox-hero__slides::after,
.viox-hero__slide {
  position: absolute;
  inset: 0;
}

.viox-hero__slides {
  z-index: -2;
}

.viox-hero__slides::after {
  z-index: 1;
  background: linear-gradient(90deg, rgba(33, 36, 43, 0.9) 0%, rgba(33, 36, 43, 0.7) 44%, rgba(33, 36, 43, 0.28) 100%);
  content: "";
}

.viox-hero__slide {
  z-index: 0;
  background-position: center;
  background-size: cover;
  opacity: 0;
  animation: viox-hero-fade 15s infinite;
}

.viox-hero__slide:nth-child(1) { animation-delay: 0s; }
.viox-hero__slide:nth-child(2) { animation-delay: 5s; }
.viox-hero__slide:nth-child(3) { animation-delay: 10s; }

@keyframes viox-hero-fade {
  0%, 4% { opacity: 0; }
  8%, 29% { opacity: 1; }
  33%, 100% { opacity: 0; }
}

.viox-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 610px;
  align-items: center;
}

.viox-hero__content {
  max-width: 760px;
  padding: 88px 0 104px;
}

.viox-hero h1,
.viox-hero h2,
.viox-section h2,
.viox-section h3,
.viox-footer h3 {
  font-family: "Heebo", sans-serif;
}

.viox-hero h1 {
  max-width: 820px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(38px, 5.6vw, 80px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.viox-hero p {
  max-width: 740px;
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.75;
}

.viox-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 38px;
}

.viox-quote-form button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 27px;
  border: 2px solid transparent;
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.viox-quote-form button:hover,
.viox-quote-form button:focus-visible {
  transform: translateY(-2px);
}

.viox-quote-form button {
  background: var(--viox-red);
}

.viox-quote-form button:hover,
.viox-quote-form button:focus-visible {
  background: var(--viox-red-dark);
}

.viox-section {
  padding: 92px 0;
}

.viox-section--products {
  background: #fff;
}

.viox-section-heading {
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
}

.viox-eyebrow {
  display: block;
  margin: 0 0 10px;
  color: var(--viox-red);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.viox-section-heading h2 {
  margin: 0;
  color: var(--viox-ink);
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.viox-section-heading p {
  margin: 18px auto 0;
  color: var(--viox-muted);
  font-size: 17px;
}

.viox-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.viox-product-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--viox-border);
  box-shadow: 0 6px 22px rgba(37, 39, 45, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.viox-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 34px rgba(37, 39, 45, 0.12);
}

.viox-product-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--viox-cloud);
}

.viox-product-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.viox-product-card__body {
  padding: 23px 22px 26px;
}

.viox-product-card h3 {
  margin: 0 0 16px;
  color: var(--viox-ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

.viox-product-card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.viox-product-card li {
  min-width: 0;
}

.viox-product-card li a {
  display: inline-flex;
  align-items: flex-start;
  color: var(--viox-muted);
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}

.viox-product-card li a::before {
  flex: 0 0 auto;
  width: 5px;
  height: 5px;
  margin: 8px 7px 0 0;
  border-radius: 50%;
  background: var(--viox-red);
  content: "";
}

.viox-product-card li a:hover,
.viox-product-card li a:focus-visible {
  color: var(--viox-red);
}

.viox-section--apps,
.viox-section--factory,
.viox-section--cta {
  color: #fff;
  background: var(--viox-dark);
}

.viox-section--apps .viox-section-heading h2,
.viox-section--factory h2,
.viox-section--cta h2 {
  color: #fff;
}

.viox-section--apps .viox-section-heading p,
.viox-section--factory p,
.viox-section--cta p {
  color: rgba(255, 255, 255, 0.72);
}

.viox-app-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.viox-app-card {
  position: relative;
  display: flex;
  min-height: 330px;
  align-items: flex-end;
  overflow: hidden;
  padding: 27px;
  background-color: #44464e;
  background-position: center;
  background-size: cover;
  isolation: isolate;
}

.viox-app-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(37, 39, 45, 0.05), rgba(37, 39, 45, 0.94));
  content: "";
}

.viox-app-card h3 {
  margin: 0;
  color: #fff;
  font-size: 23px;
  line-height: 1.15;
}

.viox-hot-products {
  background: var(--viox-cloud);
}

.viox-hot-products__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 34px;
}

.viox-hot-products__head h2 {
  margin: 0;
  color: var(--viox-ink);
  font-family: "Heebo", sans-serif;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.1;
}

.viox-hot-products__head p {
  max-width: 560px;
  margin: 0;
  color: var(--viox-muted);
}

.viox-hot-products__head a {
  flex: 0 0 auto;
  color: var(--viox-red);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.viox-hot-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.viox-hot-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--viox-border);
}

.viox-hot-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.viox-hot-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.viox-hot-card h3 {
  margin: 0;
  padding: 18px 18px 20px;
  color: var(--viox-ink);
  font-size: 17px;
  line-height: 1.25;
}

.viox-factory {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 70px;
  align-items: center;
}

.viox-factory h2 {
  margin: 0 0 22px;
  font-family: "Heebo", sans-serif;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.1;
}

.viox-factory__copy p {
  margin: 0 0 18px;
}

.viox-factory__media {
  position: relative;
}

.viox-factory__media::before {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 130px;
  height: 130px;
  border-top: 3px solid var(--viox-red);
  border-right: 3px solid var(--viox-red);
  content: "";
}

.viox-factory__media img {
  position: relative;
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: cover;
}

.viox-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 42px;
}

.viox-stat {
  padding: 23px 18px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  text-align: center;
}

.viox-stat strong {
  display: block;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: 38px;
  line-height: 1;
}

.viox-stat span {
  display: block;
  margin-top: 9px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.3;
}

.viox-section--why {
  background: #fff;
}

.viox-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.viox-feature {
  min-height: 210px;
  padding: 28px 26px;
  border: 1px solid var(--viox-border);
  background: #fff;
}

.viox-feature__icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 18px;
  border: 2px solid var(--viox-red);
  color: var(--viox-red);
  font-size: 21px;
  font-weight: 900;
}

.viox-feature h3 {
  margin: 0 0 9px;
  color: var(--viox-ink);
  font-size: 20px;
  line-height: 1.2;
}

.viox-feature p {
  margin: 0;
  color: var(--viox-muted);
  font-size: 15px;
  line-height: 1.55;
}

.viox-trusted {
  background: var(--viox-cloud);
}

.viox-logo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.viox-logo-grid a {
  display: grid;
  min-height: 90px;
  place-items: center;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--viox-border);
}

.viox-logo-grid img {
  display: block;
  width: 100%;
  max-height: 58px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.75;
  transition: filter 180ms ease, opacity 180ms ease;
}

.viox-logo-grid a:hover img,
.viox-logo-grid a:focus-visible img {
  filter: grayscale(0);
  opacity: 1;
}

.viox-quote {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.viox-quote__intro {
  padding: 82px max(34px, calc((100vw - var(--viox-container)) / 2)) 82px 24px;
  background: var(--viox-red);
}

.viox-quote__intro h2,
.viox-quote__form h2 {
  margin: 0 0 18px;
  font-family: "Heebo", sans-serif;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.1;
}

.viox-quote__intro p {
  max-width: 520px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.8);
}

.viox-quote__form {
  padding: 82px 24px 82px max(34px, calc((100vw - var(--viox-container)) / 2));
  background: var(--viox-dark-2);
}

.viox-quote-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 620px;
}

.viox-quote-form label {
  display: grid;
  gap: 7px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 700;
}

.viox-quote-form input,
.viox-quote-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0;
  background: #fff;
  color: var(--viox-ink);
  font-size: 15px;
}

.viox-quote-form textarea {
  min-height: 116px;
  resize: vertical;
}

.viox-quote-form label:last-of-type,
.viox-quote-form button {
  grid-column: 1 / -1;
}

.viox-quote-form button {
  justify-self: start;
  min-width: 180px;
  border: 0;
  cursor: pointer;
}

.viox-blog {
  background: #fff;
}

.viox-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.viox-blog-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--viox-border);
  box-shadow: 0 6px 22px rgba(37, 39, 45, 0.05);
}

.viox-blog-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.viox-blog-card__body {
  padding: 22px 22px 26px;
}

.viox-blog-card h3 {
  margin: 0 0 18px;
  color: var(--viox-ink);
  font-size: 20px;
  line-height: 1.28;
}

.viox-blog-card h3 a {
  color: inherit;
  text-decoration: none;
}

.viox-blog-card h3 a:hover,
.viox-blog-card h3 a:focus-visible {
  color: var(--viox-red);
}

.viox-blog-card__read {
  color: var(--viox-red);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.viox-section--final-cta {
  padding: 70px 0;
  background: var(--viox-dark);
}

.viox-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.viox-final-cta h2 {
  max-width: 790px;
  margin: 0;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.1;
}

.viox-final-cta p {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.72);
}

.viox-final-cta__action {
  flex: 0 0 auto;
}

@media (max-width: 1100px) {
  .viox-product-grid,
  .viox-hot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .viox-app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .viox-factory { gap: 42px; }
}

@media (max-width: 780px) {
  .viox-hero,
  .viox-hero__inner { min-height: 640px; }
  .viox-hero__content { padding: 70px 0 82px; }
  .viox-hero h1 { font-size: clamp(37px, 10vw, 56px); }
  .viox-hero p { font-size: 16px; }
  .viox-section { padding: 70px 0; }
  .viox-product-grid,
  .viox-app-grid,
  .viox-feature-grid,
  .viox-blog-grid { grid-template-columns: 1fr; }
  .viox-hot-products__head,
  .viox-final-cta { display: block; }
  .viox-hot-products__head p { margin-top: 18px; }
  .viox-hot-products__head a { display: inline-block; margin-top: 18px; }
  .viox-factory,
  .viox-quote { grid-template-columns: 1fr; }
  .viox-factory__media { order: -1; }
  .viox-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .viox-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .viox-quote__intro,
  .viox-quote__form { padding: 65px 18px; }
  .viox-quote-form { grid-template-columns: 1fr; }
  .viox-quote-form label:last-of-type,
  .viox-quote-form button { grid-column: auto; }
}

/* Homepage replica overrides --------------------------------------------
 * The original Elementor homepage is intentionally reproduced in a
 * dedicated scope so the About and Contact migrations can keep their own
 * measured layouts while the homepage is tuned independently.
 */
body:has(.viox-homepage) {
  overflow-x: hidden;
}

body:has(.viox-homepage) .viox-site-header .viox-header__inner {
  width: 100%;
  max-width: none;
  min-height: 74px;
  margin: 0;
  box-sizing: border-box;
}

body:has(.viox-homepage) .viox-brand img {
  width: 128px;
}

body:has(.viox-homepage) .viox-desktop-nav {
  flex: 1 1 auto;
  justify-content: space-between;
  gap: 0;
  margin-left: 190px;
}

body:has(.viox-homepage) .viox-desktop-nav .viox-nav-quote {
  width: 122px;
  min-height: 45px;
  box-sizing: border-box;
  padding: 0 20px;
}

.viox-homepage {
  overflow: hidden;
  color: var(--viox-ink);
  font-family: "Lato", sans-serif;
}

.viox-homepage h1,
.viox-homepage h2,
.viox-homepage h3,
.viox-homepage .viox-button,
.viox-homepage .viox-quote-form button {
  font-family: "Inter", sans-serif;
}

.viox-homepage .viox-hero {
  height: 663px;
  min-height: 663px;
  box-sizing: border-box;
}

.viox-homepage .viox-hero__slide {
  animation: none;
  opacity: 0;
}

.viox-homepage .viox-hero__slide:first-child {
  opacity: 1;
}

.viox-homepage .viox-hero__inner {
  width: calc(100% - 40px);
  max-width: none;
  min-height: 663px;
  align-items: stretch;
  box-sizing: border-box;
}

.viox-homepage .viox-hero__content {
  max-width: 852px;
  box-sizing: border-box;
  padding: 118px 0 0;
}

.viox-homepage .viox-hero h1 {
  max-width: 852px;
  margin: 0 0 20px;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 72px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 69px;
}

.viox-homepage .viox-hero p {
  max-width: 852px;
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 33.4286px;
}

.viox-homepage .viox-actions {
  gap: 58px;
  margin-top: 48px;
  padding-left: 10px;
}

.viox-homepage .viox-actions .viox-button {
  min-height: 42px;
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-radius: 0;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 2px;
  line-height: 14px;
}

.viox-homepage .viox-actions .viox-button:first-child {
  width: 117px;
}

.viox-homepage .viox-actions .viox-button:last-child {
  width: 134.5px;
}

.viox-homepage .viox-section--products {
  height: 1172px;
  box-sizing: border-box;
  padding: 0;
}

.viox-homepage .viox-section--products > .viox-container,
.viox-homepage .viox-section--apps > .viox-container,
.viox-homepage .viox-hot-products > .viox-container,
.viox-homepage .viox-section--factory > .viox-container,
.viox-homepage .viox-section--why > .viox-container,
.viox-homepage .viox-trusted > .viox-container,
.viox-homepage .viox-blog > .viox-container {
  width: calc(100% - 20px);
  max-width: none;
  box-sizing: border-box;
}

.viox-homepage .viox-section--products > .viox-container {
  height: 1172px;
}

.viox-homepage .viox-section--products .viox-section-heading {
  height: 135px;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  padding-top: 50px;
}

.viox-homepage .viox-section--products .viox-eyebrow {
  display: none;
}

.viox-homepage .viox-section--products .viox-section-heading h2 {
  margin: 0;
  color: #dc2618;
  font-family: "Inter", sans-serif;
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 54px;
}

.viox-homepage .viox-product-grid {
  height: 1037px;
  box-sizing: border-box;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: 558px 439px;
  gap: 20px;
  padding: 10px 0;
}

.viox-homepage .viox-product-card {
  min-height: 0;
  height: 100%;
  border: 0;
  box-shadow: 0 2px 8px rgba(37, 39, 45, 0.09);
}

.viox-homepage .viox-product-card__media {
  height: 222px;
  flex: 0 0 222px;
  aspect-ratio: auto;
}

.viox-homepage .viox-product-card__body {
  flex: 1 1 auto;
  padding: 9px 20px 20px;
}

.viox-homepage .viox-product-card h3 {
  margin: 0 0 9px;
  color: #565a61;
  font-family: "Inter", sans-serif;
  font-size: 23px;
  font-weight: 800;
  line-height: 29.9px;
}

.viox-homepage .viox-product-card ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.viox-homepage .viox-product-card li {
  flex: 0 0 auto;
}

.viox-homepage .viox-product-card li a {
  display: flex;
  align-items: flex-start;
  color: #25272d;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 29.7143px;
  text-decoration: none;
}

.viox-homepage .viox-product-card li a::before {
  display: none;
}

.viox-homepage .viox-section--apps {
  position: relative;
  height: 778px;
  box-sizing: border-box;
  margin-top: 40px;
  padding: 0;
  color: #fff;
  background: #fff;
}

.viox-homepage .viox-section--apps::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: 446px;
  background: #565a61;
  content: "";
}

.viox-homepage .viox-section--apps > .viox-container {
  position: relative;
  height: 778px;
  margin-inline: auto;
}

.viox-homepage .viox-section--apps .viox-section-heading {
  position: absolute;
  z-index: 1;
  top: 98px;
  left: 23px;
  width: calc(100% - 46px);
  max-width: none;
  margin: 0;
  text-align: left;
}

.viox-homepage .viox-section--apps .viox-eyebrow {
  margin: 0 0 12px;
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 29.7143px;
  text-transform: none;
}

.viox-homepage .viox-section--apps .viox-section-heading h2 {
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 47px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 61.1px;
}

.viox-homepage .viox-section--apps .viox-section-heading p {
  max-width: none;
  margin: 20px 0 0;
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 29.7143px;
}

.viox-homepage .viox-app-grid {
  position: absolute;
  z-index: 2;
  top: 372px;
  right: 0;
  left: 0;
  height: 406px;
  box-sizing: border-box;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: none;
  gap: 20px;
  padding: 10px 0;
}

@media (min-width: 781px) {
  .viox-homepage .viox-section--products > .viox-container,
  .viox-homepage .viox-section--apps > .viox-container,
  .viox-homepage .viox-hot-products > .viox-container,
  .viox-homepage .viox-section--factory > .viox-container,
  .viox-homepage .viox-section--why > .viox-container,
  .viox-homepage .viox-trusted > .viox-container,
  .viox-homepage .viox-blog > .viox-container {
    width: calc(100% - 64px);
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
}

html:has(.viox-homepage) {
  scrollbar-gutter: stable;
}

body:has(.viox-homepage) .viox-desktop-nav .viox-nav-quote {
  padding-right: 0;
  padding-left: 0;
  white-space: nowrap;
}

.viox-homepage .viox-product-card li a {
  padding-right: 5px;
  font-weight: 400;
  letter-spacing: normal;
}

.viox-homepage .viox-product-card li a::before {
  display: block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  margin: 6.9px 3.5px 0 0;
  border-radius: 50%;
  background: #25272d;
  content: "";
}

.viox-homepage .viox-app-grid {
  align-content: start;
}

.viox-homepage .viox-app-card h3,
.viox-homepage .viox-app-card p {
  letter-spacing: normal;
}

.viox-homepage .viox-app-card p {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

.viox-homepage .viox-hero__slide:first-child {
  background-image: url('/wp-content/uploads/2026/07/viox-distribution-cabinet-banner.webp') !important;
}

@media (max-width: 780px) {
  .viox-homepage .viox-section--factory > .viox-factory {
    width: 100%;
  }

  .viox-homepage .viox-factory__copy {
    padding-top: 60px;
  }

  body:has(.viox-homepage) .viox-quote__form > .viox-container {
    padding-right: 33px;
    padding-left: 33px;
  }
}

.viox-homepage .viox-app-card {
  display: block;
  min-height: 0;
  height: auto;
  box-sizing: border-box;
  padding: 20px 20px 50px;
  border-radius: 8px;
  color: #fff;
  text-align: center;
  background: #565a61 !important;
  background-image: none !important;
}

.viox-homepage .viox-app-card::before {
  display: none;
}

.viox-homepage .viox-app-card__icon {
  display: block;
  width: 75px;
  height: 75px;
  margin: 0 auto 20px;
  color: #dc2618;
}

.viox-homepage .viox-app-card__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.viox-homepage .viox-app-card h3 {
  margin: 0;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 26px;
}

.viox-homepage .viox-app-card p {
  margin: 20px 0 0;
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 29.7143px;
}

.viox-homepage .viox-hot-products {
  position: relative;
  height: 420px;
  box-sizing: border-box;
  margin-top: 70px;
  padding: 0;
  background: var(--viox-cloud);
}

.viox-homepage .viox-hot-products > .viox-container {
  position: relative;
  height: 420px;
  margin-inline: auto;
}

.viox-homepage .viox-hot-products__head {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 0;
  display: block;
  width: 530px;
  height: 400px;
  box-sizing: border-box;
  margin: 0;
  padding: 79px 45px 0;
  background: #dc2618;
  color: #fff;
}

.viox-homepage .viox-hot-products__head .viox-eyebrow {
  display: none;
}

.viox-homepage .viox-hot-products__head h2 {
  margin: 0;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 47px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 44px;
}

.viox-homepage .viox-hot-products__head p {
  max-width: 344px;
  margin: 30px 0 0;
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 32px;
}

.viox-homepage .viox-hot-products__head a {
  display: inline-flex;
  width: 167px;
  height: 41px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: 30px;
  background: #fff;
  color: #dc2618;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 13px;
  text-decoration: none;
  text-transform: uppercase;
}

.viox-homepage .viox-hot-grid {
  position: absolute;
  z-index: 1;
  top: 35px;
  left: 420px;
  display: flex;
  width: 825px;
  height: 350px;
  gap: 10px;
  overflow: hidden;
  box-sizing: border-box;
}

.viox-homepage .viox-hot-card {
  flex: 0 0 268px;
  height: 350px;
  border: 0;
  background: #fff;
}

.viox-homepage .viox-hot-card img {
  width: 100%;
  height: 300px;
  aspect-ratio: auto;
  object-fit: cover;
}

.viox-homepage .viox-hot-card h3 {
  height: 50px;
  box-sizing: border-box;
  margin: 0;
  padding: 15px 15px 0;
  color: #25272d;
  font-size: 16px;
  line-height: 20px;
}

.viox-homepage .viox-section--factory {
  height: 750px;
  box-sizing: border-box;
  margin-top: 70px;
  padding: 10px 0;
  background: #25272d;
}

.viox-homepage .viox-section--factory > .viox-factory {
  height: 730px;
  grid-template-columns: 676px 549px;
  gap: 20px;
  align-items: stretch;
  margin-inline: auto;
}

.viox-homepage .viox-factory__copy {
  height: 730px;
  box-sizing: border-box;
}

.viox-homepage .viox-factory__copy .viox-eyebrow {
  margin: 0 0 15px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 29.7143px;
  text-transform: none;
}

.viox-homepage .viox-factory h2 {
  margin: 0 0 22px;
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 47px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 52px;
}

.viox-homepage .viox-factory__copy p {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 29.7143px;
}

.viox-homepage .viox-factory__media {
  height: 730px;
  overflow: hidden;
}

.viox-homepage .viox-factory__media::before {
  z-index: 2;
}

.viox-homepage .viox-factory__media img {
  width: 100%;
  height: 730px;
  max-height: none;
  object-fit: cover;
}

.viox-homepage .viox-stats {
  margin-top: 30px;
}

.viox-homepage .viox-section--why {
  height: 812px;
  box-sizing: border-box;
  margin-top: 70px;
  padding: 0;
  background: #fff;
}

.viox-homepage .viox-section--why > .viox-container {
  height: 812px;
  margin-inline: auto;
}

.viox-homepage .viox-section--why .viox-section-heading {
  height: 212px;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  padding-top: 10px;
  text-align: left;
}

.viox-homepage .viox-section--why .viox-section-heading h2 {
  color: #565a61;
  font-family: "Inter", sans-serif;
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 54px;
}

.viox-homepage .viox-section--why .viox-section-heading p {
  max-width: none;
  margin: 20px 0 0;
  color: #565a61;
  font-size: 18px;
  line-height: 29.7143px;
}

.viox-homepage .viox-feature-grid {
  height: 600px;
  box-sizing: border-box;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 280px 280px;
  gap: 20px;
  padding: 10px 0;
}

.viox-homepage .viox-feature {
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  padding: 28px 26px;
}

.viox-homepage .viox-feature h3 {
  color: #25272d;
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 26px;
}

.viox-homepage .viox-feature p {
  color: #565a61;
  font-size: 16px;
  line-height: 29.7143px;
}

.viox-homepage .viox-trusted {
  height: 373px;
  box-sizing: border-box;
  margin-top: 71px;
  padding: 0;
  background: #fff;
}

.viox-homepage .viox-trusted > .viox-container {
  height: 373px;
  margin-inline: auto;
}

.viox-homepage .viox-trusted .viox-section-heading {
  height: 74px;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-align: left;
}

.viox-homepage .viox-trusted .viox-section-heading h2 {
  color: #565a61;
  font-family: "Inter", sans-serif;
  font-size: 48px;
  font-weight: 900;
  line-height: 54px;
}

.viox-homepage .viox-logo-grid {
  display: flex;
  height: 150px;
  gap: 20px;
  margin-top: 20px;
  overflow: hidden;
}

.viox-homepage .viox-logo-grid a {
  flex: 0 0 180px;
  min-height: 100px;
  box-sizing: border-box;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--viox-border);
}

.viox-homepage .viox-quote {
  position: relative;
  display: block;
  height: 556px;
  box-sizing: border-box;
}

.viox-homepage .viox-quote__intro {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 556px;
  box-sizing: border-box;
  padding: 187px 26px 0;
  background: #25272d;
  text-align: left;
}

.viox-homepage .viox-quote__intro > .viox-container {
  width: 100%;
  max-width: none;
  margin: 0;
}

.viox-homepage .viox-quote__intro .viox-eyebrow {
  display: none;
}

.viox-homepage .viox-quote__intro h2 {
  max-width: 581px;
  margin: 0;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 48px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 44px;
}

.viox-homepage .viox-quote__intro .viox-button {
  margin-top: 20px;
}

.viox-homepage .viox-quote__intro p {
  max-width: 581px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  line-height: 22.2857px;
}

.viox-homepage .viox-quote__form {
  position: absolute;
  top: -50px;
  right: 0;
  width: 50%;
  height: 656px;
  box-sizing: border-box;
  padding: 0;
  background: #54595f;
}

.viox-homepage .viox-quote__form > .viox-container {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 73px 44px 0 73px;
  box-sizing: border-box;
}

.viox-homepage .viox-quote__form h2 {
  margin: 0 0 30px;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 47px;
  font-weight: 800;
  line-height: 44px;
}

.viox-homepage .viox-quote-form {
  max-width: none;
}

.viox-homepage .viox-blog {
  height: 845px;
  box-sizing: border-box;
  margin-top: 94px;
  padding: 10px 0 0;
  background: #fff;
}

.viox-homepage .viox-blog > .viox-container {
  height: 835px;
  margin-inline: auto;
}

.viox-homepage .viox-blog .viox-section-heading {
  height: 89px;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-align: left;
}

.viox-homepage .viox-blog .viox-section-heading h2 {
  color: #565a61;
  font-family: "Inter", sans-serif;
  font-size: 48px;
  font-weight: 900;
  line-height: 54px;
}

.viox-homepage .viox-blog-grid {
  height: 716px;
  box-sizing: border-box;
  grid-template-columns: repeat(3, 333px);
  grid-template-rows: 345px 345px;
  column-gap: 92px;
  row-gap: 25px;
  padding: 30px 31px 0;
}

.viox-homepage .viox-blog-card {
  height: 345px;
  box-sizing: border-box;
}

.viox-homepage .viox-blog-card img {
  width: 100%;
  height: 187.3125px;
  aspect-ratio: auto;
}

.viox-homepage .viox-blog-card__body {
  padding: 31px 20px 18px;
}

.viox-homepage .viox-blog-card h3 {
  margin: 0 0 18px;
  color: #25272d;
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 26px;
}

.viox-homepage .viox-blog-card__read {
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 22.2857px;
}

.viox-homepage .viox-section--final-cta {
  height: 330px;
  box-sizing: border-box;
  margin-top: 49px;
  padding: 0;
  background: #d71920;
}

.viox-homepage .viox-final-cta {
  height: 330px;
  box-sizing: border-box;
  align-items: center;
}

.viox-homepage .viox-final-cta h2,
.viox-homepage .viox-final-cta p {
  color: #fff;
}

.viox-homepage .viox-final-cta h2 {
  font-family: "Inter", sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 54px;
}

.viox-homepage .viox-final-cta__action .viox-button--red {
  background: #fff;
  color: #d71920;
}

@media (max-width: 780px) {
  body:has(.viox-homepage) .viox-site-header .viox-header__inner {
    min-height: 45px;
  }

  body:has(.viox-homepage) .viox-brand img {
    width: 132px;
  }

  body:has(.viox-homepage) .viox-mobile-menu {
    display: none;
  }

  body:has(.viox-homepage) .viox-desktop-nav {
    display: flex;
    gap: 0;
    margin-left: auto;
  }

  body:has(.viox-homepage) .viox-desktop-nav > a {
    display: none;
  }

  body:has(.viox-homepage) .viox-desktop-nav .viox-language {
    display: block;
  }

  .viox-homepage .viox-hero,
  .viox-homepage .viox-hero__inner {
    height: 663px;
    min-height: 663px;
  }

  .viox-homepage .viox-hero__inner {
    width: calc(100% - 40px);
  }

  .viox-homepage .viox-hero__content {
    max-width: none;
    padding: 66.2px 0 0;
  }

  .viox-homepage .viox-hero h1 {
    max-width: none;
    margin: 0 0 20px;
    font-size: 36px;
    font-weight: 900;
    line-height: 43.2px;
  }

  .viox-homepage .viox-hero p {
    max-width: none;
    font-size: 12px;
    line-height: 22.2857px;
  }

  .viox-homepage .viox-actions {
    gap: 50.5px;
    margin-top: 30px;
    padding-left: 10px;
  }

  .viox-homepage .viox-actions .viox-button {
    min-height: 42px;
  }

  .viox-homepage .viox-section--products {
    height: 3711.98px;
  }

  .viox-homepage .viox-section--products > .viox-container {
    height: 3711.98px;
  }

  .viox-homepage .viox-section--products .viox-section-heading {
    height: 126.8px;
    padding-top: 31px;
  }

  .viox-homepage .viox-section--products .viox-section-heading h2 {
    font-size: 27px;
    line-height: 32.4px;
  }

  .viox-homepage .viox-product-grid {
    height: 3585.18px;
    grid-template-columns: 1fr;
    grid-template-rows: 389.8516px 417.7031px 501.2578px 473.4063px 417.7031px 389.8516px 445.5547px 389.8516px;
    gap: 20px;
    padding: 10px 0;
  }

  .viox-homepage .viox-product-card {
    height: 100%;
  }

  .viox-homepage .viox-product-card__media {
    height: auto;
    flex-basis: auto;
    aspect-ratio: 4 / 3;
  }

  .viox-homepage .viox-product-card__body {
    flex: 0 0 auto;
    padding: 9px 20px 20px;
  }

  .viox-homepage .viox-product-card li a {
    font-size: 15px;
    line-height: 27.8571px;
  }

  .viox-homepage .viox-section--apps {
    height: 1760.24px;
    margin-top: 41px;
  }

  .viox-homepage .viox-section--apps > .viox-container {
    height: 1760.24px;
  }

  .viox-homepage .viox-section--apps .viox-section-heading {
    top: 68.4px;
    left: 0;
    width: 100%;
  }

  .viox-homepage .viox-section--apps .viox-eyebrow {
    margin: 0 0 20px;
    font-size: 30px;
    line-height: 30px;
  }

  .viox-homepage .viox-section--apps .viox-section-heading h2 {
    font-size: 30px;
    line-height: 39px;
  }

  .viox-homepage .viox-section--apps .viox-section-heading p {
    margin-top: 20px;
    font-size: 13px;
    line-height: 24.7px;
  }

  .viox-homepage .viox-app-grid {
    top: 372px;
    height: 1388.24px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 20px;
    padding: 10px 0;
  }

  .viox-homepage .viox-app-card {
    height: auto;
    padding: 20px 20px 50px;
  }

  .viox-homepage .viox-hot-products {
    height: 790px;
    margin-top: 70px;
  }

  .viox-homepage .viox-hot-products > .viox-container {
    height: 790px;
  }

  .viox-homepage .viox-hot-products__head {
    top: 10px;
    left: 0;
    width: 100%;
    height: 400px;
    padding: 98.4px 0 0;
    text-align: left;
  }

  .viox-homepage .viox-hot-products__head h2 {
    font-size: 34px;
    line-height: 44.2px;
  }

  .viox-homepage .viox-hot-products__head p {
    max-width: none;
    margin-top: 30px;
    font-size: 16px;
    line-height: 24px;
  }

  .viox-homepage .viox-hot-products__head a {
    margin-top: 30px;
  }

  .viox-homepage .viox-hot-grid {
    display: none;
  }

  .viox-homepage .viox-section--factory {
    height: 1548.875px;
    margin-top: 70px;
    padding: 10px;
  }

  .viox-homepage .viox-section--factory > .viox-factory {
    display: block;
    height: 1528.875px;
    margin: 0;
  }

  .viox-homepage .viox-factory__copy {
    height: 1153.875px;
  }

  .viox-homepage .viox-factory__copy .viox-eyebrow {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 15px;
  }

  .viox-homepage .viox-factory h2 {
    margin: 0 0 20px;
    font-size: 32px;
    line-height: 41.6px;
  }

  .viox-homepage .viox-factory__copy p {
    margin: 0 0 15px;
    font-size: 15px;
    line-height: 27.8571px;
  }

  .viox-homepage .viox-stats {
    margin-top: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .viox-homepage .viox-factory__media {
    order: 0;
    height: 343px;
    margin-top: 26px;
  }

  .viox-homepage .viox-factory__media img {
    height: 343px;
  }

  .viox-homepage .viox-section--why {
    height: 2329.414px;
    margin-top: 70px;
  }

  .viox-homepage .viox-section--why > .viox-container {
    height: 2329.414px;
  }

  .viox-homepage .viox-section--why .viox-section-heading {
    height: 424.617px;
    padding-top: 10px;
  }

  .viox-homepage .viox-section--why .viox-section-heading h2 {
    font-size: 27px;
    line-height: 32.4px;
  }

  .viox-homepage .viox-section--why .viox-section-heading p {
    margin-top: 20px;
    font-size: 18px;
    line-height: 33.4286px;
  }

  .viox-homepage .viox-feature-grid {
    height: 1904.8px;
    grid-template-columns: 1fr;
    grid-template-rows: 332.1328px 332.1328px 280.1328px 280.1328px 280.1328px 280.1328px;
    gap: 20px;
    padding: 10px 0;
  }

  .viox-homepage .viox-feature {
    height: 100%;
    padding: 28px 10px;
  }

  .viox-homepage .viox-feature h3 {
    font-size: 20px;
    line-height: 26px;
  }

  .viox-homepage .viox-feature p {
    font-size: 16px;
    line-height: 29.7143px;
  }

  .viox-homepage .viox-trusted {
    height: 340.164px;
    margin-top: 21px;
  }

  .viox-homepage .viox-trusted > .viox-container {
    height: 340.164px;
  }

  .viox-homepage .viox-trusted .viox-section-heading {
    height: 92.4px;
    padding-top: 60px;
  }

  .viox-homepage .viox-trusted .viox-section-heading h2 {
    font-size: 27px;
    line-height: 32.4px;
  }

  .viox-homepage .viox-logo-grid {
    display: grid;
    width: calc(100% - 20px);
    height: 128px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, 35.92px);
    gap: 20px;
    margin: 30px 10px 0;
  }

  .viox-homepage .viox-logo-grid a {
    min-height: 35.92px;
    padding: 0;
    border: 0;
  }

  .viox-homepage .viox-logo-grid img {
    width: 100%;
    height: 35.92px;
    max-height: none;
  }

  .viox-homepage .viox-quote {
    height: 923.758px;
  }

  .viox-homepage .viox-quote__intro {
    position: static;
    width: 100%;
    height: 249.359px;
    padding: 25px 0 0;
    text-align: center;
  }

  .viox-homepage .viox-quote__intro > .viox-container {
    width: 100%;
  }

  .viox-homepage .viox-quote__intro .viox-eyebrow {
    display: block;
    margin: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 16px;
    text-transform: none;
  }

  .viox-homepage .viox-quote__intro h2 {
    max-width: none;
    margin: 20px 0 0;
    font-size: 18px;
    line-height: 23.4px;
  }

  .viox-homepage .viox-quote__intro .viox-button {
    min-height: 45px;
    margin-top: 20px;
    padding: 0 20px;
    font-size: 16px;
    letter-spacing: 0.08em;
  }

  .viox-homepage .viox-quote__intro p {
    max-width: none;
    margin: 20px 0 0;
    font-size: 12px;
    line-height: 22.2857px;
  }

  .viox-homepage .viox-quote__form {
    position: static;
    width: 100%;
    height: 674.399px;
    padding: 0;
    background: #54595f;
  }

  .viox-homepage .viox-quote__form > .viox-container {
    width: 100%;
    padding: 43px 30px 0;
  }

  .viox-homepage .viox-quote__form h2 {
    margin: 0 0 28px;
    font-size: 26px;
    line-height: 33.8px;
  }

  .viox-homepage .viox-quote-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .viox-homepage .viox-quote-form label:last-of-type,
  .viox-homepage .viox-quote-form button {
    grid-column: auto;
  }

  .viox-homepage .viox-quote-form input,
  .viox-homepage .viox-quote-form textarea {
    height: 47px;
    padding: 6px 16px;
    font-size: 16px;
    line-height: 22.4px;
  }

  .viox-homepage .viox-quote-form textarea {
    height: 81.2px;
    min-height: 81.2px;
  }

  .viox-homepage .viox-quote-form button {
    min-height: 42px;
  }

  .viox-homepage .viox-blog {
    height: 2273.085px;
    margin-top: 75px;
    padding-top: 10px;
  }

  .viox-homepage .viox-blog > .viox-container {
    height: 2263.085px;
  }

  .viox-homepage .viox-blog .viox-section-heading {
    height: 76.4px;
  }

  .viox-homepage .viox-blog .viox-section-heading h2 {
    font-size: 27px;
    line-height: 32.4px;
  }

  .viox-homepage .viox-blog-grid {
    display: grid;
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 3px;
    padding: 0;
    margin-top: 0;
  }

  .viox-homepage .viox-blog-card {
    height: auto;
    min-height: 0;
  }

  .viox-homepage .viox-blog-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .viox-homepage .viox-blog-card__body {
    padding: 10px 30px 34px;
  }

  .viox-homepage .viox-blog-card h3 {
    margin: 0 0 11px;
    font-size: 18px;
    line-height: 26px;
  }

  .viox-homepage .viox-section--final-cta {
    height: 483.109px;
    margin-top: 50px;
    padding: 0;
  }

  .viox-homepage .viox-final-cta {
    display: block;
    height: 483.109px;
    padding: 20px 10px;
  }

  .viox-homepage .viox-final-cta h2 {
    max-width: none;
    font-size: 30px;
    line-height: 39px;
  }

  .viox-homepage .viox-final-cta p {
    margin-top: 20px;
    font-size: 15px;
    line-height: 27.8571px;
  }

  .viox-homepage .viox-final-cta__action {
    margin-top: 25px;
  }
}

@media (max-width: 460px) {
  .viox-actions { display: grid; }
  .viox-product-grid,
  .viox-hot-grid { grid-template-columns: 1fr; }
  .viox-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .viox-hero__slide { animation: none; opacity: 0; }
  .viox-hero__slide:first-child { opacity: 1; }
  .viox-product-card,
  .viox-logo-grid img { transition: none; }
}

/* Homepage centering pass ----------------------------------------------
 * Keep the full-width color bands, but give the desktop content a clear
 * centered reading width instead of letting it sit against the viewport.
 */
@media (min-width: 781px) {
  body:has(.viox-homepage) .viox-site-header .viox-header__inner,
  .viox-homepage .viox-hero__inner,
  .viox-homepage .viox-section--products > .viox-container,
  .viox-homepage .viox-section--apps > .viox-container,
  .viox-homepage .viox-hot-products > .viox-container,
  .viox-homepage .viox-section--factory > .viox-container,
  .viox-homepage .viox-section--why > .viox-container,
  .viox-homepage .viox-trusted > .viox-container,
  .viox-homepage .viox-blog > .viox-container,
  .viox-homepage .viox-final-cta {
    width: calc(100% - 64px);
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }

  .viox-homepage .viox-section--factory > .viox-factory {
    width: 100%;
    grid-template-columns: minmax(0, 1.23fr) minmax(0, 1fr);
  }

  .viox-homepage .viox-hot-products__head {
    width: 480px;
  }

  .viox-homepage .viox-hot-grid {
    left: 380px;
    width: calc(100% - 380px);
  }

  .viox-homepage .viox-hot-card {
    flex-basis: calc((100% - 30px) / 4);
  }

  .viox-homepage .viox-blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 32px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .viox-homepage .viox-blog-card img {
    height: auto;
    aspect-ratio: 16 / 9;
  }
}

/* About page replica ----------------------------------------------------- */
.viox-about-page {
  overflow: hidden;
  background: #f7f7f8;
  color: var(--viox-ink);
}

.viox-about-container {
  width: min(calc(100% - 40px), 1240px);
  margin-inline: auto;
}

.viox-about-hero {
  display: grid;
  min-height: 308px;
  box-sizing: border-box;
  place-items: center;
  padding: 44px 0 50px;
  background:
    linear-gradient(90deg, rgba(10, 15, 25, 0.1), rgba(31, 74, 153, 0.04)),
    url('/wp-content/uploads/2025/07/viox-building-logo-3-2048x513.webp') center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.viox-about-hero h1 {
  margin: 0;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: clamp(44px, 5vw, 62px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.viox-about-hero p {
  max-width: 1110px;
  margin: 25px auto 0;
  color: #fff;
  font-size: clamp(15px, 1.45vw, 20px);
  font-weight: 700;
  line-height: 1.45;
}

.viox-about-intro {
  padding: 10px 0 9px;
  background: #f7f7f8;
}

.viox-about-intro > .viox-about-container {
  width: min(calc(100% - 20px), 1260px);
}

.viox-about-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 769px) minmax(330px, 1fr);
  gap: 30px;
  align-items: start;
}

.viox-about-collage {
  position: relative;
  display: block;
  min-height: 965px;
}

.viox-about-collage__item {
  position: absolute;
  width: calc(50% - 6px);
  height: auto;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #ddd;
}

.viox-about-collage__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.viox-about-collage__item--one { top: 0; left: 0; height: 284px; }
.viox-about-collage__item--two { top: 294px; left: 0; height: 284px; }
.viox-about-collage__item--three { top: 587px; left: 0; height: 378px; }
.viox-about-collage__item--four { top: 0; right: 0; height: 378px; }
.viox-about-collage__item--five { top: 558px; right: 0; height: 284px; }
.viox-about-collage__item--six { display: none; }

.viox-about-experience-badge {
  position: absolute;
  z-index: 2;
  right: 11px;
  bottom: calc(25% - 6px);
  display: grid;
  width: min(290px, 45%);
  min-height: 64px;
  place-items: center;
  padding: 12px 20px;
  box-sizing: border-box;
  border-radius: 8px;
  background: var(--viox-red);
  color: #fff;
  text-align: center;
}

.viox-about-experience-badge strong {
  font-family: "Heebo", sans-serif;
  font-size: 14px;
  line-height: 1.25;
}

.viox-about-intro__copy {
  align-self: start;
  padding: 20px 0 30px;
}

.viox-about-kicker {
  display: block;
  margin: 0 0 16px;
  color: var(--viox-muted);
  font-family: "Heebo", sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
}

.viox-about-kicker--red {
  color: var(--viox-red);
  font-size: 15px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.viox-about-intro__copy h2 {
  margin: 0;
  color: var(--viox-muted);
  font-family: "Heebo", sans-serif;
  font-size: clamp(35px, 4vw, 54px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.viox-about-year {
  margin: 26px 0 23px;
  color: var(--viox-red-dark);
  font-family: "Heebo", sans-serif;
  font-size: clamp(38px, 4vw, 52px);
  font-weight: 800;
  line-height: 1;
}

.viox-about-intro__copy p {
  margin: 0 0 18px;
  color: var(--viox-muted);
  font-size: 16px;
  line-height: 1.65;
}

.viox-about-intro__copy p strong {
  color: var(--viox-ink);
}

.viox-about-hotline {
  display: flex;
  align-items: center;
  gap: 17px;
  margin: 27px 0 18px;
  padding: 15px 22px;
  border-radius: 21px;
  background: #858585;
  color: #fff;
}

.viox-about-hotline__icon {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #777;
  font-size: 25px;
}

.viox-about-hotline strong,
.viox-about-hotline a {
  display: block;
  color: #fff;
  text-decoration: none;
}

.viox-about-hotline strong {
  font-family: "Heebo", sans-serif;
  font-size: 18px;
  line-height: 1.2;
}

.viox-about-hotline a {
  margin-top: 10px;
  font-family: "Heebo", sans-serif;
  font-size: 18px;
  font-weight: 800;
}

.viox-about-tagline {
  margin-top: 24px !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
}

.viox-about-capability {
  padding: 10px 0;
  background: #25272d;
  color: #fff;
}

.viox-about-capability > .viox-about-container {
  width: min(calc(100% - 20px), 1260px);
}

.viox-about-capability__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 797px;
  gap: 20px;
  align-items: center;
}

.viox-about-capability__media {
  position: relative;
  display: flex;
  min-height: 797px;
  align-items: center;
  padding: 10px;
  box-sizing: border-box;
}

.viox-about-capability__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 600 / 461;
  object-fit: cover;
  border: 1px solid #5f6269;
  border-radius: 4px;
}

.viox-about-capability__media span {
  position: absolute;
  right: auto;
  bottom: 10px;
  left: 14px;
  padding: 12px 25px 12px 28px;
  border-left: 8px solid var(--viox-red);
  border-radius: 3px;
  background: #25272d;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.17em;
  line-height: 1.2;
}

.viox-about-capability__copy h2 {
  max-width: 610px;
  margin: 0 0 25px;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: clamp(37px, 4vw, 56px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.1;
}

.viox-about-capability__copy > p {
  margin: 0 0 32px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 17px;
  line-height: 1.75;
}

.viox-about-capability-list {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.viox-about-capability-list li {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid #5d6067;
  border-radius: 4px;
}

.viox-about-capability-list li > span {
  display: grid;
  min-height: 67px;
  place-items: center;
  border-radius: 4px;
  background: #ed251a;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: 35px;
  font-weight: 800;
  line-height: 1;
}

.viox-about-capability-list h3 {
  margin: 0 0 3px;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: 19px;
  line-height: 1.2;
}

.viox-about-capability-list p {
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  line-height: 1.5;
}

.viox-about-gallery {
  padding: 20px 0;
  background: #f7f7f8;
}

.viox-about-gallery__title {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  margin: 0 0 20px;
  padding: 0 26px 0 21px;
  border-left: 8px solid var(--viox-red);
  border-radius: 3px;
  background: #25272d;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.17em;
  line-height: 1;
  text-transform: uppercase;
}

.viox-about-gallery__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.viox-about-gallery__grid figure {
  height: 315px;
  margin: 0;
  overflow: hidden;
  border-radius: 17px;
  background: #ddd;
}

.viox-about-gallery__grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.viox-about-factory {
  position: relative;
  margin-top: 70px;
  padding: 10px 0;
  background:
    linear-gradient(90deg, rgba(30, 32, 38, 0.87), rgba(30, 32, 38, 0.36)),
    url('/wp-content/uploads/2025/07/aerial-shot-industrial-buildings.webp') center / cover no-repeat;
  color: #fff;
}

.viox-about-factory > .viox-about-container {
  width: min(calc(100% - 80px), 1200px);
}

.viox-about-factory__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.235fr) minmax(0, 1fr);
  min-height: 830px;
  gap: 20px;
  align-items: center;
}

.viox-about-factory__copy h2 {
  max-width: 650px;
  margin: 0 0 22px;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.12;
}

.viox-about-factory__copy {
  transform: translateY(-36px);
}

.viox-about-factory__copy p {
  max-width: 690px;
  margin: 0 0 17px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  line-height: 1.8;
}

.viox-about-factory__media {
  align-self: center;
  padding: 5px;
  box-sizing: border-box;
  border: 4px solid #fff;
  border-radius: 21px;
}

.viox-about-factory__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px;
}

.viox-about-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 655px;
  margin-top: 31px;
}

.viox-about-stats > div {
  padding: 4px 20px 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.85);
  border-bottom: 1px solid rgba(255, 255, 255, 0.85);
  text-align: center;
}

.viox-about-stats > div:nth-child(2n) { border-right: 0; }
.viox-about-stats > div:nth-child(n+3) { border-bottom: 0; }

.viox-about-stats strong {
  display: block;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: clamp(48px, 5vw, 76px);
  font-weight: 400;
  line-height: 1;
}

.viox-about-stats span {
  display: block;
  margin-top: 5px;
  color: #fff;
  font-size: 17px;
  line-height: 1.3;
}

.viox-about-features {
  position: relative;
  z-index: 2;
  margin-top: -74px;
  padding: 0 0 94px;
  background: transparent;
}

.viox-about-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.viox-about-features > .viox-about-container,
.viox-about-testimonials > .viox-about-container {
  width: min(calc(100% - 80px), 1200px);
}

.viox-about-feature-card {
  min-height: 309px;
  padding: 42px 25px 30px;
  box-sizing: border-box;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 4px 9px rgba(37, 39, 45, 0.25);
  text-align: center;
}

.viox-about-feature-card__icon {
  display: inline-grid;
  width: 87px;
  height: 87px;
  place-items: center;
  margin-bottom: 12px;
  color: var(--viox-red);
}

.viox-about-feature-card__icon svg {
  display: block;
  width: 87px;
  height: 87px;
}

.viox-about-feature-card__icon--rg {
  background: var(--viox-red);
  color: #fff;
  font-family: Georgia, serif;
  font-size: 40px;
  line-height: 1;
}

.viox-about-feature-card__icon--rg sup {
  position: relative;
  top: -0.42em;
  font-size: 17px;
}

.viox-about-feature-card h3 {
  margin: 0 0 10px;
  color: var(--viox-ink);
  font-family: "Heebo", sans-serif;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
}

.viox-about-feature-card p {
  max-width: 340px;
  margin: 0 auto;
  color: var(--viox-muted);
  font-size: 16px;
  line-height: 1.85;
}

.viox-about-testimonials {
  padding: 10px 0;
  background: #f7f7f8;
}

.viox-about-testimonials__grid {
  display: grid;
  grid-template-columns: minmax(0, 589px) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}

.viox-about-testimonials__copy {
  padding: 15px 10px 0;
}

.viox-about-testimonials__copy h2 {
  margin: 0 0 20px;
  color: var(--viox-red-dark);
  font-family: "Heebo", sans-serif;
  font-size: clamp(36px, 4vw, 50px);
  font-weight: 800;
  line-height: 1.12;
}

.viox-about-testimonials__copy p {
  max-width: 560px;
  margin: 0;
  color: var(--viox-muted);
  font-size: 18px;
  line-height: 1.9;
}

.viox-about-testimonial-slider {
  position: relative;
  min-height: 380px;
}

.viox-about-testimonial-track {
  position: relative;
  min-height: 380px;
}

.viox-about-testimonial-card {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 52px 66px 54px;
  box-sizing: border-box;
  border: 2px solid #858585;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.64);
  box-shadow: 0 2px 12px rgba(37, 39, 45, 0.25);
  opacity: 0;
  animation: viox-about-testimonial-fade 18s infinite;
}

.viox-about-testimonial-card:nth-child(2) { animation-delay: 6s; }
.viox-about-testimonial-card:nth-child(3) { animation-delay: 12s; }

.viox-about-testimonial-card > p {
  margin: 0;
  color: var(--viox-muted);
  font-size: 21px;
  font-style: italic;
  line-height: 1.55;
}

.viox-about-testimonial-card > div {
  display: flex;
  align-items: center;
  gap: 17px;
}

.viox-about-testimonial-card img {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 50%;
}

.viox-about-testimonial-card strong,
.viox-about-testimonial-card small {
  display: block;
}

.viox-about-testimonial-card strong {
  color: var(--viox-muted);
  font-family: "Heebo", sans-serif;
  font-size: 22px;
  line-height: 1.2;
}

.viox-about-testimonial-card small {
  margin-top: 5px;
  color: var(--viox-muted);
  font-size: 14px;
}

.viox-about-testimonial-dots {
  position: absolute;
  right: 0;
  bottom: 22px;
  left: 0;
  display: flex;
  justify-content: center;
  gap: 9px;
}

.viox-about-testimonial-dots i {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c7c7c7;
}

.viox-about-testimonial-dots i:last-child { background: #000; }

@keyframes viox-about-testimonial-fade {
  0%, 3% { opacity: 0; }
  8%, 30% { opacity: 1; }
  36%, 100% { opacity: 0; }
}

.viox-about-cta {
  min-height: 330px;
  margin-top: 120px;
  padding: 50px 0;
  box-sizing: border-box;
  background: #e9161d;
  color: #fff;
}

.viox-about-cta__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: 38px;
  align-items: center;
}

.viox-about-cta h2 {
  max-width: 750px;
  margin: 0 0 22px;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.viox-about-cta p {
  max-width: 840px;
  margin: 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.9;
}

.viox-about-cta__button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-radius: 8px;
  background: #25272d;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.viox-about-cta__button:hover,
.viox-about-cta__button:focus-visible {
  background: #111216;
  color: #fff;
}

@media (max-width: 980px) {
  .viox-about-intro__grid,
  .viox-about-capability__grid,
  .viox-about-factory__grid,
  .viox-about-testimonials__grid { grid-template-columns: 1fr; }
  .viox-about-collage { min-height: 965px; }
  .viox-about-capability__copy { order: -1; }
  .viox-about-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .viox-about-factory__media { max-width: 680px; }
  .viox-about-testimonials__copy { padding-left: 0; }
  .viox-about-testimonial-slider { max-width: 720px; width: 100%; }
}

@media (max-width: 780px) {
  .viox-about-container { width: min(calc(100% - 36px), 1240px); }
  .viox-about-hero { min-height: 245px; padding: 38px 0; }
  .viox-about-hero p { margin-top: 18px; font-size: 15px; }
  .viox-about-intro { padding-top: 18px; }
  .viox-about-collage { min-height: 700px; }
  .viox-about-collage__item { width: calc(50% - 4px); }
  .viox-about-collage__item--one { top: 0; height: 205px; }
  .viox-about-collage__item--two { top: 213px; height: 205px; }
  .viox-about-collage__item--three { top: 426px; height: 270px; }
  .viox-about-collage__item--four { top: 0; height: 270px; }
  .viox-about-collage__item--five { top: 398px; height: 205px; }
  .viox-about-collage__item { border-radius: 13px; }
  .viox-about-experience-badge { right: 7px; bottom: calc(25% - 4px); width: 48%; padding: 9px 12px; }
  .viox-about-experience-badge strong { font-size: 11px; }
  .viox-about-intro__copy { padding: 15px 0 45px; }
  .viox-about-hotline { padding: 13px 16px; }
  .viox-about-capability { padding: 60px 0; }
  .viox-about-capability > .viox-about-container,
  .viox-about-factory > .viox-about-container,
  .viox-about-features > .viox-about-container,
  .viox-about-testimonials > .viox-about-container { width: min(calc(100% - 36px), 1240px); }
  .viox-about-capability__grid { min-height: 0; gap: 32px; }
  .viox-about-capability__media { min-height: 0; padding: 0; }
  .viox-about-capability__copy h2 { font-size: 38px; }
  .viox-about-capability-list { gap: 12px; }
  .viox-about-capability-list li { grid-template-columns: 55px 1fr; gap: 10px; padding: 8px; }
  .viox-about-capability-list li > span { min-height: 54px; font-size: 27px; }
  .viox-about-capability-list h3 { font-size: 16px; }
  .viox-about-capability-list p { font-size: 12px; }
  .viox-about-gallery { padding: 18px 0 25px; }
  .viox-about-gallery__title { margin-bottom: 15px; font-size: 11px; }
  .viox-about-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .viox-about-gallery__grid figure { height: 230px; border-radius: 12px; }
  .viox-about-factory { padding: 60px 0 115px; }
  .viox-about-factory__grid { min-height: 0; }
  .viox-about-factory__copy { transform: none; }
  .viox-about-factory__copy h2 { font-size: 37px; }
  .viox-about-factory__copy p { font-size: 15px; line-height: 1.7; }
  .viox-about-stats strong { font-size: 50px; }
  .viox-about-stats span { font-size: 14px; }
  .viox-about-features { margin-top: -54px; padding-bottom: 67px; }
  .viox-about-features__grid { grid-template-columns: 1fr; gap: 18px; }
  .viox-about-feature-card { min-height: 0; padding: 30px 22px 25px; }
  .viox-about-testimonials { padding-bottom: 78px; }
  .viox-about-testimonials__grid { gap: 30px; }
  .viox-about-testimonials__copy h2 { font-size: 38px; }
  .viox-about-testimonials__copy p { font-size: 16px; line-height: 1.7; }
  .viox-about-testimonial-slider,
  .viox-about-testimonial-track { min-height: 390px; }
  .viox-about-testimonial-card { padding: 35px 28px 50px; }
  .viox-about-testimonial-card > p { font-size: 17px; }
  .viox-about-testimonial-card strong { font-size: 18px; }
  .viox-about-cta { padding: 58px 0 64px; }
  .viox-about-cta__grid { grid-template-columns: 1fr; gap: 24px; }
  .viox-about-cta h2 { font-size: 39px; }
  .viox-about-cta p { font-size: 15px; line-height: 1.65; }
  .viox-about-cta__button { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .viox-about-testimonial-card { animation: none; opacity: 0; }
  .viox-about-testimonial-card:first-child { opacity: 1; }
}

/* Contact page replica -------------------------------------------------- */
.viox-contact-page {
  overflow: hidden;
  background: #f7f7f8;
  color: var(--viox-ink);
}

.viox-contact-container {
  width: min(calc(100% - 40px), 1200px);
  margin-inline: auto;
}

.viox-contact-hero {
  display: flex;
  height: 300px;
  box-sizing: border-box;
  align-items: center;
  background: #25272d;
  color: #fff;
}

.viox-contact-hero__inner {
  display: flex;
  align-items: center;
}

.viox-contact-hero__content {
  width: 100%;
  padding: 0;
}

.viox-contact-hero h1 {
  margin: 0 0 23px;
  color: #fff;
  font-family: "Heebo", sans-serif;
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.viox-contact-hero__rule {
  display: block;
  width: 60px;
  height: 2px;
  background: #fff;
}

.viox-contact-info {
  height: 544px;
  box-sizing: border-box;
  padding: 39px 0 0;
}

.viox-contact-card-grid {
  display: grid;
  height: 505px;
  box-sizing: border-box;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, 232px);
  gap: 20px;
  padding: 10px 0 11px;
}

.viox-contact-card {
  display: flex;
  height: 232px;
  box-sizing: border-box;
  align-items: center;
  border: 1px solid #565a61;
  flex-direction: column;
  padding: 30px 18px 22px;
  text-align: center;
}

.viox-contact-card__icon {
  display: grid;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  place-items: center;
  margin-bottom: 15px;
  color: #fb3b32;
}

.viox-contact-card__icon svg {
  display: block;
  width: 50px;
  height: 50px;
  fill: currentColor;
}

.viox-contact-card__icon--whatsapp svg {
  width: 47px;
  height: 52px;
}

.viox-contact-card__icon--wechat svg {
  width: 53px;
  height: 47px;
}

.viox-contact-card h2 {
  margin: 0 0 14px;
  color: #25272d;
  font-family: "Heebo", sans-serif;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
}

.viox-contact-card p {
  max-width: 350px;
  margin: 0;
  color: #565a61;
  font-size: 16px;
  line-height: 1.85;
}

.viox-contact-connect {
  height: 607px;
  box-sizing: border-box;
  padding: 10px 0;
}

.viox-contact-connect__grid {
  display: grid;
  height: 587px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.viox-contact-connect__copy {
  height: 587px;
  box-sizing: border-box;
  padding: 0 10px;
}

.viox-contact-connect__copy h2 {
  margin: 0 0 25px;
  color: #e52b20;
  font-family: "Heebo", sans-serif;
  font-size: 38px;
  font-weight: 800;
  line-height: 1.3;
}

.viox-contact-details {
  display: grid;
  gap: 8px;
  margin: 0 10px;
  padding: 0;
  list-style: none;
}

.viox-contact-details li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #25272d;
  font-size: 16px;
  line-height: 1.5;
}

.viox-contact-details li > span {
  width: 15px;
  flex: 0 0 15px;
  color: #f2382c;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

.viox-contact-details strong {
  font-weight: 800;
}

.viox-contact-connect__copy h3 {
  margin: 40px 10px 22px;
  color: #e52b20;
  font-family: "Heebo", sans-serif;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.25;
}

.viox-contact-qr-grid {
  display: grid;
  grid-template-columns: 142px 142px;
  gap: 148px;
  margin-left: 20px;
}

.viox-contact-qr-grid figure {
  width: 142px;
  height: 202px;
  margin: 0;
  text-align: center;
}

.viox-contact-qr-grid img {
  display: block;
  width: 137px;
  height: 137px;
  margin: 0 auto;
  object-fit: cover;
  box-shadow: 0 0 8px rgba(37, 39, 45, 0.24);
}

.viox-contact-qr-grid figcaption {
  margin-top: 13px;
  color: #565a61;
  font-family: "Heebo", sans-serif;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.2;
}

.viox-contact-connect__form-shell {
  height: 587px;
  box-sizing: border-box;
  padding: 10px;
}

.viox-contact-form {
  display: grid;
  width: 580px;
  max-width: 100%;
  height: 567px;
  box-sizing: border-box;
  gap: 20px;
  padding: 26px 26px 22px;
  border: 1px solid #565a61;
  border-radius: 10px;
}

.viox-contact-form label {
  display: block;
  min-width: 0;
}

.viox-contact-form input,
.viox-contact-form textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #7f8998;
  border-radius: 4px;
  background: #fff;
  color: #25272d;
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
  outline: none;
}

.viox-contact-form input {
  height: 47px;
  padding: 0 16px;
}

.viox-contact-form textarea {
  height: 149px;
  padding: 12px 16px;
  resize: vertical;
}

.viox-contact-form input:focus,
.viox-contact-form textarea:focus {
  border-color: #f2382c;
  box-shadow: 0 0 0 2px rgba(242, 56, 44, 0.12);
}

.viox-contact-captcha {
  width: 226px;
  height: 52px;
  box-sizing: border-box;
  border: 1px solid #d7d7d7;
  background: #fff;
  box-shadow: 0 1px 5px rgba(37, 39, 45, 0.2);
}

.viox-contact-form button {
  width: 100%;
  height: 37px;
  align-self: end;
  border: 0;
  border-radius: 3px;
  background: #e52419;
  color: #fff;
  cursor: pointer;
  font-family: "Lato", sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
}

.viox-contact-form button:hover,
.viox-contact-form button:focus-visible {
  background: #c91e16;
}

.viox-contact-brands {
  height: 274px;
  box-sizing: border-box;
  padding-top: 69px;
  background: #fff;
}

.viox-contact-brands h2 {
  margin: 0;
  color: #565a61;
  font-family: "Heebo", sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.viox-contact-brand-window {
  height: 130px;
}

@media (max-width: 780px) {
  .viox-contact-container {
    width: calc(100% - 20px);
  }

  .viox-contact-hero__inner {
    align-items: center;
    padding: 0 10px;
  }

  .viox-contact-hero h1 {
    font-size: 42px;
  }

  .viox-contact-info {
    height: 795px;
    padding-top: 39px;
  }

  .viox-contact-card-grid {
    height: 757px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 272px 272px 153px;
    gap: 20px;
    padding: 10px 0;
  }

  .viox-contact-card {
    height: auto;
    min-width: 0;
    padding: 28px 10px 18px;
  }

  .viox-contact-card:nth-child(n + 5) {
    padding-top: 20px;
  }

  .viox-contact-card__icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    margin-bottom: 10px;
  }

  .viox-contact-card__icon svg,
  .viox-contact-card__icon--whatsapp svg,
  .viox-contact-card__icon--wechat svg {
    width: 19px;
    height: 19px;
  }

  .viox-contact-card h2 {
    margin-bottom: 16px;
    font-size: 22px;
  }

  .viox-contact-card p {
    font-size: 16px;
    line-height: 1.85;
  }

  .viox-contact-connect {
    height: 1730px;
    padding: 10px 0;
  }

  .viox-contact-connect__grid {
    display: block;
    height: 1710px;
  }

  .viox-contact-connect__copy {
    height: 1123px;
    padding: 10px;
  }

  .viox-contact-connect__copy h2 {
    margin-bottom: 25px;
    font-size: 38px;
  }

  .viox-contact-details {
    margin-inline: 10px;
  }

  .viox-contact-connect__copy h3 {
    margin-top: 40px;
    font-size: 27px;
  }

  .viox-contact-qr-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 0 10px;
  }

  .viox-contact-qr-grid figure {
    width: 100%;
    height: 355px;
  }

  .viox-contact-qr-grid img {
    width: 200px;
    height: 200px;
  }

  .viox-contact-qr-grid figcaption {
    margin-top: 14px;
    font-size: 19px;
  }

  .viox-contact-connect__form-shell {
    height: 587px;
    padding: 0;
  }

  .viox-contact-form {
    width: 100%;
    height: 587px;
    padding: 26px 26px 22px;
  }

  .viox-contact-brands {
    height: 240px;
    padding-top: 55px;
  }

  .viox-contact-brands h2 {
    padding-inline: 15px;
    font-size: 21px;
  }

  /* The original mobile header keeps the language switcher visible. */
  body:has(.viox-contact-page) .viox-header__inner {
    min-height: 46px;
  }

  body:has(.viox-contact-page) .viox-brand img {
    width: 132px;
  }

  body:has(.viox-contact-page) .viox-mobile-menu {
    display: none;
  }

  body:has(.viox-contact-page) .viox-desktop-nav {
    display: flex;
    gap: 0;
    margin-left: auto;
  }

  body:has(.viox-contact-page) .viox-desktop-nav > a {
    display: none;
  }

  body:has(.viox-contact-page) .viox-desktop-nav .viox-language {
    display: block;
  }
}

@media (min-width: 781px) {
  .viox-homepage .viox-section--products > .viox-container,
  .viox-homepage .viox-section--apps > .viox-container,
  .viox-homepage .viox-hot-products > .viox-container,
  .viox-homepage .viox-section--factory > .viox-container,
  .viox-homepage .viox-section--why > .viox-container,
  .viox-homepage .viox-trusted > .viox-container,
  .viox-homepage .viox-blog > .viox-container {
    width: calc(100% - 64px);
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
}
