/* ============================================================
   CASDE Machinery - Main Stylesheet
   ============================================================ */

/* ==================== CSS VARIABLES ==================== */
:root {
  --color-primary: #F5B400;
  --color-primary-dark: #D99D00;
  --color-dark: #17191C;
  --color-dark-2: #22262A;
  --color-text: #25282C;
  --color-text-light: #5a6169;
  --color-bg: #FFFFFF;
  --color-bg-light: #F4F5F6;
  --color-border: #DDE1E5;
  --color-white: #FFFFFF;
  --color-success: #22C55E;
  --color-error: #EF4444;
  --color-warning: #B76E00;
  --container-width: 1440px;
  --article-width: 820px;
  --header-height: 70px;
  --top-bar-height: 38px;
  --font-heading: 'Barlow Condensed', Arial, sans-serif;
  --font-body: 'Inter', Arial, sans-serif;
  --transition: 0.3s ease;
  --radius: 4px;
  --font-size-2xs: 11px;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-card: 15px;
  --font-size-base: 16px;
  --font-size-md: 17px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --line-height-tight: 1.2;
  --line-height-heading: 1.15;
  --line-height-body: 1.65;
  --line-height-reading: 1.75;
  --letter-spacing-label: 0.08em;
  --letter-spacing-nav: 0.02em;
}

/* ==================== RESET ==================== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 20px);
  overflow-x: clip;
}

body {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height-body);
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

body.menu-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition);
}

ul, ol {
  list-style: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  font-size: inherit;
}

input, select, textarea {
  font-family: inherit;
  font-size: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.15;
}

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

.skip-to-content {
  position: absolute;
  top: -100%;
  left: 16px;
  background: var(--color-primary);
  color: var(--color-dark);
  padding: 8px 16px;
  z-index: 10000;
  font-weight: 600;
  border-radius: var(--radius);
}

.skip-to-content:focus {
  top: 8px;
}

.required {
  color: var(--color-error);
}

/* ==================== BUTTONS ==================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: var(--radius);
  transition: all var(--transition);
  cursor: pointer;
  white-space: nowrap;
  min-height: 48px;
  border: 2px solid transparent;
}

.btn--primary {
  background: var(--color-primary);
  color: var(--color-dark);
  border-color: var(--color-primary);
}

.btn--primary:hover {
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  transform: translateY(-1px);
}

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

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

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

.btn--outline-dark:hover {
  background: var(--color-dark);
  color: var(--color-white);
}

.btn--sm {
  padding: 10px 20px;
  font-size: 12px;
  min-height: 40px;
}

.btn--block {
  display: flex;
  width: 100%;
}

/* ==================== SECTION HEADERS ==================== */
.section-label {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 12px;
}

.section-label--light {
  color: var(--color-primary);
}

.section-title {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.section-title--light {
  color: var(--color-white);
}

.section-desc {
  font-size: var(--font-size-md);
  color: var(--color-text-light);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.7;
}

.section-desc--light {
  color: rgba(255, 255, 255, 0.7);
}

.section-header {
  text-align: center;
  margin-bottom: 56px;
}

.section-footer {
  text-align: center;
  margin-top: 48px;
}

.section-footer--light .btn--outline-white:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* ==================== ANIMATIONS ==================== */
.animate-on-scroll {
  opacity: 1;
  transform: none;
}

.js .animate-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.js .animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .js .animate-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .hero__slide {
    transition: none !important;
  }

  .hero__slide-content {
    transform: none !important;
    opacity: 1 !important;
  }

  .mega-menu {
    transition: none !important;
  }
}

/* ==================== IMAGE FALLBACK ==================== */
.image-fallback {
  object-fit: contain !important;
  background: #e9ebed;
  padding: 20px;
}

/* ==================== DISABLED FOOTER LINKS ==================== */
.footer-link--disabled {
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
  pointer-events: none;
}

/* ==================== TOP BAR ==================== */
.top-bar {
  background: var(--color-dark);
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  height: var(--top-bar-height);
  display: flex;
  align-items: center;
}

.top-bar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top-bar__tagline {
  font-weight: 500;
  letter-spacing: 0.03em;
}

.top-bar__links {
  display: flex;
  gap: 20px;
}

.top-bar__link {
  display: flex;
  align-items: center;
  gap: 5px;
  color: rgba(255, 255, 255, 0.7);
  transition: color var(--transition);
}

.top-bar__link:hover {
  color: var(--color-primary);
}

/* ==================== HEADER / NAV ==================== */
.main-nav {
  background: var(--color-white);
  height: var(--header-height);
  display: flex;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow var(--transition);
}

.main-nav.is-scrolled {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.main-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.main-nav__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.logo-mobile {
  display: none;
}

.main-nav__list {
  display: flex;
  align-items: center;
  gap: 4px;
}

.main-nav__item {
  position: relative;
}

.main-nav__link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  font-family: var(--font-heading);
  font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--color-text);
  transition: color var(--transition);
}

.main-nav__link:hover,
.main-nav__item--active .main-nav__link {
  color: var(--color-primary-dark);
}

.main-nav__item--active .main-nav__link {
  position: relative;
}

.main-nav__item--active .main-nav__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 2px;
  background: var(--color-primary);
}

.main-nav__cta {
  flex-shrink: 0;
  margin-left: 8px;
}

.main-nav__toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
}

.hamburger {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 24px;
}

.hamburger__line {
  height: 2px;
  background: var(--color-dark);
  border-radius: 2px;
  transition: all var(--transition);
}

.hamburger__line:nth-child(1) {
  width: 24px;
}

.hamburger__line:nth-child(2) {
  width: 18px;
}

.hamburger__line:nth-child(3) {
  width: 24px;
}

/* ==================== MEGA MENU ==================== */
.mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 760px;
  background: var(--color-white);
  border-top: 3px solid var(--color-primary);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(8px);
  transition: all 0.25s ease;
  z-index: 100;
  padding: 32px 0;
}

.main-nav__item--has-mega:hover .mega-menu,
.main-nav__item--has-mega:focus-within .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.mega-menu__inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  padding: 0 24px;
}

.mega-menu__title {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-dark);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-primary);
}

.mega-menu__links li {
  margin-bottom: 8px;
}

.mega-menu__links a {
  font-size: 14px;
  color: var(--color-text-light);
  transition: all var(--transition);
  display: block;
  padding: 4px 0;
}

.mega-menu__links a:hover {
  color: var(--color-primary-dark);
  padding-left: 4px;
}

.mega-menu__col--image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: var(--radius);
  margin-bottom: 12px;
}

.mega-menu__cta-text {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 6px;
}

.mega-menu__cta-desc {
  font-size: 13px;
  color: var(--color-text-light);
  margin-bottom: 14px;
  line-height: 1.5;
}

/* ==================== MOBILE MENU ==================== */
.mobile-menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition);
}

.mobile-menu-overlay.is-active {
  opacity: 1;
  visibility: visible;
}

.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  max-width: 85vw;
  background: var(--color-white);
  z-index: 2001;
  transform: translateX(100%);
  transition: transform 0.35s ease;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.mobile-menu.is-open {
  transform: translateX(0);
}

.mobile-menu__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid var(--color-border);
}

.mobile-menu__title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
}

.mobile-menu__close {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}

.mobile-menu__list {
  flex: 1;
  padding: 12px 0;
}

.mobile-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--color-text);
  text-transform: uppercase;
  transition: all var(--transition);
  width: 100%;
  text-align: left;
}

.mobile-menu__link:hover {
  color: var(--color-primary-dark);
  background: var(--color-bg-light);
}

.mobile-menu__accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  background: var(--color-bg-light);
}

.mobile-menu__accordion-content.is-open {
  max-height: 600px;
}

.mobile-menu__accordion-group {
  padding: 12px 20px 12px 32px;
}

.mobile-menu__accordion-group h4 {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-light);
  margin-bottom: 8px;
}

.mobile-menu__accordion-group a {
  display: block;
  padding: 6px 0;
  font-size: 14px;
  color: var(--color-text);
}

.mobile-menu__accordion-group a:hover {
  color: var(--color-primary-dark);
}

.mobile-menu__footer {
  padding: 20px;
  border-top: 1px solid var(--color-border);
}

.mobile-menu__contact-link {
  display: block;
  text-align: center;
  margin-top: 12px;
  font-size: 14px;
  color: var(--color-text-light);
}

/* ==================== HERO ==================== */
.hero {
  position: relative;
  background: var(--color-dark);
  min-height: 720px;
  height: calc(100vh - var(--top-bar-height) - var(--header-height));
  max-height: 900px;
}

.hero__slider {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero__slides {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
  z-index: 1;
}

.hero__slide--active {
  opacity: 1;
  z-index: 2;
}

.hero__slide-bg {
  position: absolute;
  inset: 0;
}

.hero__slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(23, 25, 28, 0.85) 0%, rgba(23, 25, 28, 0.45) 50%, rgba(23, 25, 28, 0.2) 100%);
  z-index: 1;
}

.hero__slide-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  max-width: 800px;
  padding: 40px 0;
}

.hero__slide--active .hero__slide-content {
  animation: heroContentIn 0.8s ease 0.2s both;
}

@keyframes heroContentIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero__slide-label {
  font-family: var(--font-heading);
  font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.15em;
  color: var(--color-primary);
  margin-bottom: 16px;
  text-transform: uppercase;
}

.hero__slide-title {
  font-size: clamp(36px, 5vw, 68px);
  font-weight: 800;
  color: var(--color-white);
  text-transform: uppercase;
  line-height: 1.08;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
}

.hero__slide-text {
  font-size: var(--font-size-md);
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 28px;
  max-width: 560px;
  line-height: 1.65;
}

.hero__slide-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.hero__slide-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hero__slide-tags span {
  display: inline-block;
  padding: 5px 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.03em;
}

/* Hero Controls */
.hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius);
  transition: all var(--transition);
}

.hero__arrow:hover {
  background: rgba(255, 255, 255, 0.2);
}

.hero__arrow--prev {
  left: 24px;
}

.hero__arrow--next {
  right: 24px;
}

.hero__pause {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 10;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius);
}

.hero__pause .icon-play {
  display: none;
}

.hero__pause[aria-pressed="true"] .icon-pause {
  display: none;
}

.hero__pause[aria-pressed="true"] .icon-play {
  display: block;
}

.hero__dots {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 8px;
}

.hero__dot {
  width: 40px;
  height: 4px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
  transition: all var(--transition);
  cursor: pointer;
}

.hero__dot--active {
  background: var(--color-primary);
  width: 60px;
}

.hero__floating {
  position: absolute;
  bottom: 100px;
  right: 24px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hero__floating-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--color-white);
  text-transform: uppercase;
}

.hero__scroll {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  animation: scrollBounce 2s ease infinite;
}

@keyframes scrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(6px); }
}

/* ==================== TRUST BAR ==================== */
.trust-bar {
  padding: 48px 0;
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
}

.trust-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.trust-bar__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.trust-bar__icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245, 180, 0, 0.08);
  border-radius: var(--radius);
}

.trust-bar__title {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-dark);
  margin-bottom: 4px;
}

.trust-bar__text {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
}

/* ==================== EQUIPMENT RANGE ==================== */
.equipment-range {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.equipment-range__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.equipment-range__card {
  position: relative;
  min-height: 460px;
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
}

.equipment-range__card-bg {
  position: absolute;
  inset: 0;
}

.equipment-range__card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.equipment-range__card:hover .equipment-range__card-bg img {
  transform: scale(1.05);
}

.equipment-range__card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(23, 25, 28, 0.9) 0%, rgba(23, 25, 28, 0.4) 60%, rgba(23, 25, 28, 0.2) 100%);
  z-index: 1;
}

.equipment-range__card-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 40px;
}

.equipment-range__card-title {
  font-size: 32px;
  font-weight: 800;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 12px;
}

.equipment-range__card-desc {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 16px;
  max-width: 400px;
  line-height: 1.6;
}

.equipment-range__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.equipment-range__card-tags span {
  padding: 4px 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
}

/* ==================== CORE PRODUCTS ==================== */
.core-products {
  position: relative;
  padding: 105px 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(245, 180, 0, 0.16), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f6f4ef 100%);
  overflow: hidden;
}

.core-products::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(20, 22, 24, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(20, 22, 24, 0.028) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, transparent, #000 15%, #000 70%, transparent);
}

.core-products > .container {
  position: relative;
}

.core-products__showcase {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.core-products__line {
  display: grid;
  grid-template-rows: minmax(340px, 1fr) auto;
  overflow: hidden;
  background: var(--color-dark);
  border: 1px solid rgba(20, 22, 24, 0.12);
  border-radius: 28px;
  box-shadow: 0 28px 72px rgba(20, 22, 24, 0.16);
}

.core-products__feature {
  position: relative;
  display: flex;
  min-height: 380px;
  overflow: hidden;
  color: var(--color-white);
  text-decoration: none;
}

.core-products__feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(20, 22, 24, 0.1) 0%, rgba(20, 22, 24, 0.86) 100%),
    linear-gradient(90deg, rgba(20, 22, 24, 0.72), transparent 60%);
}

.core-products__feature img {
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  transition: transform 0.65s ease;
}

.core-products__line:hover .core-products__feature img {
  transform: scale(1.045);
}

.core-products__feature-content {
  position: absolute;
  z-index: 2;
  left: 34px;
  right: 34px;
  bottom: 32px;
}

.core-products__eyebrow {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 10px;
  background: var(--color-primary);
  color: var(--color-dark);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.core-products__feature-content h3 {
  max-width: 420px;
  margin-bottom: 12px;
  color: var(--color-white);
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 800;
  line-height: 0.92;
  text-transform: uppercase;
  letter-spacing: -0.03em;
}

.core-products__feature-content p {
  max-width: 500px;
  margin-bottom: 22px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  line-height: 1.6;
}

.core-products__feature-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 800;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.core-products__feature-link::after {
  content: "";
  width: 34px;
  height: 2px;
  background: currentColor;
  transition: width var(--transition);
}

.core-products__feature:hover .core-products__feature-link::after {
  width: 52px;
}

.core-products__categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.core-products__category {
  display: flex;
  flex-direction: column;
  min-height: 220px;
  padding: 12px 12px 18px;
  background: #fff;
  color: var(--color-dark);
  text-decoration: none;
  transition: background var(--transition), transform var(--transition);
}

.core-products__category:hover {
  background: #fff8df;
}

.core-products__category img {
  width: 100%;
  height: 128px;
  object-fit: cover;
  border-radius: 12px;
  background: #e8e5dc;
}

.core-products__category span {
  display: block;
  margin: 16px 6px 8px;
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 800;
  color: var(--color-primary-dark);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.core-products__category strong {
  display: block;
  padding: 0 6px;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  color: var(--color-dark);
  text-transform: uppercase;
}

@media (max-width: 1200px) {
  .core-products__showcase {
    grid-template-columns: 1fr;
  }

  .core-products__line {
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.7fr);
    grid-template-rows: auto;
  }

  .core-products__feature,
  .core-products__feature img {
    min-height: 520px;
  }

  .core-products__categories {
    grid-template-columns: 1fr;
  }

  .core-products__category {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    min-height: 96px;
    padding: 12px 14px;
  }

  .core-products__category img {
    grid-row: 1 / span 2;
    width: 96px;
    height: 68px;
    border-radius: 10px;
  }

  .core-products__category span {
    margin: 0 0 5px;
  }

  .core-products__category strong {
    padding: 0;
  }
}

@media (max-width: 768px) {
  .core-products {
    padding: 68px 0;
  }

  .core-products__showcase {
    gap: 20px;
  }

  .core-products__line {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .core-products__feature,
  .core-products__feature img {
    min-height: 360px;
  }

  .core-products__feature-content {
    left: 22px;
    right: 22px;
    bottom: 24px;
  }

  .core-products__feature-content h3 {
    font-size: clamp(30px, 12vw, 44px);
  }

  .core-products__feature-content p {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .core-products__categories {
    grid-template-columns: 1fr;
  }

  .core-products__category {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    grid-template-rows: auto auto;
    min-height: 94px;
    padding: 10px 12px;
  }

  .core-products__category img {
    grid-row: 1 / span 2;
    width: 82px;
    height: 62px;
    border-radius: 10px;
  }
}

/* ==================== WHY CASDE ==================== */
.why-casde {
  position: relative;
  padding: 100px 0;
  background: var(--color-dark);
  overflow: hidden;
}

.why-casde__bg {
  display: none;
}

.why-casde__overlay {
  display: none;
}

.why-casde__inner {
  display: grid;
  grid-template-columns: 480px 1fr;
  gap: 60px;
  align-items: center;
}

.why-casde__image {
  position: relative;
}

.why-casde__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

.why-casde__text {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 32px;
  line-height: 1.7;
}

.why-casde__features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 32px;
}

.why-casde__feature {
  display: flex;
  gap: 14px;
}

.why-casde__feature-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245, 180, 0, 0.1);
  border-radius: var(--radius);
}

.why-casde__feature-title {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 4px;
}

.why-casde__feature-text {
  font-size: var(--font-size-sm);
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

.why-casde__quote {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  color: var(--color-primary);
  letter-spacing: 0.03em;
  margin-top: 16px;
  font-style: italic;
}

/* ==================== FACTORY ==================== */
.factory {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.factory__process {
  margin-top: 48px;
}

.factory__steps {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-bottom: 32px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.factory__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 12px 16px;
  border-radius: var(--radius);
  transition: all var(--transition);
  cursor: pointer;
  white-space: nowrap;
  min-width: 120px;
}

.factory__step:hover {
  background: rgba(245, 180, 0, 0.08);
}

.factory__step--active {
  background: var(--color-primary);
}

.factory__step--active .factory__step-num,
.factory__step--active .factory__step-title {
  color: var(--color-dark);
}

.factory__step-num {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 800;
  color: var(--color-primary);
}

.factory__step-title {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-light);
}

.factory__panels {
  position: relative;
  min-height: 400px;
  border-radius: var(--radius);
  overflow: hidden;
}

.factory__panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease;
}

.factory__panel--active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

.factory__panel img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.factory__panel-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px 40px;
  background: linear-gradient(to top, rgba(23, 25, 28, 0.9) 0%, transparent 100%);
}

.factory__panel-num {
  font-family: var(--font-heading);
  font-size: 48px;
  font-weight: 800;
  color: var(--color-primary);
  opacity: 0.5;
  line-height: 1;
}

.factory__panel-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.factory__panel-text {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
  max-width: 500px;
  line-height: 1.6;
}

.factory__actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 32px;
}

.factory__video-link {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-dark);
}

.factory__video-link:hover {
  color: var(--color-primary-dark);
}

/* ==================== VIDEO MODAL ==================== */
.modal {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal[hidden] {
  display: none;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
}

.modal__content {
  position: relative;
  width: 90%;
  max-width: 900px;
  background: var(--color-dark);
  border-radius: var(--radius);
  overflow: hidden;
}

.modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  color: var(--color-white);
  border-radius: var(--radius);
  transition: background var(--transition);
}

.modal__close:hover {
  background: rgba(0, 0, 0, 0.8);
}

.modal__body {
  position: relative;
  aspect-ratio: 16/9;
}

.modal__video-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: rgba(255, 255, 255, 0.5);
  font-size: 16px;
}

/* ==================== CUSTOMIZATION ==================== */
.customization {
  padding: 100px 0;
  background: var(--color-white);
}

.customization__inner {
  display: grid;
  grid-template-columns: 1fr 500px;
  gap: 60px;
  align-items: center;
}

.customization__content,
.customization__image,
.customization__options,
.customization__tab-panels {
  min-width: 0;
  max-width: 100%;
}

.customization__text {
  font-size: 17px;
  color: var(--color-text-light);
  margin-bottom: 32px;
  line-height: 1.7;
}

.customization__tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 20px;
}

.customization__tab {
  padding: 8px 16px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-light);
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  transition: all var(--transition);
  cursor: pointer;
}

.customization__tab:hover {
  border-color: var(--color-primary);
  color: var(--color-dark);
}

.customization__tab--active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-dark);
}

.customization__tab-panels {
  min-height: 140px;
}

.customization__tab-panel {
  display: none;
  padding: 20px 24px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  border-left: 3px solid var(--color-primary);
}

.customization__tab-panel--active {
  display: block;
}

.customization__tab-panel h3 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
}

.customization__tab-panel p {
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.6;
}

.customization__actions {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}

.customization__image {
  position: relative;
}

.customization__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

/* ==================== APPLICATIONS ==================== */
.applications {
  padding: 100px 0;
  background: var(--color-dark);
}

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

.applications__card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
  min-height: 320px;
}

.applications__card-image {
  position: absolute;
  inset: 0;
}

.applications__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.applications__card:hover .applications__card-image img {
  transform: scale(1.05);
}

.applications__card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(23, 25, 28, 0.85) 0%, rgba(23, 25, 28, 0.2) 60%);
  z-index: 1;
}

.applications__card-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 28px;
}

.applications__card-title {
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 8px;
}

.applications__card-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 12px;
  line-height: 1.5;
}

.applications__card-recommend {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  transform: translateY(8px);
  transition: all 0.3s ease;
}

.applications__card:hover .applications__card-recommend {
  opacity: 1;
  transform: translateY(0);
}

.applications__card-recommend-label {
  color: var(--color-primary);
  font-weight: 600;
  display: block;
  margin-bottom: 2px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ==================== DEALER ==================== */
.dealer {
  padding: 100px 0;
  background: var(--color-white);
}

.dealer__inner {
  display: grid;
  grid-template-columns: 500px 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 60px;
}

.dealer__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

.dealer__text {
  font-size: 17px;
  color: var(--color-text-light);
  margin-bottom: 28px;
  line-height: 1.7;
}

.dealer__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 28px;
}

.dealer__col-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-dark);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-primary);
}

.dealer__list li {
  font-size: 14px;
  color: var(--color-text-light);
  padding: 5px 0;
  padding-left: 16px;
  position: relative;
}

.dealer__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  background: var(--color-primary);
  border-radius: 50%;
}

.dealer__actions {
  display: flex;
  gap: 12px;
}

/* Dealer Steps */
.dealer__steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
  padding: 40px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
}

.dealer__step {
  flex: 1;
  text-align: center;
  max-width: 220px;
}

.dealer__step-num {
  display: block;
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 800;
  color: var(--color-primary);
  margin-bottom: 8px;
}

.dealer__step-title {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
}

.dealer__step-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.5;
}

.dealer__step-arrow {
  flex-shrink: 0;
  padding-top: 16px;
}

/* ==================== SERVICE ==================== */
.service {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.service__inner {
  display: grid;
  grid-template-columns: 1fr 500px;
  gap: 60px;
  align-items: center;
}

.service__text {
  font-size: 17px;
  color: var(--color-text-light);
  margin-bottom: 32px;
  line-height: 1.7;
}

.service__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 32px;
}

.service__item {
  display: flex;
  gap: 14px;
}

.service__item-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245, 180, 0, 0.08);
  border-radius: var(--radius);
}

.service__item-title {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 4px;
}

.service__item-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.5;
}

.service__actions {
  display: flex;
  align-items: center;
  gap: 24px;
}

.service__link {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}

.service__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

/* ==================== PROCESS ==================== */
.process {
  padding: 100px 0;
  background: var(--color-white);
}

.process__steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin-top: 48px;
}

.process__step {
  flex: 1;
  text-align: center;
  max-width: 180px;
  padding: 0 12px;
}

.process__step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  background: var(--color-primary);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 800;
  border-radius: 50%;
}

.process__step-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
}

.process__step-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.5;
}

.process__step-line {
  width: 40px;
  height: 2px;
  background: var(--color-border);
  margin-top: 28px;
  flex-shrink: 0;
}

/* ==================== PROJECTS ==================== */
.projects {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.projects__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.projects__card {
  background: var(--color-white);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all var(--transition);
}

.projects__card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.projects__card-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}

.projects__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects__card-type {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: var(--color-primary);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: var(--radius);
}

.projects__card-body {
  padding: 24px;
}

.projects__card-title {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
}

.projects__card-desc {
  font-size: 14px;
  color: var(--color-text-light);
  margin-bottom: 12px;
  line-height: 1.5;
}

.projects__card-meta {
  font-size: 12px;
  color: var(--color-text-light);
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.projects__card-meta span {
  display: block;
}

.projects__card-link {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}

.projects__card-link:hover {
  color: var(--color-dark);
}

/* ==================== INSIGHTS ==================== */
.insights {
  padding: 100px 0;
  background: var(--color-white);
}

.insights__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.insights__card {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--color-border);
  transition: all var(--transition);
}

.insights__card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.insights__card-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}

.insights__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.insights__card-category {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: var(--radius);
}

.insights__card-body {
  padding: 24px;
}

.insights__card-meta {
  font-size: 12px;
  color: var(--color-text-light);
  margin-bottom: 10px;
}

.insights__card-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 10px;
  line-height: 1.3;
}

.insights__card-excerpt {
  font-size: 14px;
  color: var(--color-text-light);
  margin-bottom: 14px;
  line-height: 1.6;
}

.insights__card-link {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}

/* ==================== FINAL CTA ==================== */
.final-cta {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
}

.final-cta__bg {
  position: absolute;
  inset: 0;
}

.final-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.final-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23, 25, 28, 0.9);
}

.final-cta .container {
  position: relative;
  z-index: 2;
}

.final-cta__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: flex-start;
}

.final-cta__text {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 28px;
  line-height: 1.7;
}

.final-cta__benefits {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.final-cta__benefit {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}

/* ==================== QUOTE FORM ==================== */
.quote-form {
  background: var(--color-white);
  padding: 36px;
  border-radius: var(--radius);
}

.quote-form__title {
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 24px;
}

.quote-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.quote-form__field {
  display: flex;
  flex-direction: column;
}

.quote-form__field--full {
  margin-bottom: 16px;
}

.quote-form__field--empty {
  display: none;
}

.quote-form label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-bg);
  color: var(--color-text);
  transition: border-color var(--transition);
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}

.quote-form input.error,
.quote-form select.error,
.quote-form textarea.error {
  border-color: var(--color-error);
}

.quote-form__error {
  font-size: var(--font-size-xs);
  color: var(--color-error);
  margin-top: 4px;
  min-height: 16px;
}

.quote-form__submit {
  margin-top: 8px;
}

.quote-form__submit-loading {
  display: none;
}

.quote-form__submit.is-loading .quote-form__submit-text {
  display: none;
}

.quote-form__submit.is-loading .quote-form__submit-loading {
  display: flex;
  align-items: center;
  gap: 8px;
}

.quote-form__submit.is-loading svg {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.quote-form__privacy {
  font-size: var(--font-size-xs);
  color: var(--color-text-light);
  text-align: center;
  margin-top: 12px;
}

.quote-form__success {
  text-align: center;
  padding: 48px 36px;
  background: var(--color-white);
  border-radius: var(--radius);
}

.quote-form__success[hidden] {
  display: none;
}

.quote-form__success h3 {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-dark);
  margin: 16px 0 12px;
}

.quote-form__success p {
  font-size: 15px;
  color: var(--color-text-light);
  margin-bottom: 24px;
  line-height: 1.6;
}

/* ==================== FOOTER ==================== */
.footer-newsletter {
  background: var(--color-dark-2);
  padding: 40px 0;
}

.footer-newsletter__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.footer-newsletter__title {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
}

.footer-newsletter__desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}

.footer-newsletter__input-wrap {
  display: flex;
  gap: 0;
}

.footer-newsletter__input-wrap input {
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-right: none;
  border-radius: var(--radius) 0 0 var(--radius);
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-white);
  min-width: 280px;
}

.footer-newsletter__input-wrap input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.footer-newsletter__input-wrap input:focus {
  outline: none;
  border-color: var(--color-primary);
}

.footer-newsletter__input-wrap .btn {
  border-radius: 0 var(--radius) var(--radius) 0;
}

.site-footer {
  background: var(--color-dark);
  color: rgba(255, 255, 255, 0.7);
}

.footer-main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr;
  gap: 40px;
  padding: 60px 0 40px;
}

.footer-main__logo {
  display: inline-block;
  margin-bottom: 16px;
}

.footer-main__about-text {
  font-size: var(--font-size-card);
  line-height: 1.6;
  margin-bottom: 20px;
}

.footer-main__social {
  display: flex;
  gap: 12px;
}

.footer-main__social-link {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--radius);
  color: rgba(255, 255, 255, 0.7);
  transition: all var(--transition);
}

.footer-main__social-link:hover {
  background: var(--color-primary);
  color: var(--color-dark);
}

.footer-main__col-title {
  font-size: var(--font-size-card);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-white);
  margin-bottom: 20px;
}

.footer-main__links li {
  margin-bottom: 8px;
}

.footer-main__links a {
  font-size: var(--font-size-card);
  color: rgba(255, 255, 255, 0.6);
  transition: color var(--transition);
}

.footer-main__links a:hover {
  color: var(--color-primary);
}

.footer-main__contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  font-size: var(--font-size-card);
}

.footer-main__contact li svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--color-primary);
}

.footer-main__contact a {
  color: rgba(255, 255, 255, 0.6);
}

.footer-main__contact a:hover {
  color: var(--color-primary);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-bottom__copy {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}

.footer-bottom__links {
  display: flex;
  gap: 20px;
}

.footer-bottom__links a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}

.footer-bottom__links a:hover {
  color: var(--color-primary);
}

/* ==================== BACK TO TOP ==================== */
.back-to-top {
  position: fixed;
  bottom: 90px;
  right: 24px;
  z-index: 900;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-dark);
  color: var(--color-white);
  border-radius: var(--radius);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all var(--transition);
  opacity: 0;
  visibility: hidden;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
}

.back-to-top:hover {
  background: var(--color-primary);
  color: var(--color-dark);
}

/* ==================== MOBILE BOTTOM BAR ==================== */
.mobile-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--color-white);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
  height: 56px;
}

.mobile-bar__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 100%;
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  gap: 2px;
  color: var(--color-text);
}

.mobile-bar__btn--whatsapp {
  color: #25D366;
}

.mobile-bar__btn--email {
  color: var(--color-text);
}

.mobile-bar__btn--quote {
  background: var(--color-primary);
  color: var(--color-dark);
}

/* ==================== DESKTOP FLOATING ==================== */
.desktop-floating {
  position: fixed;
  bottom: 32px;
  right: 24px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.desktop-floating__btn {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transition: all var(--transition);
}

.desktop-floating__btn--whatsapp {
  background: #25D366;
  color: var(--color-white);
}

.desktop-floating__btn--whatsapp:hover {
  background: #128C7E;
  transform: scale(1.05);
}

.desktop-floating__btn--quote {
  background: var(--color-primary);
  color: var(--color-dark);
}

.desktop-floating__btn--quote:hover {
  background: var(--color-primary-dark);
  transform: scale(1.05);
}

/* ==================== COOKIE BANNER ==================== */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--color-dark);
  padding: 16px 0;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.2);
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cookie-banner__text {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  flex: 1;
}

.cookie-banner__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.cookie-banner__actions .btn--outline-dark {
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.3);
}

.cookie-banner__actions .btn--outline-dark:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-white);
}

.cookie-banner__policy {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: underline;
}

.cookie-banner__policy:hover {
  color: var(--color-primary);
}

/* ==================== RESPONSIVE: TABLET ==================== */
@media (max-width: 1200px) {
  .main-nav__list {
    gap: 2px;
  }

  .main-nav__link {
    padding: 8px 8px;
    font-size: 12px;
  }

  .hero__slide-title {
    font-size: clamp(32px, 4.5vw, 56px);
  }

  .core-products__group {
    grid-template-columns: 1fr;
  }

  .core-products__group-head {
    min-height: auto;
    flex-direction: row;
    align-items: end;
    gap: 24px;
  }

  .core-products__group-title {
    max-width: none;
  }

  .core-products__grid,
  .core-products__grid--handling {
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1fr);
  }

  .why-casde__inner {
    grid-template-columns: 380px 1fr;
    gap: 40px;
  }

  .customization__inner {
    grid-template-columns: 1fr 400px;
    gap: 40px;
  }

  .dealer__inner {
    grid-template-columns: 400px 1fr;
    gap: 40px;
  }

  .service__inner {
    grid-template-columns: 1fr 400px;
    gap: 40px;
  }

  .final-cta__inner {
    gap: 40px;
  }

  .footer-main {
    grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr;
    gap: 28px;
  }
}

/* ==================== RESPONSIVE: TABLET PORTRAIT ==================== */
@media (max-width: 992px) {
  .top-bar {
    display: none;
  }

  :root {
    --header-height: 64px;
  }

  .main-nav__list,
  .main-nav__cta {
    display: none;
  }

  .main-nav__toggle {
    display: flex;
  }

  .logo-desktop {
    display: none;
  }

  .logo-mobile {
    display: block;
  }

  .hero {
    height: 680px;
    min-height: 680px;
    max-height: none;
  }

  .hero__slider,
  .hero__slides {
    height: 100%;
    min-height: 680px;
  }

  .hero__slide {
    min-height: 680px;
  }

  .hero__slide-content {
    min-height: 680px;
    justify-content: center;
  }

  .hero__floating {
    display: none;
  }

  .trust-bar__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .equipment-range__grid {
    grid-template-columns: 1fr;
  }

  .equipment-range__card {
    min-height: 360px;
  }

  .core-products__grid,
  .core-products__grid--handling {
    grid-template-columns: repeat(2, 1fr);
  }

  .why-casde__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .why-casde__image {
    order: -1;
  }

  .why-casde__features {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .factory__steps {
    justify-content: flex-start;
    padding: 0 16px;
  }

  .factory__panel img {
    height: 320px;
  }

  .customization__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .customization__image {
    order: -1;
  }

  .applications__grid {
    grid-template-columns: 1fr 1fr;
  }

  .applications__card {
    min-height: 240px;
  }

  .applications__card-recommend {
    opacity: 1;
    transform: translateY(0);
  }

  .dealer__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .dealer__image {
    order: -1;
  }

  .dealer__steps {
    flex-wrap: wrap;
    gap: 12px;
    padding: 24px;
  }

  .dealer__step {
    max-width: none;
    flex: 0 0 calc(50% - 12px);
  }

  .dealer__step-arrow {
    display: none;
  }

  .service__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .service__image {
    order: -1;
  }

  .service__items {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .process__steps {
    flex-wrap: wrap;
    gap: 16px;
    justify-content: flex-start;
  }

  .process__step {
    flex: 0 0 calc(33.333% - 16px);
    max-width: none;
  }

  .process__step-line {
    display: none;
  }

  .projects__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .insights__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .final-cta__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .footer-main__col--about {
    grid-column: span 2;
  }

  .footer-newsletter__inner {
    flex-direction: column;
    text-align: center;
  }

  .footer-newsletter__input-wrap {
    width: 100%;
    max-width: 460px;
  }

  .footer-newsletter__input-wrap input {
    flex: 1;
    min-width: 0;
  }

  .mobile-bar {
    display: flex;
  }

  .desktop-floating {
    display: none;
  }

  .back-to-top {
    bottom: 72px;
  }

  body {
    padding-bottom: 56px;
  }
}

/* ==================== RESPONSIVE: MOBILE ==================== */
@media (max-width: 768px) {
  .container {
    padding: 0 16px;
  }

  .section-header {
    margin-bottom: 36px;
  }

  .section-title {
    font-size: clamp(26px, 6vw, 36px);
  }

  .hero__slide-content {
    padding: 24px 0;
    min-height: 620px;
  }

  .hero__slide-title {
    font-size: clamp(28px, 7vw, 40px);
  }

  .hero__slide-text {
    font-size: 15px;
  }

  .hero__slide-buttons {
    flex-direction: column;
    gap: 8px;
  }

  .hero__slide-buttons .btn {
    width: 100%;
  }

  .hero__slide-tags {
    display: none;
  }

  .hero__dots {
    bottom: 60px;
  }

  .hero__scroll {
    display: none;
  }

  /* Hero mobile height fix */
  .hero {
    height: 620px;
    min-height: 620px;
  }

  .hero__slider,
  .hero__slides,
  .hero__slide {
    min-height: 620px;
  }

  .trust-bar {
    padding: 32px 0;
  }

  .trust-bar__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .equipment-range {
    padding: 64px 0;
  }

  .equipment-range__card {
    min-height: 300px;
  }

  .equipment-range__card-content {
    padding: 24px;
  }

  .equipment-range__card-title {
    font-size: 24px;
  }

  .core-products {
    padding: 64px 0;
  }

  .core-products__catalog {
    gap: 18px;
  }

  .core-products__group {
    padding: 16px;
    border-radius: 18px;
  }

  .core-products__group-head {
    display: block;
    padding: 4px 0 2px;
  }

  .core-products__group-title {
    margin-top: 12px;
  }

  .core-products__grid,
  .core-products__grid--handling {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .core-products__card,
  .core-products__card--lead {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    grid-column: auto;
    grid-row: auto;
  }

  .core-products__card:nth-child(6) {
    grid-column: auto;
  }

  .core-products__card--lead {
    order: -1;
    grid-template-columns: 1fr;
  }

  .core-products__card--lead .core-products__card-image {
    aspect-ratio: 1.45;
    min-height: 0;
  }

  .core-products__card-image {
    aspect-ratio: auto;
    min-height: 128px;
  }

  .core-products__card-title,
  .core-products__card--lead .core-products__card-title {
    font-size: 15px;
    margin-bottom: 6px;
  }

  .core-products__card-desc,
  .core-products__card--lead .core-products__card-desc {
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 10px;
  }

  .why-casde {
    padding: 64px 0;
  }

  .factory {
    padding: 64px 0;
  }

  .factory__steps {
    gap: 2px;
    padding: 0;
  }

  .factory__step {
    min-width: auto;
    padding: 8px 10px;
  }

  .factory__step-title {
    font-size: 10px;
  }

  .factory__panel img {
    height: 240px;
  }

  .factory__panel-info {
    padding: 20px;
  }

  .factory__panel-num {
    font-size: 32px;
  }

  .factory__panel-title {
    font-size: 18px;
  }

  .factory__actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .customization {
    padding: 64px 0;
  }

  .customization__tab-list {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .customization__tab {
    flex-shrink: 0;
  }

  .customization__actions {
    flex-direction: column;
    gap: 8px;
  }

  .customization__actions .btn {
    width: 100%;
  }

  .applications {
    padding: 64px 0;
  }

  .applications__grid {
    grid-template-columns: 1fr;
  }

  .applications__card {
    min-height: 220px;
  }

  .dealer {
    padding: 64px 0;
  }

  .dealer__cols {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .dealer__actions {
    flex-direction: column;
    gap: 8px;
  }

  .dealer__actions .btn {
    width: 100%;
  }

  .dealer__steps {
    padding: 20px 16px;
  }

  .dealer__step {
    flex: 0 0 100%;
  }

  .service {
    padding: 64px 0;
  }

  .service__actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .process {
    padding: 64px 0;
  }

  .process__steps {
    gap: 12px;
  }

  .process__step {
    flex: 0 0 calc(50% - 12px);
  }

  .process__step-num {
    width: 44px;
    height: 44px;
    font-size: 16px;
    margin-bottom: 10px;
  }

  .projects {
    padding: 64px 0;
  }

  .insights {
    padding: 64px 0;
  }

  .final-cta {
    padding: 64px 0;
  }

  .quote-form {
    padding: 24px;
  }

  .quote-form__row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 0 28px;
  }

  .footer-main__col--about {
    grid-column: span 1;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .footer-bottom__links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }

  .cookie-banner__inner {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .cookie-banner__actions {
    flex-wrap: wrap;
    justify-content: center;
  }

  .hero__arrow {
    width: 40px;
    height: 40px;
  }

  .hero__arrow--prev {
    left: 12px;
  }

  .hero__arrow--next {
    right: 12px;
  }
}

/* ==================== RESPONSIVE: SMALL MOBILE ==================== */
@media (max-width: 480px) {
  .hero {
    height: 600px;
    min-height: 600px;
  }

  .hero__slider,
  .hero__slides,
  .hero__slide,
  .hero__slide-content {
    min-height: 600px;
  }

  .hero__slide-title {
    font-size: 26px;
  }

  .quote-form {
    padding: 20px;
  }

  .process__step {
    flex: 0 0 100%;
  }
}

/* ==================== ABOUT HERO ==================== */
.about-hero {
  position: relative;
  min-height: 520px;
  max-height: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--color-dark);
}

.about-hero__bg {
  position: absolute;
  inset: 0;
}

.about-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(23, 25, 28, 0.92) 0%, rgba(23, 25, 28, 0.65) 50%, rgba(23, 25, 28, 0.3) 100%);
  z-index: 1;
}

.about-hero__content {
  position: relative;
  z-index: 2;
  padding: 60px 0;
  max-width: 760px;
}

.about-hero__label { font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}

.about-hero__title {
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 800;
  color: var(--color-white);
  text-transform: uppercase;
  line-height: 1.1;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
}

.about-hero__text {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 28px;
  line-height: 1.65;
  max-width: 560px;
}

.about-hero__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.about-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.about-hero__tags span {
  display: inline-block;
  padding: 5px 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
}

/* ==================== BREADCRUMB ==================== */
.breadcrumb {
  padding: 16px 0;
  background: var(--color-bg-light);
  border-bottom: 1px solid var(--color-border);
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
}

.breadcrumb__list li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.breadcrumb__list li:not(:last-child)::after {
  content: '/';
  color: var(--color-border);
}

.breadcrumb__list a {
  color: var(--color-text-light);
  transition: color var(--transition);
}

.breadcrumb__list a:hover {
  color: var(--color-primary-dark);
}

.breadcrumb__list li[aria-current="page"] {
  color: var(--color-dark);
  font-weight: 500;
}

/* ==================== ABOUT INTRO ==================== */
.about-intro {
  padding: 100px 0;
  background: var(--color-white);
}

.about-intro__inner {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: flex-start;
}

.about-intro__images {
  position: relative;
}

.about-intro__image-main img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

.about-intro__image-overlay {
  position: absolute;
  bottom: -30px;
  right: -30px;
  width: 240px;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border: 4px solid var(--color-white);
}

.about-intro__image-overlay img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.about-intro__content .section-title {
  text-align: left;
}

.about-intro__text {
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  margin-bottom: 14px;
  line-height: 1.7;
}

.about-intro__quote {
  font-size: 17px;
  font-style: italic;
  color: var(--color-dark);
  border-left: 3px solid var(--color-primary);
  padding: 12px 20px;
  margin: 24px 0;
  background: rgba(245, 180, 0, 0.04);
  line-height: 1.6;
}

.about-intro__points {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 28px 0;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
}

.about-intro__point {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.about-intro__point svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.about-intro__point h3 {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 2px;
}

.about-intro__point p {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
}

/* ==================== ABOUT POSITIONING ==================== */
.about-positioning {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.about-positioning__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.about-positioning__item {
  padding: 0 16px;
}

.about-positioning__num {
  display: block;
  font-family: var(--font-heading);
  font-size: 48px;
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 16px;
}

.about-positioning__divider {
  width: 40px;
  height: 2px;
  background: var(--color-border);
  margin-bottom: 16px;
}

.about-positioning__title {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 10px;
}

.about-positioning__text {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.6;
}

/* ==================== ABOUT EQUIPMENT ==================== */
.about-equipment {
  padding: 100px 0;
  background: var(--color-dark);
}

.about-equipment__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.about-equipment__card {
  background: var(--color-dark-2);
  border-radius: var(--radius);
  overflow: hidden;
}

.about-equipment__card-image {
  overflow: hidden;
}

.about-equipment__card-image img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.about-equipment__card:hover .about-equipment__card-image img {
  transform: scale(1.05);
}

.about-equipment__card-body {
  padding: 32px;
}

.about-equipment__card-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 12px;
}

.about-equipment__card-desc {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 16px;
  line-height: 1.6;
}

.about-equipment__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.about-equipment__card-tags span {
  padding: 4px 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
}

/* ==================== ABOUT PROVIDE ==================== */
.about-provide {
  padding: 100px 0;
  background: var(--color-white);
}

.about-provide__inner {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 60px;
}

.about-provide__header .section-title {
  text-align: left;
}

.about-provide__desc {
  font-size: 17px;
  color: var(--color-text-light);
  line-height: 1.7;
  margin-top: 14px;
}

.about-provide__list {
  display: flex;
  flex-direction: column;
}

.about-provide__item {
  display: flex;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--color-border);
}

.about-provide__item:first-child {
  border-top: 1px solid var(--color-border);
}

.about-provide__item-num {
  flex-shrink: 0;
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 800;
  color: var(--color-primary);
  width: 40px;
}

.about-provide__item-content {
  flex: 1;
}

.about-provide__item-title {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 4px;
}

.about-provide__item-text {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
}

/* ==================== ABOUT MANUFACTURING ==================== */
.about-mfg {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.about-mfg__inner {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 40px;
  align-items: flex-start;
}

.about-mfg__image {
  position: relative;
  min-height: 480px;
  border-radius: var(--radius);
  overflow: hidden;
}

.about-mfg__panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease;
}

.about-mfg__panel--active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

.about-mfg__panel img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: var(--radius);
}

.about-mfg__steps {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.about-mfg__step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 14px;
  background: var(--color-white);
  border-left: 3px solid transparent;
  transition: all var(--transition);
  cursor: pointer;
  text-align: left;
  width: 100%;
}

.about-mfg__step:hover {
  background: rgba(245, 180, 0, 0.05);
}

.about-mfg__step--active {
  border-left-color: var(--color-primary);
  background: var(--color-white);
}

.about-mfg__step-num {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 800;
  color: var(--color-primary);
  flex-shrink: 0;
  width: 32px;
}

.about-mfg__step-info {
  flex: 1;
  min-width: 0;
}

.about-mfg__step-title { font-size: var(--font-size-sm);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 2px;
}

.about-mfg__step-desc { font-size: var(--font-size-xs);
  color: var(--color-text-light);
  line-height: 1.4;
}

.about-mfg__step-thumb {
  flex-shrink: 0;
  width: 80px;
  height: 56px;
  border-radius: var(--radius);
  overflow: hidden;
}

.about-mfg__step-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-mfg__step--active .about-mfg__step-title {
  color: var(--color-primary-dark);
}

/* Manufacturing Accordion (mobile) */
.about-mfg__accordion {
  display: none;
}

.about-mfg__acc-item {
  border-bottom: 1px solid var(--color-border);
}

.about-mfg__acc-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-dark);
  text-align: left;
  gap: 12px;
}

.about-mfg__acc-num {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 800;
  color: var(--color-primary);
  flex-shrink: 0;
  width: 32px;
}

.about-mfg__acc-title {
  flex: 1;
}

.about-mfg__acc-trigger svg {
  transition: transform var(--transition);
}

.about-mfg__acc-trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.about-mfg__acc-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.about-mfg__acc-content[aria-hidden="false"] {
  max-height: 400px;
}

.about-mfg__acc-content img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: var(--radius);
  margin-bottom: 12px;
}

.about-mfg__acc-content p {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
  padding-bottom: 16px;
}

.about-mfg__actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 32px;
}

.about-mfg__link { font-size: var(--font-size-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}

/* ==================== ABOUT ENGINEERING ==================== */
.about-engineering {
  padding: 100px 0;
  background: var(--color-dark);
}

.about-engineering__inner {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 60px;
  align-items: center;
}

.about-engineering__text {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 28px;
  line-height: 1.7;
}

.about-engineering__points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.about-engineering__point h3 {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 6px;
}

.about-engineering__point p { font-size: var(--font-size-sm);
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

.about-engineering__images {
  display: grid;
  gap: 16px;
}

.about-engineering__images img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

.about-engineering__image-main img {
  height: 280px;
}

.about-engineering__image-small img {
  height: 220px;
}

/* ==================== ABOUT QUALITY ==================== */
.about-quality {
  padding: 100px 0;
  background: var(--color-white);
}

.about-quality__flow {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.about-quality__step {
  flex: 1;
  text-align: center;
  max-width: 180px;
  padding: 0 12px;
}

.about-quality__step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  background: var(--color-primary);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 800;
  border-radius: 50%;
}

.about-quality__step-line {
  width: 40px;
  height: 2px;
  background: var(--color-border);
  margin-top: 26px;
  flex-shrink: 0;
}

.about-quality__step-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
}

.about-quality__step-text { font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.5;
}

.about-quality__images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.about-quality__images img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-radius: var(--radius);
}

/* ==================== ABOUT OEM ==================== */
.about-oem {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.about-oem__inner {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}

.about-oem__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

.about-oem__text {
  font-size: 17px;
  color: var(--color-text-light);
  margin-bottom: 24px;
  line-height: 1.7;
}

.about-oem__items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.about-oem__item {
  padding: 6px 16px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-text);
  transition: all var(--transition);
}

.about-oem__item:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
}

.about-oem__note { font-size: var(--font-size-sm);
  color: var(--color-text-light);
  margin-bottom: 24px;
  font-style: italic;
}

.about-oem__actions {
  display: flex;
  gap: 12px;
}

/* ==================== ABOUT GLOBAL ==================== */
.about-global {
  padding: 100px 0;
  background: var(--color-dark);
}

.about-global__inner {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}

.about-global__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

.about-global__text {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 28px;
  line-height: 1.7;
}

.about-global__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 28px;
}

.about-global__col-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-white);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-primary);
}

.about-global__list li {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  padding: 4px 0;
  padding-left: 14px;
  position: relative;
}

.about-global__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 5px;
  height: 5px;
  background: var(--color-primary);
  border-radius: 50%;
}

.about-global__actions {
  display: flex;
  gap: 12px;
}

/* ==================== ABOUT SUPPORT ==================== */
.about-support {
  padding: 100px 0;
  background: var(--color-white);
}

.about-support__inner {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 60px;
  align-items: center;
}

.about-support__text {
  font-size: 17px;
  color: var(--color-text-light);
  margin-bottom: 28px;
  line-height: 1.7;
}

.about-support__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 28px;
}

.about-support__item h3 {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 4px;
}

.about-support__item p { font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.5;
}

.about-support__actions {
  display: flex;
  align-items: center;
  gap: 24px;
}

.about-support__link { font-size: var(--font-size-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}

.about-support__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

/* ==================== ABOUT VALUES ==================== */
.about-values {
  padding: 100px 0;
  background: var(--color-bg-light);
}

.about-values__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.about-values__item {
  padding: 40px;
  background: var(--color-white);
  border-radius: var(--radius);
}

.about-values__word {
  font-family: var(--font-heading);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}

.about-values__divider {
  width: 50px;
  height: 3px;
  background: var(--color-primary);
  margin-bottom: 16px;
}

.about-values__desc {
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.6;
}

/* ==================== ABOUT TIMELINE ==================== */
.about-timeline {
  padding: 100px 0;
  background: var(--color-white);
}

.about-timeline__track {
  max-width: 700px;
  margin: 0 auto;
  position: relative;
  padding-left: 60px;
}

.about-timeline__track::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--color-border);
}

.about-timeline__item {
  position: relative;
  padding-bottom: 36px;
}

.about-timeline__item:last-child {
  padding-bottom: 0;
}

.about-timeline__year {
  position: absolute;
  left: -60px;
  top: 0;
  width: 52px;
  text-align: center;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  color: var(--color-primary);
}

.about-timeline__marker {
  position: absolute;
  left: -44px;
  top: 4px;
  width: 14px;
  height: 14px;
  background: var(--color-primary);
  border: 3px solid var(--color-white);
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--color-primary);
}

.about-timeline__title {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
}

.about-timeline__text {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.6;
}

/* ==================== ABOUT COMPLIANCE ==================== */
.about-compliance {
  padding: 80px 0;
  background: var(--color-bg-light);
}

.about-compliance__inner {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}

.about-compliance__text {
  font-size: 16px;
  color: var(--color-text-light);
  margin-bottom: 24px;
  line-height: 1.6;
}

/* ==================== ABOUT FACTORY CTA ==================== */
.about-factory-cta {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}

.about-factory-cta__bg {
  position: absolute;
  inset: 0;
}

.about-factory-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-factory-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23, 25, 28, 0.88);
}

.about-factory-cta__content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}

.about-factory-cta__text {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 28px;
  line-height: 1.7;
}

.about-factory-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  align-items: center;
}

.about-factory-cta__video {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.7);
}

.about-factory-cta__video:hover {
  color: var(--color-white);
}

/* ==================== ABOUT FINAL CTA ==================== */
.about-final-cta {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
}

.about-final-cta__bg {
  position: absolute;
  inset: 0;
}

.about-final-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-final-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23, 25, 28, 0.9);
}

.about-final-cta__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: flex-start;
}

.about-final-cta .container {
  position: relative;
  z-index: 2;
}

.about-final-cta__text {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 28px;
  line-height: 1.7;
}

.about-final-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.about-final-cta__benefits {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.about-final-cta__benefit {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}

/* ==================== ABOUT FORM ==================== */
.about-form {
  background: var(--color-white);
  padding: 36px;
  border-radius: var(--radius);
}

.about-form__title {
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 24px;
}

.about-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.about-form__field {
  display: flex;
  flex-direction: column;
}

.about-form__field--full {
  margin-bottom: 16px;
}

.about-form label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}

.about-form input,
.about-form select,
.about-form textarea {
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-bg);
  color: var(--color-text);
  transition: border-color var(--transition);
}

.about-form input:focus,
.about-form select:focus,
.about-form textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}

.about-form input.error,
.about-form select.error,
.about-form textarea.error {
  border-color: var(--color-error);
}

.about-form__error {
  font-size: var(--font-size-xs);
  color: var(--color-error);
  margin-top: 4px;
  min-height: 16px;
}

.about-form__submit {
  margin-top: 8px;
}

.about-form__submit-loading {
  display: none;
}

.about-form__submit.is-loading .about-form__submit-text {
  display: none;
}

.about-form__submit.is-loading .about-form__submit-loading {
  display: flex;
  align-items: center;
  gap: 8px;
}

.about-form__submit.is-loading svg {
  animation: spin 1s linear infinite;
}

.about-form__privacy {
  font-size: var(--font-size-xs);
  color: var(--color-text-light);
  text-align: center;
  margin-top: 12px;
}

.about-form__success {
  text-align: center;
  padding: 48px 36px;
  background: var(--color-white);
  border-radius: var(--radius);
}

.about-form__success[hidden] {
  display: none;
}

.about-form__success h3 {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-dark);
  margin: 16px 0 12px;
}

.about-form__success p {
  font-size: 15px;
  color: var(--color-text-light);
  margin-bottom: 24px;
  line-height: 1.6;
}

/* ==================== ABOUT RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .about-intro__inner {
    grid-template-columns: 440px 1fr;
    gap: 40px;
  }

  .about-oem__inner {
    grid-template-columns: 440px 1fr;
    gap: 40px;
  }

  .about-global__inner {
    grid-template-columns: 440px 1fr;
    gap: 40px;
  }

  .about-engineering__inner {
    grid-template-columns: 1fr 440px;
    gap: 40px;
  }

  .about-mfg__inner {
    grid-template-columns: 1fr 360px;
  }

  .about-final-cta__inner {
    gap: 40px;
  }
}

@media (max-width: 992px) {
  .about-hero {
    min-height: 480px;
    max-height: 560px;
  }

  .about-intro {
    padding: 64px 0;
  }

  .about-intro__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-intro__images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .about-intro__image-overlay {
    position: static;
    width: 100%;
    box-shadow: none;
    border: none;
  }

  .about-positioning {
    padding: 64px 0;
  }

  .about-positioning__grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .about-equipment {
    padding: 64px 0;
  }

  .about-equipment__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .about-equipment__card-image img {
    height: 260px;
  }

  .about-provide {
    padding: 64px 0;
  }

  .about-provide__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .about-mfg {
    padding: 64px 0;
  }

  .about-mfg__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .about-mfg__steps {
    display: none;
  }

  .about-mfg__accordion {
    display: block;
  }

  .about-mfg__image {
    display: none;
  }

  .about-engineering {
    padding: 64px 0;
  }

  .about-engineering__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .about-engineering__images {
    order: -1;
    grid-template-columns: 1fr 1fr;
  }

  .about-engineering__image-main img,
  .about-engineering__image-small img {
    height: 240px;
  }

  .about-quality {
    padding: 64px 0;
  }

  .about-quality__flow {
    flex-wrap: wrap;
    gap: 16px;
  }

  .about-quality__step-line {
    display: none;
  }

  .about-quality__images {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .about-quality__images img {
    height: 200px;
  }

  .about-oem {
    padding: 64px 0;
  }

  .about-oem__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .about-oem__image {
    order: -1;
  }

  .about-oem__actions {
    flex-direction: column;
    gap: 8px;
  }

  .about-oem__actions .btn {
    width: 100%;
  }

  .about-global {
    padding: 64px 0;
  }

  .about-global__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .about-global__image {
    order: -1;
  }

  .about-global__actions {
    flex-direction: column;
    gap: 8px;
  }

  .about-global__actions .btn {
    width: 100%;
  }

  .about-support {
    padding: 64px 0;
  }

  .about-support__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .about-support__image {
    order: -1;
  }

  .about-support__items {
    grid-template-columns: 1fr;
  }

  .about-values {
    padding: 64px 0;
  }

  .about-timeline {
    padding: 64px 0;
  }

  .about-form {
    padding: 64px 0;
  }

  .about-final-cta {
    padding: 64px 0;
  }

  .about-final-cta__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .about-factory-cta {
    padding: 64px 0;
  }
}

@media (max-width: 768px) {
  .about-hero__title {
    font-size: clamp(26px, 6vw, 36px);
  }

  .about-hero__buttons {
    flex-direction: column;
    gap: 8px;
  }

  .about-hero__buttons .btn {
    width: 100%;
  }

  .about-hero__tags {
    display: none;
  }

  .about-positioning__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .about-quality__flow {
    gap: 12px;
  }

  .about-quality__step {
    width: 44px;
    height: 44px;
    font-size: 16px;
  }

  .about-engineering__images {
    grid-template-columns: 1fr;
  }

  .about-global__cols {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .about-final-cta__benefits {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .about-final-cta__buttons {
    flex-direction: column;
    align-items: center;
  }

  .about-final-cta__buttons .btn {
    width: 100%;
    max-width: 360px;
  }

  .about-factory-cta__buttons {
    flex-direction: column;
  }

  .about-oem__items {
    gap: 6px;
  }

  .about-oem__item { font-size: var(--font-size-xs);
    padding: 5px 12px;
  }
}

@media (max-width: 480px) {
  .about-quality__step {
    flex: 0 0 100%;
    max-width: none;
  }

  .about-values__grid {
    grid-template-columns: 1fr;
  }

  .about-intro__images {
    grid-template-columns: 1fr;
  }

  .about-intro__image-overlay {
    width: 180px;
    margin-top: -20px;
    margin-left: auto;
  }
}

/* ==================== PRODUCTS HERO ==================== */
.prod-hero {
  position: relative;
  min-height: 500px;
  max-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--color-dark);
}
.prod-hero__bg { position: absolute; inset: 0; }
.prod-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.prod-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.6) 50%, rgba(23,25,28,0.3) 100%); z-index: 1; }
.prod-hero__content { position: relative; z-index: 2; padding: 60px 0; max-width: 850px; }
.prod-hero__label { font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.15em; color: var(--color-primary); margin-bottom: 16px; text-transform: uppercase; }
.prod-hero__title { font-size: clamp(28px, 4vw, 52px); font-weight: 800; color: var(--color-white); text-transform: uppercase; line-height: 1.1; margin-bottom: 18px; letter-spacing: -0.01em; }
.prod-hero__text { font-size: 17px; color: rgba(255,255,255,0.75); margin-bottom: 24px; line-height: 1.65; max-width: 600px; }
.prod-hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.prod-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.prod-hero__tags span { font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.8); text-transform: uppercase; }

/* ==================== CATEGORY NAV ==================== */
.prod-catnav { padding: 34px 0; background: linear-gradient(180deg, var(--color-white) 0%, #fbfbf8 100%); border-bottom: 1px solid var(--color-border); }
.prod-catnav__title { font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 16px; }
.prod-catnav__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.prod-catnav__item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; min-height: 164px; padding: 14px 8px 15px; border: 1px solid rgba(23,25,28,0.08); border-radius: 16px; text-align: center; background: rgba(255,255,255,0.74); box-shadow: 0 12px 28px rgba(23,25,28,0.04); transition: transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition); }
.prod-catnav__item::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; border-radius: 999px 999px 0 0; background: var(--color-primary); opacity: 0; transform: scaleX(0.45); transition: opacity var(--transition), transform var(--transition); }
.prod-catnav__item:hover { transform: translateY(-3px); border-color: rgba(245,180,0,0.42); background: #fff; box-shadow: 0 18px 34px rgba(23,25,28,0.1); }
.prod-catnav__item:hover::after { opacity: 1; transform: scaleX(1); }
.prod-catnav__icon { display: grid; place-items: center; width: 112px; height: 112px; border-radius: 22px; overflow: hidden; background: #fff7e8; color: var(--color-dark); box-shadow: inset 0 0 0 1px rgba(245,180,0,0.18); transition: transform var(--transition), background var(--transition), color var(--transition); }
.prod-catnav__icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.prod-catnav__icon svg { width: 42px; height: 42px; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.prod-catnav__icon .accent { fill: rgba(245,180,0,0.24); stroke: var(--color-primary-dark); }
.prod-catnav__item:hover .prod-catnav__icon { transform: translateY(-2px) scale(1.04); background: linear-gradient(135deg, rgba(245,180,0,0.34), rgba(245,180,0,0.08)); color: #111315; }
.prod-catnav__item > span:not(.prod-catnav__icon) { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.045em; line-height: 1.35; color: var(--color-dark); transition: color var(--transition); }
.prod-catnav__item:hover > span:not(.prod-catnav__icon) { color: var(--color-primary-dark); }

/* ==================== PRODUCT PORTFOLIO INTRO ==================== */
.prod-intro { padding: 100px 0; background: var(--color-white); }
.prod-intro__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.prod-intro__content .section-title { text-align: left; }
.prod-intro__text { font-size: 16px; color: var(--color-text-light); margin-bottom: 12px; line-height: 1.7; }
.prod-intro__values { display: flex; flex-direction: column; gap: 0; }
.prod-intro__value { display: flex; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--color-border); }
.prod-intro__value:last-child { border-bottom: none; }
.prod-intro__value-num { font-family: var(--font-heading); font-size: 28px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 40px; }
.prod-intro__value h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.prod-intro__value p { font-size: 14px; color: var(--color-text-light); }

/* ==================== EQUIPMENT SYSTEMS ==================== */
.prod-systems { padding: 100px 0; background: var(--color-bg-light); }
.prod-systems__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.prod-systems__card { position: relative; min-height: 460px; border-radius: var(--radius); overflow: hidden; }
.prod-systems__card-bg { position: absolute; inset: 0; }
.prod-systems__card-bg img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.prod-systems__card:hover .prod-systems__card-bg img { transform: scale(1.05); }
.prod-systems__card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(23,25,28,0.9) 0%, rgba(23,25,28,0.4) 60%); z-index: 1; }
.prod-systems__card-content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 40px; }
.prod-systems__card-title { font-size: 32px; font-weight: 800; color: var(--color-white); text-transform: uppercase; margin-bottom: 12px; }
.prod-systems__card-desc { font-size: 15px; color: rgba(255,255,255,0.75); margin-bottom: 16px; max-width: 400px; line-height: 1.6; }
.prod-systems__card-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.prod-systems__card-tags a { font-size: var(--font-size-xs); font-weight: 500; color: rgba(255,255,255,0.85); transition: all var(--transition); }
.prod-systems__card-tags a:hover { background: rgba(245,180,0,0.2); border-color: var(--color-primary); color: var(--color-white); }

/* ==================== PRODUCT FILTER ==================== */
.prod-filter { padding: 100px 0; background: var(--color-white); }
.prod-filter__controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: start;
  margin-bottom: 36px;
  padding: 22px;
  background: linear-gradient(135deg, #f7f5ef 0%, #ffffff 52%, #f3f4f4 100%);
  border: 1px solid rgba(22, 25, 30, 0.1);
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(22, 25, 30, 0.08);
}
.prod-filter__panel {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
  flex: 1;
}
.prod-filter__group {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  border: 1px solid rgba(22, 25, 30, 0.08);
  border-radius: 16px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.78);
}
.prod-filter__group:nth-of-type(1) { grid-column: span 5; }
.prod-filter__group:nth-of-type(2) { grid-column: span 7; }
.prod-filter__group:nth-of-type(3) { grid-column: span 7; }
.prod-filter__group:nth-of-type(4) { grid-column: span 2; }
.prod-filter__group:nth-of-type(5) { grid-column: span 3; }
.prod-filter__group legend {
  width: 100%;
  float: left;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-dark);
  margin-bottom: 8px;
}
.prod-filter__option {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-text);
  cursor: pointer;
  padding: 9px 12px 9px 34px;
  border: 1px solid rgba(22, 25, 30, 0.14);
  border-radius: 999px;
  background: var(--color-white);
  transition: border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}
.prod-filter__option:hover {
  color: var(--color-dark);
  border-color: rgba(22, 25, 30, 0.34);
  transform: translateY(-1px);
}
.prod-filter__option input[type="radio"],
.prod-filter__option input[type="checkbox"] {
  position: absolute;
  left: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin: 0;
  transform: translateY(-50%);
  accent-color: var(--color-primary);
}
.prod-filter__option:has(input:checked) {
  background: var(--color-dark);
  border-color: var(--color-dark);
  color: var(--color-white);
  box-shadow: 0 10px 24px rgba(22, 25, 30, 0.16);
}
.prod-filter__option:has(input:checked) input {
  accent-color: var(--color-primary);
}
.prod-filter__actions {
  grid-column: span 12;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
  padding-top: 2px;
}
.prod-filter__apply-mobile { display: none; }
.prod-filter__mobile-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-dark);
}
.prod-filter__count { font-size: var(--font-size-xs); font-weight: 700; border-radius: 50%; }
.prod-filter__result-info {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  min-height: 54px;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  color: var(--color-text-light);
  white-space: nowrap;
  padding: 0 18px;
  background: var(--color-dark);
  color: rgba(255, 255, 255, 0.76);
  border-radius: 16px;
}
.prod-filter__result-info span {
  color: var(--color-primary);
  font-size: 24px;
  margin-right: 5px;
}
.prod-filter__empty { text-align: center; padding: 60px 20px; }
.prod-filter__empty p { font-size: 16px; color: var(--color-text-light); margin: 16px 0; max-width: 480px; margin-left: auto; margin-right: auto; }

/* ==================== PRODUCT GRID ==================== */
.prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.prod-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius); overflow: hidden; transition: all var(--transition); }
.prod-card.is-hidden { display: none; }
.prod-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.08); transform: translateY(-4px); }
.prod-card__image { position: relative; background: var(--color-white); overflow: hidden; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; }
.prod-card__image img { width: 100%; height: 100%; object-fit: contain; padding: 12px; transition: transform 0.5s ease; }
.prod-card:hover .prod-card__image img { transform: scale(1.05); }
.prod-card__badge { position: absolute; top: 10px; left: 10px; padding: 3px 10px; background: var(--color-primary); color: var(--color-dark); font-family: var(--font-heading); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; border-radius: var(--radius); }
.prod-card__badge--handling { background: var(--color-dark); color: var(--color-white); }
.prod-card__body { padding: 18px; }
.prod-card__category { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-primary-dark); margin-bottom: 4px; }
.prod-card__model { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 6px; }
.prod-card__desc { font-size: var(--font-size-card); color: var(--color-text-light); margin-bottom: 12px; line-height: 1.5; }
.prod-card__specs { border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: 10px 0; margin-bottom: 10px; }
.prod-card__spec { font-size: var(--font-size-xs); }
.prod-card__spec-label { color: var(--color-text-light); }
.prod-card__spec-value { font-weight: 600; color: var(--color-dark); }
.prod-card__apps { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 14px; }
.prod-card__apps span { font-size: var(--font-size-xs); color: var(--color-text-light); }
.prod-card__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.prod-card__link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }
.prod-card__compare { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); border: 1px solid var(--color-border); padding: 4px 10px; border-radius: var(--radius); transition: all var(--transition); }
.prod-card__compare:hover { border-color: var(--color-primary); color: var(--color-dark); }
.prod-card__compare[aria-pressed="true"] { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-dark); }
.prod-card__quote { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-white); background: var(--color-dark); padding: 4px 10px; border-radius: var(--radius); margin-left: auto; transition: background var(--transition); }
.prod-card__quote:hover { background: var(--color-primary-dark); color: var(--color-dark); }

/* ==================== CATEGORY SECTIONS ==================== */
.prod-cat { padding: 80px 0; background: var(--color-white); }
.prod-cat--alt { background: var(--color-bg-light); }
.prod-cat__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.prod-cat__image img { width: 100%; height: 440px; object-fit: cover; border-radius: var(--radius); }
.prod-cat__content .section-title { text-align: left; font-size: clamp(24px, 3vw, 40px); }
.prod-cat__desc { font-size: 16px; color: var(--color-text-light); margin-bottom: 20px; line-height: 1.7; }
.prod-cat__meta { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
.prod-cat__meta-group h3 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 8px; }
.prod-cat__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.prod-cat__tags span { font-size: var(--font-size-xs); color: var(--color-text); }
.prod-cat--alt .prod-cat__tags span { background: var(--color-white); }
.prod-cat__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ==================== APPLICATIONS ==================== */
.prod-apps { padding: 100px 0; background: var(--color-dark); }
.prod-apps__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px; }
.prod-apps__card { position: relative; border-radius: var(--radius); overflow: hidden; cursor: pointer; min-height: 260px; }
.prod-apps__card--large { grid-row: span 2; min-height: 536px; }
.prod-apps__card-img { position: absolute; inset: 0; }
.prod-apps__card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.prod-apps__card:hover .prod-apps__card-img img { transform: scale(1.05); }
.prod-apps__card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(23,25,28,0.85) 0%, rgba(23,25,28,0.2) 60%); z-index: 1; }
.prod-apps__card-content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 24px; }
.prod-apps__card--large .prod-apps__card-content { padding: 36px; }
.prod-apps__card-content h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 6px; }
.prod-apps__card--large .prod-apps__card-content h3 { font-size: 26px; }
.prod-apps__card-rec { font-size: var(--font-size-xs); color: rgba(255,255,255,0.6); margin-bottom: 8px; opacity: 0; transform: translateY(6px); transition: all 0.3s ease; }
.prod-apps__card:hover .prod-apps__card-rec { opacity: 1; transform: translateY(0); }
.prod-apps__card-rec-label { color: var(--color-primary); font-weight: 600; display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 2px; }
.prod-apps__card-link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary); opacity: 0; transition: opacity 0.3s ease; }
.prod-apps__card:hover .prod-apps__card-link { opacity: 1; }

/* ==================== PRODUCT SELECTION ==================== */
.prod-selection { padding: 100px 0; background: var(--color-white); }
.prod-selection__inner { display: grid; grid-template-columns: 520px 1fr; gap: 60px; align-items: center; }
.prod-selection__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.prod-selection__text { font-size: 16px; color: var(--color-text-light); margin-bottom: 12px; line-height: 1.7; }
.prod-selection__list { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; margin-bottom: 24px; padding-left: 0; }
.prod-selection__list li { font-size: 14px; color: var(--color-text); padding: 4px 0; padding-left: 16px; position: relative; }
.prod-selection__list li::before { content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; background: var(--color-primary); border-radius: 50%; }
.prod-selection__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ==================== PRODUCT ADVISOR ==================== */
.prod-advisor { padding: 100px 0; background: var(--color-bg-light); }
.prod-advisor__wrap { max-width: 740px; margin: 0 auto; }
.prod-advisor__progress { display: flex; gap: 4px; margin-bottom: 32px; }
.prod-advisor__step-indicator { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); background: var(--color-white); border-bottom: 3px solid var(--color-border); transition: all var(--transition); }
.prod-advisor__step-indicator span { display: block; font-size: 18px; font-weight: 800; margin-bottom: 2px; }
.prod-advisor__step-indicator--active { border-bottom-color: var(--color-primary); color: var(--color-dark); }
.prod-advisor__step-indicator--active span { color: var(--color-primary); }
.prod-advisor__step { display: none; background: var(--color-white); padding: 32px; border-radius: var(--radius); }
.prod-advisor__step--active { display: block; }
.prod-advisor__question { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 20px; }
.prod-advisor__options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
.prod-advisor__opt { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: var(--color-bg-light); border: 1px solid var(--color-border); border-radius: var(--radius); cursor: pointer; transition: all var(--transition); }
.prod-advisor__opt:hover { border-color: var(--color-primary); }
.prod-advisor__opt input { accent-color: var(--color-primary); width: 18px; height: 18px; }
.prod-advisor__opt span { font-size: 14px; color: var(--color-text); }
.prod-advisor__opt:has(input:checked) { background: rgba(245,180,0,0.08); border-color: var(--color-primary); }
.prod-advisor__error { font-size: var(--font-size-sm); color: var(--color-error); min-height: 18px; display: block; margin-bottom: 8px; }
.prod-advisor__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.prod-advisor__field { display: flex; flex-direction: column; }
.prod-advisor__field--full { grid-column: span 2; }
.prod-advisor__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 6px; }
.prod-advisor__field input, .prod-advisor__field textarea { padding: 10px 14px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; transition: border-color var(--transition); }
.prod-advisor__field input:focus, .prod-advisor__field textarea:focus { outline: none; border-color: var(--color-primary); }
.prod-advisor__field input.error, .prod-advisor__field textarea.error { border-color: var(--color-error); }
.prod-advisor__field-error { font-size: var(--font-size-xs); color: var(--color-error); min-height: 16px; margin-top: 4px; }
.prod-advisor__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; }
.prod-advisor__submit-loading { display: none; }
.prod-advisor__submit-text { display: inline; }
button.is-loading .prod-advisor__submit-text { display: none; }
button.is-loading .prod-advisor__submit-loading { display: inline-flex; align-items: center; gap: 6px; }
button.is-loading .prod-advisor__submit-loading svg { animation: spin 1s linear infinite; }
.prod-advisor__success { text-align: center; background: var(--color-white); padding: 48px 32px; border-radius: var(--radius); }
.prod-advisor__success[hidden] { display: none; }
.prod-advisor__success h3 { font-size: 24px; font-weight: 700; color: var(--color-dark); margin: 16px 0 10px; }
.prod-advisor__success p { font-size: 15px; color: var(--color-text-light); margin-bottom: 20px; line-height: 1.6; }

/* ==================== CONFIGURATION ==================== */
.prod-config { padding: 100px 0; background: var(--color-bg-light); }
.prod-config__inner { display: grid; grid-template-columns: 1fr 520px; gap: 60px; align-items: center; }
.prod-config__text { font-size: 17px; color: var(--color-text-light); margin-bottom: 20px; line-height: 1.7; }
.prod-config__options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.prod-config__options span { padding: 6px 14px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius); font-family: var(--font-heading); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text); }
.prod-config__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin-bottom: 24px; }
.prod-config__actions { display: flex; gap: 12px; }
.prod-config__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== CATALOG ==================== */
.prod-catalog { padding: 100px 0; background: var(--color-dark); }
.prod-catalog__inner { display: grid; grid-template-columns: 500px 1fr; gap: 60px; align-items: center; }
.prod-catalog__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.prod-catalog__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 24px; line-height: 1.6; }
.prod-catalog__form { background: var(--color-white); padding: 28px; border-radius: var(--radius); }
.prod-catalog__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.prod-catalog__field { display: flex; flex-direction: column; margin-bottom: 14px; }
.prod-catalog__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 5px; }
.prod-catalog__field input, .prod-catalog__field select { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; }
.prod-catalog__field input:focus, .prod-catalog__field select:focus { outline: none; border-color: var(--color-primary); }
.prod-catalog__field input.error, .prod-catalog__field select.error { border-color: var(--color-error); }
.prod-catalog__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 3px; min-height: 14px; }
.prod-catalog__privacy { font-size: 12px; color: var(--color-text-light); margin-bottom: 14px; }
.prod-catalog__success { text-align: center; background: var(--color-white); padding: 32px; border-radius: var(--radius); }
.prod-catalog__success[hidden] { display: none; }
.prod-catalog__success h3 { font-size: 22px; font-weight: 700; color: var(--color-dark); margin: 12px 0 8px; }
.prod-catalog__success p { font-size: 14px; color: var(--color-text-light); margin-bottom: 16px; }

/* ==================== BUYER SUPPORT ==================== */
.prod-buyers { padding: 100px 0; background: var(--color-white); }
.prod-buyers__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.prod-buyers__item { padding: 28px; background: var(--color-bg-light); border-radius: var(--radius); }
.prod-buyers__num { font-family: var(--font-heading); font-size: 40px; font-weight: 800; color: var(--color-primary); line-height: 1; }
.prod-buyers__line { width: 30px; height: 2px; background: var(--color-border); margin: 12px 0; }
.prod-buyers__title { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 8px; }
.prod-buyers__text { font-size: 14px; color: var(--color-text-light); line-height: 1.5; margin-bottom: 14px; }
.prod-buyers__link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }

/* ==================== SERVICE ==================== */
.prod-service { padding: 100px 0; background: var(--color-bg-light); }
.prod-service__inner { display: grid; grid-template-columns: 1fr 480px; gap: 60px; align-items: center; }
.prod-service__text { font-size: 16px; color: var(--color-text-light); margin-bottom: 24px; line-height: 1.7; }
.prod-service__items { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 28px; }
.prod-service__item h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 4px; }
.prod-service__item p { font-size: var(--font-size-sm); color: var(--color-text-light); }
.prod-service__actions { display: flex; align-items: center; gap: 24px; }
.prod-service__link { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-primary-dark); }
.prod-service__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== FAQ ==================== */
.prod-faq { padding: 100px 0; background: var(--color-white); }
.prod-faq__list { max-width: 800px; margin: 0 auto; }
.prod-faq__item { border-bottom: 1px solid var(--color-border); }
.prod-faq__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 20px 0; text-align: left; font-family: var(--font-heading); font-size: 16px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); gap: 16px; }
.prod-faq__trigger svg { flex-shrink: 0; transition: transform var(--transition); }
.prod-faq__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.prod-faq__trigger[aria-expanded="true"] { color: var(--color-primary-dark); }
.prod-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.prod-faq__answer[aria-hidden="false"] { max-height: 300px; }
.prod-faq__answer p { font-size: 15px; color: var(--color-text-light); line-height: 1.6; padding-bottom: 20px; }

/* ==================== PRODUCTS CTA ==================== */
.prod-cta { position: relative; padding: 80px 0; overflow: hidden; }
.prod-cta__bg { position: absolute; inset: 0; }
.prod-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.prod-cta__overlay { position: absolute; inset: 0; background: rgba(23,25,28,0.9); }
.prod-cta__content { position: relative; z-index: 2; text-align: center; max-width: 700px; margin: 0 auto; }
.prod-cta__text { font-size: 17px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.prod-cta__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-bottom: 28px; }
.prod-cta__benefits span { font-size: var(--font-size-sm); color: rgba(255,255,255,0.8); }
.prod-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* ==================== PRODUCTS QUOTE ==================== */
.prod-quote { padding: 100px 0; background: var(--color-bg-light); }
.prod-quote__wrap { max-width: 800px; margin: 0 auto; }

/* ==================== COMPARE BAR ==================== */
.compare-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 998; background: var(--color-white); box-shadow: 0 -4px 20px rgba(0,0,0,0.12); padding: 12px 0; }
.compare-bar[hidden] { display: none; }
.compare-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.compare-bar__items { display: flex; gap: 12px; flex: 1; overflow-x: auto; }
.compare-bar__item { display: flex; align-items: center; gap: 8px; padding: 6px 12px; background: var(--color-bg-light); border-radius: var(--radius); white-space: nowrap; }
.compare-bar__item img { width: 40px; height: 30px; object-fit: contain; }
.compare-bar__item-name { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-dark); }
.compare-bar__item-remove { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--color-text-light); cursor: pointer; }
.compare-bar__item-remove:hover { color: var(--color-error); }
.compare-bar__actions { display: flex; gap: 8px; flex-shrink: 0; }

/* ==================== COMPARE MODAL ==================== */
.compare-modal__content { max-width: 95vw; width: 1000px; max-height: 85vh; overflow-y: auto; }
.compare-modal__title { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 20px; padding: 24px 24px 0; }
.compare-modal__table-wrap { overflow-x: auto; padding: 0 24px 24px; }
.compare-modal__table { width: 100%; border-collapse: collapse; }
.compare-modal__table th, .compare-modal__table td { padding: 10px 14px; font-size: 13px; text-align: left; border-bottom: 1px solid var(--color-border); }
.compare-modal__table th { font-family: var(--font-heading); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-dark); background: var(--color-bg-light); }
.compare-modal__table td { color: var(--color-text-light); }
.compare-modal__table td:first-child { font-weight: 600; color: var(--color-dark); white-space: nowrap; }

/* ==================== PRODUCTS RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .prod-catnav__grid { grid-template-columns: repeat(4, 1fr); }
  .prod-grid { grid-template-columns: repeat(3, 1fr); }
  .prod-buyers__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 992px) {
  .prod-hero { min-height: 480px; max-height: 560px; }
  .prod-intro { padding: 64px 0; }
  .prod-intro__inner { grid-template-columns: 1fr; gap: 32px; }
  .prod-systems { padding: 64px 0; }
  .prod-systems__grid { grid-template-columns: 1fr; }
  .prod-systems__card { min-height: 380px; }
  .prod-filter { padding: 64px 0; }
  .prod-filter__controls { grid-template-columns: 1fr; padding: 16px; }
  .prod-filter__result-info { order: -1; justify-content: flex-start; width: 100%; }
  .prod-filter__mobile-toggle { display: flex; }
  .prod-filter__panel { display: none; grid-template-columns: 1fr; gap: 12px; padding: 0; background: transparent; border-radius: var(--radius); }
  .prod-filter__panel.is-open { display: grid; }
  .prod-filter__group,
  .prod-filter__group:nth-of-type(1),
  .prod-filter__group:nth-of-type(2),
  .prod-filter__group:nth-of-type(3),
  .prod-filter__group:nth-of-type(4),
  .prod-filter__group:nth-of-type(5),
  .prod-filter__actions { grid-column: 1 / -1; }
  .prod-filter__apply-mobile { display: flex; }
  .prod-grid { grid-template-columns: repeat(2, 1fr); }
  .prod-cat { padding: 64px 0; }
  .prod-cat__inner { grid-template-columns: 1fr; gap: 28px; }
  .prod-cat__inner--img-right .prod-cat__content { order: 2; }
  .prod-cat__inner--img-right .prod-cat__image { order: 1; }
  .prod-cat__image img { height: 320px; }
  .prod-apps { padding: 64px 0; }
  .prod-apps__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .prod-apps__card--large { grid-column: span 2; grid-row: span 1; min-height: 320px; }
  .prod-apps__card-rec { opacity: 1; transform: translateY(0); }
  .prod-apps__card-link { opacity: 1; }
  .prod-selection { padding: 64px 0; }
  .prod-selection__inner { grid-template-columns: 1fr; gap: 32px; }
  .prod-selection__image { order: -1; }
  .prod-advisor { padding: 64px 0; }
  .prod-config { padding: 64px 0; }
  .prod-config__inner { grid-template-columns: 1fr; gap: 32px; }
  .prod-config__image { order: -1; }
  .prod-catalog { padding: 64px 0; }
  .prod-catalog__inner { grid-template-columns: 1fr; gap: 32px; }
  .prod-buyers { padding: 64px 0; }
  .prod-buyers__grid { grid-template-columns: 1fr 1fr; }
  .prod-service { padding: 64px 0; }
  .prod-service__inner { grid-template-columns: 1fr; gap: 32px; }
  .prod-service__image { order: -1; }
  .prod-service__items { grid-template-columns: 1fr; }
  .prod-faq { padding: 64px 0; }
  .prod-cta { padding: 64px 0; }
  .prod-quote { padding: 64px 0; }
}
@media (max-width: 768px) {
  .prod-hero__title { font-size: clamp(24px, 6vw, 34px); }
  .prod-hero__buttons { flex-direction: column; }
  .prod-hero__buttons .btn { width: 100%; }
  .prod-hero__tags { display: none; }
  .prod-catnav { overflow-x: auto; }
  .prod-catnav__grid { grid-template-columns: repeat(7, 150px); min-width: max-content; }
  .prod-catnav__item { border-right: 1px solid rgba(23,25,28,0.08); border-bottom: 1px solid rgba(23,25,28,0.08); }
  .prod-catnav__item:hover { border-bottom-color: var(--color-primary); }
  .prod-filter__controls { border-radius: 18px; box-shadow: 0 12px 32px rgba(22, 25, 30, 0.08); }
  .prod-filter__group { padding: 14px; }
  .prod-filter__option { width: 100%; min-height: 38px; }
  .prod-filter__actions { flex-direction: column; align-items: stretch; }
  .prod-grid { grid-template-columns: 1fr; }
  .prod-cat__actions { flex-direction: column; }
  .prod-cat__actions .btn { width: 100%; }
  .prod-apps__grid { grid-template-columns: 1fr; }
  .prod-apps__card--large { grid-column: span 1; min-height: 260px; }
  .prod-apps__card { min-height: 220px; }
  .prod-advisor__progress { flex-wrap: wrap; }
  .prod-advisor__step-indicator { flex: 0 0 calc(50% - 2px); }
  .prod-advisor__options { grid-template-columns: 1fr; }
  .prod-advisor__fields { grid-template-columns: 1fr; }
  .prod-advisor__field--full { grid-column: span 1; }
  .prod-advisor__step { padding: 20px; }
  .prod-catalog__form-row { grid-template-columns: 1fr; }
  .prod-buyers__grid { grid-template-columns: 1fr; }
  .prod-cta__benefits { flex-direction: column; align-items: center; }
  .prod-cta__buttons { flex-direction: column; }
  .prod-cta__buttons .btn { width: 100%; max-width: 360px; }
  .prod-config__actions { flex-direction: column; }
  .prod-config__actions .btn { width: 100%; }
  .prod-selection__actions { flex-direction: column; }
  .prod-selection__list { grid-template-columns: 1fr; }
  .compare-bar__inner { flex-direction: column; gap: 8px; }
  .compare-bar__items { width: 100%; }
  .compare-modal__content { width: 95vw; }
  body { padding-bottom: 110px; }
}
@media (max-width: 480px) {
  .prod-catnav__grid { grid-template-columns: repeat(7, 130px); }
  .prod-advisor__step-indicator { font-size: 10px; }
  .prod-advisor__step-indicator span { font-size: 15px; }
}

/* ==================== CATEGORY PAGE HERO ==================== */
.cat-hero { position: relative; min-height: 560px; max-height: 680px; display: flex; align-items: center; overflow: hidden; background: var(--color-dark); }
.cat-hero__bg { position: absolute; inset: 0; }
.cat-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.cat-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.55) 50%, rgba(23,25,28,0.25) 100%); z-index: 1; }
.cat-hero__content { position: relative; z-index: 2; padding: 60px 0; max-width: 850px; }
.cat-hero__label { font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.15em; color: var(--color-primary); margin-bottom: 16px; text-transform: uppercase; }
.cat-hero__title { font-size: clamp(28px, 4vw, 52px); font-weight: 800; color: var(--color-white); text-transform: uppercase; line-height: 1.1; margin-bottom: 18px; letter-spacing: -0.01em; }
.cat-hero__text { font-size: 17px; color: rgba(255,255,255,0.75); margin-bottom: 24px; line-height: 1.65; max-width: 600px; }
.cat-hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.cat-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cat-hero__tags span { font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.8); text-transform: uppercase; }

/* ==================== STICKY CATEGORY NAV ==================== */
.cat-sticky { background: var(--color-white); border-bottom: 1px solid var(--color-border); position: sticky; top: var(--header-height); z-index: 99; }
.cat-sticky__list { display: flex; gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.cat-sticky__list::-webkit-scrollbar { display: none; }
.cat-sticky__link { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); padding: 14px 16px; white-space: nowrap; border-bottom: 2px solid transparent; transition: all var(--transition); }
.cat-sticky__link:hover { color: var(--color-dark); }
.cat-sticky__link--active { color: var(--color-primary-dark); border-bottom-color: var(--color-primary); }

/* ==================== CATEGORY INTRODUCTION ==================== */
.cat-intro { padding: 100px 0; background: var(--color-white); }
.cat-intro__inner { display: grid; grid-template-columns: 560px 1fr; gap: 60px; align-items: center; }
.cat-intro__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.cat-intro__content .section-title { text-align: left; }
.cat-intro__content p { font-size: 16px; color: var(--color-text-light); margin-bottom: 12px; line-height: 1.7; }
.cat-intro__meta { display: flex; flex-direction: column; gap: 16px; margin: 24px 0; }
.cat-intro__meta-group h3 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 8px; }
.cat-intro__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.cat-intro__tags span { font-size: var(--font-size-xs); color: var(--color-text); }
.cat-intro__actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.cat-intro__link { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }

/* ==================== MODEL FINDER / FILTER ==================== */
.cat-finder { padding: 100px 0; background: var(--color-bg-light); }
.cat-finder__controls { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 20px; margin-bottom: 34px; padding: 24px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: 22px; box-shadow: 0 18px 45px rgba(23,25,28,0.07); }
.cat-finder__controls::before { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 22px; background: linear-gradient(135deg, rgba(245,180,0,0.12), transparent 34%); }
.cat-finder__panel { position: relative; z-index: 1; grid-column: 2; grid-row: 1; display: grid; grid-template-columns: minmax(170px, 0.9fr) minmax(260px, 1.25fr) minmax(190px, 0.9fr) minmax(190px, 0.9fr) minmax(150px, 0.7fr); gap: 18px; align-items: start; }
.cat-finder__group { border: 1px solid rgba(23,25,28,0.08); border-radius: 16px; padding: 14px; background: linear-gradient(180deg, #fff, #fafafa); }
.cat-finder__group legend { display: inline-flex; align-items: center; padding: 0 7px; font-family: var(--font-heading); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-dark); margin-bottom: 10px; }
.cat-finder__opt { display: inline-flex; align-items: center; gap: 7px; margin: 0 6px 8px 0; padding: 8px 11px; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-white); font-size: 13px; line-height: 1; color: var(--color-text); cursor: pointer; transition: color var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition); }
.cat-finder__opt:hover { color: var(--color-dark); border-color: rgba(23,25,28,0.28); transform: translateY(-1px); }
.cat-finder__opt input { appearance: none; width: 14px; height: 14px; margin: 0; border: 2px solid #9aa0a6; border-radius: 50%; background: var(--color-white); box-shadow: inset 0 0 0 3px var(--color-white); transition: all var(--transition); }
.cat-finder__opt input[type="checkbox"] { border-radius: 4px; box-shadow: none; }
.cat-finder__opt:has(input:checked) { border-color: var(--color-primary); background: rgba(245,180,0,0.13); color: var(--color-dark); box-shadow: 0 7px 18px rgba(245,180,0,0.16); }
.cat-finder__opt input:checked { border-color: var(--color-dark); background: var(--color-primary); }
.cat-finder__opt input[type="checkbox"]:checked { background: var(--color-primary); border-color: var(--color-dark); box-shadow: inset 0 0 0 2px var(--color-primary); }
.cat-finder__actions { grid-column: 3; grid-row: 1; position: relative; z-index: 1; display: flex; min-width: 140px; height: 100%; align-items: flex-end; justify-content: flex-end; padding: 0 0 18px; }
.cat-finder__actions .btn { min-width: 132px; height: 46px; border-radius: 10px; }
.cat-finder__apply-mobile { display: none; }
.cat-finder__mobile-toggle { position: relative; z-index: 1; grid-column: 1; grid-row: 1; align-items: center; gap: 8px; height: 42px; margin-top: 8px; padding: 0; border: 0; background: transparent; font-family: var(--font-heading); font-size: 18px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); }
.cat-finder__count { min-width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; background: var(--color-primary); color: var(--color-dark); font-size: 11px; font-weight: 800; border-radius: 50%; }
.cat-finder__result-info { position: relative; z-index: 1; grid-column: 3; grid-row: 1; align-self: start; min-width: 150px; height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid rgba(23,25,28,0.1); border-radius: 999px; background: var(--color-dark); font-family: var(--font-heading); font-size: 13px; font-weight: 800; color: rgba(255,255,255,0.78); white-space: nowrap; letter-spacing: 0.03em; text-transform: uppercase; }
.cat-finder__result-info span { color: var(--color-primary); font-size: 18px; margin-right: 4px; }
.cat-finder__empty { text-align: center; padding: 60px 20px; }
.cat-finder__empty p { font-size: 16px; color: var(--color-text-light); margin: 16px 0; max-width: 480px; margin-left: auto; margin-right: auto; }

/* ==================== CATEGORY MODEL GRID ==================== */
.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* ==================== CATEGORY ADVANTAGES ==================== */
.cat-advantages { padding: 100px 0; background: var(--color-dark); }
.cat-advantages__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cat-advantages__item { background: var(--color-dark-2); border-radius: var(--radius); overflow: hidden; }
.cat-advantages__image { height: 260px; overflow: hidden; }
.cat-advantages__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.cat-advantages__item:hover .cat-advantages__image img { transform: scale(1.05); }
.cat-advantages__num { display: block; font-family: var(--font-heading); font-size: 36px; font-weight: 800; color: var(--color-primary); padding: 16px 20px 0; line-height: 1; }
.cat-advantages__title { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-white); padding: 8px 20px 0; }
.cat-advantages__text { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); padding: 6px 20px 20px; line-height: 1.5; }

/* ==================== TECHNICAL SYSTEMS ==================== */
.cat-systems { padding: 100px 0; background: var(--color-white); }
.cat-systems__inner { margin-top: 48px; }
.cat-systems__tabs { display: flex; gap: 4px; margin-bottom: 24px; overflow-x: auto; }
.cat-systems__tab { font-size: var(--font-size-sm); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); border: 1px solid var(--color-border); border-radius: var(--radius); transition: all var(--transition); cursor: pointer; white-space: nowrap; }
.cat-systems__tab:hover { border-color: var(--color-primary); color: var(--color-dark); }
.cat-systems__tab--active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-dark); }
.cat-systems__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.cat-systems__panel--active { display: block; }
.cat-systems__panel img { width: 100%; height: 450px; object-fit: cover; }
.cat-systems__panel-info { padding: 24px; background: var(--color-bg-light); }
.cat-systems__panel-info h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 6px; }
.cat-systems__panel-info p { font-size: 15px; color: var(--color-text-light); line-height: 1.6; }
.cat-systems__accordion { display: none; }
.cat-systems__acc-item { border-bottom: 1px solid var(--color-border); }
.cat-systems__acc-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; font-family: var(--font-heading); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); text-align: left; }
.cat-systems__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; }
.cat-systems__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.cat-systems__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.cat-systems__acc-content[aria-hidden="false"] { max-height: 400px; }
.cat-systems__acc-content img { width: 100%; height: 220px; object-fit: cover; border-radius: var(--radius); margin-bottom: 10px; }
.cat-systems__acc-content p { font-size: 14px; color: var(--color-text-light); line-height: 1.5; padding-bottom: 16px; }

/* ==================== CATEGORY APPLICATIONS ==================== */
.cat-apps { padding: 100px 0; background: var(--color-dark); }
.cat-apps__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px; }
.cat-apps__card { position: relative; border-radius: var(--radius); overflow: hidden; cursor: pointer; min-height: 260px; }
.cat-apps__card--large { grid-row: span 2; min-height: 536px; }
.cat-apps__card-img { position: absolute; inset: 0; }
.cat-apps__card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.cat-apps__card:hover .cat-apps__card-img img { transform: scale(1.05); }
.cat-apps__card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(23,25,28,0.85) 0%, rgba(23,25,28,0.2) 60%); z-index: 1; }
.cat-apps__card-content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 24px; }
.cat-apps__card--large .cat-apps__card-content { padding: 36px; }
.cat-apps__card-content h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 6px; }
.cat-apps__card--large .cat-apps__card-content h3 { font-size: 26px; }
.cat-apps__card-content p { font-size: var(--font-size-sm); color: rgba(255,255,255,0.7); margin-bottom: 8px; line-height: 1.5; }
.cat-apps__card-rec { font-size: var(--font-size-xs); color: rgba(255,255,255,0.6); margin-bottom: 4px; opacity: 0; transform: translateY(6px); transition: all 0.3s ease; }
.cat-apps__card:hover .cat-apps__card-rec { opacity: 1; transform: translateY(0); }
.cat-apps__card-rec-label { color: var(--color-primary); font-weight: 600; font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; margin-right: 4px; }
.cat-apps__card-link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary); opacity: 0; transition: opacity 0.3s ease; margin-top: 6px; }
.cat-apps__card:hover .cat-apps__card-link { opacity: 1; }

/* ==================== ATTACHMENTS SLIDER ==================== */
.cat-attachments { padding: 100px 0; background: var(--color-white); }
.cat-attachments__slider { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -24px; padding: 0 24px; }
.cat-attachments__track { display: flex; gap: 16px; padding-bottom: 8px; }
.cat-attachments__item { flex: 0 0 240px; background: var(--color-bg-light); border-radius: var(--radius); overflow: hidden; }
.cat-attachments__img { height: 180px; overflow: hidden; background: var(--color-white); display: flex; align-items: center; justify-content: center; }
.cat-attachments__img img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.cat-attachments__item h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 12px 16px 4px; }
.cat-attachments__item p { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 0 16px; line-height: 1.4; }
.cat-attachments__compat { font-size: var(--font-size-xs); color: var(--color-primary-dark); padding: 8px 16px 14px; font-weight: 600; }

/* ==================== CATEGORY OEM ==================== */
.cat-oem { padding: 100px 0; background: var(--color-dark); }
.cat-oem__inner { display: grid; grid-template-columns: 1fr 520px; gap: 60px; align-items: center; }
.cat-oem__text { font-size: 17px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.cat-oem__options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.cat-oem__options span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: rgba(255,255,255,0.8); }
.cat-oem__actions { display: flex; gap: 12px; }
.cat-oem__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== BUYING GUIDE ==================== */
.cat-guide { padding: 100px 0; background: var(--color-white); }
.cat-guide__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 60px; }
.cat-guide__item { padding: 28px; background: var(--color-bg-light); border-radius: var(--radius); }
.cat-guide__num { display: block; font-family: var(--font-heading); font-size: 36px; font-weight: 800; color: var(--color-primary); margin-bottom: 8px; line-height: 1; }
.cat-guide__item h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 6px; }
.cat-guide__item p { font-size: 14px; color: var(--color-text-light); line-height: 1.5; }
.cat-guide__form-wrap { max-width: 740px; margin: 0 auto; background: var(--color-bg-light); padding: 40px; border-radius: var(--radius); }
.cat-guide__form-title { font-size: 22px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); text-align: center; margin-bottom: 24px; }
.cat-guide__form { display: flex; flex-direction: column; gap: 16px; }
.cat-guide__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cat-guide__field { display: flex; flex-direction: column; }
.cat-guide__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 5px; }
.cat-guide__field input, .cat-guide__field select { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; background: var(--color-white); }
.cat-guide__field input:focus, .cat-guide__field select:focus { outline: none; border-color: var(--color-primary); }
.cat-guide__field input.error, .cat-guide__field select.error { border-color: var(--color-error); }
.cat-guide__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 3px; min-height: 14px; }
.cat-guide__submit-text { display: inline; }
.cat-guide__submit-loading { display: none; align-items: center; gap: 6px; }
button.is-loading .cat-guide__submit-text { display: none; }
button.is-loading .cat-guide__submit-loading { display: inline-flex; }
button.is-loading .cat-guide__submit-loading svg { animation: spin 1s linear infinite; }
.cat-guide__success { text-align: center; }
.cat-guide__success[hidden] { display: none; }
.cat-guide__success h3 { font-size: 22px; font-weight: 700; color: var(--color-dark); margin: 16px 0 8px; }
.cat-guide__success p { font-size: 15px; color: var(--color-text-light); margin-bottom: 16px; }

/* ==================== DEALERS ==================== */
.cat-dealers { padding: 100px 0; background: var(--color-bg-light); }
.cat-dealers__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 32px; }
.cat-dealers__col h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--color-primary); }
.cat-dealers__col li { font-size: 14px; color: var(--color-text-light); padding: 5px 0; padding-left: 14px; position: relative; }
.cat-dealers__col li::before { content: ''; position: absolute; left: 0; top: 12px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.cat-dealers__actions { display: flex; gap: 12px; }

/* ==================== MANUFACTURING ==================== */
.cat-mfg { padding: 100px 0; background: var(--color-dark); }
.cat-mfg__inner { display: grid; grid-template-columns: 1fr 520px; gap: 60px; align-items: center; }
.cat-mfg__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 24px; line-height: 1.7; }
.cat-mfg__steps { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.cat-mfg__step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.cat-mfg__step span { font-size: 16px; font-weight: 800; color: var(--color-primary); }
.cat-mfg__actions { display: flex; align-items: center; gap: 20px; }
.cat-mfg__link { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: rgba(255,255,255,0.6); }
.cat-mfg__link:hover { color: var(--color-primary); }
.cat-mfg__images { display: flex; flex-direction: column; gap: 16px; }
.cat-mfg__images img { width: 100%; height: 260px; object-fit: cover; border-radius: var(--radius); }

/* ==================== SHIPPING ==================== */
.cat-shipping { padding: 100px 0; background: var(--color-white); }
.cat-shipping__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-bottom: 28px; }
.cat-shipping__step { text-align: center; padding: 20px 12px; background: var(--color-bg-light); border-radius: var(--radius); }
.cat-shipping__step span { display: block; font-family: var(--font-heading); font-size: 28px; font-weight: 800; color: var(--color-primary); margin-bottom: 8px; }
.cat-shipping__step h3 { font-size: var(--font-size-sm); font-weight: 600; text-transform: uppercase; color: var(--color-dark); }
.cat-shipping__methods { display: flex; justify-content: center; gap: 12px; margin-bottom: 16px; }
.cat-shipping__methods span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text); }

/* ==================== SERVICE ==================== */
.cat-service { padding: 100px 0; background: var(--color-bg-light); }
.cat-service__inner { display: grid; grid-template-columns: 1fr 480px; gap: 60px; align-items: center; }
.cat-service__text { font-size: 16px; color: var(--color-text-light); margin-bottom: 24px; line-height: 1.7; }
.cat-service__items { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 28px; }
.cat-service__item h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 4px; }
.cat-service__item p { font-size: var(--font-size-sm); color: var(--color-text-light); }
.cat-service__actions { display: flex; align-items: center; gap: 24px; }
.cat-service__link { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-primary-dark); }
.cat-service__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== CATALOG DOWNLOAD ==================== */
.cat-catalog { padding: 100px 0; background: var(--color-dark); }
.cat-catalog__inner { display: grid; grid-template-columns: 480px 1fr; gap: 60px; align-items: center; }
.cat-catalog__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.cat-catalog__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 24px; line-height: 1.6; }
.cat-catalog__form { background: var(--color-white); padding: 28px; border-radius: var(--radius); }
.cat-catalog__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.cat-catalog__field { display: flex; flex-direction: column; margin-bottom: 14px; }
.cat-catalog__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 5px; }
.cat-catalog__field input, .cat-catalog__field select { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; }
.cat-catalog__field input:focus, .cat-catalog__field select:focus { outline: none; border-color: var(--color-primary); }
.cat-catalog__field input.error, .cat-catalog__field select.error { border-color: var(--color-error); }
.cat-catalog__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 3px; min-height: 14px; }
.cat-catalog__privacy { font-size: var(--font-size-xs); color: var(--color-text-light); margin-bottom: 14px; }
.cat-catalog__submit-text { display: inline; }
.cat-catalog__submit-loading { display: none; }
button.is-loading .cat-catalog__submit-text { display: none; }
button.is-loading .cat-catalog__submit-loading { display: inline; }
.cat-catalog__success { text-align: center; background: var(--color-white); padding: 32px; border-radius: var(--radius); }
.cat-catalog__success[hidden] { display: none; }
.cat-catalog__success h3 { font-size: 22px; font-weight: 700; color: var(--color-dark); margin: 12px 0 8px; }
.cat-catalog__success p { font-size: 14px; color: var(--color-text-light); }

/* ==================== CATEGORY FAQ ==================== */
.cat-faq { padding: 100px 0; background: var(--color-white); }
.cat-faq__list { max-width: 800px; margin: 0 auto; }
.cat-faq__item { border-bottom: 1px solid var(--color-border); }
.cat-faq__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 20px 0; text-align: left; font-family: var(--font-heading); font-size: 16px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); gap: 16px; }
.cat-faq__trigger svg { flex-shrink: 0; transition: transform var(--transition); }
.cat-faq__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.cat-faq__trigger[aria-expanded="true"] { color: var(--color-primary-dark); }
.cat-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.cat-faq__answer[aria-hidden="false"] { max-height: 300px; }
.cat-faq__answer p { font-size: 15px; color: var(--color-text-light); line-height: 1.6; padding-bottom: 20px; }

/* ==================== RELATED CATEGORIES ==================== */
.cat-related { padding: 100px 0; background: var(--color-bg-light); }
.cat-related__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.cat-related__card { background: var(--color-white); border-radius: var(--radius); overflow: hidden; transition: all var(--transition); display: block; }
.cat-related__card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.08); transform: translateY(-4px); }
.cat-related__img { aspect-ratio: 16/11; overflow: hidden; background: var(--color-white); }
.cat-related__img img { width: 100%; height: 100%; object-fit: contain; padding: 12px; transition: transform 0.5s ease; }
.cat-related__card:hover .cat-related__img img { transform: scale(1.05); }
.cat-related__card h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 14px 16px 4px; }
.cat-related__card p { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 0 16px; line-height: 1.4; }
.cat-related__link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); padding: 10px 16px 16px; }

/* ==================== CATEGORY FINAL CTA ==================== */
.cat-final-cta { position: relative; padding: 80px 0; overflow: hidden; }
.cat-final-cta__bg { position: absolute; inset: 0; }
.cat-final-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.cat-final-cta__overlay { position: absolute; inset: 0; background: rgba(23,25,28,0.9); }
.cat-final-cta__content { position: relative; z-index: 2; text-align: center; max-width: 700px; margin: 0 auto; }
.cat-final-cta__text { font-size: 17px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.cat-final-cta__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-bottom: 28px; }
.cat-final-cta__benefits span { font-size: var(--font-size-sm); color: rgba(255,255,255,0.8); }
.cat-final-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* ==================== CATEGORY QUOTE ==================== */
.cat-quote { padding: 100px 0; background: var(--color-bg-light); }
.cat-quote__wrap { max-width: 800px; margin: 0 auto; }
.cat-quote__inner {
  display: grid;
  grid-template-columns: minmax(320px, 0.86fr) minmax(520px, 1.14fr);
  gap: 0;
  align-items: stretch;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 22px 55px rgba(23,25,28,0.08);
}
.cat-quote__content {
  position: relative;
  padding: 42px;
  background: var(--color-dark);
  color: var(--color-white);
  overflow: hidden;
}
.cat-quote__content .section-label { color: var(--color-primary); }
.cat-quote__content .section-title {
  color: var(--color-white);
  font-size: clamp(34px, 4vw, 58px);
  line-height: 0.96;
  margin: 18px 0 20px;
}
.cat-quote__content p {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,0.74);
  font-size: 16px;
  line-height: 1.7;
  max-width: 520px;
}
.cat-quote__content p::after {
  content: "Response within 1 business day";
  display: inline-flex;
  margin-top: 28px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.cat-quote__inner .quote-form {
  padding: 42px;
  border-radius: 0;
  background: var(--color-white);
}
.cat-quote__inner .quote-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.cat-quote__inner .quote-form input,
.cat-quote__inner .quote-form textarea {
  width: 100%;
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid #d9dee4;
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
}
.cat-quote__inner .quote-form textarea {
  grid-column: 1 / -1;
  min-height: 118px;
  resize: vertical;
}
.cat-quote__inner .quote-form input:focus,
.cat-quote__inner .quote-form textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(245,180,0,0.16);
}
.cat-quote__inner .quote-form .btn {
  width: auto;
  min-width: 220px;
  height: 54px;
  margin-top: 18px;
  border-radius: 12px;
  justify-content: center;
}

/* ==================== CATEGORY RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .cat-intro__inner { grid-template-columns: 460px 1fr; gap: 40px; }
  .cat-advantages__grid { grid-template-columns: repeat(3, 1fr); }
  .cat-guide__grid { grid-template-columns: repeat(2, 1fr); }
  .cat-related__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 992px) {
  .cat-hero { min-height: 480px; max-height: 560px; }
  .cat-intro { padding: 64px 0; }
  .cat-intro__inner { grid-template-columns: 1fr; gap: 32px; }
  .cat-finder { padding: 64px 0; }
  .cat-finder__controls { grid-template-columns: 1fr; gap: 14px; padding: 18px; border-radius: 18px; }
  .cat-finder__mobile-toggle { grid-column: 1; grid-row: 1; display: flex; }
  .cat-finder__panel { grid-column: 1; grid-row: auto; display: none; grid-template-columns: 1fr; gap: 12px; padding-top: 4px; }
  .cat-finder__panel.is-open { display: grid; }
  .cat-finder__group { padding: 14px; }
  .cat-finder__actions { grid-column: 1; grid-row: auto; justify-content: stretch; min-width: 0; padding-bottom: 0; }
  .cat-finder__actions .btn { flex: 1; }
  .cat-finder__result-info { position: absolute; grid-column: auto; grid-row: auto; top: 16px; right: 18px; min-width: 118px; height: 38px; font-size: 11px; }
  .cat-finder__result-info span { font-size: 16px; }
  .cat-finder__apply-mobile { display: flex; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-advantages { padding: 64px 0; }
  .cat-systems { padding: 64px 0; }
  .cat-systems__tabs { display: none; }
  .cat-systems__accordion { display: block; }
  .cat-apps { padding: 64px 0; }
  .cat-apps__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .cat-apps__card--large { grid-column: span 2; grid-row: span 1; min-height: 320px; }
  .cat-apps__card-rec { opacity: 1; transform: translateY(0); }
  .cat-apps__card-link { opacity: 1; }
  .cat-attachments { padding: 64px 0; }
  .cat-oem { padding: 64px 0; }
  .cat-oem__inner { grid-template-columns: 1fr; gap: 32px; }
  .cat-oem__image { order: -1; }
  .cat-guide { padding: 64px 0; }
  .cat-guide__grid { grid-template-columns: 1fr 1fr; }
  .cat-dealers { padding: 64px 0; }
  .cat-mfg { padding: 64px 0; }
  .cat-mfg__inner { grid-template-columns: 1fr; gap: 32px; }
  .cat-mfg__images { order: -1; flex-direction: row; }
  .cat-shipping { padding: 64px 0; }
  .cat-shipping__grid { grid-template-columns: repeat(3, 1fr); }
  .cat-service { padding: 64px 0; }
  .cat-service__inner { grid-template-columns: 1fr; gap: 32px; }
  .cat-service__image { order: -1; }
  .cat-catalog { padding: 64px 0; }
  .cat-catalog__inner { grid-template-columns: 1fr; gap: 32px; }
  .cat-faq { padding: 64px 0; }
  .cat-related { padding: 64px 0; }
  .cat-final-cta { padding: 64px 0; }
  .cat-quote { padding: 64px 0; }
  .cat-quote__inner { grid-template-columns: 1fr; border-radius: 20px; }
  .cat-quote__content { padding: 34px; }
  .cat-quote__inner .quote-form { padding: 34px; }
}
@media (max-width: 768px) {
  .cat-hero__title { font-size: clamp(24px, 6vw, 36px); }
  .cat-hero__buttons { flex-direction: column; }
  .cat-hero__buttons .btn { width: 100%; }
  .cat-hero__tags { display: none; }
  .cat-finder__controls { padding: 16px; }
  .cat-finder__mobile-toggle { font-size: 16px; padding-right: 126px; }
  .cat-finder__result-info { right: 16px; min-width: 110px; padding: 0 12px; }
  .cat-finder__opt { width: 100%; justify-content: flex-start; margin-right: 0; }
  .cat-finder__actions { flex-direction: column; }
  .cat-finder__actions .btn { width: 100%; }
  .cat-grid { grid-template-columns: 1fr; }
  .cat-advantages__grid { grid-template-columns: 1fr; }
  .cat-apps__grid { grid-template-columns: 1fr; }
  .cat-apps__card--large { grid-column: span 1; min-height: 260px; }
  .cat-guide__grid { grid-template-columns: 1fr; }
  .cat-guide__form-wrap { padding: 24px; }
  .cat-guide__form-row { grid-template-columns: 1fr; }
  .cat-dealers__grid { grid-template-columns: 1fr; gap: 28px; }
  .cat-dealers__actions { flex-direction: column; }
  .cat-dealers__actions .btn { width: 100%; }
  .cat-shipping__grid { grid-template-columns: repeat(2, 1fr); }
  .cat-shipping__methods { flex-wrap: wrap; justify-content: center; }
  .cat-mfg__images { flex-direction: column; }
  .cat-mfg__actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cat-oem__options { gap: 6px; }
  .cat-oem__options span { font-size: 11px; padding: 5px 10px; }
  .cat-oem__actions { flex-direction: column; }
  .cat-oem__actions .btn { width: 100%; }
  .cat-related__grid { grid-template-columns: 1fr; }
  .cat-final-cta__benefits { flex-direction: column; align-items: center; }
  .cat-final-cta__buttons { flex-direction: column; }
  .cat-final-cta__buttons .btn { width: 100%; max-width: 360px; }
  .cat-catalog__form-row { grid-template-columns: 1fr; }
  .cat-service__items { grid-template-columns: 1fr; }
  .cat-service__actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cat-quote__content,
  .cat-quote__inner .quote-form { padding: 24px; }
  .cat-quote__content .section-title { font-size: clamp(30px, 10vw, 42px); }
  .cat-quote__inner .quote-form__grid { grid-template-columns: 1fr; }
  .cat-quote__inner .quote-form .btn { width: 100%; }
}
@media (max-width: 480px) {
  .cat-shipping__grid { grid-template-columns: 1fr; }
  .cat-attachments__item { flex: 0 0 200px; }
}

/* ==================== PRODUCT DETAIL: MAIN SECTION ==================== */
.pd-main { padding: 40px 0 60px; background: var(--color-white); }
.pd-main__inner { display: grid; grid-template-columns: 58% 42%; gap: 48px; align-items: flex-start; }
.pd-gallery { position: relative; }
.pd-gallery__main { position: relative; background: var(--color-white); border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; }
.pd-gallery__main img { width: 100%; height: 100%; object-fit: contain; padding: 16px; transition: opacity 0.3s ease; }
.pd-gallery__badge { position: absolute; top: 12px; left: 12px; padding: 4px 10px; background: var(--color-primary); color: var(--color-dark); font-family: var(--font-heading); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; border-radius: var(--radius); z-index: 2; }
.pd-gallery__thumbs { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.pd-gallery__thumb { flex: 0 0 72px; height: 54px; border: 2px solid var(--color-border); border-radius: var(--radius); overflow: hidden; cursor: pointer; background: var(--color-white); transition: border-color var(--transition); display: flex; align-items: center; justify-content: center; }
.pd-gallery__thumb:hover { border-color: var(--color-primary-dark); }
.pd-gallery__thumb--active { border-color: var(--color-primary); }
.pd-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.pd-gallery__thumb--video { background: var(--color-dark); color: var(--color-white); }

.pd-info__category { font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-primary-dark); margin-bottom: 8px; }
.pd-info__title { font-size: clamp(24px, 3vw, 36px); font-weight: 800; text-transform: uppercase; color: var(--color-dark); margin-bottom: 12px; line-height: 1.1; }
.pd-info__desc { font-size: 15px; color: var(--color-text-light); margin-bottom: 16px; line-height: 1.6; }
.pd-info__meta { margin-bottom: 16px; }
.pd-info__meta-row { font-size: var(--font-size-sm); padding: 4px 0; }
.pd-info__meta-row span:first-child { color: var(--color-text-light); min-width: 100px; }
.pd-info__meta-row strong { color: var(--color-dark); }
.pd-info__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: 12px 0; margin-bottom: 14px; }
.pd-info__spec { padding: 6px 0; }
.pd-info__spec-label { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); margin-bottom: 2px; }
.pd-info__spec-value { font-family: var(--font-heading); font-size: 15px; font-weight: 700; color: var(--color-dark); }
.pd-info__features { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.pd-info__features span { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-text); text-transform: uppercase; letter-spacing: 0.03em; }
.pd-info__actions { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.pd-info__actions .btn { width: 100%; }
.pd-info__whatsapp { display: flex; align-items: center; gap: 8px; }
.pd-info__download { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); text-align: center; }
.pd-info__note { font-size: var(--font-size-xs); color: var(--color-text-light); margin-top: 6px; line-height: 1.4; }

/* ==================== PRODUCT DETAIL: TRUST STRIP ==================== */
.pd-trust { padding: 20px 0; background: var(--color-bg-light); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.pd-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.pd-trust__item strong { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 2px; }
.pd-trust__item span { font-size: var(--font-size-xs); color: var(--color-text-light); }

/* ==================== PRODUCT DETAIL: STICKY NAV ==================== */
.pd-sticky { background: var(--color-white); border-bottom: 1px solid var(--color-border); position: sticky; top: var(--header-height); z-index: 99; }
.pd-sticky__list { display: flex; gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.pd-sticky__list::-webkit-scrollbar { display: none; }
.pd-sticky__link { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); padding: 14px 14px; white-space: nowrap; border-bottom: 2px solid transparent; transition: all var(--transition); }
.pd-sticky__link:hover { color: var(--color-dark); }
.pd-sticky__link--active { color: var(--color-primary-dark); border-bottom-color: var(--color-primary); }

/* ==================== PRODUCT DETAIL: OVERVIEW ==================== */
.pd-overview { padding: 80px 0; background: var(--color-white); }
.pd-overview__inner { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.pd-overview__content .section-title { text-align: left; }
.pd-overview__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.pd-overview__meta { margin: 20px 0; }
.pd-overview__meta-group { margin-bottom: 14px; }
.pd-overview__meta-group h3 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 8px; }
.pd-overview__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pd-overview__tags span { font-size: var(--font-size-xs); color: var(--color-text); }
.pd-overview__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== PRODUCT DETAIL: HIGHLIGHTS ==================== */
.pd-highlights { padding: 80px 0; background: var(--color-dark); }
.pd-highlights__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pd-highlights__item { background: var(--color-dark-2); border-radius: var(--radius); overflow: hidden; }
.pd-highlights__img { height: 260px; overflow: hidden; }
.pd-highlights__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.pd-highlights__item:hover .pd-highlights__img img { transform: scale(1.05); }
.pd-highlights__num { display: block; font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); padding: 14px 18px 0; line-height: 1; }
.pd-highlights__item h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-white); padding: 6px 18px 0; }
.pd-highlights__item p { font-size: var(--font-size-xs); color: rgba(255,255,255,0.6); padding: 4px 18px 16px; line-height: 1.5; }

/* ==================== PRODUCT DETAIL: SPECIFICATIONS ==================== */
.pd-specs { padding: 80px 0; background: var(--color-bg-light); }
.pd-specs__groups { max-width: 900px; margin: 0 auto; }
.pd-specs__group { margin-bottom: 4px; background: var(--color-white); border-radius: var(--radius); overflow: hidden; }
.pd-specs__group-header { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 20px; text-align: left; }
.pd-specs__group-header h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); }
.pd-specs__group-header svg { transition: transform var(--transition); flex-shrink: 0; }
.pd-specs__group--open .pd-specs__group-header svg { transform: rotate(180deg); }
.pd-specs__group-body { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.pd-specs__group--open .pd-specs__group-body { max-height: 600px; }
.pd-specs__table { width: 100%; }
.pd-specs__table td { padding: 10px 20px; font-size: 14px; border-top: 1px solid var(--color-border); }
.pd-specs__table td:first-child { font-weight: 600; color: var(--color-dark); width: 50%; }
.pd-specs__table td:last-child { color: var(--color-text-light); }
.pd-specs__actions { display: flex; justify-content: center; gap: 12px; margin-top: 32px; flex-wrap: wrap; }

/* ==================== PRODUCT DETAIL: DIMENSIONS ==================== */
.pd-dimensions { padding: 80px 0; background: var(--color-white); }
.pd-dimensions__inner { display: grid; grid-template-columns: 1fr 400px; gap: 40px; align-items: center; margin-top: 40px; }
.pd-dimensions__image img { width: 100%; border-radius: var(--radius); cursor: zoom-in; }
.pd-dimensions__table table { width: 100%; }
.pd-dimensions__table td { padding: 8px 12px; font-size: 14px; border-bottom: 1px solid var(--color-border); }
.pd-dimensions__table td:first-child { font-family: var(--font-heading); font-weight: 800; color: var(--color-primary); width: 30px; }
.pd-dimensions__table td:nth-child(2) { font-weight: 600; color: var(--color-dark); }
.pd-dimensions__table td:last-child { color: var(--color-text-light); text-align: right; }
.pd-dimensions__actions { display: flex; justify-content: center; gap: 12px; margin-top: 24px; }

/* ==================== PRODUCT DETAIL: GALLERY GRID ==================== */
.pd-gallery-section { padding: 80px 0; background: var(--color-bg-light); }
.pd-gallery-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 12px; }
.pd-gallery-grid__large { grid-row: span 2; border-radius: var(--radius); overflow: hidden; }
.pd-gallery-grid__large img, .pd-gallery-grid__small img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); cursor: zoom-in; transition: transform 0.5s ease; }
.pd-gallery-grid__large:hover img, .pd-gallery-grid__small:hover img { transform: scale(1.03); }
.pd-gallery-grid__small { border-radius: var(--radius); overflow: hidden; height: 260px; }

.pd-overview__image,
.pd-highlights__img,
.pd-gallery-grid__large,
.pd-gallery-grid__small {
  background: var(--color-white);
}

.pd-overview__image img,
.pd-highlights__img img,
.pd-gallery-grid__large img,
.pd-gallery-grid__small img {
  object-fit: contain;
  padding: 12px;
}

/* ==================== PRODUCT DETAIL: SYSTEMS ==================== */
.pd-systems { padding: 80px 0; background: var(--color-dark); }
.pd-systems__tabs { display: flex; gap: 4px; margin-bottom: 24px; overflow-x: auto; }
.pd-systems__tab { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.15); border-radius: var(--radius); transition: all var(--transition); cursor: pointer; white-space: nowrap; }
.pd-systems__tab:hover { border-color: rgba(255,255,255,0.4); color: rgba(255,255,255,0.8); }
.pd-systems__tab--active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-dark); }
.pd-systems__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.pd-systems__panel--active { display: grid; grid-template-columns: 1fr 1fr; }
.pd-systems__panel img { width: 100%; height: 400px; object-fit: cover; }
.pd-systems__panel-info { padding: 32px; background: var(--color-dark-2); }
.pd-systems__panel-info h3 { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 10px; }
.pd-systems__panel-info p { font-size: 14px; color: rgba(255,255,255,0.7); margin-bottom: 16px; line-height: 1.6; }
.pd-systems__panel-info ul { margin-bottom: 20px; }
.pd-systems__panel-info li { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); padding: 3px 0; padding-left: 14px; position: relative; }
.pd-systems__panel-info li::before { content: ''; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.pd-systems__accordion { display: none; }
.pd-systems__acc-item { border-bottom: 1px solid rgba(255,255,255,0.1); }
.pd-systems__acc-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; font-family: var(--font-heading); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--color-white); text-align: left; }
.pd-systems__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; color: rgba(255,255,255,0.5); }
.pd-systems__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.pd-systems__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.pd-systems__acc-content[aria-hidden="false"] { max-height: 400px; }
.pd-systems__acc-content img { width: 100%; height: 220px; object-fit: cover; border-radius: var(--radius); margin-bottom: 10px; }
.pd-systems__acc-content p { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); line-height: 1.5; padding-bottom: 16px; }

/* ==================== PRODUCT DETAIL: APPLICATIONS ==================== */
.pd-apps { padding: 80px 0; background: var(--color-white); }
.pd-apps__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; grid-template-rows: auto auto; gap: 12px; }
.pd-apps__card { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 240px; }
.pd-apps__card--large { grid-row: span 2; min-height: 492px; }
.pd-apps__card-img { position: absolute; inset: 0; }
.pd-apps__card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.pd-apps__card:hover .pd-apps__card-img img { transform: scale(1.05); }
.pd-apps__card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(23,25,28,0.85) 0%, rgba(23,25,28,0.2) 60%); z-index: 1; }
.pd-apps__card-content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 24px; }
.pd-apps__card--large .pd-apps__card-content { padding: 36px; }
.pd-apps__card-content h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 4px; }
.pd-apps__card--large .pd-apps__card-content h3 { font-size: 24px; }
.pd-apps__card-content p { font-size: var(--font-size-sm); color: rgba(255,255,255,0.7); margin-bottom: 8px; line-height: 1.5; }
.pd-apps__card-rec { font-size: var(--font-size-xs); color: rgba(255,255,255,0.6); margin-bottom: 4px; opacity: 0; transform: translateY(6px); transition: all 0.3s ease; }
.pd-apps__card:hover .pd-apps__card-rec { opacity: 1; transform: translateY(0); }
.pd-apps__card-rec-label { color: var(--color-primary); font-weight: 600; font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; margin-right: 4px; }
.pd-apps__card-link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary); opacity: 0; transition: opacity 0.3s ease; margin-top: 4px; }
.pd-apps__card:hover .pd-apps__card-link { opacity: 1; }

/* ==================== PRODUCT DETAIL: ATTACHMENTS ==================== */
.pd-attachments { padding: 80px 0; background: var(--color-bg-light); }
.pd-attachments__slider { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -24px; padding: 0 24px; }
.pd-attachments__track { display: flex; gap: 14px; padding-bottom: 8px; }
.pd-attachments__item { flex: 0 0 220px; background: var(--color-white); border-radius: var(--radius); overflow: hidden; }
.pd-attachments__img { height: 160px; overflow: hidden; background: var(--color-white); display: flex; align-items: center; justify-content: center; }
.pd-attachments__img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.pd-attachments__item h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 10px 14px 2px; }
.pd-attachments__item p { font-size: var(--font-size-xs); color: var(--color-text-light); padding: 0 14px; line-height: 1.4; }
.pd-attachments__compat { display: block; font-size: 10px; color: var(--color-primary-dark); padding: 6px 14px 0; font-weight: 600; }
.pd-attachments__link { display: block; font-family: var(--font-heading); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-primary-dark); padding: 6px 14px 12px; }

/* ==================== PRODUCT DETAIL: CONFIGURATION ==================== */
.pd-config { padding: 80px 0; background: var(--color-white); }
.pd-config__inner { display: grid; grid-template-columns: 1fr 480px; gap: 60px; align-items: center; }
.pd-config__text { font-size: 16px; color: var(--color-text-light); margin-bottom: 18px; line-height: 1.7; }
.pd-config__options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.pd-config__options span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text); }
.pd-config__actions { display: flex; gap: 12px; }
.pd-config__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== PRODUCT DETAIL: COMPARISON ==================== */
.pd-comparison { padding: 80px 0; background: var(--color-dark); }
.pd-comparison__table-wrap { overflow-x: auto; margin-top: 32px; }
.pd-comparison__table { width: 100%; min-width: 640px; border-collapse: collapse; }
.pd-comparison__table th, .pd-comparison__table td { padding: 12px 16px; font-size: 13px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.1); }
.pd-comparison__table th { font-family: var(--font-heading); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-white); background: var(--color-dark-2); }
.pd-comparison__table th small { display: block; font-weight: 400; font-size: 10px; color: rgba(255,255,255,0.5); text-transform: none; }
.pd-comparison__table td { color: rgba(255,255,255,0.6); }
.pd-comparison__table td:first-child { font-weight: 600; color: rgba(255,255,255,0.8); }
.pd-comparison__note { text-align: center; font-size: 14px; color: rgba(255,255,255,0.5); margin-top: 20px; }
.pd-comparison__note a { color: var(--color-primary); }

/* ==================== PRODUCT DETAIL: BUYING GUIDE ==================== */
.pd-guide { padding: 80px 0; background: var(--color-bg-light); }
.pd-guide__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 32px; }
.pd-guide__item { padding: 24px; background: var(--color-white); border-radius: var(--radius); }
.pd-guide__item span { display: block; font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); margin-bottom: 6px; line-height: 1; }
.pd-guide__item h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 4px; }
.pd-guide__item p { font-size: var(--font-size-sm); color: var(--color-text-light); line-height: 1.5; }
.pd-guide__cta { display: flex; justify-content: center; gap: 12px; }

/* ==================== PRODUCT DETAIL: MANUFACTURING ==================== */
.pd-mfg { padding: 80px 0; background: var(--color-white); }
.pd-mfg__inner { display: grid; grid-template-columns: 1fr 480px; gap: 60px; align-items: center; }
.pd-mfg__text { font-size: 15px; color: var(--color-text-light); margin-bottom: 20px; line-height: 1.7; }
.pd-mfg__steps { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.pd-mfg__step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text-light); }
.pd-mfg__step span { font-size: 15px; font-weight: 800; color: var(--color-primary); }
.pd-mfg__actions { display: flex; align-items: center; gap: 20px; }
.pd-mfg__link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }
.pd-mfg__images { display: flex; flex-direction: column; gap: 12px; }
.pd-mfg__images img { width: 100%; height: 230px; object-fit: cover; border-radius: var(--radius); }

/* ==================== PRODUCT DETAIL: SHIPPING ==================== */
.pd-shipping { padding: 80px 0; background: var(--color-bg-light); }
.pd-shipping__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; margin-bottom: 20px; }
.pd-shipping__step { text-align: center; padding: 16px 8px; background: var(--color-white); border-radius: var(--radius); }
.pd-shipping__step span { display: block; font-family: var(--font-heading); font-size: 24px; font-weight: 800; color: var(--color-primary); margin-bottom: 6px; }
.pd-shipping__step h3 { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-dark); }
.pd-shipping__methods { display: flex; justify-content: center; gap: 10px; margin-bottom: 24px; }
.pd-shipping__methods span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text); }
.pd-shipping__form-wrap { max-width: 640px; margin: 0 auto; background: var(--color-white); padding: 32px; border-radius: var(--radius); }
.pd-shipping__form-wrap h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); text-align: center; margin-bottom: 20px; }
.pd-shipping__form { display: flex; flex-direction: column; gap: 14px; }
.pd-shipping__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pd-shipping__field { display: flex; flex-direction: column; }
.pd-shipping__field label { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-text); margin-bottom: 4px; }
.pd-shipping__field input { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; }
.pd-shipping__field input:focus { outline: none; border-color: var(--color-primary); }
.pd-shipping__field input[readonly] { background: var(--color-bg-light); color: var(--color-text-light); }
.pd-shipping__field input.error { border-color: var(--color-error); }
.pd-shipping__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 2px; min-height: 14px; }
.pd-shipping__success { text-align: center; padding: 24px; }
.pd-shipping__success[hidden] { display: none; }
.pd-shipping__success h3 { font-size: 20px; font-weight: 700; color: var(--color-dark); margin: 12px 0 6px; }
.pd-shipping__success p { font-size: 14px; color: var(--color-text-light); }

/* ==================== PRODUCT DETAIL: SERVICE ==================== */
.pd-service { padding: 80px 0; background: var(--color-dark); }
.pd-service__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 32px; }
.pd-service__item { padding: 24px; background: var(--color-dark-2); border-radius: var(--radius); }
.pd-service__item h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 6px; }
.pd-service__item p { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); line-height: 1.5; }
.pd-service__actions { display: flex; justify-content: center; gap: 12px; margin-top: 32px; }

/* ==================== PRODUCT DETAIL: DOWNLOADS ==================== */
.pd-downloads { padding: 80px 0; background: var(--color-white); }
.pd-downloads__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 32px; }
.pd-downloads__item { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--color-border); font-size: 14px; color: var(--color-dark); }
.pd-downloads__status { font-size: var(--font-size-xs); color: var(--color-primary-dark); font-weight: 600; }
.pd-downloads__form-wrap { background: var(--color-bg-light); padding: 28px; border-radius: var(--radius); }
.pd-downloads__form { display: flex; flex-direction: column; gap: 14px; }
.pd-downloads__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pd-downloads__field { display: flex; flex-direction: column; }
.pd-downloads__field label { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-text); margin-bottom: 4px; }
.pd-downloads__field input, .pd-downloads__field select { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; background: var(--color-white); }
.pd-downloads__field input:focus, .pd-downloads__field select:focus { outline: none; border-color: var(--color-primary); }
.pd-downloads__field input.error, .pd-downloads__field select.error { border-color: var(--color-error); }
.pd-downloads__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 2px; min-height: 14px; }
.pd-downloads__success { text-align: center; padding: 24px; }
.pd-downloads__success[hidden] { display: none; }
.pd-downloads__success h3 { font-size: 20px; font-weight: 700; color: var(--color-dark); margin: 12px 0 6px; }
.pd-downloads__success p { font-size: 14px; color: var(--color-text-light); }

/* ==================== PRODUCT DETAIL: FAQ ==================== */
.pd-faq { padding: 80px 0; background: var(--color-bg-light); }
.pd-faq__list { max-width: 800px; margin: 0 auto; }
.pd-faq__item { border-bottom: 1px solid var(--color-border); }
.pd-faq__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 18px 0; text-align: left; font-family: var(--font-heading); font-size: 15px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); gap: 16px; }
.pd-faq__trigger svg { flex-shrink: 0; transition: transform var(--transition); }
.pd-faq__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.pd-faq__trigger[aria-expanded="true"] { color: var(--color-primary-dark); }
.pd-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.pd-faq__answer[aria-hidden="false"] { max-height: 300px; }
.pd-faq__answer p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; padding-bottom: 18px; }

/* ==================== PRODUCT DETAIL: RELATED ==================== */
.pd-related { padding: 80px 0; background: var(--color-white); }
.pd-related__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pd-related__card { background: var(--color-bg-light); border-radius: var(--radius); overflow: hidden; transition: all var(--transition); display: block; }
.pd-related__card:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.08); transform: translateY(-3px); }
.pd-related__img { aspect-ratio: 16/11; overflow: hidden; background: var(--color-white); }
.pd-related__img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform 0.5s ease; }
.pd-related__card:hover .pd-related__img img { transform: scale(1.05); }
.pd-related__category { display: block; font-family: var(--font-heading); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-primary-dark); padding: 10px 14px 0; }
.pd-related__card h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 4px 14px 0; }
.pd-related__card p { font-size: var(--font-size-xs); color: var(--color-text-light); padding: 2px 14px; line-height: 1.4; }
.pd-related__link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); padding: 8px 14px 14px; }

/* ==================== PRODUCT DETAIL: FINAL CTA ==================== */
.pd-final-cta { position: relative; padding: 80px 0; overflow: hidden; }
.pd-final-cta__bg { position: absolute; inset: 0; }
.pd-final-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.pd-final-cta__overlay { position: absolute; inset: 0; background: rgba(23,25,28,0.9); }
.pd-final-cta__content { position: relative; z-index: 2; text-align: center; max-width: 700px; margin: 0 auto; }
.pd-final-cta__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.pd-final-cta__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 24px; }
.pd-final-cta__benefits span { font-size: var(--font-size-xs); color: rgba(255,255,255,0.8); }
.pd-final-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ==================== PRODUCT DETAIL: QUOTE FORM ==================== */
.pd-quote { padding: 80px 0; background: var(--color-bg-light); }
.pd-quote__wrap { max-width: 800px; margin: 0 auto; }

/* ==================== PRODUCT DETAIL: LIGHTBOX ==================== */
.pd-lightbox__content { position: relative; display: flex; align-items: center; justify-content: center; width: 90vw; max-width: 1100px; max-height: 85vh; }
.pd-lightbox__content img { max-width: 100%; max-height: 80vh; object-fit: contain; border-radius: var(--radius); }
.pd-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.5); color: var(--color-white); border-radius: var(--radius); transition: background var(--transition); }
.pd-lightbox__nav:hover { background: rgba(0,0,0,0.8); }
.pd-lightbox__nav--prev { left: -60px; }
.pd-lightbox__nav--next { right: -60px; }
.pd-lightbox__counter { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); }

/* ==================== PRODUCT DETAIL: QUICK QUOTE DRAWER ==================== */
.pd-qq-drawer { position: fixed; inset: 0; z-index: 5000; }
.pd-qq-drawer[hidden] { display: none; }
.pd-qq-drawer__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.pd-qq-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: 420px; max-width: 90vw; background: var(--color-white); overflow-y: auto; padding: 28px; }
.pd-qq-drawer__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.pd-qq-drawer__header h2 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); }
.pd-qq-drawer__close { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: var(--color-text); }
.pd-qq-drawer__form { display: flex; flex-direction: column; gap: 14px; }
.pd-qq-drawer__field { display: flex; flex-direction: column; }
.pd-qq-drawer__field label { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-text); margin-bottom: 4px; }
.pd-qq-drawer__field input, .pd-qq-drawer__field select, .pd-qq-drawer__field textarea { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; }
.pd-qq-drawer__field input:focus, .pd-qq-drawer__field select:focus, .pd-qq-drawer__field textarea:focus { outline: none; border-color: var(--color-primary); }
.pd-qq-drawer__field input.error { border-color: var(--color-error); }
.pd-qq-drawer__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 2px; min-height: 14px; }
.pd-qq-drawer__success { text-align: center; padding: 40px 20px; }
.pd-qq-drawer__success[hidden] { display: none; }
.pd-qq-drawer__success h3 { font-size: 20px; font-weight: 700; color: var(--color-dark); margin: 12px 0 6px; }
.pd-qq-drawer__success p { font-size: 14px; color: var(--color-text-light); }

/* ==================== PRODUCT DETAIL: DESKTOP BAR ==================== */
.pd-desktop-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 998; background: var(--color-white); box-shadow: 0 -2px 12px rgba(0,0,0,0.1); padding: 10px 0; }
.pd-desktop-bar[hidden] { display: none; }
.pd-desktop-bar__inner { display: flex; align-items: center; gap: 16px; }
.pd-desktop-bar__img { width: 48px; height: 36px; object-fit: contain; background: var(--color-white); border-radius: var(--radius); }
.pd-desktop-bar__name { font-family: var(--font-heading); font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-right: auto; }
.pd-desktop-bar__close { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--color-text-light); margin-left: 8px; }

/* ==================== PRODUCT DETAIL RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .pd-main__inner { grid-template-columns: 55% 45%; gap: 32px; }
  .pd-overview__inner { grid-template-columns: 1fr 420px; gap: 40px; }
  .pd-config__inner { grid-template-columns: 1fr 420px; gap: 40px; }
  .pd-mfg__inner { grid-template-columns: 1fr 400px; gap: 40px; }
  .pd-dimensions__inner { grid-template-columns: 1fr 360px; }
}
@media (max-width: 992px) {
  .pd-main { padding: 24px 0 48px; }
  .pd-main__inner { grid-template-columns: 1fr; gap: 32px; }
  .pd-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pd-overview { padding: 64px 0; }
  .pd-overview__inner { grid-template-columns: 1fr; gap: 32px; }
  .pd-highlights { padding: 64px 0; }
  .pd-highlights__grid { grid-template-columns: repeat(2, 1fr); }
  .pd-specs { padding: 64px 0; }
  .pd-dimensions { padding: 64px 0; }
  .pd-dimensions__inner { grid-template-columns: 1fr; gap: 24px; }
  .pd-gallery-section { padding: 64px 0; }
  .pd-systems { padding: 64px 0; }
  .pd-systems__tabs { display: none; }
  .pd-systems__accordion { display: block; }
  .pd-apps { padding: 64px 0; }
  .pd-apps__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .pd-apps__card--large { grid-column: span 2; grid-row: span 1; min-height: 300px; }
  .pd-apps__card-rec { opacity: 1; transform: translateY(0); }
  .pd-apps__card-link { opacity: 1; }
  .pd-attachments { padding: 64px 0; }
  .pd-config { padding: 64px 0; }
  .pd-config__inner { grid-template-columns: 1fr; gap: 32px; }
  .pd-config__image { order: -1; }
  .pd-comparison { padding: 64px 0; }
  .pd-guide { padding: 64px 0; }
  .pd-guide__grid { grid-template-columns: repeat(2, 1fr); }
  .pd-mfg { padding: 64px 0; }
  .pd-mfg__inner { grid-template-columns: 1fr; gap: 32px; }
  .pd-mfg__images { order: -1; flex-direction: row; }
  .pd-shipping { padding: 64px 0; }
  .pd-shipping__grid { grid-template-columns: repeat(4, 1fr); }
  .pd-service { padding: 64px 0; }
  .pd-service__grid { grid-template-columns: repeat(2, 1fr); }
  .pd-downloads { padding: 64px 0; }
  .pd-downloads__inner { grid-template-columns: 1fr; gap: 32px; }
  .pd-faq { padding: 64px 0; }
  .pd-related { padding: 64px 0; }
  .pd-final-cta { padding: 64px 0; }
  .pd-quote { padding: 64px 0; }
  .pd-desktop-bar { display: none; }
}
@media (max-width: 768px) {
  .pd-info__specs { grid-template-columns: 1fr; }
  .pd-highlights__grid { grid-template-columns: 1fr; }
  .pd-apps__grid { grid-template-columns: 1fr; }
  .pd-apps__card--large { grid-column: span 1; min-height: 240px; }
  .pd-apps__card { min-height: 200px; }
  .pd-guide__grid { grid-template-columns: 1fr; }
  .pd-shipping__grid { grid-template-columns: repeat(2, 1fr); }
  .pd-shipping__form-row { grid-template-columns: 1fr; }
  .pd-shipping__methods { flex-wrap: wrap; }
  .pd-service__grid { grid-template-columns: 1fr; }
  .pd-service__actions { flex-direction: column; align-items: center; }
  .pd-related__grid { grid-template-columns: repeat(2, 1fr); }
  .pd-final-cta__benefits { flex-direction: column; align-items: center; }
  .pd-final-cta__buttons { flex-direction: column; }
  .pd-final-cta__buttons .btn { width: 100%; max-width: 360px; }
  .pd-downloads__form-row { grid-template-columns: 1fr; }
  .pd-mfg__images { flex-direction: column; }
  .pd-mfg__actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .pd-config__actions { flex-direction: column; }
  .pd-config__actions .btn { width: 100%; }
  .pd-config__options { gap: 5px; }
  .pd-config__options span { font-size: 10px; padding: 4px 8px; }
  .pd-dimensions__actions { flex-direction: column; align-items: center; }
  .pd-specs__actions { flex-direction: column; align-items: center; }
  .pd-guide__cta { flex-direction: column; align-items: center; }
  .pd-gallery-grid { grid-template-columns: 1fr 1fr; }
  .pd-gallery-grid__large { grid-column: span 2; grid-row: span 1; }
  .pd-gallery-grid__small { height: 220px; }
  .pd-lightbox__nav--prev { left: 8px; }
  .pd-lightbox__nav--next { right: 8px; }
  .pd-lightbox__nav { background: rgba(0,0,0,0.7); }
}
@media (max-width: 480px) {
  .pd-related__grid { grid-template-columns: 1fr; }
  .pd-shipping__grid { grid-template-columns: 1fr; }
  .pd-gallery-grid { grid-template-columns: 1fr; }
  .pd-gallery-grid__large { grid-column: span 1; }
  .pd-gallery-grid__small { height: 220px; }
  .pd-qq-drawer__panel { width: 100%; max-width: 100%; }
}

/* ==================== FACTORY HERO ==================== */
.fct-hero { position: relative; min-height: 580px; max-height: 680px; display: flex; align-items: center; overflow: hidden; background: var(--color-dark); }
.fct-hero__bg { position: absolute; inset: 0; }
.fct-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.fct-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.55) 50%, rgba(23,25,28,0.25) 100%); z-index: 1; }
.fct-hero__content { position: relative; z-index: 2; padding: 60px 0; max-width: 850px; }
.fct-hero__label { font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.15em; color: var(--color-primary); margin-bottom: 16px; text-transform: uppercase; }
.fct-hero__title { font-size: clamp(28px, 4vw, 52px); font-weight: 800; color: var(--color-white); text-transform: uppercase; line-height: 1.1; margin-bottom: 18px; letter-spacing: -0.01em; }
.fct-hero__text { font-size: 17px; color: rgba(255,255,255,0.75); margin-bottom: 24px; line-height: 1.65; max-width: 600px; }
.fct-hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.fct-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.fct-hero__tags span { font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.8); text-transform: uppercase; }

/* ==================== FACTORY STICKY NAV ==================== */
.fct-sticky { background: var(--color-white); border-bottom: 1px solid var(--color-border); position: sticky; top: var(--header-height); z-index: 99; }
.fct-sticky__list { display: flex; gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.fct-sticky__list::-webkit-scrollbar { display: none; }
.fct-sticky__link { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); padding: 14px 14px; white-space: nowrap; border-bottom: 2px solid transparent; transition: all var(--transition); }
.fct-sticky__link:hover { color: var(--color-dark); }
.fct-sticky__link--active { color: var(--color-primary-dark); border-bottom-color: var(--color-primary); }

/* ==================== FACTORY OVERVIEW ==================== */
.fct-overview { padding: 100px 0; background: var(--color-white); }
.fct-overview__inner { display: grid; grid-template-columns: 560px 1fr; gap: 60px; align-items: center; }
.fct-overview__images { display: flex; flex-direction: column; gap: 12px; }
.fct-overview__images > img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.fct-overview__images-small { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fct-overview__images-small img { width: 100%; height: 160px; object-fit: cover; border-radius: var(--radius); }
.fct-overview__content .section-title { text-align: left; }
.fct-overview__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.fct-overview__capabilities { margin: 24px 0; border-top: 1px solid var(--color-border); }
.fct-overview__cap { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.fct-overview__cap > span { flex-shrink: 0; width: 6px; height: 6px; background: var(--color-primary); border-radius: 50%; margin-top: 8px; }
.fct-overview__cap h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.fct-overview__cap p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; }
.fct-overview__actions { display: flex; align-items: center; gap: 20px; margin-top: 20px; }
.fct-overview__link { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }

/* ==================== FACTORY VIDEO ==================== */
.fct-video { padding: 80px 0; background: var(--color-dark); }
.fct-video__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.fct-video__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 24px; line-height: 1.7; }
.fct-video__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.fct-video__poster { position: relative; border-radius: var(--radius); overflow: hidden; cursor: pointer; }
.fct-video__poster img { width: 100%; display: block; }
.fct-video__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 72px; height: 72px; background: rgba(0,0,0,0.6); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all var(--transition); }
.fct-video__poster:hover .fct-video__play { background: var(--color-primary); }

/* ==================== FACTORY PROCESS ==================== */
.fct-process { padding: 100px 0; background: var(--color-bg-light); }
.fct-process__inner { display: grid; grid-template-columns: 280px 1fr; gap: 24px; margin-top: 40px; }
.fct-process__steps { display: flex; flex-direction: column; gap: 2px; }
.fct-process__step { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--color-white); border-left: 3px solid transparent; cursor: pointer; transition: all var(--transition); text-align: left; width: 100%; }
.fct-process__step:hover { background: rgba(245,180,0,0.05); }
.fct-process__step--active { border-left-color: var(--color-primary); background: var(--color-white); }
.fct-process__num { font-family: var(--font-heading); font-size: 18px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 28px; }
.fct-process__title { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text-light); }
.fct-process__step--active .fct-process__title { color: var(--color-dark); }
.fct-process__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.fct-process__panel--active { display: block; }
.fct-process__panel img { width: 100%; height: 560px; object-fit: cover; }
.fct-process__panel-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 32px; background: linear-gradient(to top, rgba(23,25,28,0.9) 0%, transparent 100%); }
.fct-process__panel-info span { font-family: var(--font-heading); font-size: 36px; font-weight: 800; color: var(--color-primary); opacity: 0.5; line-height: 1; }
.fct-process__panel-info h3 { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 6px; }
.fct-process__panel-info p { font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.5; }
.fct-process__accordion { display: none; }

/* ==================== FACTORY SECTIONS (Split) ==================== */
.fct-section { padding: 100px 0; }
.fct-section--light { background: var(--color-bg-light); }
.fct-section--dark { background: var(--color-dark); }
.fct-split { display: grid; grid-template-columns: 1fr 520px; gap: 60px; align-items: center; }
.fct-split--reverse { grid-template-columns: 520px 1fr; }
.fct-split--reverse .fct-split__content { order: 2; }
.fct-split--reverse .fct-split__images { order: 1; }
.fct-split__content .section-title { text-align: left; }
.fct-split__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.fct-split__text-light { font-size: 15px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.fct-split__items { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.fct-split__item h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 3px; }
.fct-split__item p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; line-height: 1.5; }
.fct-split__items--light .fct-split__item h3 { color: var(--color-white); }
.fct-split__items--light .fct-split__item p { color: rgba(255,255,255,0.6); }
.fct-split__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin: 16px 0; }
.fct-split__images { display: flex; flex-direction: column; gap: 12px; }
.fct-split__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }

.fct-steps-list { display: flex; flex-direction: column; gap: 0; margin: 20px 0; }
.fct-steps-list__item { font-size: var(--font-size-sm); font-weight: 600; text-transform: uppercase; color: var(--color-dark); }
.fct-steps-list__item span { font-size: 16px; font-weight: 800; color: var(--color-primary); }

/* ==================== FACTORY ASSEMBLY ==================== */
.fct-assembly { padding: 100px 0; background: var(--color-white); }
.fct-assembly__inner { display: grid; grid-template-columns: 1fr 420px; gap: 40px; margin-top: 40px; }
.fct-assembly__image img { width: 100%; height: 480px; object-fit: cover; border-radius: var(--radius); transition: opacity 0.3s ease; }
.fct-assembly__list { display: flex; flex-direction: column; gap: 2px; }
.fct-assembly__item { display: flex; gap: 14px; padding: 14px 16px; background: var(--color-bg-light); border-left: 3px solid transparent; cursor: pointer; transition: all var(--transition); }
.fct-assembly__item:hover { background: rgba(245,180,0,0.05); }
.fct-assembly__item--active { border-left-color: var(--color-primary); background: var(--color-white); }
.fct-assembly__item span { font-family: var(--font-heading); font-size: 18px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 28px; }
.fct-assembly__item h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.fct-assembly__item p { font-size: var(--font-size-xs); color: var(--color-text-light); margin: 0; line-height: 1.4; }
.fct-assembly__note { font-size: 14px; color: var(--color-text-light); text-align: center; margin-top: 32px; max-width: 700px; margin-left: auto; margin-right: auto; }

/* ==================== FACTORY SYSTEMS ==================== */
.fct-systems__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 32px; }
.fct-systems__item { padding: 28px; background: var(--color-dark-2); border-radius: var(--radius); text-align: center; }
.fct-systems__icon { margin-bottom: 16px; }
.fct-systems__item h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 8px; }
.fct-systems__item p { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); line-height: 1.5; }

/* ==================== FACTORY QUALITY ==================== */
.fct-quality { padding: 100px 0; background: var(--color-bg-light); }
.fct-quality__flow { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-bottom: 40px; }
.fct-quality__step { text-align: center; padding: 20px 12px; background: var(--color-white); border-radius: var(--radius); }
.fct-quality__step span { display: block; font-family: var(--font-heading); font-size: 28px; font-weight: 800; color: var(--color-primary); margin-bottom: 8px; line-height: 1; }
.fct-quality__step h3 { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-dark); margin-bottom: 4px; }
.fct-quality__step p { font-size: var(--font-size-xs); color: var(--color-text-light); line-height: 1.4; }
.fct-quality__images { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fct-quality__images img { width: 100%; height: 240px; object-fit: cover; border-radius: var(--radius); }

/* ==================== FACTORY TESTING ==================== */
.fct-testing__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 24px; }
.fct-testing__group { padding: 28px; background: var(--color-white); border-radius: var(--radius); }
.fct-testing__group h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid var(--color-primary); }
.fct-testing__group li { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 5px 0; padding-left: 14px; position: relative; }
.fct-testing__group li::before { content: ''; position: absolute; left: 0; top: 12px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.fct-testing__note { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; margin-bottom: 24px; font-style: italic; }
.fct-testing__images { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 8px; }
.fct-testing__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== FACTORY CHECKLIST ==================== */
.fct-checklist { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 32px; }
.fct-checklist__item { display: flex; align-items: center; gap: 8px; padding: 12px; background: var(--color-dark-2); border-radius: var(--radius); }
.fct-checklist__item span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: rgba(255,255,255,0.8); }
.fct-checklist__note { text-align: center; font-size: 14px; color: rgba(255,255,255,0.5); margin-top: 24px; }

/* ==================== FACTORY OEM ==================== */
.fct-oem { padding: 100px 0; background: var(--color-bg-light); }
.fct-oem__inner { display: grid; grid-template-columns: 520px 1fr; gap: 60px; align-items: center; }
.fct-oem__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.fct-oem__content .section-title { text-align: left; }
.fct-oem__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 14px; line-height: 1.7; }
.fct-oem__options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.fct-oem__options span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text); }
.fct-oem__flow-title { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 12px; }
.fct-oem__flow { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.fct-oem__flow-step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text-light); }
.fct-oem__flow-step span { font-size: 15px; font-weight: 800; color: var(--color-primary); }
.fct-oem__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin-bottom: 20px; }
.fct-oem__actions { display: flex; gap: 12px; }

/* ==================== FACTORY WAREHOUSE ==================== */
.fct-warehouse__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 20px; }
.fct-warehouse__item { background: var(--color-white); border-radius: var(--radius); overflow: hidden; }
.fct-warehouse__item img { width: 100%; height: 240px; object-fit: cover; }
.fct-warehouse__item h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 14px 16px 4px; }
.fct-warehouse__item p { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 0 16px 14px; line-height: 1.5; }
.fct-warehouse__note { font-size: 14px; color: var(--color-text-light); text-align: center; margin-top: 16px; }

/* ==================== FACTORY DELIVERY ==================== */
.fct-delivery { padding: 100px 0; background: var(--color-dark); }
.fct-delivery__steps { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; margin-bottom: 20px; }
.fct-delivery__step { text-align: center; padding: 16px 8px; background: var(--color-dark-2); border-radius: var(--radius); }
.fct-delivery__step span { display: block; font-family: var(--font-heading); font-size: 24px; font-weight: 800; color: var(--color-primary); margin-bottom: 6px; }
.fct-delivery__step h3 { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-white); }
.fct-delivery__methods { display: flex; justify-content: center; gap: 10px; margin-bottom: 16px; }
.fct-delivery__methods span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.fct-delivery__note { font-size: var(--font-size-sm); color: rgba(255,255,255,0.5); margin-bottom: 24px; }
.fct-delivery__images { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.fct-delivery__images img { width: 100%; height: 200px; object-fit: cover; border-radius: var(--radius); }

/* ==================== FACTORY GALLERY ==================== */
.fct-gallery { padding: 100px 0; background: var(--color-bg-light); }
.fct-gallery__filters { display: flex; gap: 6px; margin-bottom: 24px; flex-wrap: wrap; justify-content: center; }
.fct-gallery__filter { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius); transition: all var(--transition); cursor: pointer; }
.fct-gallery__filter:hover { border-color: var(--color-primary); color: var(--color-dark); }
.fct-gallery__filter--active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-dark); }
.fct-gallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.fct-gallery__item { position: relative; border-radius: var(--radius); overflow: hidden; cursor: pointer; height: 220px; }
.fct-gallery__item--large { grid-column: span 2; height: 380px; }
.fct-gallery__item.is-hidden { display: none; }
.fct-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.fct-gallery__item:hover img { transform: scale(1.05); }
.fct-gallery__item span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-white); letter-spacing: 0.04em; }

/* ==================== FACTORY LIGHTBOX ==================== */
.fct-lightbox__content { position: relative; display: flex; align-items: center; justify-content: center; width: 90vw; max-width: 1100px; max-height: 85vh; }
.fct-lightbox__content img { max-width: 100%; max-height: 80vh; object-fit: contain; border-radius: var(--radius); }
.fct-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.5); color: var(--color-white); border-radius: var(--radius); transition: background var(--transition); }
.fct-lightbox__nav:hover { background: rgba(0,0,0,0.8); }
.fct-lightbox__nav--prev { left: -60px; }
.fct-lightbox__nav--next { right: -60px; }
.fct-lightbox__caption { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); white-space: nowrap; }

/* ==================== FACTORY VISIT ==================== */
.fct-visit { padding: 100px 0; background: var(--color-white); }
.fct-visit__inner { display: grid; grid-template-columns: 520px 1fr; gap: 60px; align-items: center; }
.fct-visit__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.fct-visit__content .section-title { text-align: left; }
.fct-visit__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 16px; line-height: 1.7; }
.fct-visit__options { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.fct-visit__option { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--color-text); }
.fct-visit__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin-bottom: 20px; }
.fct-visit__actions { display: flex; gap: 12px; }

/* ==================== FACTORY FAQ ==================== */
.fct-faq { padding: 100px 0; background: var(--color-bg-light); }
.fct-faq__list { max-width: 800px; margin: 0 auto; }
.fct-faq__item { border-bottom: 1px solid var(--color-border); }
.fct-faq__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 18px 0; text-align: left; font-family: var(--font-heading); font-size: 15px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); gap: 16px; }
.fct-faq__trigger svg { flex-shrink: 0; transition: transform var(--transition); }
.fct-faq__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.fct-faq__trigger[aria-expanded="true"] { color: var(--color-primary-dark); }
.fct-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.fct-faq__answer[aria-hidden="false"] { max-height: 300px; }
.fct-faq__answer p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; padding-bottom: 18px; }

/* ==================== FACTORY FINAL CTA ==================== */
.fct-final-cta { position: relative; padding: 80px 0; overflow: hidden; }
.fct-final-cta__bg { position: absolute; inset: 0; }
.fct-final-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.fct-final-cta__overlay { position: absolute; inset: 0; background: rgba(23,25,28,0.9); }
.fct-final-cta__content { position: relative; z-index: 2; text-align: center; max-width: 700px; margin: 0 auto; }
.fct-final-cta__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.fct-final-cta__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 24px; }
.fct-final-cta__benefits span { font-size: var(--font-size-xs); color: rgba(255,255,255,0.8); }
.fct-final-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ==================== FACTORY FORM ==================== */
.fct-form { padding: 100px 0; background: var(--color-bg-light); }
.fct-form__wrap { max-width: 840px; margin: 0 auto; }

/* ==================== FACTORY RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .fct-overview__inner { grid-template-columns: 460px 1fr; gap: 40px; }
  .fct-oem__inner { grid-template-columns: 420px 1fr; gap: 40px; }
  .fct-visit__inner { grid-template-columns: 420px 1fr; gap: 40px; }
}
@media (max-width: 992px) {
  .fct-hero { min-height: 480px; max-height: 560px; }
  .fct-overview { padding: 64px 0; }
  .fct-overview__inner { grid-template-columns: 1fr; gap: 32px; }
  .fct-video { padding: 64px 0; }
  .fct-video__inner { grid-template-columns: 1fr; gap: 32px; }
  .fct-process { padding: 64px 0; }
  .fct-process__inner { grid-template-columns: 1fr; gap: 20px; }
  .fct-process__steps { display: none; }
  .fct-process__accordion { display: block; }
  .fct-process__acc-item { border-bottom: 1px solid var(--color-border); }
  .fct-process__acc-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; font-family: var(--font-heading); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); text-align: left; }
  .fct-process__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; }
  .fct-process__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
  .fct-process__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
  .fct-process__acc-content[aria-hidden="false"] { max-height: 400px; }
  .fct-process__acc-content img { width: 100%; height: 220px; object-fit: cover; border-radius: var(--radius); margin-bottom: 10px; }
  .fct-process__acc-content p { font-size: 14px; color: var(--color-text-light); line-height: 1.5; padding-bottom: 16px; }
  .fct-section { padding: 64px 0; }
  .fct-split { grid-template-columns: 1fr; gap: 32px; }
  .fct-split--reverse { grid-template-columns: 1fr; }
  .fct-split--reverse .fct-split__content { order: 2; }
  .fct-split--reverse .fct-split__images { order: 1; }
  .fct-assembly { padding: 64px 0; }
  .fct-assembly__inner { grid-template-columns: 1fr; gap: 24px; }
  .fct-assembly__image img { height: 320px; }
  .fct-systems__grid { grid-template-columns: 1fr; }
  .fct-quality { padding: 64px 0; }
  .fct-quality__flow { grid-template-columns: repeat(3, 1fr); }
  .fct-quality__images { grid-template-columns: 1fr; }
  .fct-testing__grid { grid-template-columns: 1fr; }
  .fct-testing__images { grid-template-columns: 1fr; }
  .fct-checklist { grid-template-columns: repeat(2, 1fr); }
  .fct-oem { padding: 64px 0; }
  .fct-oem__inner { grid-template-columns: 1fr; gap: 32px; }
  .fct-oem__image { order: -1; }
  .fct-oem__actions { flex-direction: column; }
  .fct-oem__actions .btn { width: 100%; }
  .fct-warehouse__grid { grid-template-columns: 1fr; }
  .fct-delivery { padding: 64px 0; }
  .fct-delivery__steps { grid-template-columns: repeat(4, 1fr); }
  .fct-delivery__images { grid-template-columns: repeat(2, 1fr); }
  .fct-gallery { padding: 64px 0; }
  .fct-gallery__grid { grid-template-columns: repeat(3, 1fr); }
  .fct-visit { padding: 64px 0; }
  .fct-visit__inner { grid-template-columns: 1fr; gap: 32px; }
  .fct-visit__image { order: -1; }
  .fct-visit__actions { flex-direction: column; }
  .fct-visit__actions .btn { width: 100%; }
  .fct-faq { padding: 64px 0; }
  .fct-final-cta { padding: 64px 0; }
  .fct-form { padding: 64px 0; }
  .fct-lightbox__nav--prev { left: 8px; }
  .fct-lightbox__nav--next { right: 8px; }
  .fct-lightbox__nav { background: rgba(0,0,0,0.7); }
}
@media (max-width: 768px) {
  .fct-hero__title { font-size: clamp(24px, 6vw, 36px); }
  .fct-hero__buttons { flex-direction: column; }
  .fct-hero__buttons .btn { width: 100%; }
  .fct-hero__tags { display: none; }
  .fct-split__items { grid-template-columns: 1fr; }
  .fct-quality__flow { grid-template-columns: repeat(2, 1fr); }
  .fct-delivery__steps { grid-template-columns: repeat(2, 1fr); }
  .fct-delivery__methods { flex-wrap: wrap; }
  .fct-delivery__images { grid-template-columns: 1fr; }
  .fct-gallery__grid { grid-template-columns: repeat(2, 1fr); }
  .fct-gallery__item--large { grid-column: span 2; }
  .fct-checklist { grid-template-columns: 1fr; }
  .fct-final-cta__benefits { flex-direction: column; align-items: center; }
  .fct-final-cta__buttons { flex-direction: column; }
  .fct-final-cta__buttons .btn { width: 100%; max-width: 360px; }
  .fct-video__inner { grid-template-columns: 1fr; gap: 32px; }
  .fct-video__actions { flex-direction: column; }
  .fct-video__actions .btn { width: 100%; }
  .fct-visit__actions { flex-direction: column; }
  .fct-visit__actions .btn { width: 100%; }
}
@media (max-width: 480px) {
  .fct-quality__flow { grid-template-columns: 1fr; }
  .fct-delivery__steps { grid-template-columns: 1fr; }
  .fct-gallery__grid { grid-template-columns: 1fr; }
  .fct-gallery__item--large { grid-column: span 1; height: 220px; }
  .fct-gallery__item { height: 180px; }
}

/* ==================== CUSTOMIZATION HERO ==================== */
.cust-hero { position: relative; min-height: 580px; max-height: 680px; display: flex; align-items: center; overflow: hidden; background: var(--color-dark); }
.cust-hero__bg { position: absolute; inset: 0; }
.cust-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.cust-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.55) 50%, rgba(23,25,28,0.25) 100%); z-index: 1; }
.cust-hero__content { position: relative; z-index: 2; padding: 60px 0; max-width: 850px; }
.cust-hero__label { font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.15em; color: var(--color-primary); margin-bottom: 16px; text-transform: uppercase; }
.cust-hero__title { font-size: clamp(28px, 4vw, 52px); font-weight: 800; color: var(--color-white); text-transform: uppercase; line-height: 1.1; margin-bottom: 18px; }
.cust-hero__text { font-size: 17px; color: rgba(255,255,255,0.75); margin-bottom: 24px; line-height: 1.65; max-width: 600px; }
.cust-hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.cust-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cust-hero__tags span { font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.8); text-transform: uppercase; }
.cust-hero__notice { background: var(--color-bg-light); padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.cust-hero__notice p { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; font-style: italic; }

/* ==================== CUSTOMIZATION STICKY NAV ==================== */
.cust-sticky { background: var(--color-white); border-bottom: 1px solid var(--color-border); position: sticky; top: var(--header-height); z-index: 99; }
.cust-sticky__list { display: flex; gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.cust-sticky__list::-webkit-scrollbar { display: none; }
.cust-sticky__link { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); padding: 14px 13px; white-space: nowrap; border-bottom: 2px solid transparent; transition: all var(--transition); }
.cust-sticky__link:hover { color: var(--color-dark); }
.cust-sticky__link--active { color: var(--color-primary-dark); border-bottom-color: var(--color-primary); }

/* ==================== CUSTOMIZATION OVERVIEW ==================== */
.cust-overview { padding: 100px 0; background: var(--color-white); }
.cust-overview__inner { display: grid; grid-template-columns: 520px 1fr; gap: 60px; align-items: center; }
.cust-overview__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.cust-overview__content .section-title { text-align: left; }
.cust-overview__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.cust-overview__values { margin: 24px 0; border-top: 1px solid var(--color-border); }
.cust-overview__value { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.cust-overview__value > span { font-family: var(--font-heading); font-size: 22px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 32px; }
.cust-overview__value h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.cust-overview__value p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; }
.cust-overview__actions { display: flex; align-items: center; gap: 20px; margin-top: 20px; }
.cust-overview__link { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }

/* ==================== CUSTOMIZATION OEM/ODM CARDS ==================== */
.cust-oem { padding: 100px 0; background: var(--color-bg-light); }
.cust-oem__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cust-oem__card { padding: 32px; background: var(--color-white); border-radius: var(--radius); border-top: 3px solid var(--color-primary); }
.cust-oem__card-num { display: block; font-family: var(--font-heading); font-size: 36px; font-weight: 800; color: var(--color-primary); line-height: 1; margin-bottom: 12px; }
.cust-oem__card-title { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 6px; }
.cust-oem__card-tag { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); background: rgba(245,180,0,0.1); padding: 3px 10px; border-radius: var(--radius); margin-bottom: 12px; }
.cust-oem__card-desc { font-size: 14px; color: var(--color-text-light); margin-bottom: 14px; line-height: 1.5; }
.cust-oem__card-list { margin-bottom: 14px; }
.cust-oem__card-list li { font-size: var(--font-size-sm); color: var(--color-text); padding: 4px 0; padding-left: 14px; position: relative; }
.cust-oem__card-list li::before { content: ''; position: absolute; left: 0; top: 11px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.cust-oem__card-note { font-size: var(--font-size-xs); color: var(--color-text-light); font-style: italic; line-height: 1.5; }

/* ==================== CUSTOMIZATION PRODUCTS ==================== */
.cust-products { padding: 100px 0; background: var(--color-dark); }
.cust-products__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cust-products__card { background: var(--color-dark-2); border-radius: var(--radius); overflow: hidden; transition: all var(--transition); display: block; cursor: pointer; }
.cust-products__card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
.cust-products__card-img { aspect-ratio: 16/11; overflow: hidden; background: var(--color-white); }
.cust-products__card-img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform 0.5s ease; }
.cust-products__card:hover .cust-products__card-img img { transform: scale(1.05); }
.cust-products__card h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-white); padding: 12px 14px 6px; }
.cust-products__card-areas { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 14px 8px; }
.cust-products__card-areas span { padding: 2px 8px; background: rgba(255,255,255,0.08); border-radius: var(--radius); font-size: 10px; color: rgba(255,255,255,0.6); }
.cust-products__card-link { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary); padding: 8px 14px 14px; }
.cust-products__note { font-size: var(--font-size-sm); color: rgba(255,255,255,0.5); margin-top: 20px; font-style: italic; }

/* ==================== CUSTOMIZATION CAPABILITY TABS ==================== */
.cust-cap { padding: 100px 0; background: var(--color-white); }
.cust-cap__tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 24px; overflow-x: auto; }
.cust-cap__tab { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); border: 1px solid var(--color-border); border-radius: var(--radius); transition: all var(--transition); cursor: pointer; white-space: nowrap; }
.cust-cap__tab:hover { border-color: var(--color-primary); color: var(--color-dark); }
.cust-cap__tab--active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-dark); }
.cust-cap__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.cust-cap__panel--active { display: grid; grid-template-columns: 1fr 1fr; }
.cust-cap__panel img { width: 100%; height: 400px; object-fit: cover; }
.cust-cap__panel-info { padding: 32px; background: var(--color-bg-light); }
.cust-cap__panel-info h3 { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 10px; }
.cust-cap__panel-info p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; }
.cust-cap__accordion { display: none; }
.cust-cap__acc-item { border-bottom: 1px solid var(--color-border); }
.cust-cap__acc-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; font-family: var(--font-heading); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); text-align: left; }
.cust-cap__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; }
.cust-cap__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.cust-cap__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.cust-cap__acc-content[aria-hidden="false"] { max-height: 300px; }
.cust-cap__acc-content p { font-size: 14px; color: var(--color-text-light); line-height: 1.5; padding-bottom: 16px; }

/* ==================== CUSTOMIZATION BRANDING ==================== */
.cust-brand { padding: 100px 0; background: var(--color-bg-light); }
.cust-brand__inner { display: grid; grid-template-columns: 480px 1fr; gap: 60px; align-items: start; }
.cust-brand__images { display: flex; flex-direction: column; gap: 12px; }
.cust-brand__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.cust-brand__content .section-title { text-align: left; }
.cust-brand__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 14px; line-height: 1.7; }
.cust-brand__options { margin-bottom: 16px; }
.cust-brand__options h3 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 8px; }
.cust-brand__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.cust-brand__tags span { font-size: var(--font-size-xs); color: var(--color-text); }
.cust-brand__file-note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin-bottom: 12px; }
.cust-brand__upload { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.cust-brand__upload-btn { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text); cursor: pointer; transition: all var(--transition); }
.cust-brand__upload-btn:hover { border-color: var(--color-primary); color: var(--color-primary-dark); }
.cust-brand__upload-note { font-size: var(--font-size-xs); color: var(--color-text-light); }
.cust-brand__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; }

/* ==================== CUSTOMIZATION SECTIONS (Split) ==================== */
.cust-section { padding: 100px 0; }
.cust-section--light { background: var(--color-bg-light); }
.cust-section--dark { background: var(--color-dark); }
.cust-split { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.cust-split--reverse { grid-template-columns: 500px 1fr; }
.cust-split--reverse .cust-split__content { order: 2; }
.cust-split--reverse .cust-split__images { order: 1; }
.cust-split__content .section-title { text-align: left; }
.cust-split__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.cust-split__text { font-size: 15px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.cust-split__items { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0; }
.cust-split__items h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.cust-split__items p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; }
.cust-split__items--light h3 { color: var(--color-white); }
.cust-split__items--light p { color: rgba(255,255,255,0.6); }
.cust-split__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin: 14px 0; }
.cust-split__images { display: flex; flex-direction: column; gap: 12px; }
.cust-split__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== CUSTOMIZATION GEAR ==================== */
.cust-gear__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 20px; }
.cust-gear__item { background: var(--color-white); border-radius: var(--radius); overflow: hidden; }
.cust-gear__item img { width: 100%; height: 220px; object-fit: cover; }
.cust-gear__item h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 14px 16px 4px; }
.cust-gear__item p { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 0 16px 14px; line-height: 1.5; }
.cust-gear__note { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; font-style: italic; }

/* ==================== CUSTOMIZATION ATTACHMENTS ==================== */
.cust-atc { padding: 100px 0; background: var(--color-white); }
.cust-atc__slider { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -24px; padding: 0 24px; }
.cust-atc__track { display: flex; gap: 14px; padding-bottom: 8px; }
.cust-atc__item { flex: 0 0 210px; background: var(--color-bg-light); border-radius: var(--radius); overflow: hidden; }
.cust-atc__img { height: 150px; overflow: hidden; background: var(--color-white); display: flex; align-items: center; justify-content: center; }
.cust-atc__img img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.cust-atc__item h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 10px 12px 2px; }
.cust-atc__item p { font-size: var(--font-size-xs); color: var(--color-text-light); padding: 0 12px; line-height: 1.4; }
.cust-atc__compat { display: block; font-size: 10px; color: var(--color-primary-dark); font-weight: 600; padding: 6px 12px 12px; }
.cust-atc__note { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; margin-top: 20px; font-style: italic; }

/* ==================== CUSTOMIZATION DOCUMENTATION ==================== */
.cust-doc__list { margin: 16px 0; }
.cust-doc__item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--color-border); font-size: 14px; color: var(--color-dark); }
.cust-doc__status { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-primary-dark); }
.cust-doc__langs { margin: 20px 0; }
.cust-doc__langs h3 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 8px; }
.cust-doc__lang-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.cust-doc__lang-tags span { padding: 4px 12px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 12px; color: var(--color-text); }

/* ==================== CUSTOMIZATION CONFIRMATION ==================== */
.cust-confirm__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 20px; }
.cust-confirm__group { padding: 28px; background: var(--color-white); border-radius: var(--radius); }
.cust-confirm__group h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid var(--color-primary); }
.cust-confirm__group li { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 5px 0; padding-left: 14px; position: relative; }
.cust-confirm__group li::before { content: ''; position: absolute; left: 0; top: 12px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.cust-confirm__note { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; font-style: italic; }

/* ==================== CUSTOMIZATION DEALER ==================== */
.cust-dealer { padding: 100px 0; background: var(--color-dark); }
.cust-dealer__inner { display: grid; grid-template-columns: 500px 1fr; gap: 60px; align-items: center; }
.cust-dealer__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.cust-dealer__content p { font-size: 15px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.cust-dealer__options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.cust-dealer__options span { padding: 5px 12px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: var(--radius); font-family: var(--font-heading); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: rgba(255,255,255,0.8); }
.cust-dealer__actions { display: flex; gap: 12px; }

/* ==================== CUSTOMIZATION PROCESS ==================== */
.cust-process { padding: 100px 0; background: var(--color-bg-light); }
.cust-process__inner { display: grid; grid-template-columns: 260px 1fr; gap: 24px; margin-top: 40px; }
.cust-process__steps { display: flex; flex-direction: column; gap: 2px; }
.cust-process__step { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--color-white); border-left: 3px solid transparent; cursor: pointer; transition: all var(--transition); text-align: left; width: 100%; }
.cust-process__step:hover { background: rgba(245,180,0,0.05); }
.cust-process__step--active { border-left-color: var(--color-primary); background: var(--color-white); }
.cust-process__step span { font-family: var(--font-heading); font-size: 18px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 28px; }
.cust-process__step--active span { color: var(--color-primary-dark); }
.cust-process__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.cust-process__panel--active { display: block; }
.cust-process__panel img { width: 100%; height: 380px; object-fit: cover; }
.cust-process__panel-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 28px; background: linear-gradient(to top, rgba(23,25,28,0.9) 0%, transparent 100%); }
.cust-process__panel-info span { font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); opacity: 0.5; line-height: 1; }
.cust-process__panel-info h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 4px; }
.cust-process__panel-info p { font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.5; }
.cust-process__accordion { display: none; }
.cust-process__acc-item { border-bottom: 1px solid var(--color-border); }
.cust-process__acc-trigger { font-size: var(--font-size-sm); font-weight: 600; text-transform: uppercase; color: var(--color-dark); text-align: left; }
.cust-process__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; }
.cust-process__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.cust-process__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.cust-process__acc-content[aria-hidden="false"] { max-height: 300px; }
.cust-process__acc-content p { font-size: 14px; color: var(--color-text-light); line-height: 1.5; padding-bottom: 14px; }

/* ==================== CUSTOMIZATION CONFIGURATOR ==================== */
.cust-config { padding: 100px 0; background: var(--color-bg-light); }
.cust-config__wrap { display: grid; grid-template-columns: 1fr 300px; gap: 28px; margin-top: 32px; }
.cust-config__main { background: var(--color-white); border-radius: var(--radius); padding: 28px; }
.cust-config__progress { display: flex; gap: 4px; margin-bottom: 24px; }
.cust-config__progress-step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text-light); background: var(--color-bg-light); border-bottom: 3px solid var(--color-border); transition: all var(--transition); }
.cust-config__progress-step span { display: block; font-size: 16px; font-weight: 800; margin-bottom: 2px; }
.cust-config__progress-step--active { color: var(--color-dark); }
.cust-config__progress-step--active span { color: var(--color-primary); }
.cust-config__progress-step--current { border-bottom-color: var(--color-primary); }
.cust-config__step { display: none; }
.cust-config__step--active { display: block; }
.cust-config__step h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 16px; }
.cust-config__hint { font-size: var(--font-size-sm); color: var(--color-text-light); margin-bottom: 16px; font-style: italic; }
.cust-config__field { display: flex; flex-direction: column; margin-bottom: 14px; }
.cust-config__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 5px; }
.cust-config__field select, .cust-config__field input, .cust-config__field textarea { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; background: var(--color-bg); }
.cust-config__field select:focus, .cust-config__field input:focus, .cust-config__field textarea:focus { outline: none; border-color: var(--color-primary); }
.cust-config__field select.error, .cust-config__field input.error { border-color: var(--color-error); }
.cust-config__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 3px; min-height: 14px; }
.cust-config__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.cust-config__opt { font-size: var(--font-size-sm); cursor: pointer; transition: all var(--transition); }
.cust-config__opt:hover { border-color: var(--color-primary); }
.cust-config__opt:has(input:checked) { background: rgba(245,180,0,0.08); border-color: var(--color-primary); }
.cust-config__opt input { accent-color: var(--color-primary); }
.cust-config__empty { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; }
.cust-config__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--color-border); }
.cust-config__review { background: var(--color-bg-light); padding: 16px; border-radius: var(--radius); margin-bottom: 20px; }
.cust-config__contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.cust-config__contact-fields .cust-config__field--full { grid-column: span 2; }
.cust-config__submit-text { display: inline; }
.cust-config__submit-loading { display: none; align-items: center; gap: 6px; }
button.is-loading .cust-config__submit-text { display: none; }
button.is-loading .cust-config__submit-loading { display: inline-flex; }
button.is-loading .cust-config__submit-loading svg { animation: spin 1s linear infinite; }
.cust-config__success { text-align: center; padding: 48px; }
.cust-config__success[hidden] { display: none; }
.cust-config__success h3 { font-size: 22px; font-weight: 700; color: var(--color-dark); margin: 16px 0 8px; }
.cust-config__success p { font-size: 15px; color: var(--color-text-light); margin-bottom: 20px; line-height: 1.6; }

/* Config Sidebar */
.cust-config__sidebar { background: var(--color-white); border-radius: var(--radius); padding: 24px; position: sticky; top: calc(var(--header-height) + 60px); }
.cust-config__sidebar h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--color-primary); }
.cust-summary__item { padding: 6px 0; border-bottom: 1px solid var(--color-border); }
.cust-summary__item span { display: block; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-light); margin-bottom: 1px; }
.cust-summary__item strong { font-size: var(--font-size-sm); color: var(--color-dark); font-weight: 600; }
.cust-summary__empty { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; }
.cust-config__sidebar-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.cust-config__sidebar-note { font-size: var(--font-size-xs); color: var(--color-text-light); font-style: italic; margin-top: 12px; text-align: center; }

/* ==================== CUSTOMIZATION EXAMPLES ==================== */
.cust-examples { padding: 80px 0; background: var(--color-white); }
.cust-examples__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cust-examples__card { padding: 28px; background: var(--color-bg-light); border-radius: var(--radius); }
.cust-examples__card span { display: block; font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); margin-bottom: 10px; line-height: 1; }
.cust-examples__card h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 12px; }
.cust-examples__card li { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 3px 0; padding-left: 14px; position: relative; }
.cust-examples__card li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }

/* ==================== CUSTOMIZATION FAQ ==================== */
.cust-faq { padding: 100px 0; background: var(--color-bg-light); }
.cust-faq__list { max-width: 800px; margin: 0 auto; }
.cust-faq__item { border-bottom: 1px solid var(--color-border); }
.cust-faq__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 18px 0; text-align: left; font-family: var(--font-heading); font-size: 15px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); gap: 16px; }
.cust-faq__trigger svg { flex-shrink: 0; transition: transform var(--transition); }
.cust-faq__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.cust-faq__trigger[aria-expanded="true"] { color: var(--color-primary-dark); }
.cust-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.cust-faq__answer[aria-hidden="false"] { max-height: 300px; }
.cust-faq__answer p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; padding-bottom: 18px; }

/* ==================== CUSTOMIZATION FINAL CTA ==================== */
.cust-final-cta { position: relative; padding: 80px 0; overflow: hidden; }
.cust-final-cta__bg { position: absolute; inset: 0; }
.cust-final-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.cust-final-cta__overlay { position: absolute; inset: 0; background: rgba(23,25,28,0.9); }
.cust-final-cta__content { position: relative; z-index: 2; text-align: center; max-width: 700px; margin: 0 auto; }
.cust-final-cta__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.cust-final-cta__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 24px; }
.cust-final-cta__benefits span { font-size: var(--font-size-xs); color: rgba(255,255,255,0.8); }
.cust-final-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ==================== CUSTOMIZATION INQUIRY ==================== */
.cust-inquiry { padding: 100px 0; background: var(--color-bg-light); }
.cust-inquiry__wrap { max-width: 840px; margin: 0 auto; }

/* ==================== CUSTOMIZATION RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .cust-overview__inner { grid-template-columns: 420px 1fr; gap: 40px; }
  .cust-oem__grid { grid-template-columns: repeat(3, 1fr); }
  .cust-brand__inner { grid-template-columns: 400px 1fr; gap: 40px; }
  .cust-dealer__inner { grid-template-columns: 400px 1fr; gap: 40px; }
}
@media (max-width: 992px) {
  .cust-hero { min-height: 480px; max-height: 560px; }
  .cust-overview { padding: 64px 0; }
  .cust-overview__inner { grid-template-columns: 1fr; gap: 32px; }
  .cust-oem { padding: 64px 0; }
  .cust-oem__grid { grid-template-columns: 1fr; }
  .cust-products { padding: 64px 0; }
  .cust-products__grid { grid-template-columns: repeat(2, 1fr); }
  .cust-cap { padding: 64px 0; }
  .cust-cap__tabs { display: none; }
  .cust-cap__accordion { display: block; }
  .cust-brand { padding: 64px 0; }
  .cust-brand__inner { grid-template-columns: 1fr; gap: 32px; }
  .cust-brand__images { order: -1; flex-direction: row; }
  .cust-section { padding: 64px 0; }
  .cust-split { grid-template-columns: 1fr; gap: 32px; }
  .cust-split--reverse { grid-template-columns: 1fr; }
  .cust-split--reverse .cust-split__content { order: 2; }
  .cust-split--reverse .cust-split__images { order: 1; }
  .cust-atc { padding: 64px 0; }
  .cust-process { padding: 64px 0; }
  .cust-process__inner { grid-template-columns: 1fr; gap: 20px; }
  .cust-process__steps { display: none; }
  .cust-process__accordion { display: block; }
  .cust-confirm__grid { grid-template-columns: 1fr; }
  .cust-dealer { padding: 64px 0; }
  .cust-dealer__inner { grid-template-columns: 1fr; gap: 32px; }
  .cust-dealer__image { order: -1; }
  .cust-config { padding: 64px 0; }
  .cust-config__wrap { grid-template-columns: 1fr; }
  .cust-config__sidebar { position: static; }
  .cust-examples { padding: 64px 0; }
  .cust-examples__grid { grid-template-columns: 1fr; }
  .cust-faq { padding: 64px 0; }
  .cust-final-cta { padding: 64px 0; }
  .cust-inquiry { padding: 64px 0; }
}
@media (max-width: 768px) {
  .cust-hero__title { font-size: clamp(24px, 6vw, 36px); }
  .cust-hero__buttons { flex-direction: column; }
  .cust-hero__buttons .btn { width: 100%; }
  .cust-hero__tags { display: none; }
  .cust-products__grid { grid-template-columns: 1fr; }
  .cust-split__items { grid-template-columns: 1fr; }
  .cust-gear__grid { grid-template-columns: 1fr; }
  .cust-config__progress { flex-wrap: wrap; }
  .cust-config__progress-step { flex: 0 0 calc(25% - 3px); }
  .cust-config__contact-fields { grid-template-columns: 1fr; }
  .cust-config__contact-fields .cust-config__field--full { grid-column: span 1; }
  .cust-config__opts { gap: 6px; }
  .cust-config__opt { font-size: 12px; padding: 6px 10px; }
  .cust-dealer__options { gap: 5px; }
  .cust-dealer__options span { font-size: 10px; padding: 4px 8px; }
  .cust-dealer__actions { flex-direction: column; }
  .cust-dealer__actions .btn { width: 100%; }
  .cust-final-cta__benefits { flex-direction: column; align-items: center; }
  .cust-final-cta__buttons { flex-direction: column; }
  .cust-final-cta__buttons .btn { width: 100%; max-width: 360px; }
  .cust-brand__images { flex-direction: column; }
  .cust-brand__tags { gap: 5px; }
  .cust-brand__tags span { font-size: 11px; padding: 3px 8px; }
  .cust-brand__upload { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
  .cust-config__progress-step { flex: 0 0 calc(50% - 2px); font-size: 10px; }
  .cust-config__progress-step span { font-size: 14px; }
  .cust-config__step { padding: 0; }
}

/* ==================== DEALER HERO ==================== */
.dl-hero { position: relative; min-height: 580px; max-height: 680px; display: flex; align-items: center; overflow: hidden; background: var(--color-dark); }
.dl-hero__bg { position: absolute; inset: 0; }
.dl-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.dl-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.55) 50%, rgba(23,25,28,0.25) 100%); z-index: 1; }
.dl-hero__content { position: relative; z-index: 2; padding: 60px 0; max-width: 850px; }
.dl-hero__label { font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.15em; color: var(--color-primary); margin-bottom: 16px; text-transform: uppercase; }
.dl-hero__title { font-size: clamp(28px, 4vw, 52px); font-weight: 800; color: var(--color-white); text-transform: uppercase; line-height: 1.1; margin-bottom: 18px; }
.dl-hero__text { font-size: 17px; color: rgba(255,255,255,0.75); margin-bottom: 24px; line-height: 1.65; max-width: 600px; }
.dl-hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.dl-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.dl-hero__tags span { font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.8); text-transform: uppercase; }
.dl-hero__notice { background: var(--color-bg-light); padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.dl-hero__notice p { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; font-style: italic; }

/* ==================== DEALER STICKY NAV ==================== */
.dl-sticky { background: var(--color-white); border-bottom: 1px solid var(--color-border); position: sticky; top: var(--header-height); z-index: 99; }
.dl-sticky__list { display: flex; gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.dl-sticky__list::-webkit-scrollbar { display: none; }
.dl-sticky__link { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); padding: 14px 13px; white-space: nowrap; border-bottom: 2px solid transparent; transition: all var(--transition); }
.dl-sticky__link:hover { color: var(--color-dark); }
.dl-sticky__link--active { color: var(--color-primary-dark); border-bottom-color: var(--color-primary); }

/* ==================== DEALER OVERVIEW ==================== */
.dl-overview { padding: 100px 0; background: var(--color-white); }
.dl-overview__inner { display: grid; grid-template-columns: 520px 1fr; gap: 60px; align-items: center; }
.dl-overview__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.dl-overview__content .section-title { text-align: left; }
.dl-overview__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.dl-overview__values { margin: 24px 0; border-top: 1px solid var(--color-border); }
.dl-overview__value { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.dl-overview__value > span { font-family: var(--font-heading); font-size: 22px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 32px; }
.dl-overview__value h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.dl-overview__value p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; }
.dl-overview__actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }

/* ==================== DEALER PARTNERS ==================== */
.dl-partners { padding: 100px 0; background: var(--color-bg-light); }
.dl-partners__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.dl-partners__item { padding: 28px; background: var(--color-white); border-radius: var(--radius); border-top: 3px solid var(--color-primary); }
.dl-partners__num { display: block; font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); line-height: 1; margin-bottom: 10px; }
.dl-partners__item h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 8px; }
.dl-partners__item p { font-size: var(--font-size-sm); color: var(--color-text-light); line-height: 1.5; margin-bottom: 14px; }
.dl-partners__apply { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }

/* ==================== DEALER PRODUCTS ==================== */
.dl-products { padding: 100px 0; background: var(--color-dark); }
.dl-products__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.dl-products__card { background: var(--color-dark-2); border-radius: var(--radius); overflow: hidden; transition: all var(--transition); }
.dl-products__card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
.dl-products__card-img { aspect-ratio: 16/11; overflow: hidden; background: var(--color-white); }
.dl-products__card-img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform 0.5s ease; }
.dl-products__card:hover .dl-products__card-img img { transform: scale(1.05); }
.dl-products__card h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-white); padding: 12px 14px 6px; }
.dl-products__card-partners { font-size: var(--font-size-xs); color: rgba(255,255,255,0.5); padding: 0 14px; line-height: 1.4; }
.dl-products__card-apps { font-size: var(--font-size-xs); color: rgba(255,255,255,0.6); padding: 4px 14px 10px; line-height: 1.4; }
.dl-product__add { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary); background: none; border: none; padding: 8px 14px 14px; cursor: pointer; transition: color var(--transition); }
.dl-product__add:hover { color: var(--color-white); }
.dl-product__add[aria-pressed="true"] { color: var(--color-success); }
.dl-products__summary { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; min-height: 36px; }
.dl-product__summary-tag { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-white); }
.dl-product__summary-tag button { color: rgba(255,255,255,0.6); font-size: 16px; background: none; border: none; cursor: pointer; }
.dl-product__summary-tag button:hover { color: var(--color-white); }
.dl-product__summary-empty { font-size: 13px; color: rgba(255,255,255,0.4); font-style: italic; }
.dl-products__note { text-align: center; font-size: 13px; color: rgba(255,255,255,0.5); margin-top: 16px; font-style: italic; }

/* ==================== DEALER COOPERATION MODELS ==================== */
.dl-coop { padding: 100px 0; background: var(--color-white); }
.dl-coop__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.dl-coop__card { padding: 28px; background: var(--color-bg-light); border-radius: var(--radius); border-top: 3px solid var(--color-primary); }
.dl-coop__card-num { display: block; font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); line-height: 1; margin-bottom: 10px; }
.dl-coop__card h3 { font-size: 17px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 8px; }
.dl-coop__card-desc { font-size: var(--font-size-sm); color: var(--color-text-light); line-height: 1.5; margin-bottom: 12px; }
.dl-coop__card-list { margin-bottom: 14px; }
.dl-coop__card-list li { font-size: var(--font-size-sm); color: var(--color-text); padding: 3px 0; padding-left: 14px; position: relative; }
.dl-coop__card-list li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.dl-coop__card-btn { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); background: none; border: 1px solid var(--color-primary); padding: 6px 14px; border-radius: var(--radius); cursor: pointer; transition: all var(--transition); }
.dl-coop__card-btn:hover { background: var(--color-primary); color: var(--color-dark); }
.dl-coop__note { font-size: var(--font-size-sm); color: var(--color-text-light); margin-top: 24px; font-style: italic; }

/* ==================== DEALER SUPPORT TABS ==================== */
.dl-support-section { padding: 100px 0; background: var(--color-bg-light); }
.dl-support__tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 24px; overflow-x: auto; }
.dl-support__tab { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); border: 1px solid var(--color-border); border-radius: var(--radius); transition: all var(--transition); cursor: pointer; white-space: nowrap; }
.dl-support__tab:hover { border-color: var(--color-primary); color: var(--color-dark); }
.dl-support__tab--active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-dark); }
.dl-support__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.dl-support__panel--active { display: grid; grid-template-columns: 1fr 1fr; }
.dl-support__panel img { width: 100%; height: 380px; object-fit: cover; }
.dl-support__panel-info { padding: 32px; background: var(--color-white); }
.dl-support__panel-info h3 { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 10px; }
.dl-support__panel-info p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; }
.dl-support__accordion { display: none; }
.dl-support__acc-item { border-bottom: 1px solid var(--color-border); }
.dl-support__acc-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; font-family: var(--font-heading); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); text-align: left; }
.dl-support__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; }
.dl-support__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.dl-support__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.dl-support__acc-content[aria-hidden="false"] { max-height: 200px; }
.dl-support__acc-content p { font-size: 14px; color: var(--color-text-light); line-height: 1.5; padding-bottom: 16px; }

/* ==================== DEALER SECTIONS (Split) ==================== */
.dl-section { padding: 100px 0; }
.dl-section--light { background: var(--color-bg-light); }
.dl-section--dark { background: var(--color-dark); }
.dl-split { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.dl-split--reverse { grid-template-columns: 500px 1fr; }
.dl-split--reverse .dl-split__content { order: 2; }
.dl-split--reverse .dl-split__images { order: 1; }
.dl-split__content .section-title { text-align: left; }
.dl-split__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.dl-split__text { font-size: 15px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.dl-split__items { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0; }
.dl-split__items h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.dl-split__items p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; }
.dl-split__items--light h3 { color: var(--color-white); }
.dl-split__items--light p { color: rgba(255,255,255,0.6); }
.dl-split__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin: 14px 0; }
.dl-split__images { display: flex; flex-direction: column; gap: 12px; }
.dl-split__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.dl-aftersales__actions { display: flex; gap: 12px; margin-top: 16px; }

/* ==================== DEALER TRAINING ==================== */
.dl-training__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 28px; }
.dl-training__item { background: var(--color-white); border-radius: var(--radius); overflow: hidden; }
.dl-training__item img { width: 100%; height: 220px; object-fit: cover; }
.dl-training__item h3 { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); padding: 14px 16px 4px; }
.dl-training__item p { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 0 16px 14px; line-height: 1.5; }
.dl-training__formats { margin-bottom: 16px; }
.dl-training__formats h3 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 10px; }
.dl-training__format-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.dl-training__format-tags span { padding: 5px 14px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius); font-family: var(--font-heading); font-size: 12px; font-weight: 600; color: var(--color-text); }
.dl-training__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; }

/* ==================== DEALER OEM ==================== */
.dl-oem { padding: 100px 0; background: var(--color-bg-light); }
.dl-oem__inner { display: grid; grid-template-columns: 500px 1fr; gap: 60px; align-items: center; }
.dl-oem__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.dl-oem__content .section-title { text-align: left; }
.dl-oem__options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.dl-oem__options span { padding: 5px 12px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius); font-family: var(--font-heading); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text); }
.dl-oem__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin-bottom: 20px; }
.dl-oem__actions { display: flex; gap: 12px; }

/* ==================== DEALER MARKET ==================== */
.dl-market__checklist { margin-top: 20px; }
.dl-market__checklist h3 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 10px; }
.dl-market__checklist li { font-size: 14px; color: var(--color-text-light); padding: 4px 0; padding-left: 14px; position: relative; }
.dl-market__checklist li::before { content: ''; position: absolute; left: 0; top: 11px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }

/* ==================== DEALER QUALIFICATIONS ==================== */
.dl-qual { padding: 100px 0; background: var(--color-bg-light); }
.dl-qual__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 20px; }
.dl-qual__item { display: flex; gap: 14px; padding: 20px; background: var(--color-white); border-radius: var(--radius); border-left: 3px solid var(--color-primary); }
.dl-qual__item > span { font-family: var(--font-heading); font-size: 28px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 36px; line-height: 1; }
.dl-qual__item h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 4px; }
.dl-qual__item p { font-size: var(--font-size-sm); color: var(--color-text-light); line-height: 1.5; }
.dl-qual__note { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; font-style: italic; }

/* ==================== DEALER REVIEW ==================== */
.dl-review__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 20px; }
.dl-review__item { padding: 14px 20px; background: var(--color-white); border-radius: var(--radius); border-left: 3px solid var(--color-border); }
.dl-review__item span { font-size: 14px; color: var(--color-text-light); }
.dl-review__note { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; font-style: italic; }

/* ==================== DEALER PROCESS ==================== */
.dl-process { padding: 100px 0; background: var(--color-dark); }
.dl-process__inner { display: grid; grid-template-columns: 260px 1fr; gap: 24px; margin-top: 40px; }
.dl-process__steps { display: flex; flex-direction: column; gap: 2px; }
.dl-process__step { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--color-dark-2); border-left: 3px solid transparent; cursor: pointer; transition: all var(--transition); text-align: left; width: 100%; }
.dl-process__step:hover { background: rgba(245,180,0,0.08); }
.dl-process__step--active { border-left-color: var(--color-primary); background: var(--color-dark-2); }
.dl-process__step span { font-family: var(--font-heading); font-size: 18px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 28px; }
.dl-process__step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: rgba(255,255,255,0.6); }
.dl-process__step--active { color: var(--color-white); }
.dl-process__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.dl-process__panel--active { display: block; }
.dl-process__panel img { width: 100%; height: 380px; object-fit: cover; }
.dl-process__panel-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 28px; background: linear-gradient(to top, rgba(23,25,28,0.9) 0%, transparent 100%); }
.dl-process__panel-info span { font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); opacity: 0.5; line-height: 1; }
.dl-process__panel-info h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 4px; }
.dl-process__panel-info p { font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.5; }
.dl-process__accordion { display: none; }
.dl-process__acc-item { border-bottom: 1px solid rgba(255,255,255,0.1); }
.dl-process__acc-trigger { font-size: var(--font-size-sm); font-weight: 600; text-transform: uppercase; color: var(--color-white); text-align: left; }
.dl-process__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; color: rgba(255,255,255,0.5); }
.dl-process__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.dl-process__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.dl-process__acc-content[aria-hidden="false"] { max-height: 300px; }
.dl-process__acc-content p { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.5; padding-bottom: 14px; }

/* ==================== DEALER ASSESSMENT ==================== */
.dl-assess { padding: 100px 0; background: var(--color-bg-light); }
.dl-assess__wrap { max-width: 740px; margin: 0 auto; }
.dl-assess__progress { display: flex; gap: 4px; margin-bottom: 24px; }
.dl-assess__progress-step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text-light); background: var(--color-white); border-bottom: 3px solid var(--color-border); transition: all var(--transition); }
.dl-assess__progress-step span { display: block; font-size: 16px; font-weight: 800; margin-bottom: 2px; }
.dl-assess__progress-step--active { color: var(--color-dark); }
.dl-assess__progress-step--active span { color: var(--color-primary); }
.dl-assess__progress-step--current { border-bottom-color: var(--color-primary); }
.dl-assess__step { display: none; background: var(--color-white); padding: 28px; border-radius: var(--radius); }
.dl-assess__step--active { display: block; }
.dl-assess__step h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 16px; }
.dl-assess__field { margin-bottom: 16px; }
.dl-assess__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 6px; }
.dl-assess__field select, .dl-assess__field input { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; width: 100%; }
.dl-assess__field select:focus, .dl-assess__field input:focus { outline: none; border-color: var(--color-primary); }
.dl-assess__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.dl-assess__opts label { font-size: var(--font-size-sm); cursor: pointer; transition: all var(--transition); }
.dl-assess__opts label:hover { border-color: var(--color-primary); }
.dl-assess__opts label:has(input:checked) { background: rgba(245,180,0,0.08); border-color: var(--color-primary); }
.dl-assess__opts input { accent-color: var(--color-primary); }
.dl-assess__opts--grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dl-assess__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--color-border); }
.dl-assess__result { text-align: center; background: var(--color-white); padding: 40px; border-radius: var(--radius); }
.dl-assess__result[hidden] { display: none; }
.dl-assess__result h3 { font-size: 22px; font-weight: 700; color: var(--color-dark); margin: 16px 0 8px; }
.dl-assess__result p { font-size: 15px; color: var(--color-text-light); margin-bottom: 20px; line-height: 1.6; }
.dl-assess__summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; text-align: left; }
.dl-assess__summary-item { padding: 10px 14px; background: var(--color-bg-light); border-radius: var(--radius); }
.dl-assess__summary-item span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 2px; }
.dl-assess__summary-item strong { font-size: var(--font-size-sm); color: var(--color-dark); }
.dl-assess__result-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* ==================== DEALER SCENARIOS ==================== */
.dl-scenarios { padding: 80px 0; background: var(--color-bg-light); }
.dl-scenarios__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.dl-scenarios__card { padding: 28px; background: var(--color-white); border-radius: var(--radius); }
.dl-scenarios__card span { display: block; font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); margin-bottom: 10px; line-height: 1; }
.dl-scenarios__card h3 { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 12px; }
.dl-scenarios__card li { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 3px 0; padding-left: 14px; position: relative; }
.dl-scenarios__card li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }

/* ==================== DEALER FAQ ==================== */
.dl-faq { padding: 100px 0; background: var(--color-white); }
.dl-faq__list { max-width: 800px; margin: 0 auto; }
.dl-faq__item { border-bottom: 1px solid var(--color-border); }
.dl-faq__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 18px 0; text-align: left; font-family: var(--font-heading); font-size: 15px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); gap: 16px; }
.dl-faq__trigger svg { flex-shrink: 0; transition: transform var(--transition); }
.dl-faq__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.dl-faq__trigger[aria-expanded="true"] { color: var(--color-primary-dark); }
.dl-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.dl-faq__answer[aria-hidden="false"] { max-height: 300px; }
.dl-faq__answer p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; padding-bottom: 18px; }

/* ==================== DEALER FINAL CTA ==================== */
.dl-final-cta { position: relative; padding: 80px 0; overflow: hidden; }
.dl-final-cta__bg { position: absolute; inset: 0; }
.dl-final-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.dl-final-cta__overlay { position: absolute; inset: 0; background: rgba(23,25,28,0.9); }
.dl-final-cta__content { position: relative; z-index: 2; text-align: center; max-width: 700px; margin: 0 auto; }
.dl-final-cta__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.dl-final-cta__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 24px; }
.dl-final-cta__benefits span { font-size: var(--font-size-xs); color: rgba(255,255,255,0.8); }
.dl-final-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ==================== DEALER APPLICATION ==================== */
.dl-app { padding: 100px 0; background: var(--color-bg-light); }
.dl-app__wrap { max-width: 860px; margin: 0 auto; }
.dl-app__section-title { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin: 28px 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--color-primary); }
.dl-app__section-title:first-child { margin-top: 0; }
.dl-app__product-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.dl-app__product-opts label { font-size: var(--font-size-sm); cursor: pointer; transition: all var(--transition); }
.dl-app__product-opts label:hover { border-color: var(--color-primary); }
.dl-app__product-opts label:has(input:checked) { background: rgba(245,180,0,0.08); border-color: var(--color-primary); }
.dl-app__product-opts input { accent-color: var(--color-primary); }
.dl-app__confirmations { margin: 20px 0; display: flex; flex-direction: column; gap: 10px; }
.dl-app__check { font-size: var(--font-size-sm); color: var(--color-text-light); cursor: pointer; }
.dl-app__check input { accent-color: var(--color-primary); margin-top: 3px; flex-shrink: 0; }
.dl-app__summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; text-align: left; }
.dl-app__summary-item { padding: 10px 14px; background: var(--color-bg-light); border-radius: var(--radius); }
.dl-app__summary-item span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 2px; }
.dl-app__summary-item strong { font-size: var(--font-size-sm); color: var(--color-dark); }
.dl-app__success-actions { display: flex; gap: 12px; justify-content: center; margin-top: 20px; }

/* ==================== DEALER FILE UPLOAD ==================== */
.dl-file { margin-bottom: 14px; }
.dl-file__label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 6px; }
.dl-file-input { font-size: 14px; }
.dl-file__list { margin-top: 8px; }
.dl-file__item { font-size: var(--font-size-sm); color: var(--color-text); }
.dl-file__item button { color: var(--color-text-light); font-size: 16px; background: none; border: none; cursor: pointer; }
.dl-file__item button:hover { color: var(--color-error); }
.dl-file__note { font-size: var(--font-size-xs); color: var(--color-text-light); margin-bottom: 16px; }

/* ==================== DEALER RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .dl-overview__inner { grid-template-columns: 420px 1fr; gap: 40px; }
  .dl-partners__grid { grid-template-columns: repeat(2, 1fr); }
  .dl-products__grid { grid-template-columns: repeat(3, 1fr); }
  .dl-coop__grid { grid-template-columns: repeat(2, 1fr); }
  .dl-qual__grid { grid-template-columns: repeat(2, 1fr); }
  .dl-oem__inner { grid-template-columns: 400px 1fr; gap: 40px; }
}
@media (max-width: 992px) {
  .dl-hero { min-height: 480px; max-height: 560px; }
  .dl-overview { padding: 64px 0; }
  .dl-overview__inner { grid-template-columns: 1fr; gap: 32px; }
  .dl-partners { padding: 64px 0; }
  .dl-partners__grid { grid-template-columns: 1fr; }
  .dl-products { padding: 64px 0; }
  .dl-products__grid { grid-template-columns: repeat(2, 1fr); }
  .dl-coop { padding: 64px 0; }
  .dl-coop__grid { grid-template-columns: 1fr; }
  .dl-support-section { padding: 64px 0; }
  .dl-support__tabs { display: none; }
  .dl-support__accordion { display: block; }
  .dl-section { padding: 64px 0; }
  .dl-split { grid-template-columns: 1fr; gap: 32px; }
  .dl-split--reverse { grid-template-columns: 1fr; }
  .dl-split--reverse .dl-split__content { order: 2; }
  .dl-split--reverse .dl-split__images { order: 1; }
  .dl-training__grid { grid-template-columns: 1fr; }
  .dl-oem { padding: 64px 0; }
  .dl-oem__inner { grid-template-columns: 1fr; gap: 32px; }
  .dl-oem__image { order: -1; }
  .dl-oem__actions { flex-direction: column; }
  .dl-oem__actions .btn { width: 100%; }
  .dl-qual { padding: 64px 0; }
  .dl-qual__grid { grid-template-columns: 1fr; }
  .dl-process { padding: 64px 0; }
  .dl-process__inner { grid-template-columns: 1fr; gap: 20px; }
  .dl-process__steps { display: none; }
  .dl-process__accordion { display: block; }
  .dl-assess { padding: 64px 0; }
  .dl-scenarios { padding: 64px 0; }
  .dl-scenarios__grid { grid-template-columns: 1fr; }
  .dl-faq { padding: 64px 0; }
  .dl-final-cta { padding: 64px 0; }
  .dl-app { padding: 64px 0; }
  .dl-review__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .dl-hero__title { font-size: clamp(24px, 6vw, 36px); }
  .dl-hero__buttons { flex-direction: column; }
  .dl-hero__buttons .btn { width: 100%; }
  .dl-hero__tags { display: none; }
  .dl-products__grid { grid-template-columns: 1fr; }
  .dl-split__items { grid-template-columns: 1fr; }
  .dl-training__grid { grid-template-columns: 1fr; }
  .dl-assess__progress { flex-wrap: wrap; }
  .dl-assess__progress-step { flex: 0 0 calc(33% - 3px); }
  .dl-assess__opts--grid { grid-template-columns: 1fr; }
  .dl-assess__summary { grid-template-columns: 1fr; }
  .dl-assess__result-actions { flex-direction: column; }
  .dl-final-cta__benefits { flex-direction: column; align-items: center; }
  .dl-final-cta__buttons { flex-direction: column; }
  .dl-final-cta__buttons .btn { width: 100%; max-width: 360px; }
  .dl-app__product-opts { gap: 6px; }
  .dl-app__product-opts label { font-size: 12px; padding: 6px 10px; }
  .dl-app__summary { grid-template-columns: 1fr; }
  .dl-app__confirmations { gap: 8px; }
}
@media (max-width: 480px) {
  .dl-assess__progress-step { flex: 0 0 calc(50% - 2px); font-size: 10px; }
  .dl-assess__progress-step span { font-size: 14px; }
  .dl-assess__step { padding: 20px; }
  .dl-partners__item { padding: 20px; }
  .dl-coop__card { padding: 20px; }
}

/* ==================== SERVICE HERO ==================== */
.svc-hero { position: relative; min-height: 580px; max-height: 680px; display: flex; align-items: center; overflow: hidden; background: var(--color-dark); }
.svc-hero__bg { position: absolute; inset: 0; }
.svc-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.svc-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.55) 50%, rgba(23,25,28,0.25) 100%); z-index: 1; }
.svc-hero__content { position: relative; z-index: 2; padding: 60px 0; max-width: 850px; }
.svc-hero__label { font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.15em; color: var(--color-primary); margin-bottom: 16px; text-transform: uppercase; }
.svc-hero__title { font-size: clamp(28px, 4vw, 52px); font-weight: 800; color: var(--color-white); text-transform: uppercase; line-height: 1.1; margin-bottom: 18px; }
.svc-hero__text { font-size: 17px; color: rgba(255,255,255,0.75); margin-bottom: 24px; line-height: 1.65; max-width: 600px; }
.svc-hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.svc-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.svc-hero__tags span { font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.8); text-transform: uppercase; }
.svc-hero__notice { background: var(--color-bg-light); padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.svc-hero__notice p { font-size: var(--font-size-sm); color: var(--color-text-light); text-align: center; font-style: italic; }

/* ==================== SERVICE STICKY NAV ==================== */
.svc-sticky { background: var(--color-white); border-bottom: 1px solid var(--color-border); position: sticky; top: var(--header-height); z-index: 99; }
.svc-sticky__list { display: flex; gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.svc-sticky__list::-webkit-scrollbar { display: none; }
.svc-sticky__link { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); padding: 14px 13px; white-space: nowrap; border-bottom: 2px solid transparent; transition: all var(--transition); }
.svc-sticky__link:hover { color: var(--color-dark); }
.svc-sticky__link--active { color: var(--color-primary-dark); border-bottom-color: var(--color-primary); }

/* ==================== SERVICE OVERVIEW ==================== */
.svc-overview { padding: 100px 0; background: var(--color-white); }
.svc-overview__inner { display: grid; grid-template-columns: 520px 1fr; gap: 60px; align-items: center; }
.svc-overview__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.svc-overview__content .section-title { text-align: left; }
.svc-overview__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 10px; line-height: 1.7; }
.svc-overview__values { margin: 24px 0; border-top: 1px solid var(--color-border); }
.svc-overview__value { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.svc-overview__value svg { flex-shrink: 0; margin-top: 2px; }
.svc-overview__value h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.svc-overview__value p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; }
.svc-overview__actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; align-items: center; }
.svc-overview__link { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-primary-dark); }

/* ==================== SERVICE SCOPE ==================== */
.svc-scope { padding: 100px 0; background: var(--color-bg-light); }
.svc-scope__tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 24px; overflow-x: auto; }
.svc-scope__tab { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-light); border: 1px solid var(--color-border); border-radius: var(--radius); transition: all var(--transition); cursor: pointer; white-space: nowrap; }
.svc-scope__tab:hover { border-color: var(--color-primary); color: var(--color-dark); }
.svc-scope__tab--active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-dark); }
.svc-scope__panel { display: none; }
.svc-scope__panel--active { display: block; }
.svc-scope__panel-content { padding: 28px; background: var(--color-white); border-radius: var(--radius); border-left: 3px solid var(--color-primary); }
.svc-scope__panel-content h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 10px; }
.svc-scope__panel-content p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; margin-bottom: 12px; }
.svc-scope__panel-content h4 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 8px; margin-top: 14px; }
.svc-scope__panel-content li { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 2px 0; padding-left: 14px; position: relative; }
.svc-scope__panel-content li::before { content: ''; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.svc-scope__accordion { display: none; }
.svc-scope__acc-item { border-bottom: 1px solid var(--color-border); }
.svc-scope__acc-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; font-family: var(--font-heading); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); text-align: left; }
.svc-scope__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; }
.svc-scope__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.svc-scope__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.svc-scope__acc-content[aria-hidden="false"] { max-height: 300px; }
.svc-scope__acc-content p { font-size: 14px; color: var(--color-text-light); line-height: 1.5; padding-bottom: 16px; }

/* ==================== SERVICE BEFORE DELIVERY ==================== */
.svc-before { padding: 100px 0; background: var(--color-white); }
.svc-before__inner { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.svc-before__content .section-title { text-align: left; }
.svc-before__items { margin: 20px 0; }
.svc-before__item { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--color-border); }
.svc-before__item span { font-family: var(--font-heading); font-size: 20px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 32px; }
.svc-before__item h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 2px; }
.svc-before__item p { font-size: var(--font-size-sm); color: var(--color-text-light); margin: 0; }
.svc-before__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin: 16px 0; }
.svc-before__actions { margin-top: 16px; }
.svc-before__images { display: flex; flex-direction: column; gap: 12px; }
.svc-before__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== SERVICE PROCESS ==================== */
.svc-process { padding: 100px 0; background: var(--color-dark); }
.svc-process__inner { display: grid; grid-template-columns: 260px 1fr; gap: 24px; margin-top: 40px; }
.svc-process__steps { display: flex; flex-direction: column; gap: 2px; }
.svc-process__step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: rgba(255,255,255,0.6); }
.svc-process__step:hover { background: rgba(245,180,0,0.08); }
.svc-process__step--active { border-left-color: var(--color-primary); color: var(--color-white); }
.svc-process__step span { font-size: 18px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; width: 28px; }
.svc-process__panel { display: none; border-radius: var(--radius); overflow: hidden; }
.svc-process__panel--active { display: block; }
.svc-process__panel img { width: 100%; height: 520px; object-fit: cover; }
.svc-process__panel-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 28px; background: linear-gradient(to top, rgba(23,25,28,0.9) 0%, transparent 100%); }
.svc-process__panel-info span { font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--color-primary); opacity: 0.5; line-height: 1; }
.svc-process__panel-info h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-white); margin-bottom: 4px; }
.svc-process__panel-info p { font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.5; }
.svc-process__accordion { display: none; }
.svc-process__acc-item { border-bottom: 1px solid rgba(255,255,255,0.1); }
.svc-process__acc-trigger { font-size: var(--font-size-sm); font-weight: 600; text-transform: uppercase; color: var(--color-white); text-align: left; }
.svc-process__acc-trigger svg { transition: transform var(--transition); flex-shrink: 0; color: rgba(255,255,255,0.5); }
.svc-process__acc-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.svc-process__acc-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.svc-process__acc-content[aria-hidden="false"] { max-height: 300px; }
.svc-process__acc-content p { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.5; padding-bottom: 14px; }

/* ==================== OPERATION & MAINTENANCE ==================== */
.svc-operation { padding: 100px 0; background: var(--color-bg-light); }
.svc-operation__inner { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.svc-operation__content .section-title { text-align: left; }
.svc-operation__groups { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.svc-operation__group h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 4px; }
.svc-operation__group p { font-size: var(--font-size-sm); color: var(--color-text-light); line-height: 1.5; }
.svc-operation__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin: 16px 0; }
.svc-operation__actions { display: flex; gap: 12px; }
.svc-operation__images { display: flex; flex-direction: column; gap: 12px; }
.svc-operation__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== MAINTENANCE CHECKLIST ==================== */
.svc-maint { padding: 100px 0; background: var(--color-white); }
.svc-maint__wrap { max-width: 740px; margin: 0 auto; }
.svc-maint__progress { display: flex; gap: 4px; margin-bottom: 24px; }
.svc-maint__progress-step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text-light); background: var(--color-bg-light); border-bottom: 3px solid var(--color-border); transition: all var(--transition); }
.svc-maint__progress-step span { display: block; font-size: 16px; font-weight: 800; margin-bottom: 2px; }
.svc-maint__progress-step--active { color: var(--color-dark); }
.svc-maint__progress-step--active span { color: var(--color-primary); }
.svc-maint__progress-step--current { border-bottom-color: var(--color-primary); }
.svc-maint__step { display: none; background: var(--color-bg-light); padding: 28px; border-radius: var(--radius); }
.svc-maint__step--active { display: block; }
.svc-maint__step h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 16px; }
.svc-maint__field { margin-bottom: 14px; }
.svc-maint__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 5px; }
.svc-maint__field select, .svc-maint__field input, .svc-maint__field textarea { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; width: 100%; background: var(--color-white); }
.svc-maint__field select:focus, .svc-maint__field input:focus, .svc-maint__field textarea:focus { outline: none; border-color: var(--color-primary); }
.svc-maint__hint { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin-bottom: 12px; }
.svc-maint__empty { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; }
.svc-maint__checks { display: flex; flex-direction: column; gap: 2px; }
.svc-maint__check-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--color-white); border-radius: var(--radius); gap: 12px; }
.svc-maint__check-name { font-size: 14px; font-weight: 600; color: var(--color-dark); }
.svc-maint__check-opts { display: flex; gap: 10px; }
.svc-maint__check-opts label { font-size: var(--font-size-xs); color: var(--color-text-light); cursor: pointer; padding: 4px 10px; border: 1px solid var(--color-border); border-radius: var(--radius); transition: all var(--transition); }
.svc-maint__check-opts label:hover { border-color: var(--color-primary); }
.svc-maint__check-opts label:has(input:checked) { background: rgba(245,180,0,0.08); border-color: var(--color-primary); }
.svc-maint__check-opts input { accent-color: var(--color-primary); }
.svc-maint__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--color-border); }
.svc-maint__summary { background: var(--color-bg-light); padding: 28px; border-radius: var(--radius); }
.svc-maint__summary[hidden] { display: none; }
.svc-maint__summary h3 { font-size: 20px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 16px; }
.svc-maint__summary h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin: 16px 0 8px; }
.svc-maint__summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.svc-maint__summary-item { padding: 10px 14px; background: var(--color-white); border-radius: var(--radius); }
.svc-maint__summary-item span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 2px; }
.svc-maint__summary-item strong { font-size: var(--font-size-sm); color: var(--color-dark); }
.svc-maint__summary ul { margin-bottom: 12px; }
.svc-maint__summary li { font-size: var(--font-size-sm); color: var(--color-text-light); padding: 3px 0; padding-left: 14px; position: relative; }
.svc-maint__summary li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-warning); border-radius: 50%; }
.svc-maint__summary-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }

/* ==================== TECHNICAL SUPPORT ==================== */
.svc-technical { padding: 100px 0; background: var(--color-dark); }
.svc-technical__inner { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.svc-technical__content .section-title { text-align: left; }
.svc-technical__info { margin-bottom: 20px; }
.svc-technical__info h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-white); margin-bottom: 10px; }
.svc-technical__info li { font-size: 14px; color: rgba(255,255,255,0.6); padding: 3px 0; padding-left: 14px; position: relative; }
.svc-technical__info li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.svc-technical__note { font-size: var(--font-size-sm); color: rgba(255,255,255,0.5); font-style: italic; margin: 16px 0; }
.svc-technical__images { display: flex; flex-direction: column; gap: 12px; }
.svc-technical__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== FAULT ASSISTANT ==================== */
.svc-fault { padding: 100px 0; background: var(--color-bg-light); }
.svc-fault__wrap { max-width: 740px; margin: 0 auto; }
.svc-fault__progress { display: flex; gap: 4px; margin-bottom: 24px; }
.svc-fault__progress-step { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text-light); background: var(--color-white); border-bottom: 3px solid var(--color-border); transition: all var(--transition); }
.svc-fault__progress-step span { display: block; font-size: 16px; font-weight: 800; margin-bottom: 2px; }
.svc-fault__progress-step--active { color: var(--color-dark); }
.svc-fault__progress-step--active span { color: var(--color-primary); }
.svc-fault__progress-step--current { border-bottom-color: var(--color-primary); }
.svc-fault__step { display: none; background: var(--color-white); padding: 28px; border-radius: var(--radius); }
.svc-fault__step--active { display: block; }
.svc-fault__step h3 { font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 16px; }
.svc-fault__field { margin-bottom: 16px; }
.svc-fault__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 5px; }
.svc-fault__field select, .svc-fault__field input, .svc-fault__field textarea { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; width: 100%; }
.svc-fault__field select:focus, .svc-fault__field input:focus, .svc-fault__field textarea:focus { outline: none; border-color: var(--color-primary); }
.svc-fault__field input.error, .svc-fault__field textarea.error { border-color: var(--color-error); }
.svc-fault__error { font-size: var(--font-size-xs); color: var(--color-error); margin-top: 3px; min-height: 14px; }
.svc-fault__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.svc-fault__opts label { font-size: var(--font-size-sm); cursor: pointer; transition: all var(--transition); }
.svc-fault__opts label:hover { border-color: var(--color-primary); }
.svc-fault__opts label:has(input:checked) { background: rgba(245,180,0,0.08); border-color: var(--color-primary); }
.svc-fault__opts input { accent-color: var(--color-primary); }
.svc-fault__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--color-border); }
.svc-fault__media-note { font-size: var(--font-size-sm); color: var(--color-text-light); margin-bottom: 16px; }
.svc-fault__file-field { margin-bottom: 14px; }
.svc-fault__file-label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 6px; }
.svc-fault__file-list { margin-top: 6px; }
.svc-fault__file-item { font-size: var(--font-size-sm); }
.svc-fault__file-item button { color: var(--color-text-light); font-size: 16px; background: none; border: none; cursor: pointer; }
.svc-fault__file-item button:hover { color: var(--color-error); }
.svc-fault__result { text-align: center; background: var(--color-white); padding: 40px; border-radius: var(--radius); }
.svc-fault__result[hidden] { display: none; }
.svc-fault__result h3 { font-size: 22px; font-weight: 700; color: var(--color-dark); margin: 16px 0 8px; }
.svc-fault__result p { font-size: 14px; color: var(--color-text-light); margin-bottom: 20px; }
.svc-fault__summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; text-align: left; }
.svc-fault__summary-item { padding: 10px 14px; background: var(--color-bg-light); border-radius: var(--radius); }
.svc-fault__summary-item span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 2px; }
.svc-fault__summary-item strong { font-size: var(--font-size-sm); color: var(--color-dark); }
.svc-fault__result-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* ==================== WARRANTY ==================== */
.svc-warranty { padding: 100px 0; background: var(--color-bg-light); }
.svc-warranty__inner { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.svc-warranty__content .section-title { text-align: left; }
.svc-warranty__content p { font-size: 15px; color: var(--color-text-light); margin-bottom: 14px; line-height: 1.7; }
.svc-warranty__requirements { margin-bottom: 20px; }
.svc-warranty__requirements h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 10px; }
.svc-warranty__requirements li { font-size: 14px; color: var(--color-text-light); padding: 3px 0; padding-left: 14px; position: relative; }
.svc-warranty__requirements li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.svc-warranty__process { margin-bottom: 16px; }
.svc-warranty__process h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 10px; }
.svc-warranty__steps { display: flex; flex-wrap: wrap; gap: 8px; }
.svc-warranty__steps span { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-text); }
.svc-warranty__note { font-size: var(--font-size-sm); color: var(--color-warning); font-style: italic; margin: 16px 0; }
.svc-warranty__images { display: flex; flex-direction: column; gap: 12px; }
.svc-warranty__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== SPARE PARTS ==================== */
.svc-parts { padding: 100px 0; background: var(--color-white); }
.svc-parts__inner { display: grid; grid-template-columns: 500px 1fr; gap: 60px; align-items: center; }
.svc-parts__images { display: flex; flex-direction: column; gap: 12px; }
.svc-parts__images img { width: 100%; border-radius: var(--radius); object-fit: cover; }
.svc-parts__content .section-title { text-align: left; }
.svc-parts__info { margin-bottom: 16px; }
.svc-parts__info h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-dark); margin-bottom: 8px; }
.svc-parts__info li { font-size: 14px; color: var(--color-text-light); padding: 3px 0; padding-left: 14px; position: relative; }
.svc-parts__info li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.svc-parts__note { font-size: var(--font-size-sm); color: var(--color-text-light); font-style: italic; margin: 16px 0; }
.svc-parts__actions { display: flex; gap: 12px; }

/* ==================== DEALER SERVICE ==================== */
.svc-dealer { padding: 100px 0; background: var(--color-dark); }
.svc-dealer__inner { display: grid; grid-template-columns: 1fr 500px; gap: 60px; align-items: center; }
.svc-dealer__content .section-title { text-align: left; }
.svc-dealer__items { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 20px 0; }
.svc-dealer__items h3 { font-size: var(--font-size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-white); margin-bottom: 10px; }
.svc-dealer__items li { font-size: 14px; color: rgba(255,255,255,0.6); padding: 3px 0; padding-left: 14px; position: relative; }
.svc-dealer__items li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: var(--color-primary); border-radius: 50%; }
.svc-dealer__note { font-size: var(--font-size-sm); color: rgba(255,255,255,0.5); font-style: italic; margin: 16px 0; }
.svc-dealer__actions { display: flex; gap: 12px; }
.svc-dealer__image img { width: 100%; border-radius: var(--radius); object-fit: cover; }

/* ==================== SERVICE DOCUMENTS ==================== */
.svc-docs { padding: 100px 0; background: var(--color-bg-light); }
.svc-docs__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 32px; }
.svc-docs__item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--color-border); font-size: 14px; color: var(--color-dark); }
.svc-docs__status { font-size: var(--font-size-xs); font-weight: 600; color: var(--color-primary-dark); }
.svc-docs__form-wrap { background: var(--color-white); padding: 28px; border-radius: var(--radius); }
.svc-docs__form { display: flex; flex-direction: column; gap: 14px; }
.svc-docs__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svc-docs__field { display: flex; flex-direction: column; }
.svc-docs__field label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 5px; }
.svc-docs__field input, .svc-docs__field select, .svc-docs__field textarea { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; }
.svc-docs__field input:focus, .svc-docs__field select:focus, .svc-docs__field textarea:focus { outline: none; border-color: var(--color-primary); }
.svc-docs__field input.error, .svc-docs__field select.error { border-color: var(--color-error); }
.svc-docs__error { font-size: 11px; color: var(--color-error); margin-top: 3px; min-height: 14px; }
.svc-docs__privacy { font-size: var(--font-size-xs); color: var(--color-text-light); margin-bottom: 14px; }
.svc-docs__success { text-align: center; padding: 24px; }
.svc-docs__success[hidden] { display: none; }
.svc-docs__success h3 { font-size: 20px; font-weight: 700; color: var(--color-dark); margin: 12px 0 6px; }
.svc-docs__success p { font-size: 14px; color: var(--color-text-light); }

/* ==================== SERVICE STATUS ==================== */
.svc-status { padding: 60px 0; background: var(--color-white); }
.svc-status__inner { text-align: center; max-width: 600px; margin: 0 auto; }
.svc-status__form { display: flex; gap: 12px; align-items: flex-end; justify-content: center; margin-top: 20px; flex-wrap: wrap; }
.svc-status__field { display: flex; flex-direction: column; }
.svc-status__field label { font-size: 12px; font-weight: 600; color: var(--color-text); margin-bottom: 4px; text-align: left; }
.svc-status__field input { padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 16px; min-width: 200px; }
.svc-status__field input:focus { outline: none; border-color: var(--color-primary); }
.svc-status__demo { margin-top: 20px; background: var(--color-bg-light); padding: 20px; border-radius: var(--radius); text-align: left; }
.svc-status__demo[hidden] { display: none; }
.svc-status__demo p { font-size: 14px; color: var(--color-text-light); margin-bottom: 12px; }
.svc-status__demo h4 { font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 8px; }
.svc-status__stages { display: flex; flex-wrap: wrap; gap: 8px; }
.svc-status__stages span { font-size: var(--font-size-xs); color: var(--color-text-light); }

/* ==================== SERVICE FAQ ==================== */
.svc-faq { padding: 100px 0; background: var(--color-bg-light); }
.svc-faq__list { max-width: 800px; margin: 0 auto; }
.svc-faq__item { border-bottom: 1px solid var(--color-border); }
.svc-faq__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 18px 0; text-align: left; font-family: var(--font-heading); font-size: 15px; font-weight: 600; text-transform: uppercase; color: var(--color-dark); gap: 16px; }
.svc-faq__trigger svg { flex-shrink: 0; transition: transform var(--transition); }
.svc-faq__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.svc-faq__trigger[aria-expanded="true"] { color: var(--color-primary-dark); }
.svc-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.svc-faq__answer[aria-hidden="false"] { max-height: 300px; }
.svc-faq__answer p { font-size: 14px; color: var(--color-text-light); line-height: 1.6; padding-bottom: 18px; }

/* ==================== SERVICE FINAL CTA ==================== */
.svc-final-cta { position: relative; padding: 80px 0; overflow: hidden; }
.svc-final-cta__bg { position: absolute; inset: 0; }
.svc-final-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.svc-final-cta__overlay { position: absolute; inset: 0; background: rgba(23,25,28,0.9); }
.svc-final-cta__content { position: relative; z-index: 2; text-align: center; max-width: 700px; margin: 0 auto; }
.svc-final-cta__text { font-size: 16px; color: rgba(255,255,255,0.7); margin-bottom: 20px; line-height: 1.7; }
.svc-final-cta__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 24px; }
.svc-final-cta__benefits span { font-size: var(--font-size-xs); color: rgba(255,255,255,0.8); }
.svc-final-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ==================== SERVICE REQUEST FORM ==================== */
.svc-request { padding: 100px 0; background: var(--color-bg-light); }
.svc-request__wrap { max-width: 860px; margin: 0 auto; }
.svc-request__section-title { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin: 28px 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--color-primary); }
.svc-request__section-title:first-child { margin-top: 0; }
.svc-request__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.svc-request__opts label { font-size: var(--font-size-sm); cursor: pointer; transition: all var(--transition); }
.svc-request__opts label:hover { border-color: var(--color-primary); }
.svc-request__opts label:has(input:checked) { background: rgba(245,180,0,0.08); border-color: var(--color-primary); }
.svc-request__opts input { accent-color: var(--color-primary); }
.svc-request__safety-note { font-size: 13px; color: var(--color-warning); background: rgba(183,110,0,0.08); padding: 10px 14px; border-radius: var(--radius); border-left: 3px solid var(--color-warning); margin: 16px 0; }
.svc-request__priority-note { font-size: var(--font-size-xs); color: var(--color-text-light); font-style: italic; margin-top: 8px; }
.svc-request__confirmations { margin: 20px 0; display: flex; flex-direction: column; gap: 10px; }
.svc-request__check { font-size: var(--font-size-sm); color: var(--color-text-light); cursor: pointer; }
.svc-request__check input { accent-color: var(--color-primary); margin-top: 3px; flex-shrink: 0; }
.svc-request__ref { margin: 16px 0; padding: 12px 16px; background: var(--color-bg-light); border-radius: var(--radius); text-align: center; }
.svc-request__ref span { font-size: var(--font-size-xs); color: var(--color-text-light); }
.svc-request__ref strong { display: block; font-family: var(--font-heading); font-size: 20px; font-weight: 800; color: var(--color-primary); margin: 4px 0; }
.svc-request__ref-note { font-size: var(--font-size-xs); color: var(--color-warning); }
.svc-request__summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; text-align: left; }
.svc-request__summary-item { padding: 10px 14px; background: var(--color-bg-light); border-radius: var(--radius); }
.svc-request__summary-item span { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 2px; }
.svc-request__summary-item strong { font-size: 13px; color: var(--color-dark); }
.svc-request__success-actions { display: flex; gap: 12px; justify-content: center; margin-top: 20px; }

/* ==================== FILE UPLOAD (SHARED) ==================== */
.svc-file { margin-bottom: 14px; }
.svc-file__label { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-text); margin-bottom: 6px; }
.svc-file-input { font-size: 14px; }
.svc-file__list { margin-top: 6px; }
.svc-file__item { font-size: var(--font-size-sm); color: var(--color-text); }
.svc-file__item button { color: var(--color-text-light); font-size: 16px; background: none; border: none; cursor: pointer; }
.svc-file__item button:hover { color: var(--color-error); }
.svc-file__note { font-size: var(--font-size-xs); color: var(--color-text-light); margin-bottom: 16px; }

/* ==================== SERVICE RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .svc-overview__inner { grid-template-columns: 420px 1fr; gap: 40px; }
  .svc-before__inner { grid-template-columns: 1fr 400px; gap: 40px; }
  .svc-warranty__inner { grid-template-columns: 1fr 400px; gap: 40px; }
  .svc-parts__inner { grid-template-columns: 400px 1fr; gap: 40px; }
  .svc-dealer__inner { grid-template-columns: 1fr 400px; gap: 40px; }
}
@media (max-width: 992px) {
  .svc-hero { min-height: 480px; max-height: 560px; }
  .svc-overview { padding: 64px 0; }
  .svc-overview__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-scope { padding: 64px 0; }
  .svc-scope__tabs { display: none; }
  .svc-scope__accordion { display: block; }
  .svc-before { padding: 64px 0; }
  .svc-before__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-before__images { order: -1; }
  .svc-process { padding: 64px 0; }
  .svc-process__inner { grid-template-columns: 1fr; gap: 20px; }
  .svc-process__steps { display: none; }
  .svc-process__accordion { display: block; }
  .svc-operation { padding: 64px 0; }
  .svc-operation__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-operation__groups { grid-template-columns: 1fr; }
  .svc-maint { padding: 64px 0; }
  .svc-technical { padding: 64px 0; }
  .svc-technical__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-fault { padding: 64px 0; }
  .svc-warranty { padding: 64px 0; }
  .svc-warranty__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-warranty__images { order: -1; }
  .svc-parts { padding: 64px 0; }
  .svc-parts__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-dealer { padding: 64px 0; }
  .svc-dealer__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-dealer__image { order: -1; }
  .svc-dealer__items { grid-template-columns: 1fr; }
  .svc-docs { padding: 64px 0; }
  .svc-docs__inner { grid-template-columns: 1fr; gap: 32px; }
  .svc-faq { padding: 64px 0; }
  .svc-final-cta { padding: 64px 0; }
  .svc-request { padding: 64px 0; }
}
@media (max-width: 768px) {
  .svc-hero__title { font-size: clamp(24px, 6vw, 36px); }
  .svc-hero__buttons { flex-direction: column; }
  .svc-hero__buttons .btn { width: 100%; }
  .svc-hero__tags { display: none; }
  .svc-maint__progress { flex-wrap: wrap; }
  .svc-maint__progress-step { flex: 0 0 calc(33% - 3px); }
  .svc-maint__checks { gap: 8px; }
  .svc-maint__check-item { flex-direction: column; align-items: flex-start; gap: 8px; }
  .svc-maint__check-opts { flex-wrap: wrap; }
  .svc-maint__summary-grid { grid-template-columns: 1fr; }
  .svc-fault__progress { flex-wrap: wrap; }
  .svc-fault__progress-step { flex: 0 0 calc(33% - 3px); }
  .svc-fault__opts { flex-direction: column; }
  .svc-fault__summary-grid { grid-template-columns: 1fr; }
  .svc-fault__result-actions { flex-direction: column; align-items: center; }
  .svc-docs__form-row { grid-template-columns: 1fr; }
  .svc-docs__item { flex-direction: column; align-items: flex-start; gap: 4px; }
  .svc-request__section-title { font-size: 14px; }
  .svc-request__opts { flex-direction: column; }
  .svc-request__summary { grid-template-columns: 1fr; }
  .svc-request__confirmations { gap: 8px; }
  .svc-final-cta__benefits { flex-direction: column; align-items: center; }
  .svc-final-cta__buttons { flex-direction: column; }
  .svc-final-cta__buttons .btn { width: 100%; max-width: 360px; }
  .svc-status__form { flex-direction: column; align-items: stretch; }
  .svc-status__field input { min-width: auto; }
}
@media (max-width: 480px) {
  .svc-maint__progress-step { flex: 0 0 calc(50% - 2px); font-size: 10px; }
  .svc-maint__progress-step span { font-size: 14px; }
  .svc-maint__step { padding: 20px; }
  .svc-fault__progress-step { flex: 0 0 calc(50% - 2px); font-size: 10px; }
  .svc-fault__progress-step span { font-size: 14px; }
  .svc-fault__step { padding: 20px; }
  .svc-request__wrap { padding: 0; }
}

/* ==================== MEGA MENU ACTIVE ==================== */
.mega-menu__active { color: var(--color-primary-dark) !important; font-weight: 700 !important; }

/* ==================== LARGE SCREEN ==================== */
@media (min-width: 1441px) {
  .container { padding: 0 32px; }
  .prod-grid, .cat-grid { grid-template-columns: repeat(4, 1fr); }
  .cat-advantages__grid { grid-template-columns: repeat(3, 1fr); }
  .pd-related__grid { grid-template-columns: repeat(4, 1fr); }
  .cust-products__grid { grid-template-columns: repeat(4, 1fr); }
  .dl-products__grid { grid-template-columns: repeat(4, 1fr); }
  .news-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ============================================================
   CASDE News & Insights Page Styles
   ============================================================ */

/* ==================== NEWS HERO ==================== */
.news-hero {
  position: relative;
  min-height: 500px;
  max-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--color-dark);
}
.news-hero__bg {
  position: absolute;
  inset: 0;
}
.news-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(23,25,28,0.88) 0%, rgba(23,25,28,0.5) 60%, rgba(23,25,28,0.25) 100%);
  z-index: 1;
}
.news-hero__content {
  position: relative;
  z-index: 2;
  padding: 80px 0;
  max-width: 760px;
}
.news-hero__label {
  display: block;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}
.news-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 20px;
}
.news-hero__text {
  font-size: 17px;
  color: rgba(255,255,255,0.75);
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 560px;
}
.news-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}
.news-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.news-hero__tags span {
  display: inline-block;
  padding: 5px 14px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
}

/* ==================== BREADCRUMB ==================== */
.breadcrumb {
  padding: 14px 0;
  background: var(--color-bg-light);
  border-bottom: 1px solid var(--color-border);
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--color-text-light);
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumb__list li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.breadcrumb__list li + li::before {
  content: '/';
  color: var(--color-border);
}
.breadcrumb__list a {
  color: var(--color-text-light);
  transition: color var(--transition);
}
.breadcrumb__list a:hover {
  color: var(--color-primary-dark);
}
.breadcrumb__list li[aria-current="page"] {
  color: var(--color-dark);
  font-weight: 500;
}

/* ==================== FEATURED INSIGHTS ==================== */
.news-featured {
  padding: 80px 0;
  background: var(--color-white);
}
.news-featured__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.news-featured__main {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--color-border);
  transition: box-shadow var(--transition);
}
.news-featured__main:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}
.news-featured__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.news-featured__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.news-featured__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.news-featured__main:hover .news-featured__image img,
.news-featured__card:hover .news-featured__card-image img {
  transform: scale(1.04);
}
.news-featured__category {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 4px 12px;
  background: var(--color-primary);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: var(--radius);
}
.news-featured__body {
  padding: 24px;
}
.news-featured__title {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 10px;
  line-height: 1.2;
}
.news-featured__excerpt {
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.6;
  margin-bottom: 14px;
}
.news-featured__meta {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: var(--color-text-light);
  margin-bottom: 14px;
}
.news-featured__reading {
  color: var(--color-primary-dark);
  font-weight: 600;
}
.news-featured__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}
.news-featured__side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.news-featured__card {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--color-border);
  transition: box-shadow var(--transition);
  flex: 1;
}
.news-featured__card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}
.news-featured__card-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.news-featured__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.news-featured__card-body {
  padding: 18px;
}
.news-featured__card-title {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
  line-height: 1.25;
}
.news-featured__card-excerpt {
  font-size: var(--font-size-card);
  color: var(--color-text-light);
  line-height: 1.5;
  margin-bottom: 10px;
}

/* ==================== CATEGORY NAVIGATION ==================== */
.news-catnav {
  padding: 28px 0;
  background: var(--color-bg-light);
  border-bottom: 1px solid var(--color-border);
}
.news-catnav__heading {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-light);
  margin-bottom: 14px;
}
.news-catnav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.news-catnav__btn {
  padding: 8px 18px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
}
.news-catnav__btn:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
}
.news-catnav__btn--active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-dark);
}
.news-catnav__btn--active:hover {
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

/* ==================== SEARCH & FILTER TOOLBAR ==================== */
.news-toolbar {
  padding: 40px 0;
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
}
.news-toolbar__heading {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-light);
  margin-bottom: 18px;
}
.news-toolbar__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
  margin-bottom: 14px;
}
.news-toolbar__search {
  display: flex;
  flex: 1;
  min-width: 250px;
  max-width: 400px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.news-toolbar__search input {
  flex: 1;
  padding: 10px 14px;
  border: none;
  outline: none;
  font-size: 15px;
  font-family: var(--font-body);
  background: var(--color-white);
}
.news-toolbar__search button {
  padding: 10px 14px;
  background: var(--color-bg-light);
  border: none;
  border-left: 1px solid var(--color-border);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-light);
  transition: color var(--transition);
}
.news-toolbar__search button:hover {
  color: var(--color-primary-dark);
}
.news-toolbar__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.news-toolbar__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.news-toolbar__field label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-light);
}
.news-toolbar__field select {
  padding: 8px 12px;
  font-size: 13px;
  font-family: var(--font-body);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
  color: var(--color-text);
  cursor: pointer;
  min-width: 140px;
}
.news-toolbar__field select:focus {
  outline: none;
  border-color: var(--color-primary);
}
.news-toolbar__actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.news-toolbar__saved {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
  cursor: pointer;
  transition: all var(--transition);
}
.news-toolbar__saved:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
}
.news-toolbar__saved--active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-dark);
}
.news-toolbar__result {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
}
.news-toolbar__result span {
  font-weight: 700;
  color: var(--color-dark);
}

/* ==================== NEWS GRID & CARDS ==================== */
.news-latest {
  padding: 80px 0;
  background: var(--color-bg-light);
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.news-card {
  position: relative;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow var(--transition), transform var(--transition);
}
.news-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}
.news-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.news-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.news-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.news-card:hover .news-card__image img {
  transform: scale(1.04);
}
.news-card__category {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 10px;
  background: var(--color-primary);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: var(--radius);
}
.news-card__body {
  padding: 18px;
}
.news-card__title {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card__excerpt {
  font-size: var(--font-size-card);
  color: var(--color-text-light);
  line-height: 1.55;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card__meta {
  display: flex;
  gap: 12px;
  font-size: 11px;
  color: var(--color-text-light);
  margin-bottom: 12px;
}
.news-card__type {
  color: var(--color-primary-dark);
  font-weight: 600;
}
.news-card__read {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}
.news-card__bookmark {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.9);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: var(--color-text-light);
  transition: all var(--transition);
  z-index: 2;
}
.news-card__bookmark:hover {
  color: var(--color-primary-dark);
  background: var(--color-white);
}
.news-card__bookmark--active {
  color: var(--color-primary);
}

/* Empty & Load More */
.news-empty {
  text-align: center;
  padding: 60px 20px;
}
.news-empty p {
  font-size: 16px;
  color: var(--color-text-light);
  margin: 16px 0;
}
.news-load-more {
  text-align: center;
  margin-top: 40px;
}
.news-load-more span {
  font-size: 12px;
  color: var(--color-text-light);
  margin-left: 4px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ==================== BUYING GUIDES SPOTLIGHT ==================== */
.news-guides {
  padding: 80px 0;
  background: var(--color-white);
}
.news-guides__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.news-guides__card {
  padding: 28px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  border-left: 4px solid var(--color-primary);
  transition: box-shadow var(--transition);
}
.news-guides__card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.news-guides__num {
  display: block;
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 14px;
}
.news-guides__card h3 {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 10px;
  line-height: 1.25;
}
.news-guides__suitable,
.news-guides__covers {
  font-size: 13px;
  color: var(--color-text-light);
  margin-bottom: 6px;
  line-height: 1.4;
}
.news-guides__suitable {
  color: var(--color-primary-dark);
  font-weight: 600;
}
.news-guides__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
  text-decoration: none;
  transition: color var(--transition);
}
.news-guides__link:hover {
  color: var(--color-dark);
}

/* ==================== PRODUCT KNOWLEDGE TABS ==================== */
.news-pk {
  padding: 80px 0;
  background: var(--color-dark);
}
.pk-tabs {
  margin-top: 40px;
}
.pk-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}
.pk-tabs__tab {
  padding: 8px 16px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.5);
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
}
.pk-tabs__tab:hover {
  color: var(--color-white);
  border-color: rgba(255,255,255,0.5);
}
.pk-tabs__tab--active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-dark);
}
.pk-tabs__panel {
  border-radius: var(--radius);
  overflow: hidden;
}
.pk-tabs__panel-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.pk-tabs__panel-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 320px;
}
.pk-tabs__panel-content {
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-dark-2);
}
.pk-tabs__panel-content h3 {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 12px;
  line-height: 1.2;
}
.pk-tabs__panel-content p {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  line-height: 1.6;
  margin-bottom: 16px;
}
.pk-tabs__product {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 18px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.pk-tabs__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Product Knowledge Mobile Accordion */
.pk-acc {
  display: none;
  margin-top: 24px;
}
.pk-acc__item {
  border-bottom: 1px solid rgba(255,255,255,0.15);
}
.pk-acc__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-white);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}
.pk-acc__trigger svg {
  transition: transform var(--transition);
}
.pk-acc__trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.pk-acc__content {
  padding-bottom: 16px;
}
.pk-acc__content p {
  font-size: 14px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 12px;
  line-height: 1.5;
}

/* ==================== APPLICATION SOLUTIONS ==================== */
.news-apps {
  padding: 80px 0;
  background: var(--color-bg-light);
}
.news-apps__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px;
}
.news-apps__card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 240px;
}
.news-apps__card--large {
  grid-row: span 2;
  min-height: 496px;
}
.news-apps__image {
  position: absolute;
  inset: 0;
}
.news-apps__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.news-apps__card:hover .news-apps__image img {
  transform: scale(1.04);
}
.news-apps__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(23,25,28,0.85) 0%, rgba(23,25,28,0.2) 60%);
  z-index: 1;
}
.news-apps__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 24px;
}
.news-apps__card--large .news-apps__content {
  padding: 36px;
}
.news-apps__content h3 {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 6px;
}
.news-apps__card--large .news-apps__content h3 {
  font-size: 28px;
}
.news-apps__needs,
.news-apps__equip {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 4px;
  line-height: 1.4;
}
.news-apps__equip {
  color: var(--color-primary);
  font-weight: 600;
  font-size: 12px;
}
.news-apps__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.news-apps__card:hover .news-apps__link {
  opacity: 1;
  transform: translateY(0);
}

/* ==================== MAINTENANCE TIPS ==================== */
.news-maintenance {
  padding: 80px 0;
  background: var(--color-white);
}
.news-maintenance__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.news-maintenance__card {
  display: flex;
  gap: 20px;
  padding: 20px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
  transition: box-shadow var(--transition);
}
.news-maintenance__card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.news-maintenance__image {
  flex-shrink: 0;
  width: 180px;
  border-radius: var(--radius);
  overflow: hidden;
}
.news-maintenance__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-maintenance__body {
  flex: 1;
}
.news-maintenance__product {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: var(--color-primary-dark);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}
.news-maintenance__body h3 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
  line-height: 1.25;
}
.news-maintenance__body p {
  font-size: 13px;
  color: var(--color-text-light);
  line-height: 1.5;
  margin-bottom: 10px;
}
.news-maintenance__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
  text-decoration: none;
}
.news-maintenance__link:hover {
  color: var(--color-dark);
}
.news-maintenance__note {
  font-size: 13px;
  color: var(--color-text-light);
  text-align: center;
  margin-top: 24px;
  font-style: italic;
}

/* ==================== PRODUCT COMPARISONS ==================== */
.news-compare {
  padding: 80px 0;
  background: var(--color-bg-light);
}
.news-compare__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.news-compare__card {
  padding: 24px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  transition: box-shadow var(--transition);
}
.news-compare__card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.news-compare__images {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.news-compare__images img {
  flex: 1;
  border-radius: var(--radius);
  object-fit: cover;
  height: 112px;
}
.news-compare__vs {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 800;
  color: var(--color-primary);
  flex-shrink: 0;
}
.news-compare__card h3 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
  line-height: 1.25;
}
.news-compare__diff,
.news-compare__suit {
  font-size: 13px;
  color: var(--color-text-light);
  line-height: 1.4;
  margin-bottom: 4px;
}
.news-compare__suit {
  color: var(--color-primary-dark);
  font-weight: 600;
}
.news-compare__actions {
  display: flex;
  gap: 14px;
  margin-top: 14px;
}
.news-compare__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
  text-decoration: none;
}
.news-compare__link:hover {
  color: var(--color-dark);
}
.news-compare__products {
  font-size: 12px;
  color: var(--color-text-light);
  text-decoration: underline;
}
.news-compare__products:hover {
  color: var(--color-primary-dark);
}
.news-compare__note {
  font-size: 13px;
  color: var(--color-text-light);
  text-align: center;
  margin-top: 24px;
  font-style: italic;
}

/* ==================== COMPANY & FACTORY UPDATES ==================== */
.news-company {
  padding: 80px 0;
  background: var(--color-dark);
}
.news-company__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.news-company__card {
  background: var(--color-dark-2);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow var(--transition);
}
.news-company__card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.15);
}
.news-company__image {
  overflow: hidden;
  aspect-ratio: 16/10;
}
.news-company__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.news-company__card:hover .news-company__image img {
  transform: scale(1.04);
}
.news-company__body {
  padding: 20px;
}
.news-company__type {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
}
.news-company__body h3 {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 8px;
  line-height: 1.25;
}
.news-company__body p {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
  margin-bottom: 12px;
}
.news-company__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary);
  text-decoration: none;
}
.news-company__link:hover {
  color: var(--color-white);
}

/* ==================== NEWSLETTER ==================== */
.news-newsletter {
  position: relative;
  padding: 70px 0;
  overflow: hidden;
}
.news-newsletter__bg {
  position: absolute;
  inset: 0;
}
.news-newsletter__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-newsletter__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23,25,28,0.88);
  z-index: 1;
}
.news-newsletter__content {
  position: relative;
  z-index: 2;
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}
.news-newsletter__text {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 28px;
}
.news-newsletter__form {
  text-align: left;
}
.news-newsletter__row {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.news-newsletter__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.news-newsletter__field label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: rgba(255,255,255,0.7);
}
.news-newsletter__field input {
  padding: 10px 14px;
  font-size: 15px;
  font-family: var(--font-body);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.08);
  color: var(--color-white);
}
.news-newsletter__field input::placeholder {
  color: rgba(255,255,255,0.4);
}
.news-newsletter__field input:focus {
  outline: none;
  border-color: var(--color-primary);
}
.news-newsletter__error {
  font-size: 12px;
  color: var(--color-error);
  min-height: 16px;
}
.news-newsletter__topics {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
}
.news-newsletter__topics-label {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  margin-right: 4px;
}
.news-newsletter__topics label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
}
.news-newsletter__topics input {
  accent-color: var(--color-primary);
}
.news-newsletter__consent {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 10px;
  cursor: pointer;
}
.news-newsletter__consent input {
  accent-color: var(--color-primary);
}
.news-newsletter__privacy {
  font-size: 12px;
  color: rgba(255,255,255,0.45);
  margin-bottom: 18px;
}
.news-newsletter__success {
  text-align: center;
  padding: 30px;
}
.news-newsletter__success h3 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 700;
  color: var(--color-white);
  margin: 14px 0 8px;
}
.news-newsletter__success p {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
}

/* ==================== POPULAR TOPICS ==================== */
.news-topics {
  padding: 60px 0;
  background: var(--color-white);
}
.news-topics__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.news-topics__tag {
  padding: 8px 20px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text);
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: 24px;
  cursor: pointer;
  transition: all var(--transition);
}
.news-topics__tag:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
  background: var(--color-white);
}
.news-topics__tag--active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-dark);
}

/* ==================== PRODUCT CATALOG CTA ==================== */
.news-catalog {
  padding: 60px 0;
  background: var(--color-bg-light);
}
.news-catalog__inner {
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 40px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}
.news-catalog__image {
  flex-shrink: 0;
  width: 220px;
}
.news-catalog__image img {
  width: 100%;
  border-radius: var(--radius);
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.news-catalog__content {
  flex: 1;
}
.news-catalog__content p {
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.6;
  margin-bottom: 20px;
}
.news-catalog__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==================== BOTTOM CTA ==================== */
.news-cta {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.news-cta__bg {
  position: absolute;
  inset: 0;
}
.news-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23,25,28,0.88);
  z-index: 1;
}
.news-cta__content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.news-cta__text {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  line-height: 1.65;
  margin-bottom: 22px;
}
.news-cta__benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 24px;
  margin-bottom: 28px;
}
.news-cta__benefits span {
  font-size: var(--font-size-sm);
  color: rgba(255,255,255,0.6);
  font-weight: 500;
}
.news-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ==================== MOBILE BOTTOM BAR ==================== */
.mobile-bar__btn--primary {
  background: var(--color-primary);
  color: var(--color-dark);
}

/* ==================== RESPONSIVE: NEWS ==================== */
@media (max-width: 1200px) {
  .news-featured__grid {
    grid-template-columns: 1fr 1fr;
  }
  .news-guides__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .news-compare__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .news-company__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pk-tabs__panel-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 992px) {
  .news-hero {
    min-height: 480px;
    max-height: 560px;
  }
  .news-hero__content {
    padding: 50px 0;
  }
  .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .news-featured__grid {
    grid-template-columns: 1fr;
  }
  .news-featured__side {
    flex-direction: row;
  }
  .news-featured__card {
    flex: 1;
  }
  .news-guides__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pk-tabs {
    display: none;
  }
  .pk-acc {
    display: block;
  }
  .news-apps__grid {
    grid-template-columns: 1fr 1fr;
  }
  .news-apps__card--large {
    grid-column: span 2;
    grid-row: span 1;
    min-height: 320px;
  }
  .news-maintenance__grid {
    grid-template-columns: 1fr;
  }
  .news-company__grid {
    grid-template-columns: 1fr 1fr;
  }
  .news-newsletter__row {
    grid-template-columns: 1fr 1fr;
  }
  .news-catalog__inner {
    flex-direction: column;
    text-align: center;
  }
  .news-catalog__buttons {
    justify-content: center;
  }
  .news-compare__grid {
    grid-template-columns: 1fr 1fr;
  }
  .news-toolbar__filters {
    flex-wrap: wrap;
  }
}

@media (max-width: 768px) {
  .news-hero__title {
    font-size: clamp(24px, 6vw, 36px);
  }
  .news-hero__buttons {
    flex-direction: column;
  }
  .news-hero__buttons .btn {
    width: 100%;
  }
  .news-hero__tags {
    display: none;
  }
  .news-catnav__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .news-catnav__list::-webkit-scrollbar {
    display: none;
  }
  .news-toolbar__controls {
    flex-direction: column;
    align-items: stretch;
  }
  .news-toolbar__search {
    max-width: none;
  }
  .news-toolbar__filters {
    flex-direction: column;
  }
  .news-toolbar__field select {
    width: 100%;
  }
  .news-toolbar__actions {
    justify-content: space-between;
  }
  .news-grid {
    grid-template-columns: 1fr;
  }
  .news-featured__side {
    flex-direction: column;
  }
  .news-guides__grid {
    grid-template-columns: 1fr;
  }
  .news-apps__grid {
    grid-template-columns: 1fr;
  }
  .news-apps__card--large {
    grid-column: span 1;
    min-height: 280px;
  }
  .news-apps__card {
    min-height: 220px;
  }
  .news-apps__link {
    opacity: 1;
    transform: none;
  }
  .news-maintenance__card {
    flex-direction: column;
  }
  .news-maintenance__image {
    width: 100%;
    height: 180px;
  }
  .news-company__grid {
    grid-template-columns: 1fr;
  }
  .news-compare__grid {
    grid-template-columns: 1fr;
  }
  .news-newsletter__row {
    grid-template-columns: 1fr;
  }
  .news-newsletter__topics {
    flex-direction: column;
    align-items: flex-start;
  }
  .news-cta__benefits {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .news-cta__buttons {
    flex-direction: column;
    align-items: center;
  }
  .news-cta__buttons .btn {
    width: 100%;
    max-width: 320px;
  }
  .pk-tabs__panel-inner {
    grid-template-columns: 1fr;
  }
  .pk-tabs__panel-inner img {
    min-height: 220px;
  }
  .pk-tabs__panel-content {
    padding: 24px;
  }
}

@media (max-width: 480px) {
  .news-hero__content {
    padding: 40px 0;
  }
  .news-catnav {
    padding: 20px 0;
  }
  .news-toolbar {
    padding: 28px 0;
  }
  .news-latest {
    padding: 48px 0;
  }
  .news-guides {
    padding: 48px 0;
  }
  .news-pk {
    padding: 48px 0;
  }
  .news-apps {
    padding: 48px 0;
  }
  .news-maintenance {
    padding: 48px 0;
  }
  .news-compare {
    padding: 48px 0;
  }
  .news-company {
    padding: 48px 0;
  }
  .news-topics {
    padding: 40px 0;
  }
  .news-cta {
    padding: 48px 0;
  }
}


/* ============================================================
   CASDE News Detail Page Styles (Rebuilt)
   ============================================================ */

/* ==================== READING PROGRESS BAR ==================== */
.nd-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  width: 0%;
  background: var(--color-primary);
  z-index: 10001;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .nd-progress { display: none; }
}

/* ==================== NEWS DETAIL HERO ==================== */
.nd-hero {
  position: relative;
  min-height: 540px;
  max-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--color-dark);
}
.nd-hero__bg {
  position: absolute;
  inset: 0;
}
.nd-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nd-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.6) 50%, rgba(23,25,28,0.3) 100%);
  z-index: 1;
}
.nd-hero__content {
  position: relative;
  z-index: 2;
  padding: 60px 0;
  max-width: 900px;
}
.nd-hero__eyebrow {
  display: inline-block;
  padding: 4px 14px;
  background: var(--color-primary);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: var(--radius);
  margin-bottom: 20px;
}
.nd-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.08;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 16px;
}
.nd-hero__subtitle {
  font-size: 17px;
  color: rgba(255,255,255,0.72);
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 680px;
}
.nd-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ==================== ARTICLE META BAR ==================== */
.nd-meta {
  padding: 14px 0;
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
}
.nd-meta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.nd-meta__info {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
}
.nd-meta__category {
  font-family: var(--font-heading);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-dark);
}
.nd-meta__type {
  color: var(--color-text-light);
  padding-left: 16px;
  border-left: 1px solid var(--color-border);
}
.nd-meta__product {
  color: var(--color-text-light);
  padding-left: 16px;
  border-left: 1px solid var(--color-border);
}
.nd-meta__actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.nd-meta__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-light);
  border-radius: var(--radius);
  transition: all var(--transition);
  white-space: nowrap;
}
.nd-meta__btn:hover {
  background: var(--color-bg-light);
  color: var(--color-dark);
}
.nd-meta__btn--saved {
  color: var(--color-primary-dark);
}
.nd-meta__share-dropdown {
  position: relative;
}
.nd-meta__share-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  min-width: 160px;
  z-index: 100;
  padding: 4px 0;
}
.nd-meta__share-menu[hidden] {
  display: none;
}
.nd-meta__share-link {
  display: block;
  padding: 10px 16px;
  font-size: 13px;
  color: var(--color-text);
  transition: all var(--transition);
}
.nd-meta__share-link:hover {
  background: var(--color-bg-light);
  color: var(--color-primary-dark);
}

/* ==================== MOBILE TOC ==================== */
.nd-toc-mobile {
  display: none;
  background: var(--color-bg-light);
  border-bottom: 1px solid var(--color-border);
}
.nd-toc-mobile__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 0;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-dark);
  background: none;
  border: none;
  cursor: pointer;
}
.nd-toc-mobile__trigger svg {
  transition: transform var(--transition);
}
.nd-toc-mobile__trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.nd-toc-mobile__content {
  padding-bottom: 12px;
}
.nd-toc-mobile__content a {
  display: block;
  padding: 8px 0;
  font-size: 14px;
  color: var(--color-text-light);
  border-bottom: 1px solid var(--color-border);
  transition: color var(--transition);
}
.nd-toc-mobile__content a:hover,
.nd-toc-mobile__content a.nd-toc__link--active {
  color: var(--color-primary-dark);
}

/* ==================== ARTICLE LAYOUT ==================== */
.nd-layout {
  background: var(--color-bg);
}
.nd-layout__inner {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 40px;
  padding-top: 40px;
  padding-bottom: 60px;
  width: 100%;
}

/* ==================== TABLE OF CONTENTS (SIDEBAR) ==================== */
.nd-toc {
  position: sticky;
  top: calc(var(--header-height) + 16px);
  max-height: calc(100vh - var(--header-height) - 36px);
  overflow-y: auto;
  scrollbar-width: thin;
  align-self: start;
}
.nd-toc__title {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-light);
  margin-bottom: 16px;
}
.nd-toc__nav {
  display: flex;
  flex-direction: column;
}
.nd-toc__link {
  display: block;
  padding: 8px 0 8px 14px;
  font-size: 13px;
  color: var(--color-text-light);
  border-left: 2px solid var(--color-border);
  transition: all var(--transition);
  line-height: 1.4;
}
.nd-toc__link:hover {
  color: var(--color-dark);
  border-left-color: var(--color-text-light);
}
.nd-toc__link--active {
  color: var(--color-primary-dark);
  border-left-color: var(--color-primary);
  font-weight: 600;
}

/* ==================== ARTICLE BODY ==================== */
.nd-article {
  min-width: 0;
  font-size: 17px;
  line-height: 1.8;
  color: var(--color-text);
}
.nd-lead {
  font-size: 18px;
  font-weight: 500;
  color: var(--color-dark);
  line-height: 1.7;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border);
}
.nd-section {
  margin-bottom: 48px;
}
.nd-section h2 {
  font-family: var(--font-heading);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 20px;
  padding-top: 8px;
  line-height: 1.2;
}
.nd-section h3 {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 12px;
  margin-top: 28px;
}
.nd-section p {
  margin-bottom: 16px;
}
.nd-section ul,
.nd-section ol {
  margin-bottom: 16px;
  padding-left: 24px;
}
.nd-section ul {
  list-style: disc;
}
.nd-section ol {
  list-style: decimal;
}
.nd-section li {
  margin-bottom: 6px;
  line-height: 1.65;
}
.nd-section blockquote {
  margin: 24px 0;
  padding: 20px 24px;
  border-left: 3px solid var(--color-primary);
  background: rgba(245,180,0,0.04);
  font-style: italic;
  color: var(--color-dark);
}

/* ==================== CALLOUT BOXES ==================== */
.nd-callout {
  display: flex;
  gap: 14px;
  margin: 24px 0;
  padding: 20px;
  border-radius: var(--radius);
  border-left: 3px solid var(--color-border);
  background: var(--color-bg-light);
}
.nd-callout__icon {
  flex-shrink: 0;
  margin-top: 2px;
}
.nd-callout p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
.nd-callout--key {
  border-left-color: var(--color-primary);
  background: rgba(245,180,0,0.06);
}
.nd-callout--key .nd-callout__icon {
  color: var(--color-primary-dark);
}
.nd-callout--check {
  border-left-color: var(--color-success);
  background: rgba(34,197,94,0.06);
}
.nd-callout--check .nd-callout__icon {
  color: var(--color-success);
}
.nd-callout--warning {
  border-left-color: var(--color-warning);
  background: rgba(183,110,0,0.06);
}
.nd-callout--warning .nd-callout__icon {
  color: var(--color-warning);
}
.nd-callout--tech {
  border-left-color: var(--color-text-light);
  background: rgba(111,117,124,0.06);
}
.nd-callout--tech .nd-callout__icon {
  color: var(--color-text-light);
}

/* ==================== TABLES ==================== */
.nd-table-wrap {
  overflow-x: auto;
  margin: 24px 0;
  -webkit-overflow-scrolling: touch;
}
.nd-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 14px;
}
.nd-table caption {
  padding: 12px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-light);
  text-align: left;
}
.nd-table thead {
  background: var(--color-dark);
}
.nd-table th {
  padding: 12px 16px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-white);
  text-align: left;
  white-space: nowrap;
}
.nd-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  vertical-align: top;
}
.nd-table tbody tr:hover {
  background: rgba(245,180,0,0.04);
}

/* ==================== FIGURES ==================== */
.nd-figure {
  margin: 28px 0;
}
.nd-figure img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}
.nd-figure figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: var(--color-text-light);
  line-height: 1.5;
  font-style: italic;
}

/* ==================== PRODUCT CTA ==================== */
.nd-product-cta {
  margin: 32px 0;
  padding: 28px;
  background: var(--color-dark-2);
  border-radius: var(--radius);
}
.nd-product-cta h3 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 10px;
}
.nd-product-cta p {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 16px;
  line-height: 1.6;
}
.nd-product-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ==================== COPY TEMPLATE ==================== */
.nd-copy-template {
  margin: 24px 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.nd-copy-template__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--color-bg-light);
  border-bottom: 1px solid var(--color-border);
}
.nd-copy-template__header h4 {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
}
.nd-copy-template__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-primary-dark);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  background: none;
  cursor: pointer;
  transition: all var(--transition);
}
.nd-copy-template__btn:hover {
  background: var(--color-primary);
  color: var(--color-dark);
}
.nd-copy-template__content {
  padding: 16px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--color-text);
  white-space: pre-wrap;
  word-break: break-word;
  background: var(--color-white);
  margin: 0;
  font-family: var(--font-body);
}

/* ==================== CHECKLIST ==================== */
.nd-checklist {
  margin: 24px 0;
  padding: 24px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
}
.nd-checklist__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border);
  cursor: pointer;
  font-size: 15px;
  line-height: 1.5;
}
.nd-checklist__item:last-of-type {
  border-bottom: none;
}
.nd-checklist__item input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: var(--color-primary);
  cursor: pointer;
  flex-shrink: 0;
}
.nd-checklist__actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border);
}
.nd-checklist__note {
  font-size: 12px;
  color: var(--color-text-light);
  margin-top: 12px;
  font-style: italic;
}

/* ==================== SIDEBAR (INLINE) ==================== */
.nd-sidebar {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 2px solid var(--color-border);
}
.nd-sidebar__section {
  padding: 20px;
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  margin-bottom: 16px;
}
.nd-sidebar__section h3 {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-dark);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-primary);
}
.nd-sidebar__summary {
  list-style: none;
  padding: 0;
  margin: 0;
}
.nd-sidebar__summary li {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  padding: 6px 0;
  border-bottom: 1px solid var(--color-border);
  line-height: 1.5;
}
.nd-sidebar__summary li:last-child {
  border-bottom: none;
}
.nd-sidebar__product {
  display: block;
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: all var(--transition);
}
.nd-sidebar__product:hover {
  background: var(--color-white);
}
.nd-sidebar__product img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: var(--radius);
  margin-bottom: 12px;
}
.nd-sidebar__product strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
}
.nd-sidebar__product p {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  margin-bottom: 12px;
  line-height: 1.5;
}
.nd-sidebar__product-link {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}

/* ==================== FAQ ==================== */
.nd-faq-section {
  margin-top: 48px;
}
.nd-faq-section h2 {
  font-family: var(--font-heading);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 24px;
}
.nd-faq__list {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.nd-faq__item {
  border-bottom: 1px solid var(--color-border);
}
.nd-faq__item:last-child {
  border-bottom: none;
}
.nd-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 18px 20px;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-dark);
  text-align: left;
  gap: 16px;
  background: var(--color-white);
  transition: all var(--transition);
}
.nd-faq__trigger:hover {
  background: var(--color-bg-light);
}
.nd-faq__trigger svg {
  flex-shrink: 0;
  transition: transform var(--transition);
}
.nd-faq__trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.nd-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.nd-faq__answer[aria-hidden="false"] {
  max-height: 500px;
}
.nd-faq__answer p {
  padding: 0 20px 20px;
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.65;
}

/* ==================== TAGS ==================== */
.nd-tags {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border);
}
.nd-tags h3 {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-dark);
  margin-bottom: 14px;
}
.nd-tags__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.nd-tags__tag {
  display: inline-block;
  padding: 6px 16px;
  font-size: 13px;
  color: var(--color-text);
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  transition: all var(--transition);
}
.nd-tags__tag:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
}

/* ==================== SHARE SECTION ==================== */
.nd-share-section {
  margin-top: 40px;
  padding: 28px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
}
.nd-share-section h3 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 16px;
}
.nd-share__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.nd-share__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  transition: all var(--transition);
  cursor: pointer;
}
.nd-share__btn:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
}
.nd-share__btn--save.nd-share__btn--saved {
  background: var(--color-primary);
  color: var(--color-dark);
  border-color: var(--color-primary);
}
.nd-share__note {
  font-size: 12px;
  color: var(--color-text-light);
  margin-top: 10px;
  font-style: italic;
}

/* ==================== PUBLISHER ==================== */
.nd-publisher {
  margin-top: 40px;
  padding: 28px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
}
.nd-publisher__inner {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.nd-publisher__logo {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}
.nd-publisher__content h3 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
}
.nd-publisher__content p {
  font-size: 14px;
  color: var(--color-text-light);
  margin-bottom: 14px;
  line-height: 1.6;
}
.nd-publisher__links {
  display: flex;
  gap: 10px;
}

/* ==================== RELATED PRODUCTS ==================== */
.nd-related-products {
  padding: 80px 0;
  background: var(--color-white);
}
.nd-related-products h2 {
  font-family: var(--font-heading);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-dark);
  text-align: center;
  margin-bottom: 40px;
}
.nd-related-products__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.nd-related-products__card {
  display: block;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all var(--transition);
  text-decoration: none;
  color: inherit;
}
.nd-related-products__card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-4px);
}
.nd-related-products__img {
  overflow: hidden;
  aspect-ratio: 4/3;
}
.nd-related-products__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.nd-related-products__card:hover .nd-related-products__img img {
  transform: scale(1.05);
}
.nd-related-products__card h3 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  padding: 16px 16px 8px;
}
.nd-related-products__card p {
  font-size: 14px;
  color: var(--color-text-light);
  padding: 0 16px 8px;
  line-height: 1.5;
}
.nd-related-products__link {
  display: block;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
  padding: 0 16px 16px;
}

/* ==================== RELATED ARTICLES ==================== */
.nd-related-articles {
  padding: 80px 0;
  background: var(--color-bg-light);
}
.nd-related-articles h2 {
  font-family: var(--font-heading);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-dark);
  text-align: center;
  margin-bottom: 40px;
}
.nd-related-articles__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.nd-related-articles__card {
  display: block;
  background: var(--color-white);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all var(--transition);
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--color-border);
}
.nd-related-articles__card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-4px);
}
.nd-related-articles__img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.nd-related-articles__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nd-related-articles__cat {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 10px;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--radius);
}
.nd-related-articles__body {
  padding: 16px;
}
.nd-related-articles__body h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 8px;
  line-height: 1.3;
}
.nd-related-articles__body p {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  margin-bottom: 10px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nd-related-articles__read {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-dark);
}

/* ==================== NEWSLETTER ==================== */
.nd-newsletter {
  padding: 64px 0;
  background: var(--color-dark-2);
  color: var(--color-white);
}
.nd-newsletter__inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
.nd-newsletter h2 {
  font-family: var(--font-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.nd-newsletter p {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 28px;
}
.nd-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.nd-newsletter__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nd-newsletter__field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,0.8);
  margin-bottom: 6px;
  text-align: left;
}
.nd-newsletter__field input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.05);
  color: var(--color-white);
  font-size: 15px;
}
.nd-newsletter__field input:focus {
  outline: none;
  border-color: var(--color-primary);
}
.nd-newsletter__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  text-align: left;
  cursor: pointer;
}
.nd-newsletter__consent input {
  margin-top: 2px;
  accent-color: var(--color-primary);
}
.nd-newsletter__success {
  text-align: center;
  padding: 32px;
}
.nd-newsletter__success[hidden] {
  display: none;
}
.nd-newsletter__success h3 {
  font-size: 22px;
  margin: 16px 0 8px;
}
.nd-newsletter__success p {
  font-size: 15px;
}

/* ==================== BOTTOM CTA ==================== */
.nd-bottom-cta {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.nd-cta__bg {
  position: absolute;
  inset: 0;
}
.nd-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nd-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23,25,28,0.9);
}
.nd-bottom-cta .container {
  position: relative;
  z-index: 2;
}
.nd-cta__content {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.nd-cta__content h2 {
  font-family: var(--font-heading);
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 16px;
}
.nd-cta__content p {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
  line-height: 1.6;
}
.nd-cta__benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
  margin-bottom: 28px;
}
.nd-cta__benefits span {
  font-size: var(--font-size-sm);
  color: rgba(255,255,255,0.7);
}
.nd-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ==================== INQUIRY FORM ==================== */
.nd-inquiry-form {
  padding: 64px 0;
  background: var(--color-bg-light);
}
.nd-inquiry__inner {
  max-width: 720px;
  margin: 0 auto;
}
.nd-inquiry__inner h2 {
  font-family: var(--font-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-dark);
  text-align: center;
  margin-bottom: 32px;
}
.nd-inquiry__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.nd-inquiry__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nd-inquiry__field {
  display: flex;
  flex-direction: column;
}
.nd-inquiry__field label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}
.nd-inquiry__field input,
.nd-inquiry__field select,
.nd-inquiry__field textarea {
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
  color: var(--color-text);
  font-size: 15px;
  transition: border-color var(--transition);
}
.nd-inquiry__field input:focus,
.nd-inquiry__field select:focus,
.nd-inquiry__field textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}
.nd-inquiry__field--error input,
.nd-inquiry__field--error select,
.nd-inquiry__field--error textarea {
  border-color: var(--color-error);
}
.nd-inquiry__error {
  font-size: var(--font-size-xs);
  color: var(--color-error);
  margin-top: 4px;
  min-height: 16px;
}
.nd-inquiry__submit--loading {
  display: none;
}
.nd-inquiry__submit.is-loading .nd-inquiry__submit-text {
  display: none;
}
.nd-inquiry__submit.is-loading .nd-inquiry__submit-loading {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nd-inquiry__submit.is-loading svg {
  animation: spin 1s linear infinite;
}
.nd-inquiry__privacy {
  font-size: var(--font-size-xs);
  color: var(--color-text-light);
  text-align: center;
  margin-top: 4px;
}
.nd-inquiry__success {
  text-align: center;
  padding: 48px;
}
.nd-inquiry__success[hidden] {
  display: none;
}
.nd-inquiry__success h3 {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-dark);
  margin: 16px 0 12px;
}
.nd-inquiry__success p {
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.6;
}

/* ==================== QUICK QUOTE DRAWER ==================== */
.nd-quick-quote {
  display: none;
}
.nd-qq--open {
  display: block;
}
.nd-qq__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 3000;
}
.nd-qq__panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 420px;
  max-width: 90vw;
  background: var(--color-white);
  z-index: 3001;
  overflow-y: auto;
  box-shadow: -4px 0 24px rgba(0,0,0,0.15);
}
.nd-qq__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--color-border);
}
.nd-qq__header h2 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
}
.nd-qq__close {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}
.nd-qq__form {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.nd-qq__field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}
.nd-qq__field input,
.nd-qq__field select,
.nd-qq__field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 15px;
}
.nd-qq__field input:focus,
.nd-qq__field select:focus,
.nd-qq__field textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}
.nd-qq__error {
  font-size: var(--font-size-xs);
  color: var(--color-error);
  margin-top: 4px;
}
.nd-qq__privacy {
  font-size: var(--font-size-xs);
  color: var(--color-text-light);
  text-align: center;
}
.nd-qq__success {
  text-align: center;
  padding: 48px 24px;
}
.nd-qq__success[hidden] {
  display: none;
}
.nd-qq__success h3 {
  font-size: 22px;
  margin: 16px 0 8px;
}
.nd-qq__success p {
  font-size: 14px;
  color: var(--color-text-light);
}

/* ==================== TOAST ==================== */
.nd-toast {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--color-dark);
  color: var(--color-white);
  padding: 12px 24px;
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 500;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.nd-toast--visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* ==================== NOT FOUND ==================== */
.nd-not-found {
  text-align: center;
  padding: 100px 24px;
}
.nd-not-found h1 {
  font-family: var(--font-heading);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 16px;
}
.nd-not-found p {
  font-size: 17px;
  color: var(--color-text-light);
  margin-bottom: 32px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.nd-not-found__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ==================== RESPONSIVE: NEWS DETAIL ==================== */
@media (max-width: 1200px) {
  .nd-layout__inner {
    grid-template-columns: 200px 1fr;
    gap: 28px;
  }
  .nd-related-articles__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 992px) {
  .nd-hero {
    min-height: 480px;
    max-height: 580px;
  }
  .nd-layout__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .nd-toc {
    display: none;
  }
  .nd-toc-mobile {
    display: block;
  }
  .nd-meta__info {
    flex-wrap: wrap;
    gap: 8px;
  }
  .nd-related-products__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .nd-related-articles__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .nd-publisher__inner {
    flex-direction: column;
    text-align: center;
  }
  .nd-publisher__links {
    justify-content: center;
  }
  .nd-newsletter__row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .nd-hero__title {
    font-size: clamp(24px, 6vw, 36px);
  }
  .nd-hero__cta {
    flex-direction: column;
  }
  .nd-hero__cta .btn {
    width: 100%;
  }
  .nd-meta__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .nd-meta__actions {
    flex-wrap: wrap;
  }
  .nd-meta__share-dropdown {
    position: static;
  }
  .nd-meta__share-menu {
    position: static;
    box-shadow: none;
    border: none;
    margin-top: 8px;
  }
  .nd-section h2 {
    font-size: clamp(20px, 5vw, 26px);
  }
  .nd-table-wrap {
    margin: 16px -16px;
    padding: 0 16px;
  }
  .nd-product-cta {
    padding: 20px;
  }
  .nd-product-cta__buttons {
    flex-direction: column;
  }
  .nd-product-cta__buttons .btn {
    width: 100%;
  }
  .nd-share__buttons {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
  .nd-share__btn {
    flex-shrink: 0;
  }
  .nd-related-products__grid {
    grid-template-columns: 1fr;
  }
  .nd-related-articles__grid {
    grid-template-columns: 1fr;
  }
  .nd-cta__benefits {
    flex-direction: column;
    gap: 8px;
  }
  .nd-cta__buttons {
    flex-direction: column;
  }
  .nd-cta__buttons .btn {
    width: 100%;
  }
  .nd-inquiry__row {
    grid-template-columns: 1fr;
  }
  .nd-inquiry__field input,
  .nd-inquiry__field select,
  .nd-inquiry__field textarea {
    font-size: 16px;
  }
  .nd-newsletter__field input {
    font-size: 16px;
  }
  .nd-bottom-cta {
    padding: 48px 0;
  }
  .nd-inquiry-form {
    padding: 40px 0;
  }
  .nd-newsletter {
    padding: 40px 0;
  }
  .nd-qq__panel {
    width: 100%;
    max-width: 100vw;
  }
}

@media (max-width: 480px) {
  .nd-hero {
    min-height: 400px;
  }
  .nd-checklist__actions {
    flex-direction: column;
  }
  .nd-checklist__actions .btn {
    width: 100%;
  }
}

/* ==================== PRINT STYLES ==================== */
@media print {
  .nd-progress,
  .nd-meta,
  .nd-toc,
  .nd-toc-mobile,
  .nd-sidebar,
  .nd-share-section,
  .nd-newsletter,
  .nd-bottom-cta,
  .nd-inquiry-form,
  .nd-qq,
  .compare-bar,
  .compare-modal,
  .cookie-banner,
  .back-to-top,
  .mobile-bar,
  .desktop-floating,
  .site-header,
  .site-footer,
  .nd-product-cta__buttons,
  .nd-copy-template__btn,
  .nd-checklist__actions,
  .nd-related-articles,
  .nd-related-products,
  .nd-publisher {
    display: none !important;
  }
  body {
    color: #000;
    background: #fff;
    font-size: 11pt;
  }
  .nd-article {
    max-width: none;
    font-size: 11pt;
    line-height: 1.6;
  }
  .nd-hero {
    min-height: auto;
    max-height: none;
    background: none;
    padding: 20px 0;
  }
  .nd-hero__bg,
  .nd-hero__overlay {
    display: none;
  }
  .nd-hero__content {
    color: #000;
  }
  .nd-hero__eyebrow {
    background: #000;
    color: #fff;
  }
  .nd-hero__title {
    color: #000;
    font-size: 24pt;
  }
  .nd-hero__subtitle {
    color: #333;
  }
  .nd-layout__inner {
    display: block;
  }
  .nd-section {
    page-break-inside: avoid;
  }
  .nd-table {
    page-break-inside: avoid;
  }
  .nd-figure img {
    max-height: 300px;
  }
  .nd-callout {
    page-break-inside: avoid;
  }
  .nd-faq__answer {
    max-height: none !important;
  }
  .nd-faq__answer[aria-hidden="true"] {
    display: block !important;
  }
  a[href]::after {
    content: none;
  }
  .nd-lead {
    border-bottom: 1px solid #ccc;
  }
  .breadcrumb__list a::after {
    content: "";
  }
}

/* ============================================================
   CASDE FAQ Page Styles
   ============================================================ */

/* ==================== FAQ HERO ==================== */
.faq-hero {
  position: relative;
  min-height: 540px;
  max-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--color-dark);
}
.faq-hero__bg {
  position: absolute;
  inset: 0;
}
.faq-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.faq-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.7) 50%, rgba(23,25,28,0.4) 100%);
  z-index: 1;
}
.faq-hero__content {
  position: relative;
  z-index: 2;
  padding: 60px 0;
  max-width: 820px;
}
.faq-hero__label {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}
.faq-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  line-height: 1.08;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 16px;
}
.faq-hero__text {
  font-size: 17px;
  color: rgba(255,255,255,0.72);
  line-height: 1.65;
  margin-bottom: 32px;
  max-width: 640px;
}
.faq-hero__search {
  margin-bottom: 24px;
}
.faq-hero__search-wrap {
  display: flex;
  gap: 0;
  background: var(--color-white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.2);
}
.faq-hero__search-wrap input {
  flex: 1;
  padding: 16px 20px;
  border: none;
  font-size: 16px;
  color: var(--color-text);
  background: transparent;
  min-width: 0;
}
.faq-hero__search-wrap input:focus {
  outline: none;
}
.faq-hero__search-wrap input::placeholder {
  color: var(--color-text-light);
}
.faq-hero__search-wrap .btn {
  border-radius: 0;
  flex-shrink: 0;
}
.faq-hero__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}
.faq-hero__tag-label {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  font-weight: 500;
}
.faq-hero__tag {
  display: inline-block;
  padding: 5px 14px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  cursor: pointer;
  transition: all var(--transition);
}
.faq-hero__tag:hover {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.4);
}
.faq-hero__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==================== FAQ SEARCH SECTION ==================== */
.faq-search {
  padding: 64px 0;
  background: var(--color-white);
  text-align: center;
}
.faq-search__form {
  max-width: 640px;
  margin: 24px auto 0;
}
.faq-search__wrap {
  display: flex;
  gap: 0;
  border: 2px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color var(--transition);
}
.faq-search__wrap:focus-within {
  border-color: var(--color-primary);
}
.faq-search__wrap input {
  flex: 1;
  padding: 14px 18px;
  border: none;
  font-size: 15px;
  color: var(--color-text);
  background: transparent;
  min-width: 0;
}
.faq-search__wrap input:focus {
  outline: none;
}
.faq-search__wrap .btn {
  border-radius: 0;
  flex-shrink: 0;
}
.faq-search__status {
  font-size: 14px;
  color: var(--color-text-light);
  margin-top: 12px;
  min-height: 20px;
}

/* ==================== POPULAR QUESTIONS ==================== */
.faq-popular {
  padding: 80px 0;
  background: var(--color-bg-light);
}
.faq-popular__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 40px;
  list-style: none;
  padding: 0;
  counter-reset: none;
}
.faq-popular__item {
  list-style: none;
}
.faq-popular__link {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 24px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  text-decoration: none;
  color: inherit;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}
.faq-popular__link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--color-primary);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform var(--transition);
}
.faq-popular__link:hover {
  border-color: var(--color-primary);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-4px);
}
.faq-popular__link:hover::before {
  transform: scaleY(1);
}
.faq-popular__num {
  flex-shrink: 0;
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
  min-width: 44px;
  opacity: 0.8;
  transition: opacity var(--transition);
}
.faq-popular__link:hover .faq-popular__num {
  opacity: 1;
}
.faq-popular__text {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-dark);
  line-height: 1.6;
  padding-top: 4px;
}

/* ==================== FAQ MAIN CONTENT ==================== */
.faq-main {
  padding: 80px 0 100px;
  background: var(--color-white);
}
.faq-main__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
}
.faq-main__controls {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.faq-main__control-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-light);
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
}
.faq-main__control-btn:hover {
  border-color: var(--color-primary);
  color: var(--color-dark);
  background: var(--color-white);
}

/* ==================== CATEGORY NAVIGATION ==================== */
.faq-categories__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--color-border);
}
.faq-cat-btn {
  padding: 10px 22px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-light);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
}
.faq-cat-btn:hover {
  border-color: var(--color-primary);
  color: var(--color-dark);
  background: rgba(245,180,0,0.04);
}
.faq-cat-btn[aria-pressed="true"] {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-dark);
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(245,180,0,0.25);
}

/* ==================== PRODUCT FILTER ==================== */
.faq-filter {
  margin-bottom: 40px;
  padding: 20px 24px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
}
.faq-filter__fieldset {
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.faq-filter__legend {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-light);
  margin-bottom: 0;
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}
.faq-filter__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text);
  white-space: nowrap;
}
.faq-filter__select {
  padding: 10px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
  color: var(--color-text);
  font-size: 14px;
  min-width: 220px;
  cursor: pointer;
  transition: border-color var(--transition);
}
.faq-filter__select:focus {
  outline: none;
  border-color: var(--color-primary);
}

/* ==================== FAQ LIST ==================== */
.faq-main__layout {
  min-height: 300px;
}
.faq-category-group {
  margin-bottom: 56px;
}
.faq-category-group:last-child {
  margin-bottom: 0;
}
.faq-category-group__header {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--color-primary);
}
.faq-category-group__title {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 6px;
}
.faq-category-group__desc {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
}
.faq-item {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color var(--transition);
}
.faq-item:hover {
  border-color: var(--color-text-light);
}
.faq-item__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 18px 20px;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-dark);
  text-align: left;
  gap: 16px;
  background: var(--color-white);
  transition: background var(--transition);
  cursor: pointer;
  min-height: 48px;
}
.faq-item__trigger:hover {
  background: var(--color-bg-light);
}
.faq-item__trigger svg {
  flex-shrink: 0;
  transition: transform var(--transition);
}
.faq-item__trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.faq-item__trigger[aria-expanded="true"] {
  background: var(--color-bg-light);
}
.faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.faq-item__answer[aria-hidden="false"] {
  max-height: 800px;
}
.faq-item__answer-inner {
  padding: 0 20px 20px;
}
.faq-item__answer p {
  font-size: var(--font-size-base);
  color: var(--color-text);
  line-height: 1.7;
  margin-bottom: 12px;
}
.faq-item__related {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border);
}
.faq-item__related-label {
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-light);
  margin-right: 4px;
  align-self: center;
}
.faq-item__related a {
  display: inline-block;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-primary-dark);
  background: rgba(245,180,0,0.08);
  border: 1px solid rgba(245,180,0,0.2);
  border-radius: var(--radius);
  transition: all var(--transition);
}
.faq-item__related a:hover {
  background: rgba(245,180,0,0.15);
  border-color: var(--color-primary);
}

/* Search highlight */
.faq-item mark {
  background: rgba(245,180,0,0.25);
  color: inherit;
  padding: 1px 2px;
  border-radius: 2px;
}

/* ==================== EMPTY STATE ==================== */
.faq-empty {
  text-align: center;
  padding: 60px 24px;
}
.faq-empty[hidden] {
  display: none;
}
.faq-empty h3 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin: 16px 0 8px;
}
.faq-empty p {
  font-size: 15px;
  color: var(--color-text-light);
  margin-bottom: 24px;
}
.faq-empty__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==================== PRODUCT SELECTION HELP ==================== */
.faq-product-help {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.faq-product-help__bg {
  position: absolute;
  inset: 0;
}
.faq-product-help__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.faq-product-help__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23,25,28,0.88);
}
.faq-product-help__inner {
  position: relative;
  z-index: 2;
  max-width: 700px;
}
.faq-product-help__text {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
  line-height: 1.7;
}
.faq-product-help__fields {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.faq-product-help__fields span {
  padding: 5px 14px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
}
.faq-product-help__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==================== SUPPORT CHANNELS ==================== */
.faq-support {
  padding: 80px 0;
  background: var(--color-bg-light);
  text-align: center;
}
.faq-support__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.faq-support__card {
  padding: 32px 24px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  text-align: left;
  transition: all var(--transition);
}
.faq-support__card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  transform: translateY(-4px);
}
.faq-support__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245,180,0,0.08);
  border-radius: var(--radius);
  margin-bottom: 16px;
  color: var(--color-primary-dark);
}
.faq-support__card h3 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
}
.faq-support__card p {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
  margin-bottom: 20px;
}

/* ==================== SUBMIT QUESTION ==================== */
.faq-submit {
  padding: 80px 0;
  background: var(--color-white);
  text-align: center;
}
.faq-submit__form {
  max-width: 720px;
  margin: 40px auto 0;
  text-align: left;
}
.faq-submit__fieldset {
  border: none;
  padding: 0;
  margin: 0 0 24px;
}
.faq-submit__legend {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-primary);
  width: 100%;
}
.faq-submit__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.faq-submit__field {
  display: flex;
  flex-direction: column;
}
.faq-submit__field--full {
  grid-column: span 2;
  margin-bottom: 16px;
}
.faq-submit__field label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}
.faq-submit__field input,
.faq-submit__field select,
.faq-submit__field textarea {
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
  color: var(--color-text);
  font-size: 15px;
  transition: border-color var(--transition);
}
.faq-submit__field input:focus,
.faq-submit__field select:focus,
.faq-submit__field textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}
.faq-submit__field input[aria-invalid="true"],
.faq-submit__field select[aria-invalid="true"],
.faq-submit__field textarea[aria-invalid="true"] {
  border-color: var(--color-error);
}
.faq-submit__error {
  font-size: var(--font-size-xs);
  color: var(--color-error);
  margin-top: 4px;
  min-height: 16px;
}
.faq-submit__file-hint {
  font-size: 12px;
  color: var(--color-text-light);
  margin-bottom: 8px;
}
.faq-submit__file-wrap {
  margin-bottom: 8px;
}
.faq-submit__file-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-dark);
  background: var(--color-bg-light);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
}
.faq-submit__file-label:hover {
  border-color: var(--color-primary);
  background: rgba(245,180,0,0.05);
}
.faq-submit__file-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.faq-submit__file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  margin-bottom: 4px;
  font-size: 13px;
  color: var(--color-text);
}
.faq-submit__file-remove {
  color: var(--color-error);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 8px;
}
.faq-submit__btn {
  margin-bottom: 12px;
}
.faq-submit__btn-loading {
  display: none;
}
.faq-submit__btn.is-loading .faq-submit__btn-text {
  display: none;
}
.faq-submit__btn.is-loading .faq-submit__btn-loading {
  display: flex;
  align-items: center;
  gap: 8px;
}
.faq-submit__btn.is-loading svg {
  animation: spin 1s linear infinite;
}
.faq-submit__privacy {
  font-size: var(--font-size-xs);
  color: var(--color-text-light);
  text-align: center;
}
.faq-submit__success {
  text-align: center;
  padding: 48px 24px;
  max-width: 640px;
  margin: 0 auto;
}
.faq-submit__success[hidden] {
  display: none;
}
.faq-submit__success h3 {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin: 16px 0 12px;
}
.faq-submit__success p {
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.6;
  margin-bottom: 24px;
}
.faq-submit__summary {
  text-align: left;
  padding: 20px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  margin-bottom: 24px;
  font-size: 14px;
  color: var(--color-text);
}
.faq-submit__summary dt {
  font-weight: 600;
  color: var(--color-dark);
  margin-top: 8px;
}
.faq-submit__summary dt:first-child {
  margin-top: 0;
}
.faq-submit__summary dd {
  margin-left: 0;
  color: var(--color-text-light);
}
.faq-submit__success-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==================== BOTTOM CTA ==================== */
.faq-cta {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.faq-cta__bg {
  position: absolute;
  inset: 0;
}
.faq-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.faq-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23,25,28,0.9);
}
.faq-cta .container {
  position: relative;
  z-index: 2;
}
.faq-cta__content {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.faq-cta__text {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
  line-height: 1.6;
}
.faq-cta__benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
  margin-bottom: 28px;
}
.faq-cta__benefits span {
  font-size: var(--font-size-sm);
  color: rgba(255,255,255,0.7);
}
.faq-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ==================== TOAST ==================== */
.faq-toast {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--color-dark);
  color: var(--color-white);
  padding: 12px 24px;
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 500;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.faq-toast--visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* ==================== SR-ONLY ==================== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ==================== RESPONSIVE: FAQ ==================== */
@media (max-width: 1200px) {
  .faq-support__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 992px) {
  .faq-hero {
    min-height: 480px;
    max-height: 620px;
  }
  .faq-popular__list {
    grid-template-columns: 1fr;
  }
  .faq-categories__nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 16px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
  }
  .faq-categories__nav::-webkit-scrollbar {
    display: none;
  }
  .faq-main__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .faq-filter {
    padding: 16px 20px;
  }
  .faq-filter__fieldset {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .faq-filter__select {
    width: 100%;
    min-width: 0;
  }
  .faq-support__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .faq-submit__row {
    grid-template-columns: 1fr;
  }
  .faq-submit__field--full {
    grid-column: span 1;
  }
}

@media (max-width: 768px) {
  .faq-hero__title {
    font-size: clamp(22px, 6vw, 32px);
  }
  .faq-hero__search-wrap {
    flex-direction: column;
  }
  .faq-hero__search-wrap .btn {
    border-radius: 0;
  }
  .faq-hero__buttons {
    flex-direction: column;
  }
  .faq-hero__buttons .btn {
    width: 100%;
  }
  .faq-main {
    padding: 48px 0;
  }
  .faq-popular {
    padding: 48px 0;
  }
  .faq-product-help {
    padding: 48px 0;
  }
  .faq-product-help__buttons {
    flex-direction: column;
  }
  .faq-product-help__buttons .btn {
    width: 100%;
  }
  .faq-support {
    padding: 48px 0;
  }
  .faq-submit {
    padding: 48px 0;
  }
  .faq-cta {
    padding: 48px 0;
  }
  .faq-cta__benefits {
    flex-direction: column;
    gap: 8px;
  }
  .faq-cta__buttons {
    flex-direction: column;
  }
  .faq-cta__buttons .btn {
    width: 100%;
  }
  .faq-item__trigger {
    font-size: 14px;
    padding: 16px 18px;
  }
  .faq-item__answer-inner {
    padding: 0 18px 18px;
  }
  .faq-category-group {
    margin-bottom: 40px;
  }
  .faq-category-group__title {
    font-size: 18px;
  }
  .faq-cat-btn {
    padding: 8px 16px;
    font-size: 12px;
  }
  .faq-submit__row {
    gap: 12px;
  }
  .faq-submit__field input,
  .faq-submit__field select,
  .faq-submit__field textarea {
    font-size: 16px;
  }
  .faq-submit__success-actions {
    flex-direction: column;
    align-items: center;
  }
  .faq-submit__success-actions .btn {
    width: 100%;
    max-width: 300px;
  }
}

@media (max-width: 480px) {
  .faq-hero {
    min-height: 420px;
  }
  .faq-main__controls {
    width: 100%;
  }
  .faq-main__control-btn {
    flex: 1;
    justify-content: center;
  }
  .faq-empty__actions {
    flex-direction: column;
    align-items: center;
  }
  .faq-empty__actions .btn {
    width: 100%;
    max-width: 280px;
  }
}

/* ==================== PRINT ==================== */
@media print {
  .faq-hero__search,
  .faq-search,
  .faq-categories__nav,
  .faq-filter,
  .faq-main__controls,
  .faq-product-help,
  .faq-support,
  .faq-submit,
  .faq-cta,
  .site-header,
  .site-footer,
  .breadcrumb,
  .cookie-banner,
  .back-to-top,
  .mobile-bar,
  .desktop-floating,
  .faq-toast {
    display: none !important;
  }
  .faq-hero {
    min-height: auto;
    padding: 20px 0;
    background: none;
  }
  .faq-hero__bg,
  .faq-hero__overlay {
    display: none;
  }
  .faq-hero__content {
    color: #000;
  }
  .faq-hero__title {
    color: #000;
    font-size: 20pt;
  }
  .faq-item__answer {
    max-height: none !important;
  }
  .faq-item__answer[aria-hidden="true"] {
    display: block !important;
  }
}

/* ============================================================
   CASDE Contact Page Styles
   ============================================================ */

/* ==================== CONTACT HERO ==================== */
.cnt-hero {
  position: relative;
  min-height: 540px;
  max-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--color-dark);
}
.cnt-hero__bg { position: absolute; inset: 0; }
.cnt-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.cnt-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(23,25,28,0.92) 0%, rgba(23,25,28,0.65) 50%, rgba(23,25,28,0.35) 100%);
  z-index: 1;
}
.cnt-hero__content {
  position: relative;
  z-index: 2;
  padding: 60px 0;
  max-width: 860px;
}
.cnt-hero__label {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}
.cnt-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  line-height: 1.08;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 16px;
}
.cnt-hero__text {
  font-size: 17px;
  color: rgba(255,255,255,0.72);
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 680px;
}
.cnt-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}
.cnt-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.cnt-hero__tags span {
  display: inline-block;
  padding: 5px 14px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.85);
  text-transform: uppercase;
}
.cnt-hero__hint {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  font-style: italic;
}

/* ==================== CONTACT METHODS STRIP ==================== */
.cnt-methods {
  padding: 32px 0;
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
}
.cnt-methods__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.cnt-method {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-right: 1px solid var(--color-border);
}
.cnt-method:last-child { border-right: none; }
.cnt-method__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245,180,0,0.08);
  border-radius: var(--radius);
  color: var(--color-primary-dark);
}
.cnt-method__label {
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-light);
  margin-bottom: 2px;
}
.cnt-method__value {
  font-size: 14px;
  color: var(--color-dark);
  font-weight: 500;
}
.cnt-method__value a {
  color: var(--color-dark);
  transition: color var(--transition);
}
.cnt-method__value a:hover { color: var(--color-primary-dark); }
.cnt-method__actions {
  display: flex;
  gap: 4px;
  margin-left: auto;
  flex-shrink: 0;
}
.cnt-method__btn {
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: none;
  cursor: pointer;
  transition: all var(--transition);
}
.cnt-method__btn:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
}
.cnt-method__placeholder {
  font-size: 13px;
  color: var(--color-text-light);
  font-style: italic;
}

/* ==================== INQUIRY TYPE SELECTOR ==================== */
.cnt-types {
  padding: 80px 0;
  background: var(--color-bg-light);
  text-align: center;
}
.cnt-types__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.cnt-type-card {
  padding: 28px 20px;
  background: var(--color-white);
  border: 2px solid var(--color-border);
  border-radius: var(--radius);
  text-align: left;
  cursor: pointer;
  transition: all var(--transition);
}
.cnt-type-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  transform: translateY(-2px);
}
.cnt-type-card[aria-pressed="true"] {
  border-color: var(--color-primary);
  background: rgba(245,180,0,0.04);
}
.cnt-type-card__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245,180,0,0.08);
  border-radius: var(--radius);
  margin-bottom: 16px;
  color: var(--color-primary-dark);
}
.cnt-type-card h3 {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
}
.cnt-type-card p {
  font-size: var(--font-size-card);
  color: var(--color-text-light);
  line-height: 1.5;
  margin-bottom: 16px;
}
.cnt-type-card__btn {
  display: inline-block;
  padding: 8px 16px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-primary-dark);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  transition: all var(--transition);
}
.cnt-type-card[aria-pressed="true"] .cnt-type-card__btn {
  background: var(--color-primary);
  color: var(--color-dark);
}

/* ==================== CONTACT OVERVIEW ==================== */
.cnt-overview {
  padding: 80px 0;
  background: var(--color-white);
}
.cnt-overview__inner {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
.cnt-overview__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}
.cnt-overview__content p {
  font-size: 16px;
  color: var(--color-text-light);
  margin-bottom: 14px;
  line-height: 1.7;
}
.cnt-overview__prep {
  margin: 24px 0;
  padding: 20px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
}
.cnt-overview__prep h3 {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-dark);
  margin-bottom: 12px;
}
.cnt-overview__prep ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  list-style: none;
  padding: 0;
}
.cnt-overview__prep li {
  font-size: 14px;
  color: var(--color-text);
  padding-left: 16px;
  position: relative;
}
.cnt-overview__prep li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: var(--color-primary);
  border-radius: 50%;
}

/* ==================== MAIN FORM ==================== */
.cnt-form {
  padding: 80px 0;
  background: var(--color-bg-light);
}
.cnt-form__layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: flex-start;
}
.cnt-form__sidebar {
  position: sticky;
  top: calc(var(--header-height) + 16px);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.cnt-form__sidebar-section {
  padding: 20px;
  border-bottom: 1px solid var(--color-border);
}
.cnt-form__sidebar-section:last-child { border-bottom: none; }
.cnt-form__sidebar-section h3 {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-light);
  margin-bottom: 10px;
}
.cnt-form__sidebar-section p {
  font-size: 14px;
  color: var(--color-text);
  line-height: 1.5;
}
.cnt-form__sidebar-section ul {
  list-style: none;
  padding: 0;
}
.cnt-form__sidebar-section li {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  padding: 4px 0;
  padding-left: 14px;
  position: relative;
}
.cnt-form__sidebar-section li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 5px;
  background: var(--color-primary);
  border-radius: 50%;
}
.cnt-form__sidebar-section a {
  display: inline-block;
  padding: 4px 10px;
  margin: 2px 4px 2px 0;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-primary-dark);
  background: rgba(245,180,0,0.08);
  border: 1px solid rgba(245,180,0,0.2);
  border-radius: var(--radius);
  transition: all var(--transition);
}
.cnt-form__sidebar-section a:hover {
  background: rgba(245,180,0,0.15);
  border-color: var(--color-primary);
}
.cnt-form__sidebar-section--privacy {
  background: var(--color-bg-light);
}
.cnt-form__sidebar-section--privacy p {
  font-size: 12px;
  color: var(--color-text-light);
  font-style: italic;
}
.cnt-form__main {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.cnt-form__header {
  padding: 28px 32px;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg-light);
}
.cnt-form__title {
  font-family: var(--font-heading);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
}
.cnt-form__desc {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
}
.cnt-form__prefill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 10px 14px;
  border: 1px solid rgba(245,180,0,0.34);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(245,180,0,0.16), rgba(245,180,0,0.05));
  color: var(--color-dark);
  font-size: 13px;
}
.cnt-form__prefill span {
  font-family: var(--font-heading);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary-dark);
}
.cnt-form__prefill strong {
  font-weight: 700;
}
.cnt-form__form {
  padding: 32px;
}
.cnt-form__fieldset {
  border: none;
  padding: 0;
  margin: 0 0 28px;
}
.cnt-form__legend {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-primary);
  width: 100%;
}
.cnt-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.cnt-form__field {
  display: flex;
  flex-direction: column;
}
.cnt-form__field--full {
  grid-column: span 2;
  margin-bottom: 16px;
}
.cnt-form__field label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}
.cnt-form__field input,
.cnt-form__field select,
.cnt-form__field textarea {
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-white);
  color: var(--color-text);
  font-size: 15px;
  transition: border-color var(--transition);
}
.cnt-form__field input:focus,
.cnt-form__field select:focus,
.cnt-form__field textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(245,180,0,0.14);
}
.cnt-form__field input[aria-invalid="true"],
.cnt-form__field select[aria-invalid="true"],
.cnt-form__field textarea[aria-invalid="true"] {
  border-color: var(--color-error);
}
.cnt-form__error {
  font-size: var(--font-size-xs);
  color: var(--color-error);
  margin-top: 4px;
  min-height: 16px;
}
.cnt-form__field--checkbox {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
}
.cnt-form__field--checkbox input {
  margin-top: 3px;
  flex-shrink: 0;
}
.cnt-form__file-hint {
  font-size: 12px;
  color: var(--color-text-light);
  margin-bottom: 12px;
}

/* Dropzone */
.cnt-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  border: 2px dashed var(--color-border);
  border-radius: var(--radius);
  background: var(--color-bg-light);
  cursor: pointer;
  transition: all var(--transition);
  text-align: center;
  margin-bottom: 12px;
}
.cnt-dropzone:hover,
.cnt-dropzone.dragover {
  border-color: var(--color-primary);
  background: rgba(245,180,0,0.04);
}
.cnt-dropzone svg {
  color: var(--color-text-light);
  margin-bottom: 8px;
}
.cnt-dropzone p {
  font-size: 14px;
  color: var(--color-text);
  margin-bottom: 4px;
}
.cnt-dropzone span {
  font-size: 12px;
  color: var(--color-text-light);
}
.cnt-file-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.cnt-file-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  margin-bottom: 6px;
}
.cnt-file-item__preview {
  width: 40px;
  height: 40px;
  border-radius: var(--radius);
  object-fit: cover;
  flex-shrink: 0;
}
.cnt-file-item__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border-radius: var(--radius);
  flex-shrink: 0;
  color: var(--color-text-light);
}
.cnt-file-item__info {
  flex: 1;
  min-width: 0;
}
.cnt-file-item__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cnt-file-item__size {
  font-size: 12px;
  color: var(--color-text-light);
}
.cnt-file-item__remove {
  padding: 6px;
  color: var(--color-error);
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
}

/* Consent */
.cnt-form__fieldset--consent {
  background: var(--color-bg-light);
  padding: 20px;
  border-radius: var(--radius);
  margin-bottom: 24px;
}
.cnt-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  color: var(--color-text);
  cursor: pointer;
}
.cnt-form__consent:last-child { margin-bottom: 0; }
.cnt-form__consent input {
  margin-top: 3px;
  accent-color: var(--color-primary);
  flex-shrink: 0;
}

/* Actions */
.cnt-form__actions {
  margin-bottom: 16px;
}
.cnt-form__submit {
  margin-bottom: 12px;
}
.cnt-form__submit-loading { display: none; }
.cnt-form__submit.is-loading .cnt-form__submit-text { display: none; }
.cnt-form__submit.is-loading .cnt-form__submit-loading {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cnt-form__submit.is-loading svg { animation: spin 1s linear infinite; }
.cnt-form__utility {
  display: flex;
  gap: 12px;
}
.cnt-form__utility-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: none;
  cursor: pointer;
  transition: all var(--transition);
}
.cnt-form__utility-btn:hover {
  border-color: var(--color-primary);
  color: var(--color-dark);
}
.cnt-form__privacy-note {
  font-size: var(--font-size-xs);
  color: var(--color-text-light);
  text-align: center;
  margin-top: 12px;
}
.cnt-form__privacy-note a {
  color: var(--color-primary-dark);
  text-decoration: underline;
}

/* Success */
.cnt-form__success {
  padding: 48px 32px;
  text-align: center;
}
.cnt-form__success[hidden] { display: none; }
.cnt-form__success h3 {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin: 16px 0 12px;
}
.cnt-form__success p {
  font-size: 15px;
  color: var(--color-text-light);
  line-height: 1.6;
  margin-bottom: 24px;
}
.cnt-form__summary {
  text-align: left;
  padding: 20px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  margin-bottom: 24px;
  font-size: 14px;
}
.cnt-form__summary dt {
  font-weight: 600;
  color: var(--color-dark);
  margin-top: 8px;
}
.cnt-form__summary dt:first-child { margin-top: 0; }
.cnt-form__summary dd {
  margin-left: 0;
  color: var(--color-text-light);
}
.cnt-form__ref {
  display: inline-block;
  padding: 6px 16px;
  background: rgba(245,180,0,0.1);
  border: 1px solid rgba(245,180,0,0.3);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 8px;
}
.cnt-form__ref-note {
  font-size: 12px;
  color: var(--color-text-light);
  font-style: italic;
  margin-bottom: 24px;
}
.cnt-form__success-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==================== PRODUCT INQUIRY GUIDE ==================== */
.cnt-guide {
  padding: 80px 0;
  background: var(--color-white);
}
.cnt-guide__inner {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
.cnt-guide__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}
.cnt-guide__content p {
  font-size: 16px;
  color: var(--color-text-light);
  line-height: 1.7;
}
.cnt-guide__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 24px 0;
}
.cnt-guide__list li {
  font-size: 14px;
  color: var(--color-text);
  padding-left: 16px;
  position: relative;
}
.cnt-guide__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: var(--color-primary);
  border-radius: 50%;
}
.cnt-guide__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==================== SPECIALIZED CONTACT ==================== */
.cnt-specialized {
  padding: 80px 0;
  background: var(--color-bg-light);
  text-align: center;
}
.cnt-specialized__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.cnt-specialized__card {
  padding: 32px 24px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  text-align: left;
  transition: all var(--transition);
}
.cnt-specialized__card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  transform: translateY(-4px);
}
.cnt-specialized__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245,180,0,0.08);
  border-radius: var(--radius);
  margin-bottom: 16px;
  color: var(--color-primary-dark);
}
.cnt-specialized__card h3 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 8px;
}
.cnt-specialized__card p {
  font-size: 14px;
  color: var(--color-text-light);
  line-height: 1.5;
  margin-bottom: 20px;
}

/* ==================== FACTORY VISIT ==================== */
.cnt-factory {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.cnt-factory__bg {
  position: absolute;
  inset: 0;
  display: none;
}
.cnt-factory__overlay {
  position: absolute;
  inset: 0;
  background: var(--color-dark);
  display: none;
}
.cnt-factory__inner {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
.cnt-factory__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}
.cnt-factory__content {
  position: relative;
  z-index: 2;
}
.cnt-factory__text {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
  line-height: 1.7;
}
.cnt-factory__features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.cnt-factory__features span {
  padding: 5px 14px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
}
.cnt-factory__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.cnt-factory__hint {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  font-style: italic;
}

/* ==================== SHIPPING ==================== */
.cnt-shipping {
  padding: 80px 0;
  background: var(--color-white);
}
.cnt-shipping__inner {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 60px;
  align-items: center;
}
.cnt-shipping__content p {
  font-size: 16px;
  color: var(--color-text-light);
  line-height: 1.7;
}
.cnt-shipping__needs {
  margin: 24px 0;
  padding: 20px;
  background: var(--color-bg-light);
  border-radius: var(--radius);
}
.cnt-shipping__needs h3 {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-dark);
  margin-bottom: 12px;
}
.cnt-shipping__needs ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  list-style: none;
  padding: 0;
}
.cnt-shipping__needs li {
  font-size: 14px;
  color: var(--color-text);
  padding-left: 16px;
  position: relative;
}
.cnt-shipping__needs li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: var(--color-primary);
  border-radius: 50%;
}
.cnt-shipping__hint {
  font-size: 13px;
  color: var(--color-text-light);
  margin-top: 12px;
  font-style: italic;
}
.cnt-shipping__image img {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
}

/* ==================== LOCATION ==================== */
.cnt-location {
  padding: 80px 0;
  background: var(--color-bg-light);
}
.cnt-location__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.cnt-location__details {
  margin-top: 24px;
}
.cnt-location__details dt {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-light);
  margin-top: 16px;
}
.cnt-location__details dt:first-child { margin-top: 0; }
.cnt-location__details dd {
  font-size: 15px;
  color: var(--color-dark);
  margin-left: 0;
}
.cnt-location__details dd a {
  color: var(--color-dark);
  transition: color var(--transition);
}
.cnt-location__details dd a:hover { color: var(--color-primary-dark); }
.cnt-location__map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  background: var(--color-white);
  border: 2px dashed var(--color-border);
  border-radius: var(--radius);
  text-align: center;
  padding: 40px;
}
.cnt-location__map-placeholder h3 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin: 16px 0 8px;
}
.cnt-location__map-placeholder p {
  font-size: 14px;
  color: var(--color-text-light);
  margin-bottom: 16px;
}

/* ==================== FAQ PREVIEW ==================== */
.cnt-faq {
  padding: 80px 0;
  background: var(--color-white);
  text-align: center;
}
.cnt-faq__list {
  max-width: 800px;
  margin: 40px auto 0;
  text-align: left;
}
.cnt-faq-item {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  margin-bottom: 8px;
  overflow: hidden;
}
.cnt-faq-item__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 18px 20px;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-dark);
  text-align: left;
  gap: 16px;
  background: var(--color-white);
  cursor: pointer;
  transition: background var(--transition);
  min-height: 48px;
}
.cnt-faq-item__trigger:hover { background: var(--color-bg-light); }
.cnt-faq-item__trigger svg {
  flex-shrink: 0;
  transition: transform var(--transition);
}
.cnt-faq-item__trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.cnt-faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.cnt-faq-item__answer[aria-hidden="false"] {
  max-height: 400px;
}
.cnt-faq-item__answer-inner {
  padding: 0 20px 20px;
}
.cnt-faq-item__answer p {
  font-size: 15px;
  color: var(--color-text);
  line-height: 1.65;
  margin-bottom: 10px;
}
.cnt-faq-item__answer a {
  color: var(--color-primary-dark);
  font-weight: 600;
}
.cnt-faq__more {
  margin-top: 32px;
}

/* ==================== PRIVACY NOTICE ==================== */
.cnt-privacy {
  padding: 64px 0;
  background: var(--color-dark-2);
  color: var(--color-white);
  text-align: center;
}
.cnt-privacy__text {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  max-width: 640px;
  margin: 0 auto 40px;
  line-height: 1.6;
}
.cnt-privacy__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 32px;
}
.cnt-privacy__item {
  padding: 20px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius);
  text-align: left;
}
.cnt-privacy__item h3 {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 8px;
}
.cnt-privacy__item p {
  font-size: var(--font-size-sm);
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
}
.cnt-privacy__links {
  display: flex;
  justify-content: center;
  gap: 24px;
}
.cnt-privacy__links a {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  text-decoration: underline;
}
.cnt-privacy__links a:hover { color: var(--color-primary); }

/* ==================== BOTTOM CTA ==================== */
.cnt-cta {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.cnt-cta__bg {
  position: absolute;
  inset: 0;
}
.cnt-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cnt-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(23,25,28,0.9);
}
.cnt-cta .container {
  position: relative;
  z-index: 2;
}
.cnt-cta__content {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.cnt-cta__text {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
  line-height: 1.6;
}
.cnt-cta__benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
  margin-bottom: 28px;
}
.cnt-cta__benefits span {
  font-size: var(--font-size-sm);
  color: rgba(255,255,255,0.7);
}
.cnt-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ==================== TOAST ==================== */
.cnt-toast {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--color-dark);
  color: var(--color-white);
  padding: 12px 24px;
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 500;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.cnt-toast--visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.cnt-toast--success { background: var(--color-success); }
.cnt-toast--error { background: var(--color-error); }

/* SR-ONLY */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 1200px) {
  .cnt-types__grid { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .cnt-specialized__grid { grid-template-columns: repeat(2, 1fr); }
  .cnt-privacy__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 992px) {
  .cnt-hero { min-height: 480px; max-height: 620px; }
  .cnt-methods__grid { grid-template-columns: repeat(2, 1fr); }
  .cnt-method { border-bottom: 1px solid var(--color-border); }
  .cnt-types__grid { grid-template-columns: repeat(2, 1fr); }
  .cnt-overview__inner { grid-template-columns: 1fr; gap: 32px; }
  .cnt-overview__image { order: -1; }
  .cnt-guide__inner { grid-template-columns: 1fr; gap: 32px; }
  .cnt-guide__image { order: -1; }
  .cnt-form__layout { grid-template-columns: 1fr; }
  .cnt-form__sidebar {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .cnt-form__sidebar-section { border-right: 1px solid var(--color-border); }
  .cnt-factory__inner { grid-template-columns: 1fr; gap: 32px; }
  .cnt-factory__image { order: -1; }
  .cnt-shipping__inner { grid-template-columns: 1fr; gap: 32px; }
  .cnt-shipping__image { order: -1; }
  .cnt-location__inner { grid-template-columns: 1fr; }
  .cnt-specialized__grid { grid-template-columns: 1fr; gap: 16px; }
  .cnt-privacy__grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .cnt-hero__title { font-size: clamp(22px, 6vw, 32px); }
  .cnt-hero__buttons { flex-direction: column; }
  .cnt-hero__buttons .btn { width: 100%; }
  .cnt-methods__grid { grid-template-columns: 1fr; }
  .cnt-method { border-right: none; }
  .cnt-types__grid { grid-template-columns: 1fr; }
  .cnt-form__row { grid-template-columns: 1fr; }
  .cnt-form__field--full { grid-column: span 1; }
  .cnt-form__sidebar { grid-template-columns: 1fr; }
  .cnt-form__sidebar-section { border-right: none; }
  .cnt-form__header { padding: 20px; }
  .cnt-form__form { padding: 20px; }
  .cnt-overview__prep ul { grid-template-columns: 1fr; }
  .cnt-guide__list { grid-template-columns: 1fr; }
  .cnt-shipping__needs ul { grid-template-columns: 1fr; }
  .cnt-factory__features { flex-direction: column; }
  .cnt-factory__buttons { flex-direction: column; }
  .cnt-factory__buttons .btn { width: 100%; }
  .cnt-guide__buttons { flex-direction: column; }
  .cnt-guide__buttons .btn { width: 100%; }
  .cnt-cta__benefits { flex-direction: column; gap: 8px; }
  .cnt-cta__buttons { flex-direction: column; }
  .cnt-cta__buttons .btn { width: 100%; }
  .cnt-form__utility { flex-direction: column; }
  .cnt-form__success-actions { flex-direction: column; align-items: center; }
  .cnt-form__success-actions .btn { width: 100%; max-width: 300px; }
  .cnt-specialized__card { text-align: center; }
  .cnt-location__map-placeholder { min-height: 240px; }
  .cnt-form__field input,
  .cnt-form__field select,
  .cnt-form__field textarea { font-size: 16px; }
  .cnt-privacy__links { flex-direction: column; gap: 12px; }
  .cnt-faq-item__trigger { font-size: 14px; padding: 16px; }
  .cnt-faq-item__answer-inner { padding: 0 16px 16px; }
}

@media (max-width: 480px) {
  .cnt-hero { min-height: 420px; }
  .cnt-type-card { padding: 20px; }
  .cnt-specialized__card { padding: 24px 16px; }
  .cnt-dropzone { padding: 24px; }
  .cnt-form__consent { font-size: 13px; }
}

/* ==================== PRINT ==================== */
@media print {
  .cnt-hero,
  .cnt-methods,
  .cnt-types,
  .cnt-guide,
  .cnt-specialized,
  .cnt-factory,
  .cnt-shipping,
  .cnt-location__map,
  .cnt-faq,
  .cnt-privacy,
  .cnt-cta,
  .site-header,
  .site-footer,
  .breadcrumb,
  .cookie-banner,
  .back-to-top,
  .mobile-bar,
  .desktop-floating,
  .cnt-toast,
  .cnt-form__sidebar,
  .cnt-form__utility,
  .cnt-dropzone { display: none !important; }
  .cnt-form__layout { display: block; }
  .cnt-form__main { border: none; }
  .cnt-form__header { background: none; border: none; padding: 0; }
  .cnt-form__form { padding: 0; }
}
