/* ================================================
   HIKSEMI - Shared Stylesheet
   Colors: Red #CC0000 | Dark #0A0A0A | White #FFFFFF
   Font: Barlow (Google Fonts)
   ================================================ */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600;700;800;900&family=Barlow+Condensed:wght@600;700;800;900&family=Outfit:wght@300;400;500;600;700;800;900&display=swap");

/* === RESET === */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
}
img {
  max-width: 100%;
  display: block;
}
a {
  text-decoration: none;
  color: inherit;
}
ul,
ol {
  list-style: none;
}
button {
  cursor: pointer;
  font-family: inherit;
}
input,
textarea,
select {
  font-family: inherit;
}

/* === VARIABLES === */
:root {
  --red: #cc0000;
  --red-dark: #a30000;
  --black: #0a0a0a;
  --dark: #1a1a1a;
  --gray-50: #fafafa;
  --gray-100: #f5f5f5;
  --gray-200: #e8e8e8;
  --gray-300: #d4d4d4;
  --gray-400: #aaaaaa;
  --gray-600: #666666;
  --text: #222222;
  --white: #ffffff;
  --container: 1240px;
  --gap: 80px;
  --radius: 4px;
}

/* === BASE === */
body {
  font-family: "Barlow", sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  font-size: 16px;
}

/* === CONTAINER === */
.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

/* === TYPOGRAPHY === */
h1,
h2,
h3,
h4 {
  line-height: 1.1;
  font-weight: 800;
}

.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 12px;
}
.section-tag::before {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background: var(--red);
  flex-shrink: 0;
}

.section-title {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 900;
  color: var(--dark);
  line-height: 1.05;
}
.section-title-white {
  color: var(--white);
}

.section-desc {
  font-size: 16px;
  color: var(--gray-600);
  line-height: 1.7;
  max-width: 560px;
}

/* === BUTTONS === */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  font-weight: 600;
  font-size: 14px;
  border-radius: var(--radius);
  transition: all 0.2s ease;
  border: 2px solid transparent;
  letter-spacing: 0.3px;
}
.btn-red {
  background: var(--red);
  color: var(--white);
  border-color: var(--red);
}
.btn-red:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}

.btn-white-outline {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.6);
}
.btn-white-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--white);
}

.btn-dark-outline {
  background: transparent;
  color: var(--dark);
  border-color: var(--gray-300);
}
.btn-dark-outline:hover {
  border-color: var(--dark);
}

.btn-sm {
  padding: 9px 20px;
  font-size: 13px;
}

/* === PAGE HERO (dark red gradient) === */
.page-hero {
  background: linear-gradient(
    160deg,
    #0a0a0a 0%,
    #1a0000 45%,
    #8b0000 80%,
    var(--red) 100%
  );
  padding: 80px 0 90px;
  position: relative;
  overflow: hidden;
}
.page-hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
}
.page-hero .section-tag {
  color: rgba(255, 255, 255, 0.55);
}
.page-hero .section-tag::before {
  background: rgba(255, 255, 255, 0.4);
}
.page-hero-title {
  font-size: clamp(40px, 6vw, 72px);
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  max-width: 640px;
}
.page-hero-sub {
  margin-top: 16px;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.65);
  max-width: 480px;
  line-height: 1.6;
}

/* === BREADCRUMB === */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 20px;
}
.breadcrumb a {
  color: rgba(255, 255, 255, 0.6);
}
.breadcrumb a:hover {
  color: var(--white);
}
.breadcrumb-sep {
  font-size: 10px;
  opacity: 0.4;
}

/* === RED DIVIDER === */
.red-bar {
  width: 100%;
  height: 3px;
  background: var(--red);
  display: block;
}

/* === TABS === */
.tab-bar {
  display: flex;
  border-bottom: 2px solid var(--gray-200);
  overflow-x: auto;
  scrollbar-width: none;
  gap: 0;
}
.tab-bar::-webkit-scrollbar {
  display: none;
}
.tab-btn {
  padding: 14px 28px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-600);
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: all 0.2s;
}
.tab-btn:hover {
  color: var(--dark);
}
.tab-btn.active {
  color: var(--red);
  border-bottom-color: var(--red);
}

/* === PRODUCT CARD === */
.product-card {
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 20px 16px;
  background: var(--white);
  transition:
    box-shadow 0.25s,
    border-color 0.25s,
    transform 0.25s;
  display: flex;
  flex-direction: column;
}
.product-card:hover {
  border-color: var(--red);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.09);
  transform: translateY(-2px);
}
.product-card-img {
  aspect-ratio: 4/3;
  background: var(--gray-100);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 14px;
}
.product-card-img img {
  object-fit: contain;
  width: 80%;
  height: 80%;
}
.product-card-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 5px;
}
.product-card-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 6px;
  line-height: 1.3;
}
.product-card-spec {
  font-size: 12px;
  color: var(--gray-600);
  line-height: 1.5;
  flex: 1;
}
.product-card-more {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--red);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.product-card-more:hover {
  gap: 8px;
}

/* === PRODUCT GRID === */
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* === ICON BOX (features) === */
.icon-box {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.icon-box-icon {
  width: 44px;
  height: 44px;
  background: rgba(204, 0, 0, 0.08);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--red);
  font-size: 20px;
}
.icon-box-text h4 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--dark);
}
.icon-box-text p {
  font-size: 13px;
  color: var(--gray-600);
  line-height: 1.5;
}

/* === STAT BOX === */
.stat {
  display: flex;
  flex-direction: column;
}
.stat-number {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 900;
  color: var(--dark);
  line-height: 1;
}
.stat-number span {
  color: var(--red);
}
.stat-label {
  font-size: 14px;
  color: var(--gray-600);
  margin-top: 4px;
}

/* === FORM === */
.form-group {
  margin-bottom: 16px;
}
.form-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 6px;
}
.form-control {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--gray-300);
  border-radius: var(--radius);
  font-size: 14px;
  color: var(--dark);
  background: var(--white);
  transition: border-color 0.2s;
  outline: none;
}
.form-control:focus {
  border-color: var(--red);
}
.form-control::placeholder {
  color: var(--gray-400);
}
textarea.form-control {
  resize: vertical;
  min-height: 120px;
}
select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}

/* === CTA SECTION === */
.cta-section {
  background: linear-gradient(
    160deg,
    #0a0a0a 0%,
    #1a0000 50%,
    #8b0000 80%,
    var(--red) 100%
  );
  padding: 90px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 50% 50%,
    rgba(204, 0, 0, 0.45) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.cta-section .container {
  position: relative;
}
.cta-section .section-tag {
  justify-content: center;
  color: rgba(255, 255, 255, 0.5);
}
.cta-section .section-tag::before {
  background: rgba(255, 255, 255, 0.35);
}
.cta-title {
  font-size: clamp(30px, 5vw, 52px);
  font-weight: 900;
  color: var(--white);
  margin: 12px auto 36px;
  max-width: 520px;
  line-height: 1.1;
}
.cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* === FOOTER === */
.site-footer {
  background: var(--black);
  color: var(--white);
  padding: 64px 0 0;
}
.footer-inner {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-brand-logo {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 20px;
  font-weight: 900;
  color: var(--red);
  margin-bottom: 14px;
  letter-spacing: 0.5px;
}
.footer-brand-desc {
  font-size: 13px;
  color: var(--gray-400);
  line-height: 1.75;
  margin-bottom: 22px;
}
.footer-socials {
  display: flex;
  gap: 10px;
}
.footer-socials a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-400);
  font-size: 13px;
  transition: all 0.2s;
}
.footer-socials a:hover {
  border-color: var(--red);
  color: var(--white);
  background: var(--red);
}
.footer-col h5 {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 18px;
}
.footer-col ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-col ul li a {
  font-size: 13px;
  color: var(--gray-400);
  transition: color 0.2s;
  line-height: 1;
}
.footer-col ul li a:hover {
  color: var(--white);
}

.footer-bottom {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--gray-400);
}
.footer-bottom-links {
  display: flex;
  gap: 20px;
}
.footer-bottom-links a {
  color: var(--gray-400);
  transition: color 0.2s;
}
.footer-bottom-links a:hover {
  color: var(--white);
}

/* === SECTION SPACING === */
.section {
  padding: var(--gap) 0;
}
.section-sm {
  padding: 48px 0;
}
.section-lg {
  padding: 100px 0;
}

/* === DIVIDER === */
.divider {
  height: 1px;
  background: var(--gray-200);
}

/* === UTILS === */
.text-red {
  color: var(--red);
}
.text-white {
  color: var(--white);
}
.text-gray {
  color: var(--gray-600);
}
.text-center {
  text-align: center;
}
.fw-900 {
  font-weight: 900;
}
.d-flex {
  display: flex;
}
.align-center {
  align-items: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-16 {
  gap: 16px;
}
.gap-24 {
  gap: 24px;
}
.mt-8 {
  margin-top: 8px;
}
.mt-16 {
  margin-top: 16px;
}
.mt-24 {
  margin-top: 24px;
}
.mt-32 {
  margin-top: 32px;
}
.mt-48 {
  margin-top: 48px;
}
.mb-8 {
  margin-bottom: 8px;
}
.mb-16 {
  margin-bottom: 16px;
}
.mb-24 {
  margin-bottom: 24px;
}
.mb-32 {
  margin-bottom: 32px;
}
.mb-48 {
  margin-bottom: 48px;
}

/* === ACCORDION (FAQ) === */
.accordion-item {
  border-bottom: 1px solid var(--gray-200);
}
.accordion-btn {
  width: 100%;
  padding: 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: none;
  border: none;
  text-align: left;
  font-size: 15px;
  font-weight: 600;
  color: var(--dark);
  gap: 16px;
}
.accordion-btn .icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.5px solid var(--gray-300);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  color: var(--gray-600);
  transition: all 0.2s;
}
.accordion-btn.open .icon {
  background: var(--red);
  border-color: var(--red);
  color: var(--white);
  transform: rotate(45deg);
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.3s ease,
    padding 0.3s ease;
}
.accordion-content.open {
  max-height: 400px;
  padding-bottom: 16px;
}
.accordion-content p {
  font-size: 14px;
  color: var(--gray-600);
  line-height: 1.7;
}

/* === TABLE === */
.table-wrap {
  overflow-x: auto;
}
table {
  width: 100%;
  border-collapse: collapse;
}
th {
  background: var(--dark);
  color: var(--white);
  padding: 12px 16px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
}
td {
  padding: 12px 16px;
  font-size: 13px;
  color: var(--text);
  border-bottom: 1px solid var(--gray-200);
}
tr:nth-child(even) td {
  background: var(--gray-50);
}
.badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
}
.badge-green {
  background: #e6f9f0;
  color: #0a7a45;
}
.badge-red {
  background: #ffeaea;
  color: var(--red);
}

/* ================================================
   RESPONSIVE BREAKPOINTS
   1200px: laptop | 992px: tablet-land | 768px: tablet | 480px: mobile
   ================================================ */

@media (max-width: 1200px) {
  .product-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .footer-inner {
    grid-template-columns: repeat(3, 1fr);
  }
  .footer-inner > :first-child {
    grid-column: 1 / -1;
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  :root {
    --gap: 56px;
  }
  .nav-links {
    display: none;
  }
  .hamburger {
    display: flex;
  }
  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-inner > :first-child {
    grid-column: 1 / -1;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  .footer-bottom-links {
    flex-wrap: wrap;
    justify-content: center;
  }
  .cta-btns {
    flex-direction: column;
    align-items: center;
  }
  .cta-btns .btn {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  :root {
    --gap: 48px;
  }
  .container {
    padding: 0 16px;
  }
  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }
  .footer-inner > :first-child {
    grid-column: 1 / -1;
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .product-card {
    padding: 14px 12px;
  }
  .tab-btn {
    padding: 12px 16px;
    font-size: 13px;
  }
}

/* =============================================
   UPDATED DESIGN TOKENS
============================================= */

:root {
  --red: #d7000f;
  --red-dark: #b5000d;
  --inner: 1280px;
}

/* =============================================
   ANNOUNCE BAR
============================================= */
.announce-bar {
  background: #0d0d0d;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
}
.announce-bar p {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1;
  margin: 0;
  white-space: nowrap;
}
.announce-bar a {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.announce-bar a:hover {
  color: rgba(255, 255, 255, 0.8);
}

/* =============================================
   NAVBAR (NEW)
============================================= */
.navbar {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid #ebebeb;
}
.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1920px;
  margin: 0 auto;
  padding: 20px 55px;
}
.nav-logo img {
  width: 108px;
  height: 16px;
  display: block;
  object-fit: contain;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 0;
}
.nav-item {
  position: relative;
}
.nav-link {
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #5c5c72;
  padding: 8px 18px;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: color 0.2s;
  white-space: nowrap;
}
.nav-link:hover {
  color: #0a0a0f;
}
.nav-link.active {
  color: #d7000f;
  position: relative;
}
.nav-link.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 18px;
  right: 18px;
  height: 2px;
  background: #d7000f;
  border-radius: 1px;
}
.nav-link .chev {
  width: 12px;
  height: 12px;
  transition: transform 0.2s;
}
.nav-item:hover .chev {
  transform: rotate(180deg);
}
/* Bridge the gap between nav link and dropdown so the hover state doesn't break mid-travel */
.nav-item::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

/* Mega menu */
.mega-menu {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  width: 820px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.12);
  border: 1px solid #e8e8e8;
  overflow: hidden;
  height: 402px;
}
.nav-item:hover .mega-menu {
  display: flex;
}
.mega-sidebar {
  width: 200px;
  background: #f7f7f7;
  border-right: 1px solid #e8e8e8;
  flex-shrink: 0;
  padding: 24px 0;
}
.mega-sidebar-item {
  display: flex;
  align-items: center;
  height: 54px;
  padding-left: 20px;
  gap: 10px;
  border-left: 2px solid transparent;
  cursor: pointer;
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #5c5c72;
  white-space: nowrap;
  transition:
    background 0.15s,
    border-left-color 0.15s;
}
.mega-sidebar-item:hover {
  background: rgba(0, 0, 0, 0.03);
  border-left-color: #d7000f;
}
.mega-sidebar-item.active {
  background: rgba(0, 0, 0, 0.03);
  border-left-color: #d7000f;
}
.mega-sb-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}
.mega-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.mega-cat-header {
  margin: 24px 28px 0;
  padding-bottom: 11px;
  border-bottom: 1px solid #e8e8e8;
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #9898a8;
  letter-spacing: 1.32px;
  text-transform: uppercase;
  white-space: nowrap;
}
.mega-links-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 12px 28px 0;
  flex: 1;
}
.mega-link-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s;
}
.mega-link-item:hover {
  background: #f7f7f7;
}
.mega-link-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.mega-link-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mega-link-name {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #0a0a0f;
  white-space: nowrap;
}
.mega-link-sub {
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: #9898a8;
  white-space: nowrap;
}
.mega-link-badge {
  display: inline-block;
  height: 15px;
  padding: 0 6px;
  background: #f7f7f7;
  border-radius: 3px;
  font-family: "Outfit", sans-serif;
  font-size: 9px;
  font-weight: 700;
  color: #1c1c26;
  letter-spacing: 0.54px;
  text-transform: uppercase;
  line-height: 15px;
  width: fit-content;
}
.mega-footer-bar {
  background: #f7f7f7;
  border-top: 1px solid #e8e8e8;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
  margin-top: auto;
  flex-shrink: 0;
}
.mega-footer-text {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #5c5c72;
  white-space: nowrap;
}
.mega-footer-link {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #1c1c26;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
}
.mega-footer-link:hover {
  color: #d7000f;
}

/* Mega menu â€” old content area style */
.mega-content {
  flex: 1;
  padding: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.mega-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  transition: background 0.15s;
  text-decoration: none;
}
.mega-link:hover {
  background: #f7f7f9;
}
.mega-link-icon {
  width: 36px;
  height: 36px;
  background: #f0f0f4;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.mega-link-text {
  font-family: "Outfit", sans-serif;
}
.mega-link-name {
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0f;
  display: block;
}
.mega-link-sub {
  font-size: 12px;
  color: #9898a8;
  display: block;
}

/* Simple dropdown */
.simple-drop {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.1);
  border: 1px solid #ebebeb;
  padding: 8px;
  min-width: 180px;
}
.nav-item:hover .simple-drop {
  display: block;
}
.simple-drop a {
  display: block;
  padding: 8px 14px;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #5c5c72;
  border-radius: 8px;
  transition:
    background 0.15s,
    color 0.15s;
}
.simple-drop a:hover {
  background: #f7f7f9;
  color: #0a0a0f;
}

/* Partners dropdown */
.partners-drop {
  position: absolute;
  top: calc(100% + 12px);
  left: -20px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.12);
  display: flex;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.2s,
    transform 0.2s;
  transform: translateY(8px);
}
.nav-item:hover .partners-drop {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
.ptn-sidebar {
  width: 222px;
  background: #f7f7f7;
  border-right: 1px solid #e8e8e8;
  padding: 24px 0;
  flex-shrink: 0;
}
.ptn-item {
  display: flex;
  align-items: center;
  height: 54px;
  padding: 0 12px 0 18px;
  border-left: 2px solid transparent;
  gap: 10px;
  text-decoration: none;
  transition:
    background 0.15s,
    border-left-color 0.15s;
}
.ptn-item:hover {
  background: #fff;
  border-left-color: #d7000f;
}
.ptn-icon-box {
  width: 32px;
  height: 32px;
  background: #f2f2f2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ptn-label {
  font-size: 16px;
  font-weight: 500;
  color: #5c5c72;
  white-space: nowrap;
  font-family: "Outfit", sans-serif;
}
.ptn-item:hover .ptn-label {
  color: #0a0a0f;
}
.ptn-featured {
  padding: 16px 24px;
  display: flex;
}
.ptn-card {
  background: linear-gradient(99.07deg, #750c0c 1.95%, #1e1818 41.74%);
  border-radius: 7px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  width: 226px;
  position: relative;
  overflow: hidden;
}
.ptn-card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.16;
  pointer-events: none;
  border-radius: 7px;
}
.ptn-card-top {
  text-align: center;
  position: relative;
}
.ptn-card-eyebrow {
  font-size: 12px;
  font-weight: 600;
  color: #ccc;
  letter-spacing: 0.52px;
  text-transform: uppercase;
  margin-bottom: 6px;
  white-space: nowrap;
  font-family: "Outfit", sans-serif;
}
.ptn-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.28px;
  font-family: "Outfit", sans-serif;
}
.ptn-card-emoji {
  font-size: 60px;
  line-height: 1;
  position: relative;
}
.ptn-card-link {
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  border-bottom: 0.34px solid rgba(255, 255, 255, 0.8);
  padding-bottom: 1px;
  white-space: nowrap;
  text-decoration: none;
  font-family: "Outfit", sans-serif;
  position: relative;
}
.ptn-card-link:hover {
  border-bottom-color: #fff;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nav-search-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid #e8e8e8;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    border-color 0.2s,
    background 0.2s;
}
.nav-search-btn:hover {
  background: #f7f7f9;
  border-color: #c8c8c8;
}
.nav-contact-btn {
  background: #d7000f;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 16px;
  padding: 13px 16px;
  border-radius: 8px;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s;
  text-decoration: none;
}
.nav-contact-btn:hover {
  background: #b5000d;
}

/* =============================================
   FOOTER (NEW)
============================================= */
.footer {
  background: #000;
  overflow: hidden;
}
.footer-main {
  padding: 64px 102px 0;
  max-width: 1716px;
  margin: 0 auto;
  display: flex;
  gap: 129px;
  align-items: flex-start;
}
.footer-brand {
  flex: 0 0 354px;
}
.footer-logo {
  margin-bottom: 18px;
}
.footer-logo img {
  height: 15px;
  width: auto;
  display: block;
}
.footer-tagline {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: #555;
  line-height: 23.8px;
  margin-bottom: 28px;
  max-width: 250px;
}
.footer-socials {
  display: flex;
  gap: 10px;
}
.footer-social-btn {
  width: 36px;
  height: 36px;
  background: #0f0f0f;
  border: 1px solid #212121;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #555;
  transition:
    border-color 0.2s,
    color 0.2s;
  cursor: pointer;
  text-decoration: none;
}
.footer-social-btn:hover {
  border-color: #444;
  color: #888;
}
.footer-cols {
  flex: 1;
  display: flex;
  justify-content: space-between;
}
.footer-col {
  flex: 0 0 auto;
}
.footer-col-title {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1.32px;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 32px;
}
.footer-col-links {
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.footer-col-links a {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #555;
  transition: color 0.2s;
  display: block;
}
.footer-col-links a:hover {
  color: #888;
}
.footer-bottom-bar {
  max-width: 1716px;
  margin: 32px auto 0;
  padding: 32px 102px 31px;
  border-top: 1px solid #121212;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-copy,
.footer-contact-info {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #333;
}
.footer-decoration {
  width: 100%;
  display: block;
  height: auto;
}

/* =============================================
   SITE CTA (universal â€” all pages)
============================================= */
.site-cta {
  background: linear-gradient(143.21deg, #1e1818 22.83%, #750c0c 110.15%);
  padding: 96px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.site-cta-dot {
  position: absolute;
  width: 474px;
  height: 386px;
  overflow: hidden;
  pointer-events: none;
}
.site-cta-dot-l {
  left: -150px;
  top: -83px;
  opacity: 0.58;
}
.site-cta-dot-r {
  right: -150px;
  bottom: 0;
}
.site-cta-dot img {
  width: 316px;
  height: 316px;
  opacity: 0.2;
  display: block;
  margin: auto;
}
.site-cta-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.site-cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #828282;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.site-cta-eyebrow::before,
.site-cta-eyebrow::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #828282;
  border-radius: 1px;
  flex-shrink: 0;
}
.site-cta-heading {
  font-family: "Outfit", sans-serif;
  font-size: 58px;
  font-weight: 900;
  color: #fff;
  line-height: 58px;
  letter-spacing: -2.9px;
  max-width: 680px;
}
.site-cta-desc {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.5);
  line-height: 28px;
  max-width: 680px;
}
.site-cta-btns {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
  justify-content: center;
}
.site-cta-btn-primary {
  width: 145px;
  height: 47px;
  background: #d7000f;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.15px;
  border-radius: 10px;
  border: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  cursor: pointer;
}
.site-cta-btn-primary:hover {
  background: #b5000d;
}
.site-cta-btn-outline {
  width: 146px;
  height: 47px;
  background: transparent;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.15px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.2s,
    border-color 0.2s;
  cursor: pointer;
}
.site-cta-btn-outline:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.6);
}

/* =============================================
   RESPONSIVE â€“ NAVBAR + FOOTER
============================================= */
@media (max-width: 1100px) {
  .nav-wrap {
    padding: 16px 32px;
  }
}
@media (max-width: 992px) {
  .footer-main {
    flex-direction: column;
    gap: 40px;
    padding: 48px 32px 0;
  }
  .footer-cols {
    flex-wrap: wrap;
    gap: 32px;
  }
  .footer-bottom-bar {
    padding: 24px 32px;
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .announce-bar {
    display: none;
  }
  .nav-links {
    display: none;
  }
  .nav-wrap {
    padding: 16px 24px;
  }
  .footer-cols {
    gap: 24px;
  }
}

/* =============================================
   SEARCH OVERLAY
============================================= */
.srch-ov {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  padding: 72px 20px 40px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}
.srch-ov.open {
  opacity: 1;
  pointer-events: all;
}
.srch-ov-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 15, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.srch-ov-panel {
  position: relative;
  width: 100%;
  max-width: 680px;
  max-height: calc(100vh - 130px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 32px 96px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(-18px) scale(0.97);
  transition: transform 0.18s ease;
  align-self: flex-start;
}
.srch-ov.open .srch-ov-panel {
  transform: translateY(0) scale(1);
}
.srch-ov-top {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  height: 60px;
  border-bottom: 1px solid #ebebeb;
  flex-shrink: 0;
}
.srch-ov-icon {
  color: #b0b0be;
  display: flex;
  flex-shrink: 0;
}
.srch-ov-field {
  flex: 1;
  border: none;
  outline: none;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #0a0a0f;
  background: transparent;
  min-width: 0;
}
.srch-ov-field::placeholder {
  color: #c0c0cc;
}
.srch-ov-esc {
  flex-shrink: 0;
  background: #f2f2f5;
  border: 1px solid #e4e4eb;
  border-radius: 6px;
  padding: 3px 8px;
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #9898a8;
  cursor: pointer;
  transition: background 0.15s;
}
.srch-ov-esc:hover {
  background: #e4e4eb;
  color: #5c5c72;
}
.srch-ov-body {
  overflow-y: auto;
  overscroll-behavior: contain;
  flex: 1;
}
.srch-ov-body::-webkit-scrollbar {
  width: 4px;
}
.srch-ov-body::-webkit-scrollbar-thumb {
  background: #e4e4eb;
  border-radius: 4px;
}
.srch-ov-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 18px;
  border-top: 1px solid #ebebeb;
  flex-shrink: 0;
}
.srch-ov-hint {
  font-size: 11px;
  color: #c0c0cc;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.srch-ov-hint kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 16px;
  padding: 0 4px;
  background: #f2f2f5;
  border: 1px solid #e4e4eb;
  border-radius: 4px;
  font-size: 10px;
  font-family: inherit;
  color: #9898a8;
}
.srch-ov-count {
  font-size: 11px;
  color: #c0c0cc;
  white-space: nowrap;
}
.srch-ov-section {
  padding: 14px 18px 6px;
}
.srch-ov-section-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #b0b0be;
  margin-bottom: 10px;
}
.srch-ov-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 0 18px 14px;
  border-bottom: 1px solid #f2f2f5;
}
.srch-ov-tag {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border: 1px solid #e4e4eb;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 500;
  color: #5c5c72;
  cursor: pointer;
  background: none;
  font-family: "Outfit", sans-serif;
  transition:
    border-color 0.15s,
    color 0.15s,
    background 0.15s;
  white-space: nowrap;
}
.srch-ov-tag:hover {
  border-color: #d7000f;
  color: #d7000f;
  background: rgba(215, 0, 15, 0.04);
}
.srch-ov-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px;
  text-decoration: none;
  transition: background 0.1s;
}
.srch-ov-row:hover,
.srch-ov-row.focused {
  background: #f7f7f9;
}
.srch-ov-row-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #f2f2f5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}
.srch-ov-row-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.srch-ov-row-title {
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0f;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.srch-ov-row-sub {
  font-size: 12px;
  color: #9898a8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.srch-ov-row-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #b0b0be;
  flex-shrink: 0;
}
.srch-ov-row-badge.product {
  color: #d7000f;
}
.srch-ov-empty {
  padding: 52px 18px;
  text-align: center;
}
.srch-ov-empty-icon {
  font-size: 36px;
  margin-bottom: 12px;
  opacity: 0.6;
}
.srch-ov-empty-title {
  font-size: 15px;
  font-weight: 700;
  color: #0a0a0f;
  margin-bottom: 6px;
}
.srch-ov-empty-sub {
  font-size: 13px;
  color: #9898a8;
}
.srch-ov-divider {
  height: 1px;
  background: #f2f2f5;
  margin: 4px 0;
}

body.srch-open {
  overflow: hidden;
}

/* =============================================
   END OF MAIN STYLE
============================================= */

/* =============================================
   HOMEPAGE STYLE
============================================= */
/* =============================================
       RESET & BASE
    ============================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Outfit", sans-serif;
  color: #0a0a0f;
  background: #fff;
  line-height: 1.6;
  overflow-x: hidden;
}
img {
  max-width: 100%;
  display: block;
}
a {
  text-decoration: none;
  color: inherit;
}
ul {
  list-style: none;
}
button {
  cursor: pointer;
  font-family: inherit;
}

/* =============================================
       VARIABLES
    ============================================= */
:root {
  --red: #d7000f;
  --red-dark: #b5000d;
  --black: #0a0a0f;
  --steel: #1c1c26;
  --comet: #5c5c72;
  --muted: #9898a8;
  --border: #e8e8e8;
  --white: #ffffff;
  --inner: 1280px;
}

/* =============================================
       LAYOUT
    ============================================= */
.wrap {
  width: 100%;
  max-width: var(--inner);
  margin: 0 auto;
  padding: 0 40px;
}

/* =============================================
       HERO
    ============================================= */
.hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  min-height: 600px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.hero-inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 100px 82px 80px;
  display: flex;
  align-items: flex-start;
  gap: 80px;
  flex: 1;
}
.hero-content {
  flex: 0 0 560px;
}
.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 31px;
}
.hero-eyebrow-line {
  width: 24px;
  height: 2px;
  background: #ccc;
  border-radius: 1px;
  flex-shrink: 0;
}
.hero-eyebrow-text {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.98px;
  color: #ccc;
  text-transform: uppercase;
}
.hero-h1 {
  font-family: "Outfit", sans-serif;
  font-weight: 900;
  font-size: clamp(60px, 6vw, 90px);
  line-height: 0.9;
  letter-spacing: -4.1px;
  margin-bottom: 31px;
}
.hero-h1 .line1 {
  color: #fff;
  display: block;
}
.hero-h1 .line2 {
  color: #d7000f;
  display: block;
}
.hero-desc {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin-bottom: 70px;
}
.hero-btns {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-bottom: 48px;
}
.hero-btn-primary {
  background: #d6000f;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.15px;
  height: 50px;
  padding: 0 24px;
  border-radius: 10px;
  border: none;
  display: inline-flex;
  align-items: center;
  transition:
    background 0.2s,
    transform 0.15s;
  white-space: nowrap;
}
.hero-btn-primary:hover {
  background: #b5000d;
  transform: translateY(-1px);
}
.hero-btn-ghost {
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.15px;
  height: 50px;
  padding: 0 21px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: transparent;
  display: inline-flex;
  align-items: center;
  transition:
    border-color 0.2s,
    background 0.2s;
}
.hero-btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.05);
}
/* Slider structure */
.hero-slider-viewport {
  flex: 1;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}
.hero-slider-track {
  display: flex;
  width: 500%;
  height: 100%;
  will-change: transform;
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Navigation arrows */
.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(10, 10, 15, 0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.22s,
    border-color 0.22s,
    transform 0.22s;
  flex-shrink: 0;
}
.hero-arrow:hover {
  background: rgba(215, 0, 15, 0.22);
  border-color: rgba(215, 0, 15, 0.45);
  transform: translateY(-50%) scale(1.08);
}
.hero-arrow svg {
  display: block;
}
.hero-arrow-left {
  left: 32px;
}
.hero-arrow-right {
  right: 32px;
}
.hero-slide {
  width: 20%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(
      350px circle at calc(100% - 170px) 170px,
      rgba(215, 0, 15, 0.22) 0%,
      transparent 65%
    ),
    linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
}

/* Indicator dots with progress bars */
.hero-dots {
  display: flex;
  gap: 16px;
  align-items: center;
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.hero-dot {
  width: 72px;
  height: 3px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  border: none;
  padding: 0;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.hero-dot.active {
  background: rgba(255, 255, 255, 0.25);
}
.hero-dot-progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: #d7000f;
  border-radius: 8px;
  pointer-events: none;
}

/* Hero visual */
.hero-visual {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.hero-video {
  width: 100%;
  max-width: 600px;
  display: block;
  mix-blend-mode: screen;
  flex-shrink: 0;
}

/* =============================================
       MARQUEE STRIP
    ============================================= */
.marquee-strip {
  background: #0a0a0f;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  overflow: hidden;
  height: 44px;
  display: flex;
  align-items: center;
}
.marquee-track {
  display: flex;
  animation: marquee-scroll 28s linear infinite;
  white-space: nowrap;
  will-change: transform;
}
@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.marquee-item {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.marquee-text {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.38);
  padding: 0 20px;
}
.marquee-sep {
  color: #d7000f;
  font-size: 8px;
  flex-shrink: 0;
}

/* =============================================
       THREE-PANEL EDITORIAL
    ============================================= */
.editorial-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 320px 320px;
  gap: 8px;
  background: #e8e8ec;
}
.ep-panel {
  background: #111;
  overflow: hidden;
  position: relative;
}
.ep-left {
  grid-row: 1 / span 2;
}
/* full-bleed background image with blur */
.ep-photo-left,
.ep-photo-right {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  border-radius: 0;
  transform: scale(1.06);
  filter: blur(4px);
}
/* brand red-black gradient overlay */
.ep-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    143deg,
    rgba(10, 10, 15, 0.88) 0%,
    rgba(20, 0, 8, 0.82) 55%,
    rgba(61, 0, 16, 0.75) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.ep-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 2;
}
.ep-label {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.76px;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
}
.ep-heading-lg {
  font-family: "Outfit", sans-serif;
  font-weight: 900;
  font-size: 40px;
  color: #fff;
  letter-spacing: -1.6px;
  line-height: 44px;
  margin: 0;
}
.ep-heading-sm {
  font-family: "Outfit", sans-serif;
  font-weight: 900;
  font-size: 30px;
  color: #fff;
  letter-spacing: -1.2px;
  line-height: 33px;
  margin: 0;
}
.ep-desc {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 21px;
  max-width: 320px;
}
.ep-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #d7000f;
  text-decoration: none;
  padding-top: 8px;
  width: fit-content;
  transition: opacity 0.2s;
}
.ep-link:hover {
  opacity: 0.75;
}
.ep-link-arrow {
  font-weight: 700;
  font-size: 13px;
}
.ep-dot-pattern {
  display: none;
}
@media (max-width: 992px) {
  .editorial-panels {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  .ep-left {
    grid-row: auto;
    min-height: 400px;
  }
  .ep-photo-left {
    width: 220px;
    height: 220px;
    bottom: 140px;
  }
}
@media (max-width: 600px) {
  .editorial-panels {
    gap: 4px;
  }
  .ep-heading-lg {
    font-size: 32px;
    line-height: 36px;
  }
  .ep-heading-sm {
    font-size: 24px;
    line-height: 28px;
  }
}

/* =============================================
       TICKER QUOTES
    ============================================= */
.ticker-wrap {
  background: #0a0a0f;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding: 21px 0 20px;
  overflow: hidden;
}
.ticker-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: ticker-scroll 28s linear infinite;
}
.ticker-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 40px;
  flex-shrink: 0;
}
.ticker-dot {
  width: 5px;
  height: 5px;
  background: #555;
  border-radius: 2.5px;
  flex-shrink: 0;
}
.ticker-text {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #555;
  letter-spacing: 0.78px;
  white-space: nowrap;
  line-height: 1;
}
@keyframes ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* =============================================
       CATEGORIES GRID — "Everything you need to store, fast."
    ============================================= */
.cats-section {
  background: #fff;
  padding: 96px 0;
}
.cats-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
}
.cats-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.cats-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #828282;
  border-radius: 1px;
  flex-shrink: 0;
}
.cats-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.9775px;
  color: #222230;
  text-transform: uppercase;
}
.cats-heading {
  font-weight: 800;
  font-size: clamp(38px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -2.16px;
  color: #0a0a0f;
  margin: 0;
}
.cats-heading span {
  color: #d7000f;
  display: block;
}
.cats-view-all {
  font-weight: 600;
  font-size: 16px;
  color: #222230;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  padding-bottom: 2px;
  transition: color 0.2s;
}
.cats-view-all:hover {
  color: #d7000f;
}
.cats-grid-wrap {
  background: #e8e8e8;
  border-radius: 20px;
  overflow: hidden;
}
.cats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.cats-card {
  background: #fff;
  overflow: hidden;
  position: relative;
  padding: 48px 40px 40px;
  text-decoration: none;
  display: block;
  min-height: 287px;
  transition: background 0.2s;
}
.cats-card:hover {
  background: #fafafa;
}
.cats-card-icon {
  width: 56px;
  height: 56px;
  background: #f7f7f7;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 24px;
  flex-shrink: 0;
}
.cats-card-name {
  font-weight: 800;
  font-size: 22px;
  color: #0a0a0f;
  letter-spacing: -0.66px;
  margin-bottom: 8px;
}
.cats-card-count {
  font-weight: 500;
  font-size: 14px;
  color: #222230;
  margin-bottom: 14px;
}
.cats-card-desc {
  font-weight: 400;
  font-size: 16px;
  color: #5c5c72;
  line-height: 23.1px;
  max-width: 260px;
}
.cats-card-num {
  position: absolute;
  bottom: -20px;
  right: -18px;
  font-weight: 900;
  font-size: 140px;
  color: #e4e4eb;
  letter-spacing: -8.4px;
  line-height: 140px;
  pointer-events: none;
  user-select: none;
}

/* =============================================
       FEATURED PRODUCT SHOWCASE — "Our fastest SSD, ever."
    ============================================= */
.fp-section {
  background: #f7f7f7;
  padding: 96px 0;
}
.fp-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.fp-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #828282;
  border-radius: 1px;
  flex-shrink: 0;
}
.fp-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.9775px;
  color: #1c1c26;
  text-transform: uppercase;
}
.fp-heading {
  font-weight: 800;
  font-size: clamp(38px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -2.16px;
  color: #0a0a0f;
  margin: 0 0 18px;
}
.fp-heading span {
  color: #d7000f;
}
.fp-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 540px;
  display: flex;
}
.fp-card-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    106.62deg,
    rgb(117, 12, 12) 1.95%,
    rgb(30, 24, 24) 41.74%
  );
}
.fp-card-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.16;
  display: block;
}
/* Left visual half */
.fp-left {
  flex: 0 0 50%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  min-height: 540px;
}
.fp-product-img {
  width: 100%;
  max-width: 420px;
  height: auto;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 32px 48px rgba(0, 0, 0, 0.6));
}
/* Right content half */
.fp-right {
  flex: 0 0 50%;
  position: relative;
  z-index: 1;
  padding: 60px 52px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: center;
}
.fp-inner-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
}
.fp-inner-eyebrow-line {
  width: 16px;
  height: 2px;
  background: #a8a8a8;
  border-radius: 1px;
  flex-shrink: 0;
}
.fp-inner-eyebrow-text {
  font-weight: 700;
  font-size: 11px;
  color: #ccc;
  letter-spacing: 1.76px;
  text-transform: uppercase;
}
.fp-inner-heading {
  font-weight: 900;
  font-size: 36px;
  color: #fff;
  letter-spacing: -1.44px;
  line-height: 37.8px;
  margin: 0;
}
.fp-desc {
  font-weight: 300;
  font-size: 15px;
  color: #fff;
  line-height: 27px;
  margin: 0;
}
.fp-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.fp-tag {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 5px 11px;
  font-weight: 600;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  white-space: nowrap;
}
.fp-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  overflow: hidden;
}
.fp-stat {
  background: rgba(255, 255, 255, 0.03);
  padding: 14px 16px;
}
.fp-stat-val {
  font-weight: 800;
  font-size: 18px;
  color: #fff;
  letter-spacing: -0.54px;
  line-height: 18px;
  margin-bottom: 6px;
}
.fp-stat-lbl {
  font-weight: 400;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
}
.fp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 166px;
  height: 47px;
  border: 1px solid #fff;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  letter-spacing: -0.15px;
  text-decoration: none;
  transition: background 0.2s;
}
.fp-btn:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* =============================================
       STATS BAR
    ============================================= */
.stats-bar {
  position: relative;
  overflow: hidden;
}
.stats-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("images/stats-bg.jpg");
  background-size: cover;
  background-position: center;
}
.stats-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.04);
}
.stats-grid {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  max-width: var(--inner);
  margin: 0 auto;
}
.stat-item {
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 116px;
  padding: 0 20px;
  text-align: center;
  border-right: 1px solid #000;
}
.stat-item:last-child {
  border-right: none;
}
.stat-value {
  font-weight: 900;
  font-size: 52px;
  color: #0a0a0f;
  letter-spacing: -2.6px;
  line-height: 52px;
  margin-bottom: 8px;
}
.stat-value span {
  font-size: 24px;
  color: #d7000f;
  font-weight: 900;
  letter-spacing: -2.6px;
  vertical-align: top;
  line-height: 24px;
}
.stat-label {
  font-weight: 500;
  font-size: 14px;
  color: #0a0a0f;
  text-align: center;
  letter-spacing: 0.39px;
}

/* =============================================
       NEW ARRIVALS / LATEST RELEASES
    ============================================= */
.latest-section {
  padding: 96px 0;
  background: #fff;
}
.latest-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
}
.latest-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.latest-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #828282;
  border-radius: 1px;
  flex-shrink: 0;
}
.latest-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.9775px;
  color: #1c1c26;
  text-transform: uppercase;
}
.latest-heading {
  font-weight: 800;
  font-size: 54px;
  letter-spacing: -2.16px;
  line-height: 56.7px;
  color: #0a0a0f;
  margin: 0;
}
.latest-heading span {
  color: #d7000f;
}
.latest-filters {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.filter-tab {
  height: 34px;
  padding: 0 18px;
  font-weight: 500;
  font-size: 16px;
  border-radius: 100px;
  border: 1px solid #e8e8e8;
  background: #fff;
  color: #5c5c72;
  cursor: pointer;
  white-space: nowrap;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.filter-tab.active {
  background: #d7000f;
  color: #fff;
  border-color: #d7000f;
}
.filter-tab:hover:not(.active) {
  border-color: #9898a8;
  color: #1c1c26;
}
.latest-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.na-card {
  border: 1px solid #e8e8e8;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow 0.25s,
    transform 0.25s;
}
.na-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.na-img {
  height: 200px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.na-img-dark {
  background: linear-gradient(
    125.67deg,
    rgb(30, 24, 24) 22.83%,
    rgb(117, 12, 12) 110.15%
  );
}
.na-img-gray {
  background: #f7f7f7;
}
.na-img-light {
  background: linear-gradient(135deg, #f7f7f9 0%, #f5f7ff 100%);
}
.na-img-label {
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.18);
  text-align: center;
  padding: 0 20px;
}
.na-img-gray .na-img-label,
.na-img-light .na-img-label {
  color: rgba(0, 0, 0, 0.12);
}
.na-product-img {
  width: 200px;
  height: 110px;
  object-fit: contain;
  display: block;
}
.na-badge {
  position: absolute;
  top: 15px;
  left: 14px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.66px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 5px;
  z-index: 1;
}
.na-badge-new {
  background: #f7f7f7;
  color: #1c1c26;
}
.na-badge-new-light {
  background: #f7f7f9;
  color: #e8321a;
}
.na-badge-pro {
  background: #e6faf4;
  color: #0fa86e;
}
.na-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.na-cat {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #d7000f;
}
.na-name {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.32px;
  line-height: 20.8px;
  color: #0a0a0f;
}
.na-desc {
  font-weight: 400;
  font-size: 16px;
  line-height: 20.8px;
  color: #5c5c72;
  flex: 1;
}
.na-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #e8e8e8;
  padding-top: 10px;
}
.na-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.na-tag {
  height: 20px;
  padding: 0 8px;
  background: #f2f2f2;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  color: #9898a8;
  line-height: 20px;
  white-space: nowrap;
}
.na-cta {
  font-size: 13px;
  font-weight: 600;
  color: #d7000f;
  white-space: nowrap;
  flex-shrink: 0;
}
.latest-view-all {
  text-align: center;
  margin-top: 40px;
}
.latest-view-all a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 45px;
  background: #d7000f;
  color: #fff;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.15px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.latest-view-all a:hover {
  opacity: 0.88;
}

/* =============================================
       WHY HIKSEMI — "Built different."
    ============================================= */
.why-section {
  padding: 96px 0;
  background: #f7f7f7;
}
.why-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.why-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #828282;
  border-radius: 1px;
  flex-shrink: 0;
}
.why-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.9775px;
  color: #1c1c26;
  text-transform: uppercase;
}
.why-heading {
  font-weight: 800;
  font-size: 54px;
  letter-spacing: -2.16px;
  line-height: 56.7px;
  color: #0a0a0f;
  margin: 0 0 18px;
}
.why-heading span {
  color: #d7000f;
}
.why-blocks {
  display: flex;
  flex-direction: column;
}
.why-block {
  display: flex;
  gap: 80px;
  align-items: flex-start;
  padding: 80px 0;
  border-top: 1px solid #e8e8e8;
}
.why-block:first-child {
  border-top: none;
  padding-top: 38px;
}
/* Block 2 HTML order (content → image) naturally achieves left/right alternation without row-reverse */
.why-block-image {
  flex: 0 0 calc(50% - 40px);
  aspect-ratio: 600 / 450;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.why-block-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.why-block-image-overlay {
  position: absolute;
  inset: 0;
  border-radius: 20px;
}
.why-block-image-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}
/* Block 1 — speed overlay */
.why-speed-emoji {
  font-size: 80px;
  line-height: 1;
  display: block;
  margin-bottom: 24px;
}
.why-speed-row {
  display: inline-flex;
  align-items: flex-end;
  gap: 4px;
}
.why-speed-num {
  font-weight: 900;
  font-size: 48px;
  color: #fff;
  letter-spacing: -2.4px;
  line-height: 48px;
}
.why-speed-unit {
  font-size: 22px;
  font-weight: 900;
  color: #d7000f;
  line-height: 22px;
}
.why-speed-label {
  display: block;
  margin-top: 14px;
  font-size: 12px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
/* Block 2 — ISO overlay */
.why-cert-emoji {
  font-size: 64px;
  line-height: 1;
  display: block;
  margin-bottom: 31px;
}
.why-cert-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 7px;
}
.why-cert-desc {
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  line-height: 22.4px;
  max-width: 220px;
  margin: 0 auto;
}
/* Block 3 — global stats grid overlay */
.why-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 218px;
  margin: 0 auto;
}
.why-stat-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 16px;
  height: 80px;
  box-sizing: border-box;
}
.why-stat-val {
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.84px;
  line-height: 28px;
}
.why-stat-val span {
  color: #d7000f;
}
.why-stat-lbl {
  font-size: 11px;
  font-weight: 400;
  color: #fff;
  margin-top: 6px;
}
/* Content column */
.why-block-content {
  flex: 0 0 calc(50% - 40px);
  padding-top: 50px;
  display: flex;
  flex-direction: column;
}
.why-block:nth-child(3) .why-block-content {
  padding-top: 84px;
}
.why-block-num {
  font-size: 80px;
  font-weight: 900;
  color: #e4e4eb;
  letter-spacing: -4.8px;
  line-height: 80px;
  margin-bottom: 7px;
}
.why-block-title {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.84px;
  line-height: 32.2px;
  color: #0a0a0f;
  margin-bottom: 7px;
}
.why-block-desc {
  font-size: 16px;
  font-weight: 400;
  color: #5c5c72;
  line-height: 27px;
  margin-bottom: 7px;
}
.why-bullets {
  display: flex;
  flex-direction: column;
}
.why-bullet {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e8e8e8;
}
.why-bullet:last-child {
  border-bottom: none;
}
.why-bullet-dot {
  width: 8px;
  height: 8px;
  background: #828282;
  border-radius: 50%;
  flex-shrink: 0;
}
.why-bullet-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.why-bullet-title {
  font-size: 18px;
  font-weight: 600;
  color: #0a0a0f;
}
.why-bullet-desc {
  font-size: 16px;
  font-weight: 400;
  color: #5c5c72;
  line-height: 20.8px;
}
.why-block-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 45px;
  width: 142px;
  background: #d7000f;
  color: #fff;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.15px;
  text-decoration: none;
  margin-top: 0;
  transition: opacity 0.2s;
}
.why-block-btn:hover {
  opacity: 0.88;
}

/* =============================================
       EDITORIAL DARK SECTION
    ============================================= */
.editorial-section {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  background: #0a0a0f;
  display: flex;
  align-items: center;
}
.editorial-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.3;
  display: block;
}
.editorial-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(10, 10, 15, 0.95) 35%,
    rgba(10, 10, 15, 0.4) 100%
  );
}
.editorial-content {
  position: relative;
  z-index: 2;
  padding: 80px 0;
}
.editorial-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.editorial-eyebrow-line {
  width: 18px;
  height: 1px;
  background: rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
}
.editorial-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
}
.editorial-heading {
  font-weight: 800;
  font-size: clamp(36px, 4vw, 56px);
  color: #fff;
  letter-spacing: -2px;
  line-height: 1.05;
  margin-bottom: 20px;
  max-width: 560px;
}
.editorial-heading span {
  color: #d7000f;
}
.editorial-desc {
  font-weight: 300;
  font-size: 17px;
  color: rgba(255, 255, 255, 0.52);
  line-height: 1.7;
  max-width: 460px;
  margin-bottom: 36px;
}
.editorial-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 50px;
  padding: 0 28px;
  background: #d7000f;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  width: fit-content;
  transition: background 0.2s;
}
.editorial-btn:hover {
  background: #b5000d;
}

/* =============================================
       SOLUTIONS — "Your use case, our solution."
    ============================================= */
.solutions-section {
  position: relative;
  padding: 96px 0;
  background: #fff;
  overflow: hidden;
}
.solutions-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("images/solutions-bg.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.37;
}
.solutions-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.05);
}
.solutions-section .wrap {
  position: relative;
  z-index: 1;
}
.solutions-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.solutions-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
  border-radius: 1px;
  flex-shrink: 0;
}
.solutions-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.9775px;
  color: #d7000f;
  text-transform: uppercase;
}
.solutions-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 18px;
}
.solutions-heading {
  font-weight: 800;
  font-size: 54px;
  color: #0f0f0f;
  letter-spacing: -2.16px;
  line-height: 56.7px;
}
.solutions-heading span {
  color: #d7000f;
}
.solutions-view-all {
  font-weight: 600;
  font-size: 16px;
  color: #0f0f0f;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.solutions-view-all:hover {
  opacity: 0.7;
}
.solutions-cards {
  background: linear-gradient(
    130.56deg,
    rgb(30, 24, 24) 22.83%,
    rgb(117, 12, 12) 110.15%
  );
  border: 1px solid #1e1818;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 34px 0;
  gap: 24px;
}
.solutions-row {
  display: flex;
  gap: 24px;
}
.solution-card {
  flex: 1;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.solution-num {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 1.54px;
}
.solution-emoji {
  font-size: 32px;
  line-height: 1;
}
.solution-name {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.36px;
  line-height: 1;
}
.solution-desc {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.84);
  line-height: 21.45px;
}
.solution-arrow {
  height: 25px;
  opacity: 0;
  font-size: 18px;
  font-weight: 400;
  color: #1c1c26;
  line-height: 25px;
}

/* =============================================
       NEWS — "HIKSEMI News."
    ============================================= */
.news-section {
  padding: 96px 0;
  background: #fff;
}
.news-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
}
.news-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.news-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #828282;
  border-radius: 1px;
  flex-shrink: 0;
}
.news-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.9775px;
  color: #1c1c26;
  text-transform: uppercase;
}
.news-heading {
  font-weight: 800;
  font-size: 54px;
  letter-spacing: -2.16px;
  line-height: 56.7px;
  color: #0a0a0f;
}
.news-heading span {
  color: #d7000f;
}
.news-all-link {
  font-size: 16px;
  font-weight: 600;
  color: #1c1c26;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
  transition: opacity 0.2s;
}
.news-all-link:hover {
  opacity: 0.7;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.news-card {
  border: 1px solid #e8e8e8;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 2px;
  text-decoration: none;
  color: inherit;
}
.news-img {
  height: 200px;
  width: 100%;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}
.news-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 11px;
  flex: 1;
}
.news-content {
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.news-tag {
  display: inline-block;
  height: 19px;
  padding: 0 9px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 19px;
  width: fit-content;
}
.news-tag-red {
  background: #f7f7f7;
  color: #1c1c26;
}
.news-tag-amber {
  background: #f7f7f7;
  color: #1a40e8;
}
.news-tag-green {
  background: #f0f0f0;
  color: #0fa86e;
}
.news-title {
  font-weight: 700;
  font-size: 18px;
  color: #0a0a0f;
  letter-spacing: -0.32px;
  line-height: 21.6px;
}
.news-excerpt {
  font-size: 16px;
  font-weight: 400;
  color: #5c5c72;
  line-height: 20.8px;
}
.news-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.news-date {
  font-size: 12px;
  font-weight: 400;
  color: #9898a8;
}
.news-read {
  font-size: 16px;
  font-weight: 600;
  color: #d7000f;
}

/* =============================================
       RESPONSIVE
    ============================================= */
@media (max-width: 1100px) {
  .nav-wrap {
    padding: 16px 32px;
  }
  .hero-inner {
    padding: 100px 5% 70px;
    gap: 40px;
  }
  .hero-content {
    flex: 0 0 460px;
  }
  .hero-video {
    max-width: 460px;
  }
}
@media (max-width: 992px) {
  .hero-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 80px 5% 60px;
  }
  .hero-content {
    flex: none;
  }
  .hero-video {
    max-width: 420px;
  }
  .fp-card {
    flex-direction: column;
  }
  .fp-left {
    flex: none;
    min-height: 360px;
  }
  .fp-right {
    flex: none;
  }
  .why-block {
    flex-direction: column;
    gap: 32px;
  }
  .why-block-image {
    flex: none;
    width: 100%;
    aspect-ratio: 600 / 360;
  }
  .why-block-content {
    flex: none;
    width: 100%;
    padding-top: 0;
  }
  .why-block:nth-child(3) .why-block-content {
    padding-top: 0;
  }
  .why-heading {
    font-size: 40px;
    line-height: 1.1;
  }
  /* cats-grid removed */
  .cats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .latest-top {
    flex-wrap: wrap;
    gap: 20px;
  }
  .latest-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .solutions-row {
    flex-wrap: wrap;
  }
  .solution-card {
    flex: 0 0 calc(50% - 12px);
  }
  .stats-grid {
    flex-wrap: wrap;
  }
  .stat-item {
    flex: 0 0 50%;
    height: 100px;
    border-bottom: 1px solid #000;
  }
  .stat-item:nth-child(even) {
    border-right: none;
  }
  .stat-item:nth-child(3),
  .stat-item:nth-child(4) {
    border-bottom: none;
  }
}
@media (max-width: 768px) {
  .nav-links {
    display: none;
  }
  .hero-h1 {
    font-size: clamp(44px, 12vw, 72px);
    letter-spacing: -2.5px;
  }
  .fp-right {
    padding: 40px 28px;
  }
  .why-block-content {
    padding: 40px 24px;
  }
  .why-heading,
  .news-heading,
  .latest-heading {
    font-size: 40px;
    line-height: 1.1;
  }
  .latest-grid {
    grid-template-columns: 1fr;
  }
  /* cats-grid removed */
  .cats-grid {
    grid-template-columns: 1fr;
  }
  .news-grid {
    grid-template-columns: 1fr;
  }
  .solutions-row {
    flex-direction: column;
  }
  .solution-card {
    flex: none;
  }
  .news-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .wrap {
    padding: 0 24px;
  }
  .stat-item {
    flex: 0 0 100%;
    border-right: none;
    border-bottom: 1px solid #000;
  }
  .stat-item:nth-child(even) {
    border-right: none;
  }
  .stat-item:nth-child(3) {
    border-bottom: 1px solid #000;
  }
  .stat-item:last-child {
    border-bottom: none;
  }
  .stat-value {
    font-size: 40px;
  }
  .stat-value span {
    font-size: 20px;
  }
  .feat-stats {
    gap: 24px;
  }
}

/* =============================================
    Contact Us
    ============================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}
/* ── SECTION COMMONS ── */
.sec-wrap {
  max-width: 1792px;
  margin: 0 auto;
  padding: 0 64px;
}

/* ── CONTACT HERO ── */
.ct-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  padding: 80px 0 96px;
  position: relative;
  overflow: hidden;
}
.ct-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.ct-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.ct-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 46px;
}
.ct-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #a8a8a8;
  border-radius: 1px;
  flex-shrink: 0;
}
.ct-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #ccc;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.ct-h1 {
  font-size: 78px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -3.9px;
  line-height: 78px;
  margin-bottom: 28px;
  white-space: nowrap;
}
.ct-desc {
  font-size: 18px;
  font-weight: 300;
  color: #9898a8;
  line-height: 30.6px;
  margin-bottom: 40px;
}
.ct-links {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ct-link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 21px;
  height: 73px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 12px;
  transition: background 0.2s;
}
.ct-link:hover {
  background: rgba(255, 255, 255, 0.08);
}
.ct-link-icon {
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
}
.ct-link-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ct-link-label {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
}
.ct-link-value {
  font-size: 14px;
  font-weight: 400;
  color: #9898a8;
}
.ct-link-arrow {
  font-size: 18px;
  color: #fff;
  flex-shrink: 0;
}

/* Right: Response Times card */
.ct-resp-card {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 20px;
  padding: 41px;
  margin-top: 72px;
}
.ct-resp-title {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 20px;
}
.ct-resp-rows {
  display: flex;
  flex-direction: column;
}
.ct-resp-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.ct-resp-row:last-child {
  border-bottom: none;
}
.ct-resp-channel {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
.ct-resp-time {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
}
.ct-hq {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 24px;
  margin-top: 8px;
}
.ct-hq-label {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.84px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.ct-hq-addr {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  line-height: 22.1px;
}

/* ── FOOTER ── */
.footer {
  background: #000;
  padding: 64px 64px 0;
  position: relative;
  overflow: hidden;
}
.footer-main {
  max-width: 1716px;
  margin: 0 auto;
  padding: 0 0 56px;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 80px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-logo img {
  height: 18px;
  display: block;
  margin-bottom: 20px;
  filter: brightness(0) invert(1);
}
.footer-tagline {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.6;
  margin-bottom: 28px;
}
.footer-socials {
  display: flex;
  gap: 10px;
}
.footer-social-btn {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
  transition:
    border-color 0.2s,
    color 0.2s;
}
.footer-social-btn:hover {
  border-color: #d7000f;
  color: #fff;
}
.footer-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.footer-col-title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.5px;
  margin-bottom: 20px;
}
.footer-col-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-col-links a {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.4);
  transition: color 0.2s;
}
.footer-col-links a:hover {
  color: #fff;
}
.footer-bottom {
  max-width: 1716px;
  margin: 0 auto;
  padding: 20px 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-copy {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.3);
}
.footer-contact-info {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.3);
}

/* ── SEND MESSAGE SECTION ── */
.ct-msg-sec {
  padding: 80px 0 96px;
  background: #fff;
}
.ct-msg-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.ct-msg-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #e8321a;
  border-radius: 1px;
  flex-shrink: 0;
}
.ct-msg-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #e8321a;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.ct-msg-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -2.16px;
  line-height: 56.7px;
  margin-bottom: 30px;
}
.ct-msg-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

/* Form */
.ct-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ct-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ct-form-group {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.ct-form-label {
  font-size: 16px;
  font-weight: 500;
  color: #0a0a0f;
}
.ct-form-input,
.ct-form-select,
.ct-form-textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #e4e4eb;
  border-radius: 10px;
  padding: 14px 17px;
  font-size: 14px;
  font-weight: 400;
  color: #0a0a0f;
  font-family: "Outfit", sans-serif;
  outline: none;
  transition: border-color 0.2s;
}
.ct-form-input::placeholder,
.ct-form-textarea::placeholder {
  color: #757575;
}
.ct-form-input:focus,
.ct-form-select:focus,
.ct-form-textarea:focus {
  border-color: #e8321a;
}
.ct-form-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%23888888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  cursor: pointer;
}
.ct-form-select option {
  color: #0a0a0f;
}
.ct-form-textarea {
  resize: vertical;
  min-height: 130px;
  line-height: 1.5;
}
.ct-send-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 28px;
  background: #e8321a;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  border: none;
  cursor: pointer;
  font-family: "Outfit", sans-serif;
  transition: background 0.2s;
  align-self: flex-start;
}
.ct-send-btn:hover {
  background: #c42814;
}
.ct-form-note {
  font-size: 14px;
  font-weight: 400;
  color: #9898a8;
}
.ct-form-note a {
  color: #e8321a;
  text-decoration: underline;
}

/* Sidebar */
.ct-sidebar {
  background: #f7f7f9;
  border-radius: 18px;
  padding: 36px;
}
.ct-sidebar-title {
  font-size: 18px;
  font-weight: 700;
  color: #0a0a0f;
  margin-bottom: 28px;
}
.ct-sidebar-items {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 28px;
}
.ct-sidebar-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.ct-sidebar-icon {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
  padding-top: 2px;
}
.ct-sidebar-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ct-sidebar-label {
  font-size: 12px;
  font-weight: 600;
  color: #9898a8;
  letter-spacing: 0.96px;
  text-transform: uppercase;
}
.ct-sidebar-value {
  font-size: 16px;
  font-weight: 400;
  color: #0a0a0f;
  line-height: 20px;
}
.ct-rg {
  border-top: 1px solid #e4e4eb;
  padding-top: 24px;
}
.ct-rg-title {
  font-size: 16px;
  font-weight: 600;
  color: #0a0a0f;
  margin-bottom: 16px;
}
.ct-rg-rows {
  display: flex;
  flex-direction: column;
}
.ct-rg-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0 11px;
  border-bottom: 1px solid #f2f2f5;
}
.ct-rg-row:last-child {
  border-bottom: none;
}
.ct-rg-channel {
  font-size: 16px;
  font-weight: 400;
  color: #5c5c72;
}
.ct-rg-time {
  font-size: 16px;
  font-weight: 500;
  color: #0a0a0f;
}

/* ── REGIONAL CONTACTS SECTION ── */
.ct-regional-sec {
  padding: 88px 0 80px;
  background: #f7f7f9;
}
.ct-regional-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.ct-regional-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #e8321a;
  border-radius: 1px;
  flex-shrink: 0;
}
.ct-regional-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #e8321a;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.ct-regional-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -2.16px;
  line-height: 56.7px;
}
.ct-regional-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding-top: 30px;
}
.ct-regional-card {
  background: #fff;
  border: 1px solid #e4e4eb;
  border-radius: 16px;
  padding: 29px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ct-regional-title {
  font-size: 18px;
  font-weight: 700;
  color: #0a0a0f;
  line-height: normal;
}
.ct-regional-countries {
  font-size: 14px;
  font-weight: 400;
  color: #9898a8;
  line-height: normal;
}
.ct-regional-details {
  padding-top: 12px;
  display: flex;
  flex-direction: column;
}
.ct-regional-details p {
  font-size: 16px;
  font-weight: 400;
  color: #e8321a;
  line-height: 22.1px;
  margin: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .ct-hero-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .ct-resp-card {
    margin-top: 0;
  }
  .ct-h1 {
    font-size: 56px;
  }
  .ct-regional-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 992px) {
  .sec-wrap {
    padding: 0 32px;
  }
  .ct-hero {
    padding: 64px 0 80px;
  }
  .ct-h1 {
    font-size: 44px;
    white-space: normal;
  }
  .footer {
    padding: 48px 32px 0;
  }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .nav-links {
    display: none;
  }
  .footer-cols {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .ct-h1 {
    font-size: 36px;
  }
  .footer-cols {
    grid-template-columns: 1fr;
  }
}

/* =============================================
    Company
    ============================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
a {
  text-decoration: none;
  color: inherit;
}
/* ── HERO ── */
.co-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  padding: 90px 64px 80px;
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 80px;
  align-items: center;
  max-width: 1920px;
  margin: 0 auto;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.co-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.co-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
}
.co-hero-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #a8a8a8;
}
.co-hero-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #ccc;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.co-hero-h1 {
  font-size: 78px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -3.9px;
  margin-bottom: 24px;
}
.co-hero-sub {
  font-size: 18px;
  font-weight: 300;
  color: #9898a8;
  line-height: 1.7;
  max-width: 520px;
}

/* Stat cards grid 2x2 */
.co-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.co-stat-card {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 14px;
  padding: 24px 24px 22px;
  min-height: 123px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.co-stat-num {
  font-size: 38px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1.9px;
  line-height: 1;
}
.co-stat-num span {
  color: #ccc;
}
.co-stat-iso {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.6px;
  line-height: 1;
}
.co-stat-label {
  font-size: 13px;
  font-weight: 400;
  color: #9898a8;
  line-height: 1.4;
  margin-top: 8px;
}

/* ── MARQUEE ── */
.marquee-strip {
  background: #0d0d0d;
  height: 46px;
  overflow: hidden;
  position: relative;
}
.marquee-track {
  display: flex;
  align-items: center;
  height: 100%;
  width: max-content;
  animation: mq-scroll 28s linear infinite;
}
.marquee-strip:hover .marquee-track {
  animation-play-state: paused;
}
.marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 0 8px 0 28px;
}
.marquee-text {
  font-weight: 600;
  font-size: 12px;
  color: #555;
  letter-spacing: 1.44px;
  text-transform: uppercase;
  white-space: nowrap;
}
.marquee-sep {
  font-weight: 400;
  font-size: 8px;
  color: #555;
}
@keyframes mq-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ── SECTION COMMONS ── */
.sec-wrap {
  max-width: 1792px;
  margin: 0 auto;
  padding: 0 64px;
}
.sec-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.sec-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
  flex-shrink: 0;
}
.sec-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.sec-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -2.16px;
  line-height: 1.05;
}

/* ── MISSION SECTION ── */
.mission-sec {
  padding: 96px 0 100px;
  background: #fff;
}
.mission-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  margin-top: 56px;
}
.mission-left {
}
.mission-subhead {
  font-size: 28px;
  font-weight: 700;
  color: #0a0a0f;
  letter-spacing: -0.84px;
  line-height: 1.2;
  margin-bottom: 48px;
}
.mission-subhead em {
  font-style: normal;
  color: #d7000f;
}

/* Timeline */
.timeline {
  position: relative;
  padding-left: 24px;
}
.timeline::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: #f2f2f2;
}
.tl-item {
  position: relative;
  padding-bottom: 36px;
  padding-left: 28px;
}
.tl-item:last-child {
  padding-bottom: 0;
}
.tl-dot {
  position: absolute;
  left: -19px;
  top: 4px;
  width: 12px;
  height: 12px;
  background: #fff;
  border: 2px solid #d7000f;
}
.tl-dot.filled {
  background: #d7000f;
}
.tl-year {
  font-size: 16px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 0.52px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.tl-title {
  font-size: 18px;
  font-weight: 500;
  color: #0a0a0f;
  margin-bottom: 6px;
}
.tl-body {
  font-size: 14px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 1.6;
}

/* Right paragraphs */
.mission-right {
}
.mission-paras {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.mission-para {
  font-size: 18px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 1.5;
}

/* ── VALUES SECTION ── */
.values-sec {
  padding: 96px 0 100px;
  background: #f7f7f7;
}
.values-grid-wrap {
  margin-top: 56px;
  background: #e8e8e8;
  border-radius: 20px;
  overflow: hidden;
  padding: 20px;
}
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.val-card {
  background: #fff;
  padding: 33px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* Row 1 (cards 1-3): bottom border; Cols 1-2 (non-3rd): right border */
.val-card:nth-child(-n + 3) {
  border-bottom: 1px solid #bbb4b4;
}
.val-card:not(:nth-child(3n)) {
  border-right: 1px solid #bbb4b4;
}
.val-icon {
  font-size: 32px;
  line-height: 1;
}
.val-title {
  font-size: 20px;
  font-weight: 700;
  color: #0a0a0f;
  letter-spacing: -0.4px;
}
.val-body {
  font-size: 16px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 1.4;
}

/* ── QUALITY SECTION ── */
.quality-sec {
  padding: 96px 0 100px;
  background: #fff;
}
.quality-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
  margin-top: 56px;
}
.qual-steps {
  display: flex;
  flex-direction: column;
}
.qual-step {
  padding: 24px 0;
  border-bottom: 1px solid #f2f2f2;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.qual-step:first-child {
  padding-top: 0;
}
.qual-step-label {
  font-size: 11px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}
.qual-step-title {
  font-size: 20px;
  font-weight: 500;
  color: #0a0a0f;
}
.qual-step-body {
  font-size: 16px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 1.4;
}

/* Certs right column */
.qual-right {
  position: sticky;
  top: 88px;
  align-self: start;
}
.qual-cert-card {
  background: linear-gradient(120.25deg, #1e1818 22.83%, #750c0c 110.15%);
  border-radius: 20px;
  padding: 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.qual-cert-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
}
.qual-cert-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.cert-tile {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid #292929;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.cert-tile-icon {
  font-size: 24px;
  line-height: 1;
}
.cert-tile-name {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}
.cert-tile-sub {
  font-size: 13px;
  font-weight: 400;
  color: #9898a8;
}

/* ── GLOBAL PRESENCE ── */
.reach-sec {
  background: #f7f7f7;
  padding: 96px 0 100px;
}
.reach-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.reach-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
  flex-shrink: 0;
}
.reach-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 1.76px;
  text-transform: uppercase;
}
.reach-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -2.16px;
  line-height: 1.05;
  margin-bottom: 16px;
}
.reach-desc {
  font-size: 17px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 1.8;
  max-width: 560px;
  margin-bottom: 48px;
}

/* Offices dark card */
.offices-card {
  background: #0d0d0d;
  border-radius: 20px;
  padding: 42px 48px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.offices-title {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.offices-rows {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.offices-row {
  display: flex;
  gap: 16px;
}
.office-card {
  flex: 1;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid #292929;
  border-radius: 12px;
  padding: 21px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.office-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.office-city {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
.office-hq-badge {
  background: rgba(130, 130, 130, 0.15);
  border: 1px solid rgba(130, 130, 130, 0.3);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 600;
  color: #ccc;
  letter-spacing: 0.8px;
  flex-shrink: 0;
}
.office-country {
  font-size: 16px;
  font-weight: 400;
  color: #9898a8;
}
.office-type {
  font-size: 16px;
  font-weight: 500;
  color: #ccc;
}

/* Reach responsive */
@media (max-width: 1200px) {
  .offices-row {
    flex-wrap: wrap;
  }
  .office-card {
    flex: 1 1 calc(50% - 8px);
  }
}
@media (max-width: 768px) {
  .offices-card {
    padding: 24px 20px;
  }
  .office-card {
    flex: 1 1 100%;
  }
  .reach-h2 {
    font-size: 40px;
  }
}

/* ── CTA ── */
.cta-sec {
  background: linear-gradient(123.87deg, #1e1818 0%, #750c0c 100%);
  padding: 88px 64px;
  text-align: center;
}
.cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.cta-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.cta-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -2.16px;
  line-height: 1.05;
  margin-bottom: 36px;
}
.cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.btn-red-cta {
  height: 52px;
  padding: 0 28px;
  background: #d7000f;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  display: inline-flex;
  align-items: center;
}
.btn-outline-cta {
  height: 52px;
  padding: 0 28px;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  display: inline-flex;
  align-items: center;
}

/* ── NEWS SECTION ── */
.co-news-sec {
  padding: 96px 0 100px;
  background: #fff;
}
.co-news-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 56px;
}
.co-news-all-link {
  font-size: 15px;
  font-weight: 600;
  color: #5c5c72;
  border-bottom: 1.5px solid #e8e8e8;
  padding-bottom: 4px;
  white-space: nowrap;
  flex-shrink: 0;
  transition:
    color 0.2s,
    border-color 0.2s;
}
.co-news-all-link:hover {
  color: #d7000f;
  border-color: #d7000f;
}
.co-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.co-news-card {
  border: 1px solid #e8e8e8;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition:
    box-shadow 0.2s,
    transform 0.2s;
}
.co-news-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.co-news-img {
  height: 200px;
  width: 100%;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}
.co-news-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.co-news-tag {
  display: inline-block;
  height: 20px;
  padding: 0 9px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  line-height: 20px;
  width: fit-content;
}
.co-news-tag-dark {
  background: #f2f2f2;
  color: #1c1c26;
}
.co-news-tag-blue {
  background: #eef1ff;
  color: #1a40e8;
}
.co-news-tag-green {
  background: #edf9f4;
  color: #0fa86e;
}
.co-news-title {
  font-size: 18px;
  font-weight: 700;
  color: #0a0a0f;
  letter-spacing: -0.32px;
  line-height: 1.2;
}
.co-news-excerpt {
  font-size: 15px;
  font-weight: 400;
  color: #5c5c72;
  line-height: 1.55;
  flex: 1;
}
.co-news-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid #f2f2f2;
}
.co-news-date {
  font-size: 12px;
  font-weight: 400;
  color: #9898a8;
}
.co-news-read {
  font-size: 14px;
  font-weight: 600;
  color: #d7000f;
  transition: opacity 0.2s;
}
.co-news-read:hover {
  opacity: 0.7;
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .co-hero {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .co-stat-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .mission-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .quality-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .values-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* 2-column: reset 3-column rules, apply 2-column borders */
  .val-card:nth-child(-n + 3) {
    border-bottom: none;
  }
  .val-card:not(:nth-child(3n)) {
    border-right: none;
  }
  .val-card:nth-child(-n + 4) {
    border-bottom: 1px solid #bbb4b4;
  }
  .val-card:not(:nth-child(2n)) {
    border-right: 1px solid #bbb4b4;
  }
  .val-card:nth-child(5),
  .val-card:nth-child(6) {
    border-bottom: none;
  }
}
@media (max-width: 992px) {
  .co-hero {
    padding: 64px 32px;
  }
  .sec-wrap {
    padding: 0 32px;
  }
  .sec-h2 {
    font-size: 40px;
  }
  .co-hero-h1 {
    font-size: 54px;
  }
  .co-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer {
    padding: 48px 32px 0;
  }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .cta-sec {
    padding: 64px 32px;
  }
  .cta-h2 {
    font-size: 40px;
  }
  .co-news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .nav-links {
    display: none;
  }
  .values-grid {
    grid-template-columns: 1fr;
  }
  /* Single column: only bottom borders */
  .val-card:not(:nth-child(3n)) {
    border-right: none;
  }
  .val-card:nth-child(-n + 3) {
    border-bottom: none;
  }
  .val-card {
    border-bottom: 1px solid #bbb4b4;
  }
  .val-card:last-child {
    border-bottom: none;
  }
  .footer-cols {
    grid-template-columns: repeat(2, 1fr);
  }
  .co-news-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .co-news-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .co-hero-h1 {
    font-size: 40px;
  }
  .sec-h2 {
    font-size: 30px;
  }
  .cta-btns {
    flex-direction: column;
    align-items: center;
  }
  .footer-cols {
    grid-template-columns: 1fr;
  }
}

/* =============================================
    Soultions
    ============================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* ── HERO ── */
.sol-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  padding: 88px 64px 64px;
  position: relative;
  overflow: hidden;
}
.sol-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.sol-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.sol-hero-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
  flex-shrink: 0;
}
.sol-hero-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 1.44px;
  text-transform: uppercase;
}
.sol-hero-h1 {
  font-weight: 900;
  font-size: 78px;
  color: #fff;
  line-height: 1;
  letter-spacing: -3px;
  margin-bottom: 20px;
}
.sol-hero-sub {
  font-weight: 300;
  font-size: 20px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.5;
  max-width: 580px;
  margin-bottom: 48px;
}
.filter-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.filter-tab {
  height: 36px;
  padding: 0 21px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  font-weight: 500;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  white-space: nowrap;
  transition: all 0.2s;
}
.filter-tab:hover {
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.85);
}
.filter-tab.active {
  background: #d7000f;
  border-color: #d7000f;
  color: #fff;
}

/* ── MARQUEE ── */
.marquee-strip {
  background: #0d0d0d;
  height: 46px;
  overflow: hidden;
  position: relative;
}
.marquee-track {
  display: flex;
  align-items: center;
  height: 100%;
  width: max-content;
  animation: mq-scroll 28s linear infinite;
}
.marquee-strip:hover .marquee-track {
  animation-play-state: paused;
}
.marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 0 8px 0 28px;
}
.marquee-text {
  font-weight: 600;
  font-size: 12px;
  color: #555;
  letter-spacing: 1.44px;
  text-transform: uppercase;
  white-space: nowrap;
}
.marquee-sep {
  font-weight: 400;
  font-size: 8px;
  color: #555;
}
@keyframes mq-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ── SOLUTION SECTIONS ── */
.sol-section {
  padding: 80px 64px;
  border-top: 1px solid #ebebeb;
}
.sol-section:first-child {
  border-top: none;
}
.sol-section-grey {
  background: #f7f7f7;
  border-bottom: 1px solid #f2f2f2;
}
.sol-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  max-width: 1792px;
  margin: 0 auto;
  align-items: center;
}
/* Reverse: text first, image second */
.sol-inner.rev .sol-img {
  order: 2;
}
.sol-inner.rev .sol-content {
  order: 1;
}

/* ── IMAGE PANEL ── */
.sol-img {
  position: relative;
  height: 360px;
  background: #111;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sol-img-num {
  position: absolute;
  top: 12px;
  left: 18px;
  font-weight: 800;
  font-size: 100px;
  color: rgba(255, 255, 255, 0.2);
  line-height: 1;
  letter-spacing: -6px;
  user-select: none;
  pointer-events: none;
}
.sol-img-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(215, 0, 15, 0.12) 0%,
    transparent 60%
  );
  pointer-events: none;
}
.sol-img-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.18;
  pointer-events: none;
}
.sol-img-emoji {
  font-size: 60px;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -80px);
  pointer-events: none;
}
/* Figma-style stat badges (centred row) */
.sol-stat-badges {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}
.sol-stat-badge {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 88px;
}
.sol-stat-val {
  font-weight: 700;
  font-size: 22px;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}
.sol-stat-lbl {
  font-weight: 400;
  font-size: 11px;
  color: #9898a8;
  line-height: 1;
  white-space: nowrap;
}
/* legacy pill badges kept for other solutions */
.sol-img-badges {
  position: absolute;
  bottom: 24px;
  left: 24px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.sol-img-badge {
  height: 26px;
  padding: 0 10px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  font-weight: 700;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 26px;
  white-space: nowrap;
}
.sol-img-badge.red {
  background: rgba(215, 0, 15, 0.25);
  border-color: rgba(215, 0, 15, 0.4);
  color: #ff6677;
}

/* ── TEXT CONTENT ── */
.sol-content {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sol-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.sol-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
}
.sol-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  color: #d7000f;
  letter-spacing: 1.98px;
  text-transform: uppercase;
}
.sol-heading {
  font-weight: 800;
  font-size: 36px;
  color: #0a0a0f;
  letter-spacing: -1.44px;
  line-height: 1.1;
  margin-bottom: 16px;
}
.sol-desc {
  font-weight: 300;
  font-size: 16px;
  color: #5c5c72;
  line-height: 1.8;
  margin-bottom: 0;
}

/* ── FEATURE ROWS (Figma bullet style) ── */
.sol-features {
  margin: 28px 0;
}
.sol-feature-row {
  display: flex;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid #f2f2f2;
  align-items: flex-start;
}
.sol-feature-dot {
  width: 8px;
  height: 8px;
  background: #828282;
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 6px;
}
.sol-feature-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sol-feature-title {
  font-weight: 500;
  font-size: 18px;
  color: #0a0a0f;
  line-height: 1;
}
.sol-feature-sub {
  font-weight: 300;
  font-size: 16px;
  color: #5c5c72;
  line-height: 1;
}

/* ── SPEC ROWS (kept for other solutions) ── */
.sol-specs {
  margin: 28px 0;
}
.sol-spec-row {
  display: flex;
  gap: 24px;
  padding: 16px 0 16px 12px;
  border-top: 1px solid #ebebeb;
}
.sol-specs .sol-spec-row:last-child {
  border-bottom: 1px solid #ebebeb;
}
.sol-spec-label {
  font-weight: 700;
  font-size: 14px;
  color: #0a0a0f;
  flex: 0 0 200px;
  padding-top: 1px;
}
.sol-spec-value {
  font-weight: 400;
  font-size: 14px;
  color: #5c5c72;
  line-height: 1.5;
  flex: 1;
}

/* ── RECOMMENDED PRODUCTS ── */
.sol-recommended {
  margin-bottom: 28px;
}
.sol-rec-label {
  font-weight: 600;
  font-size: 14px;
  color: #9898a8;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.sol-rec-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.sol-rec-chip {
  height: 31px;
  padding: 0 14px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  font-weight: 400;
  font-size: 12px;
  color: #5c5c72;
  line-height: 31px;
  white-space: nowrap;
  transition:
    border-color 0.2s,
    color 0.2s;
}
.sol-rec-chip:hover {
  border-color: #d7000f;
  color: #d7000f;
}

/* ── CTA BUTTON ── */
.sol-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 47px;
  padding: 0 28px;
  background: #d7000f;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  transition: background 0.2s;
  align-self: flex-start;
}
.sol-btn:hover {
  background: #b5000d;
}

/* ── CTA SECTION ── */
.cta-sec {
  position: relative;
  background: linear-gradient(143deg, #0e0e14 0%, #200008 55%, #5a0015 100%);
  padding: 96px 0;
  overflow: hidden;
  text-align: center;
}
.cta-dot {
  position: absolute;
  width: 474px;
  height: 386px;
  overflow: hidden;
  pointer-events: none;
}
.cta-dot-l {
  left: -150px;
  top: -83px;
}
.cta-dot-r {
  right: -150px;
  bottom: -83px;
}
.cta-dot img {
  width: 316px;
  height: 316px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.2;
}
.cta-inner {
  position: relative;
  max-width: 680px;
  margin: 0 auto;
  padding: 0 40px;
}
.cta-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 20px;
}
.cta-eyebrow-line {
  width: 18px;
  height: 2px;
  background: rgba(255, 255, 255, 0.3);
}
.cta-eyebrow-text {
  font-weight: 700;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 1.44px;
  text-transform: uppercase;
}
.cta-heading {
  font-weight: 900;
  font-size: 58px;
  color: #fff;
  line-height: 1;
  letter-spacing: -2.9px;
  margin-bottom: 16px;
}
.cta-sub {
  font-weight: 300;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.75;
  margin-bottom: 40px;
}
.cta-btns {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
.cta-btn-r {
  height: 47px;
  padding: 0 28px;
  background: #d7000f;
  border-radius: 10px;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  transition: background 0.2s;
}
.cta-btn-r:hover {
  background: #b5000d;
}
.cta-btn-g {
  height: 47px;
  padding: 0 28px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  font-weight: 600;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  transition:
    border-color 0.2s,
    color 0.2s;
}
.cta-btn-g:hover {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
  .sol-section {
    padding: 64px 40px;
  }
  .sol-inner {
    gap: 48px;
  }
  .sol-heading {
    font-size: 32px;
  }
}
@media (max-width: 900px) {
  .sol-hero {
    padding: 64px 32px 48px;
  }
  .sol-hero-h1 {
    font-size: 52px;
  }
  .sol-section {
    padding: 56px 32px;
  }
  .sol-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .sol-inner.rev .sol-img {
    order: unset;
  }
  .sol-inner.rev .sol-content {
    order: unset;
  }
  .sol-img {
    height: 280px;
  }
  .sol-heading {
    font-size: 28px;
  }
  .sol-spec-label {
    flex: 0 0 140px;
  }
}
@media (max-width: 600px) {
  .sol-hero-h1 {
    font-size: 40px;
  }
  .cta-heading {
    font-size: 38px;
  }
  .sol-spec-row {
    flex-direction: column;
    gap: 4px;
  }
  .sol-spec-label {
    flex: none;
  }
}

/**
   Support
    ============================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}
/* ── HERO ── */
.support-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  padding: 88px 64px 80px;
  max-width: 1920px;
  margin: 0 auto;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.support-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.sp-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 34px;
}
.sp-hero-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #a8a8a8;
  border-radius: 1px;
  flex-shrink: 0;
}
.sp-hero-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #ccc;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.sp-hero-h1 {
  font-size: 78px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -3.9px;
  line-height: 1;
  margin-bottom: 24px;
}
.sp-hero-desc {
  font-size: 18px;
  font-weight: 300;
  color: #9898a8;
  line-height: 1.7;
  max-width: 500px;
  margin-bottom: 32px;
}
.sp-hero-btns {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sp-btn-primary {
  height: 48px;
  padding: 0 24px;
  background: #d7000f;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}
.sp-btn-outline {
  height: 48px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  transition: border-color 0.2s;
}
.sp-btn-outline:hover {
  border-color: rgba(255, 255, 255, 0.6);
}

/* ── MARQUEE ── */
.marquee-strip {
  background: #0d0d0d;
  height: 46px;
  overflow: hidden;
  position: relative;
}
.marquee-track {
  display: flex;
  align-items: center;
  height: 100%;
  width: max-content;
  animation: mq-scroll 28s linear infinite;
}
.marquee-strip:hover .marquee-track {
  animation-play-state: paused;
}
.marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 0 8px 0 28px;
}
.marquee-text {
  font-weight: 600;
  font-size: 12px;
  color: #555;
  letter-spacing: 1.44px;
  text-transform: uppercase;
  white-space: nowrap;
}
.marquee-sep {
  font-weight: 400;
  font-size: 8px;
  color: #555;
}
@keyframes mq-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ── SECTION COMMONS ── */
.sec-wrap {
  max-width: 1792px;
  margin: 0 auto;
  padding: 0 64px;
}
.sec-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.sec-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
  flex-shrink: 0;
}
.sec-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.sec-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -2.16px;
  line-height: 1.05;
}

/* ── RESOURCES / GET HELP SECTION ── */
.sp-resources-sec {
  padding: 96px 0 100px;
  background: #fff;
}
.sp-resources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.sp-resource-card {
  padding: 36px 30px 30px;
  border: 1px solid #e8e8e8;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
.sp-resource-card:hover {
  border-color: #d7000f;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}
.sp-resource-icon {
  font-size: 32px;
  line-height: 1;
  margin-bottom: 26px;
}
.sp-resource-title {
  font-size: 20px;
  font-weight: 700;
  color: #0a0a0f;
  letter-spacing: -0.4px;
  margin-bottom: 10px;
}
.sp-resource-desc {
  font-size: 14px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 22.4px;
  flex: 1;
}
.sp-resource-link {
  font-size: 16px;
  font-weight: 500;
  color: #d7000f;
  margin-top: 18px;
}

/* ── WARRANTY SECTION ── */
.sp-warranty-sec {
  padding: 96px 0 100px;
  background: #fff;
}
.sp-warranty-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-top: 48px;
  align-items: start;
}
.sp-warranty-table-wrap {
  border: 1px solid #e8e8e8;
  border-radius: 14px;
  overflow: hidden;
}
.sp-warranty-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.sp-warranty-table-wrap col.col-cat {
  width: 50%;
}
.sp-warranty-table-wrap col.col-war {
  width: 25%;
}
.sp-warranty-table-wrap col.col-sup {
  width: 25%;
}
.sp-wt-head tr {
  background: #0d0d0d;
  height: 44px;
}
.sp-wt-head th {
  padding: 0 18px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.72px;
  text-transform: uppercase;
  text-align: left;
  border-right: 1px solid #292929;
}
.sp-wt-head th:last-child {
  border-right: none;
}
.sp-wt-body tr {
  border-bottom: 1px solid #f2f2f2;
}
.sp-wt-body tr:last-child {
  border-bottom: none;
}
.sp-wt-body td {
  height: 47px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 400;
  color: #1c1c26;
  border-right: 1px solid #f2f2f2;
  vertical-align: middle;
}
.sp-wt-body td:last-child {
  border-right: none;
}
.sp-wt-warranty {
  font-weight: 500;
  color: #10b981;
}
.sp-warranty-info {
  display: flex;
  flex-direction: column;
}
.sp-winfo-item {
  padding: 22px 0 23px;
  border-bottom: 1px solid #f2f2f2;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sp-winfo-item:last-child {
  border-bottom: none;
}
.sp-winfo-title {
  font-size: 18px;
  font-weight: 500;
  color: #0a0a0f;
}
.sp-winfo-body {
  font-size: 16px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 22.4px;
}

/* ── FAQ SECTION ── */
.sp-faq-sec {
  padding: 96px 0 100px;
  background: #f7f7f7;
}
.sp-faq-inner {
  display: grid;
  grid-template-columns: 480px 1fr;
  gap: 60px;
  margin-top: 48px;
  align-items: start;
}
.sp-faq-sticky {
  position: sticky;
  top: 90px;
}
.sp-faq-tabs {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 36px;
}
.sp-faq-tab {
  height: 38px;
  padding: 0 16px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 400;
  color: #5c5c72;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  font-family: "Outfit", sans-serif;
  transition:
    background 0.15s,
    color 0.15s;
}
.sp-faq-tab.active {
  background: #fff;
  color: #d7000f;
  font-weight: 500;
}
.sp-faq-tab:hover:not(.active) {
  color: #0a0a0f;
}
.sp-faq-list {
  display: flex;
  flex-direction: column;
}
.sp-faq-item {
  border-bottom: 1px solid #e8e8e8;
}
.sp-faq-item:first-child {
  border-top: 1px solid #e8e8e8;
}
.sp-faq-item.hidden {
  display: none;
}
.sp-faq-btn {
  width: 100%;
  padding: 20px 0;
  min-height: 69px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: none;
  border: none;
  text-align: left;
  font-size: 18px;
  font-weight: 500;
  color: #0a0a0f;
  gap: 16px;
  cursor: pointer;
  font-family: "Outfit", sans-serif;
  transition: color 0.2s;
}
.sp-faq-btn:hover {
  color: #d7000f;
}
.sp-faq-icon {
  width: 28px;
  height: 28px;
  border-radius: 14px;
  border: 1px solid #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
  color: #5c5c72;
  transition: all 0.2s;
  line-height: 1;
}
.sp-faq-btn.open .sp-faq-icon {
  background: #d7000f;
  border-color: #d7000f;
  color: #fff;
  transform: rotate(45deg);
}
.sp-faq-content {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.3s ease,
    padding 0.3s ease;
}
.sp-faq-content.open {
  max-height: 400px;
  padding-bottom: 20px;
}
.sp-faq-content p {
  font-size: 15px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 1.75;
}

/* ── DOWNLOADS SECTION ── */
.sp-downloads-sec {
  padding: 96px 0 100px;
  background: #fff;
}
.sp-downloads-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.sp-dl-card {
  border: 1px solid #e8e8e8;
  border-radius: 14px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
.sp-dl-card:hover {
  border-color: #d7000f;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.sp-dl-icon {
  font-size: 28px;
  line-height: 1;
}
.sp-dl-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.sp-dl-title {
  font-size: 18px;
  font-weight: 500;
  color: #0a0a0f;
}
.sp-dl-desc {
  font-size: 16px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 1.4;
}
.sp-dl-link {
  font-size: 16px;
  font-weight: 500;
  color: #d7000f;
}

/* ── AUTHENTICITY SECTION ── */
.sp-auth-sec {
  padding: 80px 0 80px;
  background: #0d0d0d;
}
.sp-auth-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.sp-auth-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.sp-auth-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
  flex-shrink: 0;
}
.sp-auth-eyebrow-text {
  font-size: 11px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 1.76px;
  text-transform: uppercase;
}
.sp-auth-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -2.16px;
  line-height: 56.7px;
  margin-bottom: 20px;
}
.sp-auth-desc {
  font-size: 18px;
  font-weight: 300;
  color: #9898a8;
  line-height: 30.6px;
  max-width: 560px;
  margin-bottom: 32px;
}
.sp-auth-form {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sp-auth-input {
  flex: 1;
  height: 47px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 400;
  color: #0a0a0f;
  outline: none;
  font-family: "Outfit", sans-serif;
}
.sp-auth-input::placeholder {
  color: #555;
}
.sp-auth-submit {
  height: 47px;
  padding: 0 24px;
  background: #828282;
  border: none;
  border-radius: 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: "Outfit", sans-serif;
  white-space: nowrap;
  transition: background 0.2s;
  flex-shrink: 0;
}
.sp-auth-submit:hover {
  background: #d7000f;
}
.sp-auth-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid #212121;
  border-radius: 20px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.sp-auth-card-icon {
  font-size: 60px;
  line-height: 1;
  margin-bottom: 20px;
}
.sp-auth-card-title {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 10px;
}
.sp-auth-card-desc {
  font-size: 16px;
  font-weight: 400;
  color: #9898a8;
  line-height: 20.8px;
  margin-bottom: 28px;
}
.sp-auth-steps {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  text-align: left;
}
.sp-auth-step {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sp-auth-step-num {
  width: 28px;
  height: 28px;
  border-radius: 14px;
  background: rgba(130, 130, 130, 0.15);
  border: 1px solid rgba(130, 130, 130, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  color: #ccc;
}
.sp-auth-step-text {
  font-size: 16px;
  font-weight: 400;
  color: #9898a8;
}

/* ── CTA ── */
.cta-sec {
  background: linear-gradient(123.87deg, #1e1818 0%, #750c0c 100%);
  padding: 88px 64px;
  text-align: center;
}
.cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.cta-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 1.9775px;
  text-transform: uppercase;
}
.cta-h2 {
  font-size: 54px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -2.16px;
  line-height: 1.05;
  margin-bottom: 36px;
}
.cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.btn-red-cta {
  height: 52px;
  padding: 0 28px;
  background: #d7000f;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  display: inline-flex;
  align-items: center;
}
.btn-outline-cta {
  height: 52px;
  padding: 0 28px;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  display: inline-flex;
  align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .sp-resources-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sp-downloads-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sp-faq-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .sp-faq-sticky {
    position: static;
  }
  .sp-warranty-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
@media (max-width: 600px) {
  .sp-downloads-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 992px) {
  .support-hero {
    padding: 64px 32px;
  }
  .sec-wrap {
    padding: 0 32px;
  }
  .sec-h2 {
    font-size: 40px;
  }
  .sp-hero-h1 {
    font-size: 54px;
  }
  .sp-auth-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .sp-auth-h2 {
    font-size: 40px;
  }
  .cta-sec {
    padding: 64px 32px;
  }
  .cta-h2 {
    font-size: 40px;
  }
  .footer {
    padding: 48px 32px 0;
  }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .nav-links {
    display: none;
  }
  .sp-resources-grid {
    grid-template-columns: 1fr;
  }
  .sp-warranty-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .footer-cols {
    grid-template-columns: repeat(2, 1fr);
  }
  .cta-btns {
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 480px) {
  .sp-hero-h1 {
    font-size: 40px;
  }
  .sec-h2 {
    font-size: 30px;
  }
  .footer-cols {
    grid-template-columns: 1fr;
  }
}

/* === 404 === */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* ── SECTION WRAPPER ── */
.sec-wrap {
  max-width: 1792px;
  margin: 0 auto;
  padding: 0 64px;
}

/* ── 404 HERO ── */
.err-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  padding: 100px 0 120px;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.err-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 800px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.18) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.err-hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.err-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
}
.err-eyebrow-line {
  width: 24px;
  height: 2px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 1px;
  flex-shrink: 0;
}
.err-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.err-code {
  font-size: clamp(120px, 20vw, 220px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -8px;
  background: linear-gradient(135deg, #fff 30%, rgba(215, 0, 15, 0.7) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 8px;
  user-select: none;
}
.err-heading {
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin-bottom: 20px;
}
.err-desc {
  font-size: 17px;
  font-weight: 300;
  color: #9898a8;
  line-height: 1.7;
  max-width: 480px;
  margin: 0 auto 44px;
}
.err-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.err-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 50px;
  padding: 0 30px;
  background: #d7000f;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  transition: background 0.2s;
}
.err-btn-primary:hover {
  background: #b5000d;
}
.err-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 50px;
  padding: 0 30px;
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.75);
  transition:
    border-color 0.2s,
    color 0.2s;
}
.err-btn-outline:hover {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

/* ── HELPFUL LINKS SECTION ── */
.err-links-sec {
  padding: 88px 0 96px;
  background: #fff;
}
.err-links-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.err-links-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #d7000f;
  border-radius: 1px;
  flex-shrink: 0;
}
.err-links-eyebrow-text {
  font-size: 12px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.err-links-heading {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin-bottom: 48px;
}
.err-links-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.err-link-card {
  background: #f7f7f9;
  border: 1px solid #e4e4eb;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}
.err-link-card:hover {
  border-color: #d7000f;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.err-link-icon {
  font-size: 28px;
  line-height: 1;
}
.err-link-title {
  font-size: 17px;
  font-weight: 700;
  color: #0a0a0f;
}
.err-link-desc {
  font-size: 14px;
  font-weight: 400;
  color: #9898a8;
  line-height: 1.6;
  flex: 1;
}
.err-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: #d7000f;
  margin-top: 6px;
  transition: gap 0.2s;
}
.err-link-card:hover .err-link-arrow {
  gap: 8px;
}

/* ── FOOTER ── */
.footer {
  background: #000;
  padding: 64px 64px 0;
  position: relative;
  overflow: hidden;
}
.footer-main {
  max-width: 1716px;
  margin: 0 auto;
  padding: 0 0 56px;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 80px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-logo img {
  height: 18px;
  display: block;
  margin-bottom: 20px;
  filter: brightness(0) invert(1);
}
.footer-tagline {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.6;
  margin-bottom: 28px;
}
.footer-socials {
  display: flex;
  gap: 10px;
}
.footer-social-btn {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
  transition:
    border-color 0.2s,
    color 0.2s;
}
.footer-social-btn:hover {
  border-color: #d7000f;
  color: #fff;
}
.footer-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.footer-col-title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.5px;
  margin-bottom: 20px;
}
.footer-col-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-col-links a {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.4);
  transition: color 0.2s;
}
.footer-col-links a:hover {
  color: #fff;
}
.footer-bottom {
  max-width: 1716px;
  margin: 0 auto;
  padding: 20px 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-copy {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.3);
}
.footer-contact-info {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.3);
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .err-links-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 992px) {
  .sec-wrap {
    padding: 0 32px;
  }
  .footer {
    padding: 48px 32px 0;
  }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .nav-links {
    display: none;
  }
  .footer-cols {
    grid-template-columns: repeat(2, 1fr);
  }
  .err-links-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .err-hero {
    padding: 72px 0 88px;
  }
  .err-code {
    letter-spacing: -4px;
  }
  .footer-cols {
    grid-template-columns: 1fr;
  }
  .err-links-grid {
    grid-template-columns: 1fr;
  }
}

/* =====
 Become a Dealer Page
 ===== */
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
/* ── LAYOUT ── */
.sec-wrap {
  max-width: 1792px;
  margin: 0 auto;
  padding: 0 64px;
}

/* ── HERO ── */
.bd-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  padding: 88px 0;
  position: relative;
  overflow: hidden;
}
.bd-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.bd-hero-inner {
  position: relative;
}
.bd-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #ccc;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.bd-hero-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #a8a8a8;
  border-radius: 1px;
  flex-shrink: 0;
}
.bd-hero-heading {
  font-family: "Outfit", sans-serif;
  font-size: 78px;
  font-weight: 900;
  color: #fff;
  line-height: 78px;
  letter-spacing: -3.9px;
  margin-bottom: 26px;
}
.bd-hero-sub {
  font-family: "Outfit", sans-serif;
  font-size: 18px;
  font-weight: 300;
  color: #9898a8;
  line-height: 30.6px;
  max-width: 560px;
}

/* ── MARQUEE ── */
.marquee-strip {
  background: #0d0d0d;
  height: 46px;
  overflow: hidden;
  position: relative;
}
.marquee-track {
  display: flex;
  align-items: center;
  height: 100%;
  width: max-content;
  animation: mq-scroll 28s linear infinite;
}
.marquee-strip:hover .marquee-track {
  animation-play-state: paused;
}
.marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 0 8px 0 28px;
}
.marquee-text {
  font-weight: 600;
  font-size: 12px;
  color: #555;
  letter-spacing: 1.44px;
  text-transform: uppercase;
  white-space: nowrap;
}
.marquee-sep {
  font-weight: 400;
  font-size: 8px;
  color: #555;
}
@keyframes mq-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ── BECOME A RESELLER ── */
.bd-reseller {
  background: #f2f2f2;
  padding: 72px 0 96px;
}
.bd-reseller-inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
}
.bd-reseller-left {
  padding-top: 83px;
}
.bd-reseller-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.bd-reseller-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #d7000f;
  border-radius: 1px;
  flex-shrink: 0;
}
.bd-reseller-heading {
  font-family: "Outfit", sans-serif;
  font-size: 54px;
  font-weight: 800;
  color: #0a0a0f;
  line-height: 56.7px;
  letter-spacing: -2.16px;
  margin-bottom: 40px;
}
.bd-benefits {
  display: flex;
  flex-direction: column;
}
.bd-benefit-row {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 80px;
  padding: 16px 0;
  border-bottom: 1px solid #e4e4e4;
}
.bd-benefit-row:last-child {
  border-bottom: none;
}
.bd-benefit-icon {
  font-size: 22px;
  flex-shrink: 0;
  width: 22px;
  text-align: center;
}
.bd-benefit-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.bd-benefit-title {
  font-family: "Outfit", sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #0a0a0f;
}
.bd-benefit-body {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #5c5c72;
}
/* Form card */
.bd-form-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 20px;
  padding: 41px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.bd-form-title {
  font-family: "Outfit", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #0a0a0f;
}
.bd-form-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bd-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.bd-field-label {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #0a0a0f;
}
.bd-input {
  width: 100%;
  height: 50px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 0 16px;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #0a0a0f;
  outline: none;
  transition: border-color 0.2s;
}
.bd-input::placeholder {
  color: #757575;
}
.bd-input:focus {
  border-color: #d7000f;
}
.bd-select {
  width: 100%;
  height: 50px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 0 16px;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #0a0a0f;
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%235c5c72' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
  transition: border-color 0.2s;
}
.bd-select:focus {
  border-color: #d7000f;
}
.bd-submit {
  width: 100%;
  height: 47px;
  background: #d7000f;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 15px;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 8px;
}
.bd-submit:hover {
  background: #b5000d;
}

@media (max-width: 768px) {
  .bd-cta-heading {
    font-size: 36px;
  }
  .sec-wrap {
    padding: 0 24px;
  }
}

/* =======
Where to Buy Page
======= */
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
/* ── LAYOUT ── */
.sec-wrap {
  max-width: 1792px;
  margin: 0 auto;
  padding: 0 64px;
}

/* ── HERO ── */
.wtb-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  padding: 88px 0;
  position: relative;
  overflow: hidden;
}
.wtb-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.wtb-hero-inner {
  position: relative;
}
.wtb-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #ccc;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
  margin-bottom: 26px;
}
.wtb-hero-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #ccc;
  flex-shrink: 0;
}
.wtb-hero-heading {
  font-family: "Outfit", sans-serif;
  font-size: 78px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -3.9px;
  margin-bottom: 22px;
}
.wtb-hero-sub {
  font-family: "Outfit", sans-serif;
  font-size: 18px;
  font-weight: 300;
  color: #9898a8;
  line-height: 1.7;
  max-width: 560px;
  margin-bottom: 40px;
}
.wtb-hero-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.wtb-btn-primary {
  background: #d7000f;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 15px;
  width: 179px;
  height: 47px;
  border-radius: 10px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.wtb-btn-primary:hover {
  background: #b5000d;
}
.wtb-btn-outline {
  background: transparent;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  font-size: 15px;
  width: 160px;
  height: 47px;
  border-radius: 10px;
  border: 1px solid #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.wtb-btn-outline:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* ── MARQUEE ── */
.marquee-strip {
  background: #0d0d0d;
  height: 46px;
  overflow: hidden;
  position: relative;
}
.marquee-track {
  display: flex;
  align-items: center;
  height: 100%;
  width: max-content;
  animation: mq-scroll 28s linear infinite;
}
.marquee-strip:hover .marquee-track {
  animation-play-state: paused;
}
.marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 0 8px 0 28px;
}
.marquee-text {
  font-weight: 600;
  font-size: 12px;
  color: #555;
  letter-spacing: 1.44px;
  text-transform: uppercase;
  white-space: nowrap;
}
.marquee-sep {
  font-weight: 400;
  font-size: 8px;
  color: #555;
}
@keyframes mq-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ── ONLINE CHANNELS ── */
.wtb-channels {
  padding: 80px 0 96px;
  background: #fff;
}
.wtb-section-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #d7000f;
  letter-spacing: 1.9775px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.wtb-section-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #d7000f;
  border-radius: 1px;
  flex-shrink: 0;
}
.wtb-section-heading {
  font-family: "Outfit", sans-serif;
  font-size: 54px;
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -2.16px;
  line-height: 56.7px;
  margin-bottom: 12px;
}
.wtb-section-desc {
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  font-weight: 300;
  color: #5c5c72;
  line-height: 30.6px;
  max-width: 560px;
  margin-bottom: 36px;
}
.wtb-region-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.wtb-filter {
  height: 36px;
  padding: 0 20px;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 400;
  border-radius: 100px;
  border: 1px solid #e8e8e8;
  background: #fff;
  color: #5c5c72;
  cursor: pointer;
  transition: all 0.18s;
}
.wtb-filter.active {
  background: #d7000f;
  color: #fff;
  border-color: #d7000f;
}
.wtb-filter:hover:not(.active) {
  border-color: #d7000f;
  color: #d7000f;
}

.wtb-channels-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.wtb-channel-card {
  border: 1px solid #e3e2df;
  border-radius: 16px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  min-height: 208px;
  background: #fff;
  text-decoration: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}
.wtb-channel-card:hover {
  border-color: #d7000f;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07);
  transform: translateY(-2px);
}
.wtb-channel-logo {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.wtb-channel-name {
  font-family: "Outfit", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #09090b;
  line-height: 1.42;
  margin-bottom: 4px;
}
.wtb-channel-region {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #a8a7a3;
  line-height: 1.2;
}
.wtb-channel-url {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #e8341a;
  margin-top: auto;
  padding-top: 16px;
}

/* ── LOCAL DISTRIBUTORS ── */
.wtb-dist {
  padding: 80px 0 96px;
  background: #f7f7f7;
}
.wtb-dist-inner {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 48px;
  align-items: center;
  margin-top: 16px;
}
.wtb-dist-card {
  background: #000;
  border-radius: 20px;
  height: 360px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wtb-dist-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("https://www.figma.com/api/mcp/asset/3d3090df-bda7-450e-afce-85156682892d")
    center/cover no-repeat;
  opacity: 0.16;
}
.wtb-dist-card-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 339px;
  text-align: center;
}
.wtb-dist-card-title {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}
.wtb-dist-stats {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.wtb-dist-stat {
  text-align: center;
}
.wtb-dist-stat-num {
  font-family: "Outfit", sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1.44px;
  line-height: 1;
}
.wtb-stat-plus {
  color: #ccc;
}
.wtb-dist-stat-lbl {
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #9898a8;
  margin-top: 6px;
}
.wtb-dist-sublabel {
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #b9b4b4;
}
.wtb-dist-selector {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.wtb-dist-selector-label {
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #0a0a0f;
}
.wtb-dist-select {
  width: 100%;
  height: 44px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 0 40px 0 16px;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  color: #0a0a0f;
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%235c5c72' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
  transition: border-color 0.2s;
}
.wtb-dist-select:focus {
  border-color: #d7000f;
}
.wtb-dist-selector-note {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #9898a8;
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .wtb-channels-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .wtb-dist-inner {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 992px) {
  .wtb-hero-heading {
    font-size: 52px;
  }
  .wtb-section-heading {
    font-size: 36px;
  }
  .wtb-channels-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .wtb-hero-heading {
    font-size: 40px;
  }
  .wtb-cta-heading {
    font-size: 36px;
  }
  .wtb-channels-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .wtb-dist-stats {
    gap: 20px;
  }
}
@media (max-width: 480px) {
  .wtb-hero-heading {
    font-size: 32px;
  }
  .wtb-channels-grid {
    grid-template-columns: 1fr 1fr;
  }
  .wtb-hero-btns {
    flex-direction: column;
  }
}

/* =======
Product Detail Page
======= */
body {
  font-family: "Outfit", sans-serif;
  background: #fff;
  color: #0a0a0f;
}
/* === BREADCRUMB BAR === */
.ph-breadcrumb {
  background: #f7f7f7;
  border-bottom: 1px solid #e8e8e8;
  height: 49px;
  display: flex;
  align-items: center;
  padding: 0 64px;
  gap: 8px;
  font-size: 13px;
}
.ph-breadcrumb a {
  color: #9898a8;
  font-weight: 400;
  text-decoration: none;
}
.ph-breadcrumb a:hover {
  color: #0a0a0f;
}
.ph-breadcrumb-sep {
  color: #ccccd6;
}
.ph-breadcrumb-current {
  color: #0a0a0f;
  font-weight: 500;
}

/* === PRODUCT HERO === */
.product-hero {
  background: linear-gradient(143deg, #0a0a0f 0%, #140008 55%, #3d0010 100%);
  height: 850px;
  position: relative;
  overflow: hidden;
}
.product-hero::after {
  content: "";
  position: absolute;
  top: -180px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(215, 0, 15, 0.22) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.product-hero-content {
  position: absolute;
  left: 64px;
  top: 124px;
  width: 840px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.product-hero-top {
  display: flex;
  flex-direction: column;
  gap: 43px;
}
.product-hero-text {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.product-hero-names {
  display: flex;
  flex-direction: column;
}
.product-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
}
.product-eyebrow-line {
  width: 18px;
  height: 2px;
  background: #ccc;
  flex-shrink: 0;
}
.product-eyebrow-text {
  font-weight: 700;
  font-size: 12px;
  color: #ccc;
  letter-spacing: 1.98px;
  text-transform: uppercase;
}
.product-title {
  font-size: 72px;
  font-weight: 900;
  color: #fff;
  line-height: 0.97;
  letter-spacing: -3.6px;
  margin-bottom: 16px;
}
.product-type {
  font-size: 16px;
  font-weight: 500;
  color: #ccc;
  letter-spacing: 0.64px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.product-desc {
  font-size: 18px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.7;
}
.product-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.product-badge {
  padding: 6px 11px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 7px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.44px;
  white-space: nowrap;
}
.product-hero-btns {
  display: flex;
  gap: 12px;
}
.ph-btn-buy {
  background: #d7000f;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.15px;
  width: 127px;
  height: 47px;
  border-radius: 10px;
  border: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.ph-btn-buy:hover {
  background: #b5000d;
}
.ph-btn-specs {
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.15px;
  width: 122px;
  height: 47px;
  border-radius: 10px;
  border: 1px solid #fff;
  background: transparent;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  cursor: pointer;
}
.ph-btn-specs:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* stats 2×2 box */
.product-stats {
  background: rgba(255, 255, 255, 0.07);
  border-radius: 12px;
  overflow: hidden;
  height: 145px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}
.product-stat {
  background: rgba(255, 255, 255, 0.03);
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}
.product-stat-val {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.88px;
  line-height: 1;
}
.product-stat-label {
  font-size: 11px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.35);
  letter-spacing: 0.44px;
  text-transform: uppercase;
}

/* product image */
.product-hero-img {
  position: absolute;
  top: 240px;
  right: 64px;
  width: calc(100% - 840px - 64px - 64px);
  max-width: 680px;
}
.product-hero-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* === STICKY TABS BAR === */
.product-tabs-bar {
  background: #fff;
  border-bottom: 1px solid #e4e4eb;
  position: sticky;
  top: 66px;
  z-index: 90;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 120px;
}
.product-tabs-list {
  display: flex;
  align-items: center;
  height: 100%;
}
.tab-btn {
  height: 100%;
  padding: 0 20px;
  background: none;
  border: none;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #5c5c72;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  white-space: nowrap;
}
.tab-btn:hover {
  color: #0a0a0f;
}
.tab-btn.active {
  font-weight: 600;
  color: #e8321a;
}
.tab-btn.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #e8321a;
  border-radius: 2px 2px 0 0;
}
.tabs-wtb-btn {
  background: #e8321a;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  height: 34px;
  padding: 0 16px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  transition: background 0.2s;
}
.tabs-wtb-btn:hover {
  background: #c42a16;
}

/* === OVERVIEW SECTION === */
.overview-section {
  padding: 80px 120px;
  background: #fff;
}
.overview-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.ov-eyebrow {
  font-size: 12px;
  font-weight: 700;
  color: #e8321a;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.ov-heading {
  font-size: 44px;
  font-weight: 800;
  color: #0a0a0f;
  letter-spacing: -1.76px;
  line-height: 1.07;
  margin-bottom: 20px;
}
.ov-desc {
  font-size: 15px;
  font-weight: 400;
  color: #5c5c72;
  line-height: 1.75;
  margin-bottom: 32px;
}
.ov-compat-grid {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 10px;
  justify-content: start;
}
.ov-compat-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #e4e4eb;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #0a0a0f;
  white-space: nowrap;
}
.ov-compat-icon {
  font-size: 15px;
  line-height: 1;
}
.ov-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ov-feat-card {
  background: #f7f7f7;
  border: 1px solid #e8e8e8;
  border-radius: 14px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ov-feat-card-icon {
  font-size: 30px;
  line-height: 1;
}
.ov-feat-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #0a0a0f;
  letter-spacing: -0.3px;
  line-height: 1.3;
}
.ov-feat-card-desc {
  font-size: 13px;
  font-weight: 400;
  color: #5c5c72;
  line-height: 1.6;
}

/* === SPECIFICATIONS TABLE === */
.specs-section {
  padding: 80px 0;
  background: var(--gray-50);
}
.specs-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 40px;
}
.specs-group {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  overflow: hidden;
}
.specs-group-title {
  padding: 14px 20px;
  background: var(--dark);
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
}
.specs-row {
  display: flex;
  border-bottom: 1px solid var(--gray-200);
}
.specs-row:last-child {
  border-bottom: none;
}
.spec-key {
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 600;
  color: var(--gray-600);
  width: 40%;
  background: var(--gray-50);
  flex-shrink: 0;
}
.spec-val {
  padding: 12px 20px;
  font-size: 13px;
  color: var(--dark);
}

/* === PERFORMANCE === */
.perf-section {
  padding: 80px 0;
}
.perf-bars {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 40px;
}
.perf-bar-item {
}
.perf-bar-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.perf-bar-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--dark);
}
.perf-bar-value {
  font-size: 13px;
  font-weight: 700;
  color: var(--red);
}
.perf-bar-track {
  height: 8px;
  background: var(--gray-200);
  border-radius: 999px;
  overflow: hidden;
}
.perf-bar-fill {
  height: 100%;
  background: var(--red);
  border-radius: 999px;
  transition: width 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Related Products */
.related-section {
  padding: 80px 0;
  background: var(--gray-50);
}

/* === TAB PANELS === */
.tab-panel {
  display: none;
}
.tab-panel.active {
  display: block;
}

/* === RESPONSIVE === */
@media (max-width: 1200px) {
  .product-hero-content {
    width: 680px;
  }
  .product-hero-img {
    right: 32px;
  }
}
@media (max-width: 992px) {
  .product-hero {
    height: auto;
    padding-bottom: 60px;
  }
  .product-hero-content {
    position: static;
    width: 100%;
    padding: 60px 32px 0;
  }
  .product-hero-img {
    display: none;
  }
  .ph-breadcrumb {
    padding: 0 32px;
  }
  .spec-strip-item:nth-child(3) {
    border-left: none;
  }
  .overview-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .specs-columns {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .specs-strip-inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-hero-btns {
    flex-direction: column;
  }
}
@media (max-width: 480px) {
  .product-3d-card {
    width: 100%;
  }
  .specs-strip-inner {
    grid-template-columns: 1fr 1fr;
  }
  .spec-strip-item {
    padding: 8px 16px;
  }
  .spec-strip-val {
    font-size: 22px;
  }
}
