/* ═══════════════════════════════════════
   GLOBAL / UTILITIES
═══════════════════════════════════════ */
.preload-hidden {
  visibility: hidden;
}

/* ═══════════════════════════════════════
   PAGE LOADER
═══════════════════════════════════════ */
.page-loader {
  position: fixed;
  inset: 0;
  background: #ffffff;
  color: #1f1f1f;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.loader-percent {
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ═══════════════════════════════════════
   NAV
═══════════════════════════════════════ */
.nav-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  padding: 0 40px !important;
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: transparent !important; /* ← was #ffffff */
  border-bottom: none !important; /* ← was 1px solid */
  transition:
    background 0.3s ease,
    border-color 0.3s ease !important;
}

.nav-bar.nav-dark {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.nav-link-item {
  color: rgba(255, 255, 255, 0.7) !important;
}

.nav-link-item:hover {
  color: #ffffff !important;
}

.nav-link-line {
  background: #ffffff !important;
}

.nav-contact-btn {
  color: rgba(255, 255, 255, 0.8) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.nav-cart-btn {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

.nav-bar.nav-dark .nav-link-item {
  color: rgba(0, 0, 0, 0.4) !important;
}

.nav-bar.nav-dark .nav-link-item:hover {
  color: #1f1f1f !important;
}

.nav-bar.nav-dark .nav-link-line {
  background: #1f1f1f !important;
}

.nav-menu-btn {
  display: none !important; /* ← add !important */
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  cursor: pointer !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  flex-shrink: 0 !important;
}

.nav-bar.nav-dark .nav-menu-btn {
  background: #1f1f1f !important;
  border-color: #1f1f1f !important;
}

.nav-bar.nav-dark .nav-contact-btn {
  color: #1f1f1f !important;
  border-color: rgba(0, 0, 0, 0.15) !important;
}

.nav-bar.nav-dark .nav-cart-btn {
  background: #1f1f1f !important;
  color: #ffffff !important;
  border: none !important;
}

.nav-left {
  display: flex !important;
  align-items: center !important;
}

.nav-center {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
}

.nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.nav-link-item {
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(0, 0, 0, 0.4) !important;
  text-decoration: none !important;
  padding: 4px 14px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  position: relative !important;
  transition: color 0.15s ease !important;
  cursor: pointer !important;
}

.nav-link-item:hover {
  color: #1f1f1f !important;
  background: transparent !important;
}

.nav-link-item.nav-link-active {
  color: #1f1f1f !important;
}

.nav-link-line {
  position: absolute !important;
  bottom: -1px !important;
  left: 14px !important;
  right: 14px !important;
  height: 1.5px !important;
  background: #1f1f1f !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  display: block !important;
}

.nav-link-item.nav-link-active .nav-link-line {
  transform: scaleX(1) !important;
}

.nav-contact-btn {
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #1f1f1f !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  background: transparent !important;
  backdrop-filter: none !important;
  transition: background 0.15s ease !important;
}

.nav-contact-btn:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}

.nav-cart-btn {
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  border: none !important;
  background: #1f1f1f !important;
  backdrop-filter: none !important;
  transition: opacity 0.15s ease !important;
  cursor: pointer !important;
}

.nav-cart-btn:hover {
  opacity: 0.75 !important;
}

/* ── HAMBURGER BUTTON ── */
.nav-menu-btn {
  display: none;
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  background: #1f1f1f !important;
  border: none !important;
  cursor: pointer !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  flex-shrink: 0 !important;
}

.nav-menu-btn span {
  display: block !important;
  width: 14px !important;
  height: 1.5px !important;
  background: #ffffff !important;
  transition: all 0.25s ease !important;
  transform-origin: center !important;
}

.nav-menu-btn.open span:nth-child(1) {
  transform: rotate(45deg) translate(0px, 6.5px) !important;
}

.nav-menu-btn.open span:nth-child(2) {
  opacity: 0 !important;
  transform: scaleX(0) !important;
}

.nav-menu-btn.open span:nth-child(3) {
  transform: rotate(-45deg) translate(0px, -6.5px) !important;
}

/* ── MOBILE DRAWER ── */
.nav-mobile-drawer {
  display: none;
  position: fixed !important;
  top: 60px !important;
  left: 0 !important;
  right: 0 !important;
  background: #1f1f1f !important;
  z-index: 999 !important;
  flex-direction: column !important;
  padding: 12px 20px 20px !important;
  gap: 2px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.nav-drawer-link {
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.5) !important;
  text-decoration: none !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  transition:
    background 0.15s ease,
    color 0.15s ease !important;
  display: block !important;
}

.nav-drawer-link:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
}

.nav-drawer-link.accent {
  color: #0095ff !important;
  margin-top: 6px !important;
}

/* ═══════════════════════════════════════
   CROSSHAIRS
═══════════════════════════════════════ */
.crosshair {
  position: absolute;
  width: 20px;
  height: 20px;
  pointer-events: none;
  transform-origin: center center;
}

.crosshair::before,
.crosshair::after {
  content: "";
  position: absolute;
  background: black;
}

.crosshair::before {
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
}

.crosshair::after {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
}

.crosshair-tl,
.crosshair-tr,
.crosshair-bl,
.crosshair-br {
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.hero-video-wrapper:hover .crosshair-tl {
  transform: translate(-4px, -4px);
}
.hero-video-wrapper:hover .crosshair-tr {
  transform: translate(4px, -4px);
}
.hero-video-wrapper:hover .crosshair-bl {
  transform: translate(-4px, 4px);
}
.hero-video-wrapper:hover .crosshair-br {
  transform: translate(4px, 4px);
}

/* ═══════════════════════════════════════
   HERO
═══════════════════════════════════════ */
.hero-text,
.nav-rail,
.left-feature,
.right-feature,
.timeline-3-heading,
.timeline-4-heading,
.timeline-5-heading,
.hero-video-wrapper,
.crosshair-overlay {
  z-index: 3;
}

.hero-wrapper-v2 {
  transform-origin: center center;
}

.full-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif"),
    linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  background-repeat: repeat, no-repeat;
  background-size:
    480px 360px,
    cover;
  opacity: 0.08;
  pointer-events: none;
  z-index: 1;
}

.full-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(
      ellipse 80% 40% at 10% 100%,
      rgba(0, 149, 255, 0.2) 0%,
      transparent 100%
    ),
    radial-gradient(
      ellipse 60% 30% at 60% 100%,
      rgba(123, 111, 255, 0.12) 0%,
      transparent 100%
    );
  animation: colorPulse 8s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

@keyframes colorPulse {
  0% {
    opacity: 0.6;
    transform: scaleX(1);
  }
  100% {
    opacity: 1;
    transform: scaleX(1.15);
  }
}

.hero-video-wrapper {
  overflow: hidden;
}

.hero-video-image {
  transform: scale(1);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.hero-video-wrapper:hover .hero-video-image {
  transform: scale(1.06);
}

.left-feature {
  position: absolute;
  left: 12%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  max-width: 430px;
  pointer-events: none;
}

.left-feature-title {
  font-size: clamp(56px, 6vw, 110px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  font-weight: 400;
}

.right-feature {
  position: absolute;
  right: 12%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  max-width: 430px;
  pointer-events: none;
}

.right-feature-text {
  font-size: clamp(28px, 2.6vw, 48px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.bulletpoints-1,
.bulletpoints-2 {
  color: rgba(0, 0, 0, 0.15);
}

/* ═══════════════════════════════════════
   ROBOT CANVAS
═══════════════════════════════════════ */
#robot-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}

#robot-canvas canvas {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ═══════════════════════════════════════
   TOOLHEAD SECTION
═══════════════════════════════════════ */
.toolhead-section {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #d6d6d6;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toolhead-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif"),
    linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  background-repeat: repeat, no-repeat;
  background-size:
    480px 360px,
    cover;
  opacity: 0.08;
  pointer-events: none;
  z-index: 1;
}

body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.toolhead-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 80% 40% at 10% 100%,
      rgba(0, 149, 255, 0.2) 0%,
      transparent 100%
    ),
    radial-gradient(
      ellipse 60% 30% at 60% 100%,
      rgba(123, 111, 255, 0.12) 0%,
      transparent 100%
    );
  animation: colorPulse 8s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

.toolhead-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.arm-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 90%;
  width: auto;
  object-fit: contain;
  z-index: 2;
  opacity: 0;
  filter: blur(20px);
}

.toolhead-strip-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  overflow: visible;
  pointer-events: none;
}

.toolhead-strip {
  display: flex !important;
  flex-direction: row;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 40px;
  width: auto !important;
  height: auto !important;
  transition: none;
  pointer-events: auto;
  cursor: grab;
  user-select: none;
}

.toolhead-strip:active {
  cursor: grabbing;
}

.toolhead-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  opacity: 0.35;
  transition: opacity 0.4s ease;
}

.toolhead-item.active {
  opacity: 1;
}

.toolhead-item img {
  width: 280px;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.toolhead-label {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1f1f1f;
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.toolhead-item.active .toolhead-label {
  opacity: 1;
  transform: translateY(0);
}

.toolhead-drag-hint {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1f1f1f;
  opacity: 0;
  z-index: 4;
}

/* ═══════════════════════════════════════
   SOFTWARE CARDS
═══════════════════════════════════════ */
.software-section {
  position: relative;
  background: #ffffff;
}

.software-wrapper {
  position: relative;
  height: 1300vh;
}

.software-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.software-progress-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 15px;
  background: #0095ff;
  z-index: 100;
  transform-origin: left center;
  pointer-events: none;
  opacity: 0;
}

.software-intro-text {
  grid-area: 1 / 1;
  position: relative;
  font-size: clamp(48px, 7vw, 120px);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #1f1f1f;
  text-align: center;
  z-index: 5;
  max-width: 80%;
}

.software-hero-heading {
  grid-area: 1 / 1;
  position: relative;
  font-size: clamp(40px, 5.5vw, 90px);
  font-weight: 400;
  color: #1f1f1f;
  text-align: center;
  letter-spacing: -0.03em;
  line-height: 1.05;
  max-width: 80%;
  z-index: 5;
  pointer-events: none;
  align-self: start;
  margin-top: 17vh;
}

.software-card {
  grid-area: 1 / 1;
  width: 50%;
  max-width: 720px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 0 !important;
  transform-origin: center center;
  will-change: transform, opacity, filter;
}

.software-card-heading {
  font-size: clamp(20px, 2.2vw, 38px);
  font-weight: 400;
  color: #1f1f1f;
  text-align: center;
  width: 100%;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 !important;
  padding: 0 !important;
}

.software-card-body {
  font-size: clamp(13px, 1.1vw, 17px);
  font-weight: 400;
  color: rgba(0, 0, 0, 0.5);
  text-align: center;
  line-height: 1.6;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.software-card-image {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  display: block !important;
}

.card-1 {
  z-index: 1;
}
.card-2 {
  z-index: 2;
}
.card-3 {
  z-index: 3;
}
.card-4 {
  z-index: 4;
}

/* ═══════════════════════════════════════
   SHOP SECTION
═══════════════════════════════════════ */
.shop-section {
  position: relative;
  background: #ffffff;
  padding: 80px 40px !important;
  overflow: hidden;
}

.shop-heading {
  font-size: clamp(32px, 4vw, 64px);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: #1f1f1f;
  text-align: center;
  max-width: 1400px;
  margin: 0 auto 48px auto;
  width: 100%;
  position: relative;
  z-index: 2;
}

.shop-dashboard {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 12px;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
  height: 700px;
}

.shop-left,
.shop-right {
  position: relative;
}

.shop-left {
  background: hsla(0, 0%, 100%, 0.6);
  border-radius: 12px;
  border: 1.5px solid #e6e6e6;
  padding: 24px;
  overflow-y: auto;
  backdrop-filter: blur(8px);
}

.shop-left::before,
.shop-right::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif");
  background-repeat: repeat;
  background-size: 480px 360px;
  background-color: rgba(255, 255, 255, 0.6);
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}

.shop-left .w-dyn-list,
.shop-left .shop-category-label,
.shop-right > * {
  position: relative;
  z-index: 1;
}

.shop-center {
  background: #d6d6d6;
  border-radius: 12px;
  overflow: hidden;
  position: relative !important;
  border: 1.5px solid #e2e2e2;
}

.shop-center::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif"),
    linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  background-repeat: repeat, no-repeat;
  background-size:
    480px 360px,
    cover;
  opacity: 0.08;
  pointer-events: none;
  z-index: 1;
}

.shop-product-image {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.shop-right {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 12px;
  padding: 24px;
  overflow-y: auto;
  border: 1.5px solid #e6e6e6;
  backdrop-filter: blur(8px);
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 16px;
}

/* Shop Left — Items */
.w-dyn-list {
  height: 100% !important;
}

.w-dyn-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.shop-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 0 !important;
  cursor: pointer;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  transition: opacity 0.2s ease;
  gap: 8px !important;
}

.shop-item:hover {
  opacity: 0.7;
}

.shop-item.active .shop-item-dot {
  background: #1f1f1f;
  border-color: #1f1f1f;
}

.shop-item-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 0, 0, 0.3);
  flex-shrink: 0;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.shop-item-name {
  font-size: 13px;
  font-weight: 400;
  color: #1f1f1f;
  flex: 1;
}

.shop-item-price {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
  display: inline !important;
}

.shop-item-price-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 1px !important;
  flex-shrink: 0;
}

.shop-item-price-sign {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.5);
  display: inline !important;
}

.shop-item-hidden-image,
.shop-item-hidden-label {
  display: none !important;
}

.shop-category-label {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  padding: 16px 0 6px;
  font-weight: 500;
  font-family: chivo-mono, sans-serif;
}

/* Shop Right — Product Details */
.shop-breadcrumb {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
}

.shop-product-name {
  font-size: clamp(22px, 2.5vw, 36px);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #1f1f1f;
  margin: 0 !important;
}

.shop-product-price-display {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 400;
  color: #1f1f1f;
  letter-spacing: -0.02em;
}

.shop-product-description {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.6);
  margin: 0 !important;
}

.shop-specs-label,
.shop-quantity-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #646464;
  font-weight: 500;
}

.shop-quantity-label {
  font-size: 10px;
  letter-spacing: 0.1em;
  color: rgba(0, 0, 0, 0.4);
  margin-bottom: 4px;
  white-space: nowrap;
}

.shop-specs-container {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.shop-spec-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 4px 0 !important;
  border-bottom: none !important;
}

.shop-spec-row.hidden {
  display: none !important;
}

.shop-spec-label {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.5);
}

.shop-spec-value {
  font-size: 12px;
  font-weight: 500;
  color: #1f1f1f;
  text-align: right;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.shop-quantity-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

.quantity-button-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.shop-qty-minus,
.shop-qty-plus {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  display: none;
  align-items: center;
  justify-content: center;
  color: #1f1f1f;
  transition: background 0.2s ease;
}

.shop-qty-minus:hover,
.shop-qty-plus:hover {
  background: rgba(0, 0, 0, 0.06);
}

.shop-qty-display {
  font-size: 14px;
  font-weight: 400;
  color: #1f1f1f;
  min-width: 24px;
  text-align: center;
}

.shop-total-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.shop-total-row > * {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.shop-total-display {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1f1f1f !important;
}

.shop-actions {
  margin-top: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.shop-cart-btn {
  display: block !important;
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  background: #1f1f1f;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.shop-cart-btn:hover {
  opacity: 0.8;
}

.shop-quote-btn {
  display: block !important;
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  border: 1.5px solid rgba(0, 0, 0, 0.2);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1f1f1f;
  text-decoration: none;
  transition: background 0.2s ease;
}

.shop-quote-btn:hover {
  background: rgba(0, 0, 0, 0.04);
}

/* ═══════════════════════════════════════
   VIDEO SCROLL
═══════════════════════════════════════ */
.video-section {
  position: relative;
  width: 100%;
  background: #ffffff;
  overflow-x: clip;
}

.video-scroll-wrapper {
  position: relative;
  height: 250vh;
  overflow-x: clip;
}

.video-strip {
  position: sticky;
  top: 0;
  height: 100vh !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px !important;
  padding: 0 40px !important;
  overflow: visible !important;
  will-change: transform;
}

.video-panel {
  flex-shrink: 0 !important;
  height: 100% !important;
  width: auto !important;
  max-width: 90vw !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative !important;
  background: #1f1f1f;
}

.video-player {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.video-controls {
  position: absolute !important;
  bottom: 24px !important;
  left: 24px !important;
  z-index: 10 !important;
}

.video-play-pause {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 14px;
  transition: background 0.2s ease;
}

.hero-v2-video::-webkit-media-controls {
  display: none !important;
}

.hero-v2-video::-webkit-media-controls-panel {
  display: none !important;
}

.hero-v2-video::-webkit-media-controls-play-button {
  display: none !important;
}

.hero-v2-video::--webkit-media-controls-start-playback-button {
  display: none !important;
}

.hero-v2-video {
  -webkit-media-controls: none;
}

.video-play-pause:hover {
  background: rgba(255, 255, 255, 0.25);
}
.video-play-pause {
  opacity: 0;
  transition:
    opacity 0.3s ease,
    background 0.2s ease;
}

.video-play-pause::before {
  content: "▶";
  font-size: 12px;
  margin-left: 2px;
}

.video-play-pause.playing {
  opacity: 0;
}

.video-play-pause.playing::before {
  content: "⏸";
  margin-left: 0;
}

.video-panel:hover .video-play-pause {
  opacity: 1;
}

/* ═══════════════════════════════════════
   QUIZ SECTION
═══════════════════════════════════════ */
.quiz-section {
  position: relative;
  background: #222222;
  padding: 80px 40px;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.quiz-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

/* Steps */
.quiz-steps {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 48px;
}

.quiz-step-connector {
  width: 24px;
  height: 1px;
  background: rgba(255, 255, 255, 0.15);
}

.quiz-step {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: transparent;
  cursor: default;
  transition: all 0.3s ease;
}

.quiz-step.active {
  border-color: #0095ff;
  background: rgba(0, 149, 255, 0.15);
}

.quiz-step.completed {
  border-color: rgba(0, 149, 255, 0.4);
  background: rgba(0, 149, 255, 0.06);
}

.quiz-step-number {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  font-weight: 600;
  transition: all 0.3s ease;
}

.quiz-step.active .quiz-step-number {
  background: #0095ff;
  color: #ffffff;
}

.quiz-step.completed .quiz-step-number {
  background: rgba(0, 149, 255, 0.4);
  color: #ffffff;
}

.quiz-step-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  transition: color 0.3s ease;
}

.quiz-step.active .quiz-step-label {
  color: #0095ff;
}

.quiz-step.completed .quiz-step-label {
  color: rgba(0, 149, 255, 0.7);
}

/* Content grid */
.quiz-content {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

/* Left side */
.quiz-left {
  display: flex;
  flex-direction: column;
}

.quiz-question-number {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0095ff;
  margin: 0 0 12px;
}

.quiz-question-heading {
  font-size: clamp(22px, 2.8vw, 38px);
  font-weight: 400;
  color: #ffffff;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0 0 32px !important;
}

.quiz-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.quiz-option {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 18px !important;
  border-radius: 10px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.02) !important;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
}

.quiz-option:hover {
  border-color: rgba(255, 255, 255, 0.2) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.quiz-option.selected {
  border-color: #0095ff !important;
  background: rgba(0, 149, 255, 0.08) !important;
}

.quiz-option-label {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  flex: 1 !important;
}

.quiz-option-stat {
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
  transition:
    color 0.2s ease,
    background 0.2s ease;
}

.quiz-option.selected .quiz-option-stat {
  color: #0095ff !important;
  background: rgba(0, 149, 255, 0.15) !important;
}

/* Nav */
.quiz-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-top: 32px !important;
  width: 100% !important;
}

.quiz-next-btn,
.quiz-back-btn {
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    opacity 0.2s ease,
    background 0.2s ease;
  border: none;
}

.quiz-next-btn {
  background: #ffffff;
  color: #222222;
}

.quiz-next-btn:hover {
  opacity: 0.85;
}

.quiz-back-btn {
  background: transparent;
  color: rgba(255, 255, 255, 0.4);
  border: 1.5px solid rgba(255, 255, 255, 0.12) !important;
}

.quiz-back-btn:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.quiz-back-btn.hidden {
  visibility: hidden;
}

/* Right panel */
.quiz-right-panel {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 40px;
}

.quiz-panel-label {
  font-size: 10px;
  font-family: chivo-mono, sans-serif;

  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  margin: 0 0 8px;
}

.quiz-panel-selected {
  font-size: 18px;
  font-weight: 400;
  color: #ffffff;
  font-family: Lorin, Arial, sans-serif !important;
  margin: 0;
  letter-spacing: -0.01em;
  min-height: 27px;
}

.quiz-panel-divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
}

.quiz-panel-why-label {
  font-size: 10px;
  letter-spacing: 0.12em;
  font-family: chivo-mono, sans-serif;

  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  margin: 0 0 10px;
}

.quiz-panel-why-text {
  font-size: 13px;
  line-height: 1.7;
  font-family: Lorin, Arial, sans-serif !important;

  color: rgba(255, 255, 255, 0.5);
  margin: 0;
  min-height: 88px;
}

.quiz-panel-stats {
  display: flex;
  gap: 12px;
}

.quiz-panel-stat {
  flex: 1;
  border-radius: 8px;
  padding: 12px;
}

.quiz-panel-stat.accent {
  background: rgba(0, 149, 255, 0.08);
  border: 1px solid rgba(0, 149, 255, 0.2);
}

.quiz-panel-stat.neutral {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.quiz-panel-stat-label {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: chivo-mono, sans-serif;

  color: rgba(255, 255, 255, 0.35);
  margin: 0 0 4px;
}

.quiz-panel-stat.accent .quiz-panel-stat-label {
  color: #0095ff;
}

.quiz-panel-stat-value {
  font-size: 15px;
  font-family: Lorin, Arial, sans-serif !important;

  font-weight: 400;
  color: #ffffff;
  margin: 0;
}

/* Result */
.quiz-result {
  display: none;
  padding: 40px 0;
}

.quiz-result.active {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 60px !important;
  text-align: left !important;
}

.quiz-result-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.quiz-result-tag {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0095ff;
  margin-bottom: 0;
}

.quiz-result-heading {
  font-size: clamp(28px, 3.5vw, 52px);
  font-weight: 400;
  color: #ffffff;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 !important;
}

.quiz-result-description {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.6);
  max-width: 560px;
  margin: 0 !important;
}

.quiz-result-cta {
  display: inline-block;
  padding: 14px 32px;
  border-radius: 8px;
  background: #0095ff;
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
  align-self: center;
}

.quiz-result-cta:hover {
  opacity: 0.85;
}

/* Hide old elements */
.quiz-progress,
.quiz-preview,
.quiz-questions-wrapper {
  display: none !important;
}

/* ═══════════════════════════════════════
   NEWSROOM
═══════════════════════════════════════ */
.newsroom-section {
  position: relative;
  background: #ffffff;
  padding: 80px 40px !important;
}

.newsroom-inner {
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}

.newsroom-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 40px !important;
}

.newsroom-heading {
  font-size: clamp(32px, 4vw, 64px);
  font-weight: 400;
  letter-spacing: -0.03em;
  color: #1f1f1f;
  margin: 0 !important;
}

.newsroom-view-all {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1f1f1f;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 8px;
  border: 1.5px solid rgba(0, 0, 0, 0.15);
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.newsroom-view-all:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #222222;
}

.newsroom-featured {
  margin-bottom: 20px;
}

.featured-card {
  display: flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  background: #ffffff;
  border-radius: 12px;
  border: 1.5px solid #ebebeb;
  overflow: hidden;
  text-decoration: none;
  transition: border-color 0.2s ease;
}

.featured-card:hover {
  border-color: #d0d0d0;
}

.featured-card-image-wrap {
  width: 45% !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  max-height: none !important;
  align-self: stretch !important;
}

.featured-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease;
}

.featured-card:hover .featured-card-image {
  transform: scale(1.03);
}

.featured-card-content {
  flex: 1;
  padding: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  justify-content: center !important;
}

.featured-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.featured-card-category {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
  background: #1f1f1f;
  padding: 4px 10px;
  border-radius: 4px;
  font-weight: 500;
}

.featured-card-date {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
}

.featured-card-title {
  font-size: clamp(22px, 2.5vw, 36px);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #1f1f1f;
  margin: 0 !important;
}

.featured-card-excerpt {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.55);
  margin: 0 !important;
}

.featured-card-link,
.news-card-link {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #222222;
  text-decoration: none;
  margin-top: auto;
  align-self: flex-end;
  position: relative;
  display: inline-block;
  transition: opacity 0.2s ease;
}

.featured-card-link:hover,
.news-card-link:hover {
  color: #0095ff;
}

.featured-card-link::after,
.news-card-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0%;
  height: 1px;
  background: #0095ff;
  transition: width 0.3s ease;
}

.featured-card-link:hover::after,
.news-card-link:hover::after {
  width: 100%;
}

.newsroom-grid .w-dyn-items {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 20px !important;
}

.news-card {
  border-radius: 12px !important;
  border: 1.5px solid #ebebeb !important;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  background: #ffffff;
  text-decoration: none;
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
}

.news-card:hover {
  border-color: #d0d0d0 !important;
  background: #fafafa;
}

.news-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.news-card-category {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
  background: #1f1f1f;
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 500;
}

.news-card-date {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
}

.news-card-title {
  font-size: clamp(15px, 1.4vw, 20px);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #1f1f1f;
  margin: 0 !important;
}

.news-card-excerpt {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.55);
  margin: 0 !important;
  flex: 1;
}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.site-footer {
  position: relative;
  background: #d6d6d6;
  overflow: hidden;
  padding: 0;
}

.footer-grain {
  position: absolute;
  inset: 0;
  background:
    url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif"),
    linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  background-repeat: repeat, no-repeat;
  background-size:
    480px 360px,
    cover;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
}

.footer-container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  padding: 80px 0 0;
}

.footer-container.bottom {
  padding-top: 0 !important;
}

.footer-top {
  position: relative;
  z-index: 1;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 200px !important;
}

.footer-tagline {
  font-size: clamp(20px, 2.5vw, 36px);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #222222;
  max-width: 520px;
}

.footer-links {
  display: flex !important;
  gap: 120px !important;
  align-items: flex-start !important;
}

.footer-nav,
.footer-connect {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  align-items: flex-start !important;
  padding-left: 20px !important;
  border-left: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.footer-nav-label {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  margin-bottom: 8px;
  font-family: chivo-mono, sans-serif;
}

.footer-nav-link {
  font-size: 15px;
  color: #1f1f1f;
  text-decoration: none;
  letter-spacing: 0.02em;
  position: relative;
  display: inline-block;
  line-height: 1.5;
  transition: color 0.2s ease;
}

.footer-nav-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0%;
  height: 1px;
  background: #0095ff;
  transition: width 0.3s ease;
}

.footer-nav-link:hover {
  color: #0095ff;
}

.footer-nav-link:hover::after {
  width: 100%;
}

.footer-connect .footer-nav-link {
  display: block !important;
}

.footer-wordmark {
  position: relative;
  z-index: 1;
  font-size: clamp(80px, 15vw, 240px);
  font-weight: 300;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #0095ff;
  width: 100%;
  display: block;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
}

.footer-bottom {
  position: relative;
  z-index: 1;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.footer-copyright {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  font-family: chivo-mono, sans-serif;
}

/* ═══════════════════════════════════════
   SOFTWARE FEATURE GRID
═══════════════════════════════════════ */
.software-section {
  position: relative;
  background: #ffffff;
  padding: 100px 40px;
}

.software-inner {
  max-width: 1440px;
  margin: 0 auto;
}

.software-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
}

.software-header-left {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.software-section-tag {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0095ff;
  font-family: chivo-mono, sans-serif;
}

.software-section-heading {
  font-size: clamp(32px, 4vw, 60px);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: #1f1f1f;
  font-family: Lorin, sans-serif;
  margin: 0;
}

.software-section-sub {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.45);
  max-width: 260px;
  text-align: right;
  font-family: Lorin, sans-serif;
  margin: 0;
}

.software-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.sw-card {
  background: #ffffff;
  border-radius: 14px;
  border: 1.5px solid #ebebeb;
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.2s ease;
  display: flex;
  flex-direction: column;
}

.sw-card:hover {
  border-color: #d0d0d0;
}

.sw-card:hover .sw-card-arrow {
  opacity: 1;
}

.sw-card.featured {
  grid-column: span 2;
}

.sw-card-image {
  width: 100%;
  background: #ffffff;
  border-bottom: 1.5px solid #ebebeb;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  padding: 12px 12px 0 12px;
}

.sw-card.featured .sw-card-image {
  height: 300px;
}

.sw-card:not(.featured) .sw-card-image {
  height: 200px;
}
.sw-mock {
  width: 100%;
  height: 100%;
  background: #ffffff;
  border-radius: 10px 10px 0 0;
  border: 1px solid #e6e6e6;
  border-bottom: none;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  flex-shrink: 0;
}

.sw-mock-bar {
  height: 12px;
  background: #f0f0f0;
  border-radius: 3px;
  display: flex;
  align-items: center;
  padding: 0 6px;
  gap: 4px;
}

.sw-mock-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.sw-mock-body {
  display: flex;
  gap: 6px;
  flex: 1;
}

.sw-mock-side {
  width: 22%;
  background: #f5f5f3;
  border-radius: 3px;
}

.sw-mock-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.sw-mock-chart {
  flex: 1;
  background: rgba(0, 149, 255, 0.06);
  border-radius: 3px;
  border: 1px solid rgba(0, 149, 255, 0.1);
  display: flex;
  align-items: flex-end;
  padding: 4px;
  gap: 2px;
}

.sw-mock-col {
  border-radius: 2px 2px 0 0;
  background: rgba(0, 149, 255, 0.25);
  flex: 1;
}

.sw-mock-col.hi {
  background: #0095ff;
}

.sw-mock-stats {
  display: flex;
  gap: 4px;
}

.sw-mock-stat {
  flex: 1;
  height: 18px;
  background: #f0f0f0;
  border-radius: 3px;
}

.sw-mock-stat.accent {
  background: rgba(0, 149, 255, 0.1);
}

.sw-mock-rows {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}

.sw-mock-row {
  height: 11px;
  background: #f0f0f0;
  border-radius: 2px;
}

.sw-mock-row.head {
  background: #e6e6e6;
}

.sw-mock-row.accent {
  background: rgba(0, 149, 255, 0.1);
}

.sw-mock-map {
  flex: 1;
  background: #f5f5f3;
  border-radius: 3px;
  border: 1px solid #ebebeb;
  position: relative;
  overflow: hidden;
}

.sw-mock-node {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0095ff;
}

.sw-mock-node.dim {
  background: rgba(0, 149, 255, 0.3);
}

.sw-mock-line {
  position: absolute;
  background: rgba(0, 149, 255, 0.2);
  height: 1px;
  transform-origin: left center;
}

.sw-card-body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.sw-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sw-card-tag {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0095ff;
  font-family: chivo-mono, sans-serif;
}

.sw-card-arrow {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.sw-card-title {
  font-size: 16px;
  font-weight: 400;
  color: #1f1f1f;
  letter-spacing: -0.01em;
  line-height: 1.3;
  font-family: Lorin, sans-serif;
  margin: 0;
}

.sw-card-desc {
  font-size: 12px;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.45);
  font-family: Lorin, sans-serif;
  margin: 0;
}

.sw-card-stat {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sw-stat-num {
  font-size: 18px;
  font-weight: 400;
  color: #1f1f1f;
  letter-spacing: -0.02em;
  font-family: Lorin, sans-serif;
}

.sw-stat-lbl {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.3);
  font-family: chivo-mono, sans-serif;
}

.software-section-v2 {
  position: relative;
  background: #ffffff;
  padding: 100px 40px;
  width: 100%;
}

.software-section-inner {
  max-width: 1440px;
  margin: 0 auto;
}

/* ═══════════════════════════════════════
   HERO V2
═══════════════════════════════════════ */
.hero-scroll-wrapper {
  position: relative;
  height: 250vh;
  background: #ffffff;
}

.hero-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}

.hero-v2-frame {
  position: absolute;
  top: 0;
  left: 0;
  background: #d6d6d6;
  overflow: hidden;
  will-change: margin, border-radius, width, height;
}

.hero-v2-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif")
    repeat;
  background-size: 480px 360px;
  opacity: 0.08;
  pointer-events: none;
  z-index: 1;
  border-radius: inherit;
}

/* ═══════════════════════════════════════
   HERO V2
═══════════════════════════════════════ */
.hero-scroll-wrapper {
  position: relative;
  height: 250vh;
  background: #ffffff;
}

.hero-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  background: #ffffff;
}

.hero-v2-frame {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  bottom: 12px;
  background: #d6d6d6;
  border-radius: 12px;
  overflow: hidden;
  will-change: top, left, right, bottom, border-radius;
}

.hero-v2-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.hero-v2-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.hero-v2-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif")
    repeat;
  background-size: 480px 360px;
  opacity: 0.04;
  pointer-events: none;
}

.hero-v2-crosshairs {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.hero-v2-ch {
  position: absolute;
  width: 20px;
  height: 20px;
}

.hero-v2-ch::before,
.hero-v2-ch::after {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.4);
}

.hero-v2-ch::before {
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
}

.hero-v2-ch::after {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
}

.hero-v2-ch.tl {
  top: 24px;
  left: 24px;
}
.hero-v2-ch.tr {
  top: 24px;
  right: 24px;
}
.hero-v2-ch.bl {
  bottom: 24px;
  left: 24px;
}
.hero-v2-ch.br {
  bottom: 24px;
  right: 24px;
}

.hero-v2-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 3;
  gap: 20px;
  text-align: center;
  padding: 40px;
}

.hero-v2-tag {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  font-family: chivo-mono, sans-serif;
}

.hero-v2-heading {
  font-size: clamp(48px, 7vw, 110px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #ffffff;
  font-family: Lorin, sans-serif;
  margin: 0;
}

.hero-v2-sub {
  font-size: 15px;
  line-height: 1.7;
  color: rgb(255, 255, 255) !important;
  max-width: 400px;
  font-family: Lorin, sans-serif;
  margin: 0;
}

.hero-v2-btns {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

.hero-v2-btn-primary {
  padding: 12px 28px;
  border-radius: 8px;
  background: #ffffff;
  color: #1a1a1a;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: chivo-mono, sans-serif;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.hero-v2-btn-primary:hover {
  opacity: 0.85;
}

.hero-v2-btn-secondary {
  padding: 12px 28px;
  border-radius: 8px;
  background: #222222;
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: chivo-mono, sans-serif;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition:
    border-color 0.2s ease,
    color 0.2s ease;
}

.hero-v2-btn-secondary:hover {
  border-color: rgba(255, 255, 255, 0.4);
  color: #ffffff;
}

/* ═══════════════════════════════════════
   COMPANY PAGE — TEAM
═══════════════════════════════════════ */
.company-section {
  position: relative;
  background: #ffffff;
  padding: 120px 40px 80px;
}

.company-inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

/* Header */
.company-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 64px;
}

.company-header-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.company-header-tag {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0095ff;
  font-family: chivo-mono, sans-serif;
}

.team-modal-right p,
.team-modal-right h2,
.team-modal-right button {
  opacity: 1 !important;
  visibility: visible !important;
}

.company-header-heading {
  font-size: clamp(36px, 5vw, 72px);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: #222222;
  font-family: Lorin, sans-serif;

  margin: 0;
}

.company-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.company-header-sub {
  font-size: 15px;
  font-family: Lorin, sans-serif;

  color: rgba(0, 0, 0, 0.5);
  line-height: 1.6;
  text-align: right;
  max-width: 280px;
  margin: 0;
}

.company-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  border-radius: 10px;
  font-family: chivo-mono, sans-serif;

  background: #222222;
  color: #ffffff;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}

.company-contact-btn:hover {
  opacity: 0.8;
}

/* Grid */
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.team-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1.5px solid #ebebeb;
  overflow: hidden;
  padding: 12px 12px 0;
  transition: border-color 0.2s ease;
  cursor: pointer;
}

.team-card:hover {
  border-color: #d0d0d0;
}

.team-card-img {
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  background: #d6d6d6;
}

.team-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.team-card-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  font-weight: 300;
  color: rgba(0, 0, 0, 0.2);
  letter-spacing: -0.02em;
}

.team-linkedin-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  background: #222222;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.team-linkedin-badge:hover {
  opacity: 0.75;
}

.team-linkedin-badge svg {
  width: 15px;
  height: 15px;
  fill: #ffffff;
}

.team-card-body {
  padding: 18px 8px 0;
}

.team-card-name {
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 400;
  color: #222222;
  letter-spacing: -0.02em;
  font-family: Lorin, sans-serif;

  margin: 0 0 5px;
}

.team-card-role {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  margin: 0 0 16px;
  font-family: chivo-mono, sans-serif;
}

.team-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 18px;
}

.team-card-link {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #222222;
  text-decoration: none;
  position: relative;
  display: inline-block;
}

.team-card-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0%;
  height: 1px;
  background: #0095ff;
  transition: width 0.3s ease;
}

.team-card-link:hover::after {
  width: 100%;
}

.team-card-arrow {
  width: 32px;
  height: 32px;
  background: #0095ff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  flex-shrink: 0;
  transition: opacity 0.2s ease;
}

.team-card-arrow:hover {
  opacity: 0.8;
}

.team-card-arrow svg {
  width: 14px;
  height: 14px;
}

/* ═══════════════════════════════════════
   TEAM MODAL
═══════════════════════════════════════ */
.team-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px;
  backdrop-filter: blur(4px);
}

.team-modal-overlay.active {
  display: flex;
}

.team-modal {
  background: #ffffff;
  border-radius: 16px;
  width: 100%;
  max-width: 860px;
  max-height: 85vh;
  display: flex;
  flex-direction: row;
  overflow: hidden;
  position: relative;
}

.team-modal-left {
  width: 260px;
  flex-shrink: 0;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #f5f5f3;
}

.team-modal-img {
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  overflow: hidden;
  background: #d6d6d6;
}

.team-modal-linkedin {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #222222;
  font-family: chivo-mono, sans-serif;

  text-decoration: none;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1.5px solid rgba(0, 0, 0, 0.12);
  transition: background 0.2s ease;
}

.team-modal-linkedin:hover {
  background: rgba(0, 0, 0, 0.04);
}

.team-modal-linkedin svg {
  width: 14px;
  height: 14px;
  fill: #222222;
  flex-shrink: 0;
}

.team-modal-right {
  flex: 1;
  padding: 32px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.team-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}

.team-modal-name {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #222222;
  font-family: Lorin, sans-serif;

  margin: 0 0 6px;
}

.team-modal-role {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  margin: 0;
  font-family: chivo-mono, sans-serif;
}

.team-modal-close {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.06);
  border: none;
  cursor: pointer;
  font-size: 13px;
  color: #222222;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s ease;
}

.team-modal-close:hover {
  background: rgba(0, 0, 0, 0.12);
}

.team-modal-divider {
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
  margin-bottom: 20px;
}

.team-modal-bio {
  font-size: 14px;
  font-family: Lorin, sans-serif;

  line-height: 1.8;
  color: rgba(0, 0, 0, 0.6);
  margin: 0;
}

.contact-section {
  position: relative;
  background: #ffffff;
  padding: 140px 40px 100px;
  min-height: 100vh;
}

.contact-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start;
}

.contact-left {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 120px;
}

.contact-tag {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0095ff;
  font-family: chivo-mono, sans-serif;
}

.contact-heading {
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: #1f1f1f;
  font-family: Lorin, sans-serif;

  margin: 0 !important;
}

.contact-sub {
  font-size: 14px;
  line-height: 1.7;
  font-family: Lorin, sans-serif;

  color: rgba(0, 0, 0, 0.5);
  margin: 0 !important;
  max-width: 340px;
}

.contact-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.contact-detail-label {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.35);
  font-family: chivo-mono, sans-serif;
  margin: 0 0 3px !important;
}

.contact-detail-value {
  font-size: 14px;
  font-family: Lorin, sans-serif;

  color: #1f1f1f;
  margin: 0 !important;
}

.contact-right {
  background: #ffffff;
  border: 1.5px solid #ebebeb;
  border-radius: 16px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-form-heading {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: -0.02em;
  font-family: Lorin, sans-serif;

  color: #1f1f1f;
  margin: 0 !important;
}

#contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.form-label {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  font-family: chivo-mono, sans-serif;
  margin: 0 !important;
}

.form-input {
  width: 100%;
  padding: 11px 14px;
  border-radius: 8px;
  border: 1.5px solid #e6e6e6;
  font-size: 13px;
  font-family: Lorin, sans-serif !important;

  color: #1f1f1f;
  background: #fafafa;
  outline: none;
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
  font-family: inherit;
  box-shadow: none;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}

.form-input:focus {
  border-color: #0095ff;
  background: #ffffff;
  box-shadow: none;
  outline: none;
}

.form-select {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231f1f1f' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-color: #fafafa;
  padding-right: 36px;
  cursor: pointer;
}

.form-textarea {
  resize: none;
  height: 120px;
}

.form-field-error {
  font-size: 11px;
  color: #dc3232;
  display: block;
  min-height: 16px;
}

.form-divider {
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.06);
}

.radio-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.radio-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.radio-group-label {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  font-family: chivo-mono, sans-serif;
  margin: 0 0 4px !important;
}

.radio-option {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.radio-option input[type="radio"] {
  display: none;
}

.radio-custom {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 0, 0, 0.2);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease;
  position: relative;
}

.radio-custom::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0095ff;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.radio-option input[type="radio"]:checked + .radio-custom {
  border-color: #0095ff;
}

.radio-option input[type="radio"]:checked + .radio-custom::after {
  opacity: 1;
}

.radio-label {
  font-size: 13px;
  color: #1f1f1f;
  font-family: Lorin, sans-serif;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.checkbox-input {
  display: none;
}

.checkbox-custom {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1.5px solid rgba(0, 0, 0, 0.2);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
  position: relative;
}

.checkbox-custom::after {
  content: "";
  width: 10px;
  height: 7px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg) translateY(-1px);
  opacity: 0;
  transition: opacity 0.15s ease;
}

.checkbox-input:checked + .checkbox-custom {
  background: #0095ff;
  border-color: #0095ff;
}

.checkbox-input:checked + .checkbox-custom::after {
  opacity: 1;
}

.checkbox-label {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.6);
  font-family: Lorin, sans-serif;

  line-height: 1.5;
}

.form-submit {
  width: 100%;
  padding: 14px;
  border-radius: 10px;
  background: #1f1f1f;
  color: #ffffff;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
  font-family: chivo-mono, sans-serif;
}

.form-submit:hover {
  opacity: 0.8;
}
.form-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.form-note {
  font-size: 11px;
  color: rgba(0, 0, 0, 0.35);
  text-align: center;
  line-height: 1.6;
  margin: 0 !important;
}

.contact-success {
  padding: 20px 24px;
  border-radius: 10px;
  background: rgba(0, 149, 255, 0.06);
  border: 1.5px solid rgba(0, 149, 255, 0.2);
  color: #0095ff;
  font-size: 14px;
  text-align: center;
}

.contact-error {
  padding: 20px 24px;
  border-radius: 10px;
  background: rgba(220, 50, 50, 0.06);
  border: 1.5px solid rgba(220, 50, 50, 0.2);
  color: #dc3232;
  font-size: 14px;
  text-align: center;
}

/* ═══════════════════════════════════════
   PRODUCT PAGE
═══════════════════════════════════════ */
.product-page {
  background: #ffffff;
  min-height: 100vh;
  padding-top: 0;
}

.product-hero {
  display: grid !important;
  grid-template-columns: 1.8fr 1fr !important;
  height: 100vh !important;
  gap: 16px !important;
  padding: 84px 40px 40px 40px !important;
  box-sizing: border-box !important;
  background: #ffffff;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.product-center {
  background: #d6d6d6;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden;
  border-radius: 12px !important;
  border: 1.5px solid #e2e2e2 !important;
}

.product-center::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif"),
    linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  background-repeat: repeat, no-repeat;
  background-size:
    480px 360px,
    cover;
  opacity: 0.08;
  pointer-events: none;
  z-index: 1;
}

.product-image-main {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  padding: 40px !important;
  box-sizing: border-box !important;
}

.product-right {
  padding: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  overflow-y: auto;
  border: 1.5px solid #e6e6e6 !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
  position: relative;
}

.product-center img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0px !important;
  box-sizing: border-box !important;
}

.product-right::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("https://cdn.prod.website-files.com/684893e9d670283aee10ad1c/6a38907a360ec08fa5585ad2_grain%20(1).gif");
  background-repeat: repeat;
  background-size: 480px 360px;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}

.product-right > * {
  position: relative;
  z-index: 1;
}

.product-breadcrumb {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
}

.product-name {
  font-size: clamp(24px, 2.8vw, 42px);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #1f1f1f;
  margin: 0 !important;
}

.product-price-display {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 400;
  color: #1f1f1f;
  letter-spacing: -0.02em;
}

.product-description {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.6);
  margin: 0 !important;
}

.product-specs-heading {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #646464;
  font-weight: 500;
  margin-bottom: 4px;
}

.product-specs-container {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.product-spec-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 6px 0 !important;
  border-bottom: none !important;
}

.product-spec-label {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.5);
}

.product-spec-value {
  font-size: 12px;
  font-weight: 500;
  color: #1f1f1f;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.product-quantity-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.product-qty-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #646464;
  font-weight: 500;
}

.product-qty-controls {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  width: fit-content !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.product-qty-minus,
.product-qty-plus {
  width: 32px !important;
  height: 32px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  font-size: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #1f1f1f !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease !important;
}

.product-qty-minus:hover,
.product-qty-plus:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}

.w-commerce-commerceaddtocartform {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
}

.w-commerce-commercecartitemimage {
  width: 80px !important;
  height: 80px !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  background: #f5f5f5 !important;
  flex-shrink: 0 !important;
}

.w-commerce-commerceaddtocartquantityinput {
  width: 40px !important;
  height: 32px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
  text-align: center !important;
  color: #1f1f1f !important;
  padding: 0 !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  margin-bottom: 0px !important;
}

.w-commerce-commerceaddtocartquantityinput::-webkit-outer-spin-button,
.w-commerce-commerceaddtocartquantityinput::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.product-qty-controls .w-commerce-commerceaddtocartbutton {
  display: none !important;
}

.w-commerce-commerceaddtocartbutton {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 12px !important;
  border-radius: 8px !important;
  background: #1f1f1f !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

.w-commerce-commerceaddtocartbutton:hover {
  opacity: 0.8 !important;
}

.product-total-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.product-total-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #646464;
  font-weight: 500;
}

.product-total-display {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1f1f1f !important;
}

.product-quote-btn {
  display: block !important;
  text-align: center !important;
  padding: 12px !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(0, 0, 0, 0.2) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #1f1f1f !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}

.product-quote-btn:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}

/* ═══════════════════════════════════════
   MOBILE RESPONSIVE — add to main.css
   Targets screens up to 768px
═══════════════════════════════════════ */

@media (max-width: 768px) {
  .nav-bar {
    padding: 0 16px !important;
    height: 56px !important;
  }

  .nav-center {
    display: none !important;
    position: static !important;
    transform: none !important;
  }

  .nav-contact-btn {
    display: none !important;
  }

  .nav-menu-btn {
    display: flex !important;
  }
}

@media (max-width: 768px) {
  /* ── HERO V2 ── */
  .hero-scroll-wrapper {
    height: 180vh;
  }

  .hero-v2-heading {
    font-size: clamp(36px, 10vw, 64px) !important;
    letter-spacing: -0.03em !important;
  }

  .hero-v2-sub {
    font-size: 13px !important;
    max-width: 100% !important;
  }

  .hero-v2-btns {
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 280px !important;
  }

  .hero-v2-btn-primary,
  .hero-v2-btn-secondary {
    width: 100% !important;
    text-align: center !important;
  }

  .hero-v2-content {
    padding: 24px !important;
    gap: 14px !important;
  }

  /* ── TOOLHEAD ── */
  .toolhead-item img {
    width: 180px !important;
  }

  /* ── SOFTWARE GRID ── */
  .software-section-v2 {
    padding: 60px 20px !important;
  }

  .software-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 32px !important;
  }

  .software-section-sub {
    text-align: left !important;
    max-width: 100% !important;
  }

  .software-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .sw-card.featured {
    grid-column: span 1 !important;
  }

  .sw-card.featured .sw-card-image {
    height: 220px !important;
  }

  .sw-card:not(.featured) .sw-card-image {
    height: 180px !important;
  }

  @media (max-width: 768px) {
    .shop-right::before {
      display: none !important;
    }

    .shop-right {
      background: #ffffff !important;
      border: none !important;
    }

    .shop-left::before {
      display: none !important;
    }
  }
  /* ── SHOP ── */
  @media (max-width: 768px) {
    .shop-section {
      padding: 60px 0 !important;
    }

    .shop-heading {
      padding: 0 20px !important;
      text-align: left !important;
      font-size: clamp(28px, 7vw, 40px) !important;
      margin-bottom: 24px !important;
    }

    .shop-dashboard {
      grid-template-columns: 1fr !important;
      height: auto !important;
      gap: 0 !important;
      max-width: 100% !important;
      padding: 0 16px !important; /* gives the whole stack consistent side gutters */
    }

    /* Image hero — full width, tall */
    .shop-center {
      aspect-ratio: 1 / 1 !important;
      height: auto !important;
      width: 100% !important;
      border-radius: 12px !important;
      border-left: 1.5px solid #e2e2e2 !important;
      border-right: 1.5px solid #e2e2e2 !important;
      margin: 0 0 16px !important;
      order: 1 !important;
    }

    .shop-product-image {
      position: absolute !important;
      inset: 0 !important;
      z-index: 2;
      width: 100% !important;
      height: 100% !important;
      object-fit: contain !important;
      display: block !important;
      box-sizing: border-box !important;
    }
  }

  @media (max-width: 768px) {
    .shop-right {
      order: 2 !important;
      border-radius: 0 !important;
      border-left: none !important;
      border-right: none !important;
      padding: 20px !important;
      max-height: none !important;
      overflow-y: visible !important;
      backdrop-filter: none !important;
      gap: 10px !important;
    }

    .shop-breadcrumb {
      margin-bottom: 4px !important;
    }

    .shop-product-name {
      margin-bottom: 4px !important;
    }

    .shop-product-price-display {
      margin-bottom: 4px !important;
    }

    .shop-product-description {
      padding-bottom: 8px !important;
      border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    }

    .shop-specs-container {
      padding-bottom: 8px !important;
      border-bottom: 0px solid rgba(0, 0, 0, 0.06) !important;
    }

    .shop-total-row {
      padding-top: 12px !important;
    }

    .shop-actions {
      padding-top: 4px !important;
    }

    /* Pill selector list → 2-column grid */
    .shop-left {
      order: 3 !important;
      border-radius: 0 !important;
      border: none !important;
      border-top: 1px solid #ebebeb !important;
      padding: 16px !important;
      overflow-x: visible !important;
      overflow-y: visible !important;
      background: #ffffff !important;
      backdrop-filter: none !important;
      max-height: none !important;
    }

    .shop-left .w-dyn-list {
      height: auto !important;
    }

    .shop-left .w-dyn-items {
      display: grid !important;
      flex-direction: unset !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 8px !important;
      padding: 0 !important;
      width: 100% !important;
    }

    .shop-category-label {
      grid-column: span 2 !important;
      display: block !important;
      padding: 8px 0 4px !important;
      font-size: 9px !important;
      letter-spacing: 0.12em !important;
      color: rgba(0, 0, 0, 0.35) !important;
    }

    .shop-item {
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      padding: 10px 12px !important;
      border-bottom: none !important;
      border-radius: 10px !important;
      border: 1.5px solid #e6e6e6 !important;
      background: #fafafa !important;
      gap: 3px !important;
      min-width: unset !important;
      width: 100% !important;
      flex-shrink: unset !important;
    }

    .shop-item.active {
      border-color: #1f1f1f !important;
      background: #ffffff !important;
    }

    .shop-item-dot {
      display: none !important;
    }

    .shop-item-name {
      font-size: 12px !important;
      font-weight: 500 !important;
      line-height: 1.3 !important;
      color: #1f1f1f !important;
    }

    .shop-item-price,
    .shop-item-price-sign {
      font-size: 11px !important;
      color: rgba(0, 0, 0, 0.4) !important;
    }

    .shop-actions {
      flex-direction: column !important;
      gap: 8px !important;
    }

    .shop-product-name {
      font-size: clamp(22px, 6vw, 30px) !important;
    }

    .shop-cart-btn,
    .shop-quote-btn {
      width: 100% !important;
      text-align: center !important;
    }
  }

  @media (max-width: 768px) {
    .video-scroll-wrapper {
      height: auto !important;
      overflow: visible !important;
    }

    .video-strip {
      position: static !important;
      flex-direction: column !important;
      height: auto !important;
      padding: 24px 0 !important;
      gap: 16px !important;
      will-change: unset !important;
      transform: none !important;
    }

    .video-panel {
      width: calc(100% - 32px) !important;
      margin: 0 16px !important;
      aspect-ratio: 16 / 9 !important;
      border-radius: 12px !important;
    }

    .video-section {
      overflow: visible !important;
      overflow-x: clip !important;
    }
  }

  @media (max-width: 768px) {
    html {
      scroll-behavior: auto !important;
    }
  }

  @media (max-width: 768px) {
    .video-play-pause::before {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 6px 0 6px 10px;
      border-color: transparent transparent transparent #ffffff;
      margin-left: 3px;
    }

    .video-play-pause.playing::before {
      content: "";
      display: block;
      width: 10px;
      height: 12px;
      border-left: 3px solid #ffffff;
      border-right: 3px solid #ffffff;
      margin-left: 0;
    }
  }

  /* ── QUIZ ── */
  .quiz-section {
    padding: 60px 20px !important;
  }

  .quiz-content {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .quiz-right-panel {
    position: static !important;
  }

  .quiz-steps {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 32px !important;
  }

  .quiz-step-connector {
    display: none !important;
  }

  .quiz-question-heading {
    font-size: clamp(20px, 5vw, 28px) !important;
  }

  .quiz-result.active {
    flex-direction: column !important;
    gap: 32px !important;
  }

  .quiz-result-heading {
    font-size: clamp(24px, 6vw, 36px) !important;
  }

  /* ── NEWSROOM ── */
  .newsroom-section {
    padding: 60px 20px !important;
  }

  .newsroom-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  .featured-card {
    flex-direction: column !important;
  }

  .featured-card-image-wrap {
    width: 100% !important;
    height: 220px !important;
  }

  .featured-card-content {
    padding: 24px !important;
  }

  .newsroom-grid .w-dyn-items {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* ── FOOTER ── */
  .footer-container {
    padding: 48px 20px 0 !important;
  }

  .footer-top {
    flex-direction: column !important;
    gap: 40px !important;
    margin-bottom: 60px !important;
  }

  .footer-links {
    gap: 40px !important;
    flex-direction: column !important;
  }

  .footer-wordmark {
    font-size: clamp(48px, 15vw, 100px) !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    gap: 12px !important;
    text-align: center !important;
    padding: 20px !important;
  }

  /* ── COMPANY PAGE ── */
  .company-section {
    padding: 80px 20px 60px !important;
  }

  .company-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
    margin-bottom: 40px !important;
  }

  .company-header-right {
    align-items: flex-start !important;
  }

  .company-header-sub {
    text-align: left !important;
  }

  .team-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .team-modal {
    flex-direction: column !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }

  .team-modal-left {
    width: 100% !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
  }

  .team-modal-img {
    width: 100px !important;
    flex-shrink: 0 !important;
  }

  .team-modal-overlay {
    padding: 16px !important;
  }

  /* ── CONTACT PAGE ── */
  .contact-section {
    padding: 100px 20px 60px !important;
    min-height: auto !important;
  }

  .contact-inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .contact-left {
    position: static !important;
  }

  .contact-heading {
    font-size: clamp(32px, 8vw, 48px) !important;
  }

  .form-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .radio-section {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .contact-right {
    padding: 24px !important;
  }
}

/* ── SMALL PHONES ── */
@media (max-width: 480px) {
  .team-grid {
    grid-template-columns: 1fr !important;
  }

  .quiz-panel-stats {
    flex-direction: column !important;
  }

  .hero-v2-ch.tl {
    top: 16px;
    left: 16px;
  }
  .hero-v2-ch.tr {
    top: 16px;
    right: 16px;
  }
  .hero-v2-ch.bl {
    bottom: 16px;
    left: 16px;
  }
  .hero-v2-ch.br {
    bottom: 16px;
    right: 16px;
  }
}

@media (max-width: 768px) {
  .team-card:last-child {
    grid-column: auto !important;
  }
}

@media (max-width: 768px) {
  .team-grid {
    overflow: hidden !important;
  }

  .company-inner {
    overflow: hidden !important;
  }
}

@media (max-width: 768px) {
  .product-hero {
    grid-template-columns: 1fr !important;
    height: auto !important;
    padding: 80px 12px 12px !important;
    gap: 12px !important;
  }

  .product-center {
    height: 300px !important;
    border-radius: 12px !important;
  }

  .product-right {
    padding: 20px !important;
    gap: 12px !important;
  }

  .product-name {
    font-size: clamp(24px, 6vw, 32px) !important;
  }

  .product-right::before {
    display: none !important;
  }

  .product-right {
    background: #ffffff !important;
    border: none !important;
    border-top: 1px solid #ebebeb !important;
    border-radius: 0 !important;
  }
}

@media (max-width: 768px) {
  html {
    scroll-behavior: auto !important;
  }
}

@media (max-width: 768px) {
  .hero-scroll-wrapper {
    height: 100vh !important;
    overflow: hidden !important;
  }

  .hero-sticky {
    position: relative !important;
    height: 100vh !important;
  }

  .hero-v2-frame {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border-radius: 0 !important;
  }
}
