/* ============================================ */
/* CSS CUSTOM PROPERTIES (Variables) */
/* ============================================ */

:root {
  /* Colors */
  --primary: #ff6b00;
  --primary-light: #ff8c00;
  --primary-dark: #e05500;
  --primary-glow: rgba(255, 107, 0, 0.3);
  --primary-subtle: rgba(255, 107, 0, 0.08);

  --bg-dark: #0a0a0a;
  --bg-section: #0d0d0d;
  --bg-card: #141414;
  --bg-card-hover: #1a1a1a;
  --bg-input: #111111;

  --text-primary: #ffffff;
  --text-secondary: #b0b0b0;
  --text-muted: #666666;

  --border-color: #222222;
  --border-light: #333333;

  /* Typography */
  --font-heading: "Rajdhani", sans-serif;
  --font-body: "Inter", sans-serif;
  --font-display: "Orbitron", sans-serif;

  /* Spacing */
  --section-padding: 100px;
  --container-width: 1400px;
  --container-padding: 20px;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* Border Radius */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 30px;

  /* Shadows */
  --shadow-card: 0 10px 40px rgba(0, 0, 0, 0.3);
  --shadow-glow: 0 0 30px rgba(255, 107, 0, 0.15);
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  font-size: 16px;
}

body {
  font-family: var(--font-body);
  background-color: var(--bg-dark);
  color: var(--text-secondary);
  line-height: 1.7;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

ul,
ol {
  list-style: none;
}

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

button,
input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  border: none;
  outline: none;
  background: none;
}

::selection {
  background-color: var(--primary);
  color: var(--bg-dark);
}

/* ============================================ */
/* PRELOADER */
/* ============================================ */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  transition:
    opacity 0.5s ease,
    visibility 0.5s ease;
}

#preloader.hidden {
  opacity: 0;
  visibility: hidden;
}

.loader-container {
  position: relative;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-ring {
  position: absolute;
  border-radius: 50%;
  border: 2px solid transparent;
}

.loader-ring:nth-child(1) {
  width: 100%;
  height: 100%;
  border-top-color: var(--primary);
  animation: loaderSpin 1.2s linear infinite;
}

.loader-ring:nth-child(2) {
  width: 80%;
  height: 80%;
  border-right-color: var(--primary-light);
  animation: loaderSpin 1.5s linear infinite reverse;
}

.loader-ring:nth-child(3) {
  width: 60%;
  height: 60%;
  border-bottom-color: var(--primary-dark);
  animation: loaderSpin 1s linear infinite;
}

.loader-text {
  font-family: var(--font-display);
  font-size: 0.6rem;
  color: var(--primary);
  letter-spacing: 2px;
  animation: loaderPulse 1.5s ease-in-out infinite;
}

@keyframes loaderSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes loaderPulse {
  0%,
  100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}

/* ============================================ */
/* CUSTOM CURSOR */
/* ============================================ */
.cursor-dot,
.cursor-outline {
  position: fixed;
  pointer-events: none;
  z-index: 9999;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.cursor-dot {
  width: 8px;
  height: 8px;
  background: var(--primary);
  transition:
    width 0.2s,
    height 0.2s;
}

.cursor-outline {
  width: 40px;
  height: 40px;
  border: 2px solid rgba(186, 140, 16, 0.4);
  z-index: 9998;
  transition:
    width 0.3s,
    height 0.3s;
}

.cursor-dot.hover {
  width: 16px;
  height: 16px;
  background: rgba(158, 124, 22, 0.5);
}

.cursor-outline.hover {
  width: 60px;
  height: 60px;
  border-color: rgba(130, 124, 14, 0.375);
}

@media (max-width: 768px), (hover: none) {
  .cursor-dot,
  .cursor-outline {
    display: none !important;
  }
}

/* ============================================ */
/* PARTICLE CANVAS */
/* ============================================ */
#particleCanvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  opacity: 0.3;
}

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

.section {
  padding: var(--section-padding) 0;
  position: relative;
  z-index: 1;
}

.highlight {
  color: var(--primary);
}

/* ============================================ */
/* SECTION HEADER */
/* ============================================ */
.section-header {
  text-align: center;
  margin-bottom: 60px;
}

.section-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 0.7rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--primary);
  padding: 6px 20px;
  border: 1px solid rgba(255, 107, 0, 0.3);
  border-radius: var(--radius-xl);
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
}

.section-tag::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 107, 0, 0.1),
    transparent
  );
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

.section-title {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 5vw, 3rem);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.2;
  margin-bottom: 12px;
}

.section-subtitle {
  font-size: 1rem;
  color: var(--text-muted);
  max-width: 550px;
  margin: 0 auto;
}

/* ============================================ */
/* BUTTONS */
/* ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: var(--radius-sm);
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all var(--transition-normal);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.btn-sm {
  padding: 10px 20px;
  font-size: 0.8rem;
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: var(--bg-dark);
  box-shadow: 0 4px 20px rgba(255, 107, 0, 0.3);
}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(255, 107, 0, 0.5);
}

.btn-secondary {
  background: transparent;
  color: var(--text-primary);
  border: 2px solid var(--border-light);
}

.btn-secondary:hover {
  border-color: var(--primary);
  color: var(--primary);
  transform: translateY(-3px);
}

.btn-arrow {
  width: 18px;
  height: 18px;
  transition: transform var(--transition-normal);
}

.btn:hover .btn-arrow {
  transform: translateX(5px);
}

/* Ripple Effect */
.btn-ripple .ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: scale(0);
  animation: rippleEffect 0.6s linear;
  pointer-events: none;
}

@keyframes rippleEffect {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* ============================================ */
/* NAVBAR */
/* ============================================ */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 16px 0;
  transition: all var(--transition-normal);
}

.navbar.scrolled {
  padding: 10px 0;
  background: rgba(10, 10, 10, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-color);
}

.nav-container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 1001;
}

.logo-icon svg {
  width: 36px;
  height: 36px;
}

.logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.logo-main {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: 2px;
}

/* Logo image support (replaces SVG) */
.logo-icon .logo-img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}

/* Slightly bigger logo in footer (optional) */
.logo-icon .logo-img.logo-img-footer {
  width: 46px;
  height: 46px;
}

.logo-sub {
  font-family: var(--font-heading);
  font-size: 0.55rem;
  color: var(--primary);
  letter-spacing: 4px;
  text-transform: uppercase;
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 6px;
}

.nav-link {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text-secondary);
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  transition: all var(--transition-normal);
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.nav-link::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--primary);
  transition: all var(--transition-normal);
  transform: translateX(-50%);
}

.nav-link:hover,
.nav-link.active {
  color: var(--primary);
}
.nav-link:hover::after,
.nav-link.active::after {
  width: 60%;
}

.nav-cta-btn {
  display: inline-flex;
  padding: 10px 20px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: var(--bg-dark);
  font-family: var(--font-heading);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  margin-left: 8px;
  transition: all var(--transition-normal);
}

.nav-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(255, 107, 0, 0.4);
}

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 5px;
  z-index: 1001;
  cursor: pointer;
}

.nav-toggle .bar {
  width: 26px;
  height: 2px;
  background: var(--text-primary);
  transition: all var(--transition-normal);
  border-radius: 2px;
}

.nav-toggle.active .bar-1 {
  transform: rotate(45deg) translate(5px, 5px);
}
.nav-toggle.active .bar-2 {
  opacity: 0;
}
.nav-toggle.active .bar-3 {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* ============================================ */
/* PAGE HEADER (Inner Pages) */
/* ============================================ */
.page-header {
  position: relative;
  padding: 160px 0 80px;
  overflow: hidden;
  z-index: 1;
}

.page-header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    var(--bg-dark) 0%,
    #111 50%,
    var(--bg-dark) 100%
  );
}

.header-pattern {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image:
    linear-gradient(rgba(255, 107, 0, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 107, 0, 0.02) 1px, transparent 1px);
  background-size: 60px 60px;
}

.page-header-content {
  position: relative;
  text-align: center;
  z-index: 2;
}

.breadcrumb {
  margin-bottom: 16px;
  font-size: 0.85rem;
}

.breadcrumb a {
  color: var(--text-muted);
  transition: color var(--transition-normal);
}

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

.breadcrumb .separator {
  margin: 0 10px;
  color: var(--text-muted);
}

.breadcrumb .current {
  color: var(--primary);
}

.page-title {
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.page-subtitle {
  font-size: 1.1rem;
  color: var(--text-muted);
  max-width: 500px;
  margin: 0 auto;
}

.header-shapes {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}

.header-shapes .shape {
  position: absolute;
  border: 1px solid rgba(255, 107, 0, 0.1);
  border-radius: 50%;
}

.header-shapes .shape-1 {
  width: 300px;
  height: 300px;
  top: -100px;
  right: -100px;
  animation: floatShape 15s ease-in-out infinite;
}

.header-shapes .shape-2 {
  width: 200px;
  height: 200px;
  bottom: -50px;
  left: -50px;
  animation: floatShape 12s ease-in-out infinite reverse;
}

@keyframes floatShape {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(20px, -20px);
  }
}

/* ============================================ */
/* HERO SECTION */
/* ============================================ */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  z-index: 1;
}

.hero-bg-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* ============================================ */
/* HERO SECTION (continued) */
/* ============================================ */
.hero-bg-gradient {
  position: absolute;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(
      ellipse at 20% 50%,
      rgba(255, 107, 0, 0.08) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 80% 20%,
      rgba(255, 140, 0, 0.05) 0%,
      transparent 40%
    ),
    linear-gradient(180deg, var(--bg-dark) 0%, #0d0d0d 100%);
}

.hero-bg-pattern {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image:
    linear-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 107, 0, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
}

.hero-bg-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, transparent 60%, var(--bg-dark) 100%);
}

.hero-shapes {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.hero-shapes .shape {
  position: absolute;
  border: 1px solid rgba(255, 107, 0, 0.1);
  animation: floatShape 20s ease-in-out infinite;
}

.hero-shapes .shape-1 {
  width: 300px;
  height: 300px;
  border-radius: 30% 70% 70% 30%;
  top: 10%;
  right: 5%;
}
.hero-shapes .shape-2 {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  bottom: 20%;
  left: 5%;
  animation-delay: -3s;
}
.hero-shapes .shape-3 {
  width: 150px;
  height: 150px;
  border-radius: 20%;
  top: 40%;
  right: 20%;
  transform: rotate(45deg);
  animation-delay: -5s;
}
.hero-shapes .shape-4 {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  top: 60%;
  left: 20%;
  animation-delay: -8s;
}
.hero-shapes .shape-5 {
  width: 80px;
  height: 80px;
  border-radius: 30%;
  top: 15%;
  left: 30%;
  animation-delay: -2s;
}

.hero-container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
  padding-top: 100px;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  background: var(--primary-subtle);
  border: 1px solid rgba(255, 107, 0, 0.2);
  border-radius: var(--radius-xl);
  font-size: 0.75rem;
  color: var(--primary);
  margin-bottom: 24px;
  font-family: var(--font-heading);
  letter-spacing: 1px;
}

.badge-dot {
  width: 8px;
  height: 8px;
  background: var(--primary);
  border-radius: 50%;
  animation: badgePulse 2s ease-in-out infinite;
}

@keyframes badgePulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.3);
  }
}

.hero-title {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 20px;
}

.title-line {
  display: block;
  font-size: clamp(2rem, 5vw, 4rem);
  color: var(--text-primary);
}

.title-highlight {
  color: var(--primary);
}

.hero-subtitle {
  font-size: 1rem;
  color: var(--text-muted);
  max-width: 480px;
  margin-bottom: 32px;
  line-height: 1.8;
}

.hero-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

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

.stat-item {
  text-align: center;
}

.stat-number {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary);
}

.stat-suffix {
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: var(--primary);
}

.stat-label {
  display: block;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: var(--font-heading);
}

.stat-divider {
  width: 1px;
  height: 40px;
  background: var(--border-color);
}

/* Hero Visual */
.hero-visual {
  position: relative;
  display: flex;
  justify-content: center;
}

.hero-image-wrapper {
  position: relative;
  width: 100%;
  max-width: 450px;
}

.hero-image-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
  background: var(--bg-card);
}

.hero-image-placeholder {
  width: 100%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
}

.hero-image-placeholder svg {
  width: 100%;
  height: 100%;
}

.floating-badge {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: rgba(20, 20, 20, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  animation: floatBadge 6s ease-in-out infinite;
}

.badge-quality {
  top: 15%;
  left: -20px;
}
.badge-eco {
  bottom: 20%;
  right: -10px;
  animation-delay: -3s;
}

@keyframes floatBadge {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.floating-badge .badge-icon {
  font-size: 1.3rem;
}
.floating-badge .badge-text strong {
  display: block;
  color: var(--text-primary);
  font-size: 0.8rem;
}
.floating-badge .badge-text span {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* Scroll Indicator */
.scroll-indicator {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 2;
}

.scroll-indicator span {
  font-size: 0.65rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-muted);
  font-family: var(--font-heading);
}

.scroll-line {
  width: 2px;
  height: 35px;
  background: var(--border-color);
  border-radius: 2px;
  position: relative;
  overflow: hidden;
}

.scroll-dot {
  width: 2px;
  height: 10px;
  background: var(--primary);
  border-radius: 2px;
  animation: scrollDown 2s ease-in-out infinite;
}

@keyframes scrollDown {
  0% {
    transform: translateY(-10px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(35px);
    opacity: 0;
  }
}

/* ============================================ */
/* ABOUT PREVIEW SECTION */
/* ============================================ */
.about-preview {
  background: var(--bg-section);
}

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

.about-preview-image {
  position: relative;
}

.image-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
}

.image-placeholder {
  width: 100%;
  min-height: 350px;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-card);
}

.image-placeholder svg {
  width: 100%;
  height: auto;
}

.experience-badge {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 40px rgba(255, 107, 0, 0.4);
}

.experience-badge .exp-num {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--bg-dark);
}

.experience-badge .exp-text {
  font-size: 0.6rem;
  color: var(--bg-dark);
  font-weight: 600;
}

.about-preview-content .section-tag {
  margin-bottom: 12px;
}
.about-preview-content .section-title {
  text-align: left;
  margin-bottom: 16px;
}

.about-text {
  color: var(--text-secondary);
  margin-bottom: 16px;
  font-size: 0.95rem;
}

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

.feature-box {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  transition: all var(--transition-normal);
}

.feature-box:hover {
  border-color: rgba(203, 161, 62, 0.712);
  transform: translateY(-3px);
}

.feature-box .feature-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.feature-box .feature-icon svg {
  width: 100%;
  height: 100%;
}
.feature-box span {
  font-size: 0.85rem;
  color: var(--text-primary);
  font-weight: 500;
}

/* ============================================ */
/* SERVICES SECTION */
/* ============================================ */
.services-preview,
.services-overview {
  background: var(--bg-dark);
  position: relative;
}

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

.service-card {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 32px 28px;
  transition: all 0.4s ease;
  overflow: hidden;
  cursor: pointer;
}

.service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 107, 0, 0.3);
  box-shadow: var(--shadow-card);
}

.card-glow {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(
    circle,
    rgba(255, 107, 0, 0.05) 0%,
    transparent 60%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
}

.service-card:hover .card-glow {
  opacity: 1;
}

.card-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--primary-light));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.service-card:hover .card-border {
  transform: scaleX(1);
}

.card-content {
  position: relative;
  z-index: 1;
}

.card-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 20px;
  transition: transform var(--transition-normal);
}

.service-card:hover .card-icon {
  transform: scale(1.1);
}

.card-icon svg {
  width: 100%;
  height: 100%;
}

.card-title {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 10px;
  transition: color var(--transition-normal);
}

.service-card:hover .card-title {
  color: var(--primary);
}

.card-description {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 16px;
  line-height: 1.6;
}

.card-features {
  margin-bottom: 20px;
}

.card-features li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--text-secondary);
  padding: 5px 0;
}

.card-features li::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--primary);
  border-radius: 50%;
}

.card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--primary);
}

.card-link svg {
  width: 14px;
  height: 14px;
  transition: transform var(--transition-normal);
}
.card-link:hover svg {
  transform: translateX(5px);
}

.card-number {
  position: absolute;
  top: 16px;
  right: 20px;
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.03);
  line-height: 1;
}

.service-card:hover .card-number {
  color: rgba(255, 107, 0, 0.08);
}

.section-cta {
  text-align: center;
  margin-top: 40px;
}

/* ============================================ */
/* SERVICE DETAIL SECTION (Services Page) */
/* ============================================ */
.service-detail {
  background: var(--bg-dark);
}
.service-detail-alt {
  background: var(--bg-section);
}

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

.service-detail-grid.reverse {
  direction: rtl;
}
.service-detail-grid.reverse > * {
  direction: ltr;
}

.service-detail-content .service-number {
  font-family: var(--font-display);
  font-size: 4rem;
  font-weight: 900;
  color: rgba(255, 107, 0, 0.1);
  line-height: 1;
  margin-bottom: -20px;
}

.service-detail-content h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  color: var(--text-primary);
  margin-bottom: 16px;
}

.service-desc {
  font-size: 0.95rem;
  color: var(--text-secondary);
  margin-bottom: 24px;
  line-height: 1.8;
}

.service-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 28px;
}

.service-features .feature-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--text-secondary);
}

.service-features .feature-item svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.service-detail-image .service-image-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
}

.service-detail-image .image-placeholder {
  min-height: 380px;
}

/* ============================================ */
/* WHY CHOOSE US SECTION */
/* ============================================ */
.why-choose {
  background: var(--bg-section);
}

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

.advantage-card {
  text-align: center;
  padding: 32px 24px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  transition: all var(--transition-normal);
}

.advantage-card:hover {
  transform: translateY(-6px);
  border-color: rgba(216, 150, 52, 0.3);
  box-shadow: var(--shadow-glow);
}

.advantage-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 16px;
}

.advantage-icon svg {
  width: 100%;
  height: 100%;
}

.advantage-card h3 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.advantage-card p {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.6;
}

/* ============================================ */
/* PROCESS SECTION */
/* ============================================ */
.process {
  background: var(--bg-dark);
}

.process-timeline {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
}

.timeline-track {
  position: absolute;
  left: 30px;
  top: 0;
  width: 3px;
  height: 100%;
  background: var(--border-color);
}

.timeline-progress {
  width: 100%;
  height: 0;
  background: var(--primary);
  transition: height 0.3s ease;
}

.process-step {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 40px;
  position: relative;
}

.process-step:last-child {
  margin-bottom: 0;
}

.step-marker {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  background: var(--bg-card);
  border: 2px solid var(--primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.step-marker span {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--primary);
}

.step-content {
  flex: 1;
  padding: 20px 24px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  transition: all var(--transition-normal);
}

.step-content:hover {
  border-color: rgba(171, 122, 24, 0.3);
  transform: translateX(8px);
}

.step-content h3 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.step-content p {
  font-size: 0.9rem;
  color: var(--text-muted);
}

/* ============================================ */
/* GALLERY SECTION */
/* ============================================ */
.gallery-preview,
.gallery-page {
  background: var(--bg-section);
}

.gallery-filter {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.filter-btn {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  padding: 10px 20px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  color: var(--text-muted);
  transition: all var(--transition-normal);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.filter-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
}

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

.gallery-preview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gallery-masonry {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  grid-auto-rows: 280px;
}

.gallery-item {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: pointer;
}

.gallery-item-wide {
  grid-column: span 2;
}
.gallery-item-tall {
  grid-row: span 2;
}

.gallery-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s ease;
}

.gallery-image svg {
  width: 80%;
  height: 80%;
  max-height: 100%;
}

.gallery-item:hover .gallery-image {
  transform: scale(1.08);
}

.gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.85) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  opacity: 0;
  transition: all 0.4s ease;
}

.gallery-item:hover .gallery-overlay {
  opacity: 1;
}

.gallery-category {
  font-size: 0.65rem;
  font-family: var(--font-display);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 6px;
}

.gallery-overlay h4 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.gallery-overlay p,
.gallery-overlay span {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.gallery-zoom-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  background: rgba(255, 107, 0, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0);
  transition: transform 0.3s ease;
  cursor: pointer;
}

.gallery-item:hover .gallery-zoom-btn {
  transform: scale(1);
}
.gallery-zoom-btn svg {
  width: 18px;
  height: 18px;
  color: var(--bg-dark);
}

.gallery-load-more {
  text-align: center;
  margin-top: 40px;
}

/* ============================================ */
/* LIGHTBOX */
/* ============================================ */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lightbox.active {
  display: flex;
  opacity: 1;
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-primary);
  transition: all var(--transition-normal);
}

.lightbox-close:hover {
  background: var(--primary);
  color: var(--bg-dark);
}

.lightbox-close svg {
  width: 20px;
  height: 20px;
}

.lightbox-content {
  max-width: 900px;
  max-height: 80vh;
  text-align: center;
}

.lightbox-image {
  max-width: 100%;
  max-height: 60vh;
  margin-bottom: 20px;
}

.lightbox-info {
  color: var(--text-primary);
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-primary);
  transition: all var(--transition-normal);
}

.lightbox-prev {
  left: 20px;
}
.lightbox-next {
  right: 20px;
}

.lightbox-nav:hover {
  background: var(--primary);
  color: var(--bg-dark);
}

.lightbox-nav svg {
  width: 20px;
  height: 20px;
}

/* ============================================ */
/* TESTIMONIALS */
/* ============================================ */
.testimonials {
  background: var(--bg-dark);
}

.testimonials-slider {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
  overflow: hidden;
}

.testimonial-track {
  display: flex;
  transition: transform 0.5s ease;
}

.testimonial-card {
  min-width: 100%;
  padding: 36px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  text-align: center;
}

.testimonial-stars {
  color: var(--primary);
  font-size: 1.2rem;
  letter-spacing: 3px;
  margin-bottom: 20px;
}

.testimonial-text {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 24px;
  font-style: italic;
  position: relative;
}

.testimonial-text::before {
  content: '"';
  font-size: 3.5rem;
  color: var(--primary);
  opacity: 0.3;
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  font-family: Georgia, serif;
}

.testimonial-author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.author-avatar {
  width: 46px;
  height: 46px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--bg-dark);
}

.author-info {
  text-align: left;
}
.author-info strong {
  display: block;
  color: var(--text-primary);
  font-size: 0.95rem;
}
.author-info span {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.testimonial-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.testimonial-btn {
  width: 40px;
  height: 40px;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-normal);
  cursor: pointer;
  color: var(--text-secondary);
}

.testimonial-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.testimonial-btn svg {
  width: 16px;
  height: 16px;
}

.testimonial-dots {
  display: flex;
  gap: 8px;
}

.testimonial-dots .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--border-color);
  transition: all var(--transition-normal);
  cursor: pointer;
}

.testimonial-dots .dot.active {
  background: var(--primary);
  transform: scale(1.2);
}

/* ============================================ */
/* STATISTICS SECTION */
/* ============================================ */
.stats-section {
  background: var(--bg-dark);
}

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

.stat-card {
  text-align: center;
  padding: 32px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  transition: all var(--transition-normal);
}

.stat-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 107, 0, 0.3);
}

.stat-card .stat-icon {
  width: 50px;
  height: 50px;
  margin: 0 auto 16px;
}

.stat-card .stat-number {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--primary);
  display: block;
}

.stat-card .stat-label {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-top: 8px;
}

/* ============================================ */
/* TEAM SECTION */
/* ============================================ */
.team-section {
  background: var(--bg-section);
}

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

.team-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--transition-normal);
}

.team-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 107, 0, 0.3);
}

.team-image {
  position: relative;
  height: 240px;
  overflow: hidden;
}

.team-placeholder {
  width: 100%;
  height: 100%;
}

.team-placeholder svg {
  width: 100%;
  height: 100%;
}

.team-social {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.team-card:hover .team-social {
  transform: translateY(0);
}

.team-social a {
  width: 36px;
  height: 36px;
  background: var(--primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bg-dark);
  transition: transform var(--transition-normal);
}

.team-social a:hover {
  transform: scale(1.1);
}
.team-social a svg {
  width: 16px;
  height: 16px;
}

.team-info {
  padding: 20px;
  text-align: center;
}

.team-info h4 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.team-info span {
  font-size: 0.8rem;
  color: var(--primary);
}

/* ============================================ */
/* CERTIFICATIONS */
/* ============================================ */
.certifications {
  background: var(--bg-dark);
}

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

.cert-card {
  text-align: center;
  padding: 32px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  transition: all var(--transition-normal);
}

.cert-card:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateY(-5px);
}

.cert-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 16px;
}

.cert-icon svg {
  width: 100%;
  height: 100%;
}

.cert-card h4 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.cert-card p {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* ============================================ */
/* MISSION VISION */
/* ============================================ */
.mission-vision {
  background: var(--bg-dark);
}

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

.mv-card {
  padding: 36px 28px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  text-align: center;
  transition: all var(--transition-normal);
}

.mv-card:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateY(-5px);
}

.mv-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 16px;
}

.mv-icon svg {
  width: 100%;
  height: 100%;
}

.mv-card h3 {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.mv-card p {
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.7;
}

/* ============================================ */
/* ABOUT OVERVIEW */
/* ============================================ */
.about-overview {
  background: var(--bg-section);
}

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

.about-image-section {
  position: relative;
}

.main-image-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
}

.about-main-img {
  min-height: 400px;
}

.experience-floating-badge {
  position: absolute;
  bottom: -25px;
  right: -25px;
  width: 110px;
  height: 110px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 40px rgba(168, 142, 14, 0.4);
}

.experience-floating-badge .big-number {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--bg-dark);
}

.experience-floating-badge .badge-label {
  font-size: 0.6rem;
  color: var(--bg-dark);
  text-align: center;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.about-content-section .section-tag {
  margin-bottom: 12px;
}
.about-content-section .section-title {
  text-align: left;
  margin-bottom: 20px;
}

.about-text-content p {
  margin-bottom: 16px;
  font-size: 0.95rem;
  line-height: 1.8;
}

.about-text-content strong {
  color: var(--primary);
}

.about-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}

.highlight-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
}

.highlight-item .highlight-icon {
  width: 36px;
  height: 36px;
}
.highlight-item .highlight-icon svg {
  width: 100%;
  height: 100%;
}

.highlight-text strong {
  display: block;
  color: var(--text-primary);
  font-size: 0.9rem;
}
.highlight-text span {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* ============================================ */
/* PRODUCTS PAGE */
/* ============================================ */
.categories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.category-card {
  padding: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  transition: all var(--transition-normal);
}

.category-card:hover {
  transform: translateY(-5px);
  border-color: rgba(206, 174, 44, 0.3);
}

.category-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.category-icon {
  width: 50px;
  height: 50px;
}
.category-icon svg {
  width: 100%;
  height: 100%;
}

.category-card h3 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--text-primary);
}

.category-card p {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 16px;
  line-height: 1.6;
}

.category-features {
  margin-bottom: 20px;
}

.category-features li {
  font-size: 0.8rem;
  color: var(--text-secondary);
  padding: 4px 0;
  padding-left: 16px;
  position: relative;
}

.category-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--primary);
  font-size: 0.7rem;
}

/* Color Range */
.color-range {
  background: var(--bg-dark);
}

.color-showcase {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 32px;
}

.color-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 12px;
  margin-bottom: 28px;
}

.color-swatch {
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 8px;
  transition: transform var(--transition-normal);
  cursor: pointer;
}

.color-swatch:hover {
  transform: scale(1.1);
}

.color-swatch span {
  font-size: 0.6rem;
  font-family: var(--font-display);
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  letter-spacing: 0.5px;
}

.color-info {
  text-align: center;
  padding-top: 20px;
  border-top: 1px solid var(--border-color);
}

.color-info h3 {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.color-info p {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-bottom: 16px;
}

/* Finish Types */
.finish-types {
  background: var(--bg-section);
}

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

.finish-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 20px;
  text-align: center;
  transition: all var(--transition-normal);
}

.finish-card:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateY(-3px);
}

.finish-preview {
  width: 100%;
  height: 100px;
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
}

.gloss-finish {
  background: linear-gradient(135deg, #555 0%, #888 50%, #555 100%);
}
.semi-gloss-finish {
  background: linear-gradient(135deg, #444 0%, #666 50%, #444 100%);
}
.satin-finish {
  background: linear-gradient(135deg, #333 0%, #555 100%);
}
.matte-finish {
  background: #333;
}
.textured-finish {
  background: repeating-linear-gradient(
    45deg,
    #333,
    #333 2px,
    #444 2px,
    #444 4px
  );
}
.wrinkle-finish {
  background: radial-gradient(circle at 30% 30%, #555 0%, #333 100%);
}
.hammer-finish {
  background:
    radial-gradient(circle at 20% 20%, #666 0%, #444 30%, #333 100%),
    radial-gradient(circle at 70% 60%, #555 0%, #333 20%);
}
.metallic-finish {
  background: linear-gradient(
    135deg,
    #444 0%,
    #777 25%,
    #444 50%,
    #777 75%,
    #444 100%
  );
}

.finish-card h4 {
  font-family: var(--font-heading);
  font-size: 1rem;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.finish-card p {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* Applications */
.applications {
  background: var(--bg-dark);
}

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

.application-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--transition-normal);
}

.application-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 107, 0, 0.3);
}

.app-image {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-section);
}

.app-image svg {
  width: 90%;
  height: 90%;
}

.app-content {
  padding: 20px;
}

.app-content h4 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.app-content p {
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* Specifications Table */
.specifications {
  background: var(--bg-section);
}

.specs-table-wrapper {
  overflow-x: auto;
}

.specs-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.specs-table th,
.specs-table td {
  padding: 16px 20px;
  text-align: left;
  border-bottom: 1px solid var(--border-color);
}

.specs-table th {
  background: var(--bg-section);
  font-family: var(--font-heading);
  font-size: 0.9rem;
  color: var(--primary);
  font-weight: 600;
}

.specs-table td {
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.specs-table td:first-child {
  font-weight: 500;
  color: var(--text-primary);
}

.specs-table tr:hover td {
  background: rgba(255, 107, 0, 0.02);
}

/* Industries */
.industries {
  background: var(--bg-section);
}

.industries-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.industry-card {
  text-align: center;
  padding: 24px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  transition: all var(--transition-normal);
}

.industry-card:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateY(-3px);
}

.industry-icon {
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
}

.industry-icon svg {
  width: 100%;
  height: 100%;
}

.industry-card h4 {
  font-family: var(--font-heading);
  font-size: 0.9rem;
  color: var(--text-primary);
}

/* ============================================ */
/* CONTACT PAGE */
/* ============================================ */
.contact-page {
  background: var(--bg-dark);
}

.contact-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 50px;
}

.contact-form-wrapper {
  position: relative;
}

.contact-form {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 36px;
}

.form-header {
  margin-bottom: 28px;
}

.form-header h3 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.form-header p {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.form-group {
  margin-bottom: 18px;
}

.form-group label {
  display: block;
  font-family: var(--font-heading);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 6px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.input-icon {
  position: absolute;
  left: 12px;
  width: 16px;
  height: 16px;
  color: var(--text-muted);
  pointer-events: none;
  z-index: 1;
}

.textarea-icon {
  top: 14px;
}

.input-wrapper input,
.input-wrapper textarea,
.input-wrapper select {
  width: 100%;
  padding: 12px 12px 12px 40px;
  background: var(--bg-input);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 0.9rem;
  transition: all var(--transition-normal);
}

.input-wrapper textarea {
  resize: vertical;
  min-height: 100px;
}

.input-wrapper select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.select-wrapper::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--text-muted);
  border-bottom: 2px solid var(--text-muted);
  transform: translateY(-60%) rotate(45deg);
  pointer-events: none;
}

.input-wrapper input:focus,
.input-wrapper textarea:focus,
.input-wrapper select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(255, 107, 0, 0.1);
}

.input-border {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--primary);
  transition: width 0.3s ease;
}

.input-wrapper input:focus ~ .input-border,
.input-wrapper textarea:focus ~ .input-border,
.input-wrapper select:focus ~ .input-border {
  width: 100%;
}

.input-wrapper input::placeholder,
.input-wrapper textarea::placeholder {
  color: var(--text-muted);
}

/* File Upload */
.file-upload-wrapper {
  position: relative;
}

.file-upload-wrapper input[type="file"] {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.file-upload-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border: 2px dashed var(--border-color);
  border-radius: var(--radius-md);
  text-align: center;
  cursor: pointer;
  transition: all var(--transition-normal);
}

.file-upload-label:hover {
  border-color: var(--primary);
  background: var(--primary-subtle);
}

.file-upload-label svg {
  width: 32px;
  height: 32px;
  color: var(--primary);
  margin-bottom: 8px;
}

.file-upload-label span {
  font-size: 0.9rem;
  color: var(--text-secondary);
}

.file-upload-label small {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 4px;
}

/* Form Submit Button */
.form-submit-btn {
  width: 100%;
  justify-content: center;
  padding: 14px 28px;
  font-size: 0.95rem;
  margin-top: 8px;
  position: relative;
}

.form-submit-btn .btn-loader {
  display: none;
}

.form-submit-btn.loading .btn-text,
.form-submit-btn.loading .btn-arrow {
  opacity: 0;
}

.form-submit-btn.loading .btn-loader {
  display: flex;
  position: absolute;
}

.spinner {
  width: 22px;
  height: 22px;
  animation: spinAnimation 1s linear infinite;
}

@keyframes spinAnimation {
  to {
    transform: rotate(360deg);
  }
}

/* Form Success Message */
.form-success {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px;
  z-index: 10;
}

.form-success.show {
  display: flex;
  animation: fadeInScale 0.5s ease;
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.success-icon {
  width: 70px;
  height: 70px;
  margin-bottom: 20px;
}

.form-success h3 {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  color: var(--primary);
  margin-bottom: 10px;
}

.form-success p {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-bottom: 20px;
}

/* Contact Info Wrapper */
.contact-info-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-info-header h3 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.contact-info-header p {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.contact-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.info-card {
  display: flex;
  gap: 14px;
  padding: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  transition: all var(--transition-normal);
}

.info-card:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateX(-5px);
}

.info-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--primary-subtle);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.info-icon svg {
  width: 20px;
  height: 20px;
}

.info-content h4 {
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.info-content p {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.5;
}

.info-content a {
  color: var(--text-secondary);
  transition: color var(--transition-normal);
}

.info-content a:hover {
  color: var(--primary);
}

.info-link {
  display: inline-block;
  font-size: 0.8rem;
  color: var(--primary) !important;
  margin-top: 6px;
}

.info-note {
  display: block;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 4px;
  font-style: italic;
}

/* Contact Social */
.contact-social {
  margin-top: 12px;
}

.contact-social h4 {
  font-family: var(--font-heading);
  font-size: 1rem;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.social-links-large {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.social-link-lg {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  transition: all var(--transition-normal);
  color: var(--text-secondary);
}

.social-link-lg:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.social-link-lg svg {
  width: 20px;
  height: 20px;
}
.social-link-lg span {
  font-size: 0.85rem;
}

/* Map Section */
.map-section {
  background: var(--bg-section);
}

.map-container {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
}

.map-placeholder-full {
  position: relative;
  height: 350px;
  background: var(--bg-card);
  display: flex;
  align-items: center;
  justify-content: center;
}

.map-overlay-content {
  text-align: center;
  position: relative;
  z-index: 2;
}

.map-pin-animated {
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
  animation: mapBounce 2s ease-in-out infinite;
}

.map-pin-animated svg {
  width: 100%;
  height: 100%;
}

@keyframes mapBounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.map-overlay-content h3 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.map-overlay-content p {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-bottom: 16px;
}

.map-grid-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:
    linear-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 107, 0, 0.03) 1px, transparent 1px);
  background-size: 30px 30px;
}

/* FAQ Section */
.faq-section {
  background: var(--bg-dark);
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color var(--transition-normal);
}

.faq-item.active {
  border-color: rgba(255, 107, 0, 0.3);
}

.faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
  background: transparent;
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  text-align: left;
  transition: color var(--transition-normal);
}

.faq-question:hover {
  color: var(--primary);
}

.faq-question svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform var(--transition-normal);
  color: var(--primary);
}

.faq-item.active .faq-question svg {
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-item.active .faq-answer {
  max-height: 300px;
}

.faq-answer p {
  padding: 0 20px 18px;
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.7;
}

/* ============================================ */
/* CTA SECTION */
/* ============================================ */
.cta-section {
  background: var(--bg-section);
}

.cta-box {
  background: linear-gradient(
    135deg,
    rgba(255, 107, 0, 0.1) 0%,
    rgba(255, 140, 0, 0.05) 100%
  );
  border: 1px solid rgba(184, 149, 36, 0.67);
  border-radius: var(--radius-lg);
  padding: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.cta-content h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--text-primary);
  margin-bottom: 8px;
}

.cta-content p {
  font-size: 0.95rem;
  color: var(--text-muted);
}

.cta-buttons {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

/* ============================================ */
/* FOOTER */
/* ============================================ */
.footer {
  background: #050505;
  position: relative;
  z-index: 1;
}

.footer-top {
  padding: 60px 0 40px;
  border-bottom: 1px solid var(--border-color);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: 30px;
}

.footer-brand {
  padding-right: 16px;
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.footer-desc {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 20px;
  line-height: 1.6;
}

.social-links {
  display: flex;
  gap: 10px;
}

.social-link {
  width: 38px;
  height: 38px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  transition: all var(--transition-normal);
}

.social-link:hover {
  border-color: var(--primary);
  color: var(--primary);
  background: var(--primary-subtle);
  transform: translateY(-3px);
}

.social-link svg {
  width: 16px;
  height: 16px;
}

.footer-links-col h4,
.footer-contact h4 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 18px;
  position: relative;
  padding-bottom: 10px;
}

.footer-links-col h4::after,
.footer-contact h4::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 25px;
  height: 2px;
  background: var(--primary);
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  font-size: 0.85rem;
  color: var(--text-muted);
  transition: all var(--transition-normal);
  position: relative;
  padding-left: 0;
}

.footer-links a::before {
  content: "→";
  position: absolute;
  left: -16px;
  opacity: 0;
  color: var(--primary);
  transition: all var(--transition-normal);
}

.footer-links a:hover {
  color: var(--primary);
  padding-left: 16px;
}

.footer-links a:hover::before {
  left: 0;
  opacity: 1;
}

.contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 0.85rem;
  color: var(--text-muted);
}

.contact-info-item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}

.footer-bottom {
  padding: 16px 0;
}

.footer-bottom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.copyright {
  font-size: 0.8rem;
  color: var(--text-muted);
}

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

.footer-bottom-links a {
  font-size: 0.8rem;
  color: var(--text-muted);
  transition: color var(--transition-normal);
}

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

/* ============================================ */
/* BACK TO TOP BUTTON */
/* ============================================ */
.back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 46px;
  height: 46px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all var(--transition-normal);
  cursor: pointer;
  color: var(--primary);
}

.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background: var(--primary);
  color: var(--bg-dark);
  border-color: var(--primary);
  transform: translateY(-3px);
}

.back-to-top svg:first-child {
  width: 18px;
  height: 18px;
  position: relative;
  z-index: 1;
}

.progress-ring {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.progress-ring circle {
  transition: stroke-dashoffset 0.3s ease;
}

/* ============================================ */
/* SCROLL REVEAL ANIMATIONS */
/* ============================================ */
.reveal-up,
.reveal-left,
.reveal-right {
  opacity: 0;
  transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.reveal-up {
  transform: translateY(35px);
}
.reveal-left {
  transform: translateX(-50px);
}
.reveal-right {
  transform: translateX(50px);
}

.reveal-up.revealed,
.reveal-left.revealed,
.reveal-right.revealed {
  opacity: 1;
  transform: translate(0, 0);
}

/* ============================================ */
/* RESPONSIVE DESIGN */
/* ============================================ */
@media (max-width: 1024px) {
  :root {
    --section-padding: 70px;
  }

  .hero-container {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 30px;
  }
  .hero-content {
    order: 1;
  }
  .hero-visual {
    order: 0;
  }
  .hero-subtitle {
    margin: 0 auto 32px;
  }
  .hero-buttons {
    justify-content: center;
  }
  .hero-stats {
    justify-content: center;
  }
  .hero-image-wrapper {
    max-width: 350px;
  }

  .about-preview-grid,
  .about-overview-grid,
  .service-detail-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .about-preview-content .section-title,
  .about-content-section .section-title {
    text-align: center;
  }
  .service-detail-grid.reverse {
    direction: ltr;
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .advantages-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .mv-grid {
    grid-template-columns: 1fr;
  }
  .categories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .team-grid,
  .cert-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .industries-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .applications-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .finishes-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .color-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .gallery-preview-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .gallery-masonry {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }
  .cta-box {
    flex-direction: column;
    text-align: center;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}

@media (max-width: 768px) {
  :root {
    --section-padding: 50px;
    --container-padding: 16px;
  }

  /* Mobile Nav */
  .nav-toggle {
    display: flex;
  }

  .nav-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 260px;
    height: 100vh;
    background: rgba(10, 10, 10, 0.98);
    backdrop-filter: blur(20px);
    flex-direction: column;
    align-items: flex-start;
    padding: 80px 24px 24px;
    gap: 0;
    transition: right 0.4s ease;
    border-left: 1px solid var(--border-color);
  }

  .nav-menu.active {
    right: 0;
  }

  .nav-item {
    width: 100%;
  }

  .nav-link {
    display: block;
    padding: 12px 0;
    font-size: 1rem;
    border-bottom: 1px solid var(--border-color);
  }

  .nav-link::after {
    display: none;
  }
  .nav-cta-item {
    margin-top: 16px;
  }
  .nav-cta-btn {
    display: block;
    text-align: center;
    margin-left: 0;
  }

  /* Page Header */
  .page-header {
    padding: 130px 0 60px;
  }
  .page-title {
    font-size: clamp(2rem, 7vw, 3rem);
  }

  /* Hero */
  .hero-visual {
    display: none;
  }
  .hero-container {
    grid-template-columns: 1fr;
    padding-top: 100px;
  }
  .floating-badge {
    display: none;
  }
  .hero-stats {
    flex-direction: column;
    gap: 16px;
  }
  .stat-divider {
    width: 50px;
    height: 1px;
  }

  /* Grids */
  .services-grid,
  .advantages-grid,
  .categories-grid,
  .team-grid,
  .cert-grid,
  .stats-grid,
  .applications-grid {
    grid-template-columns: 1fr;
  }
  .about-features-grid {
    grid-template-columns: 1fr;
  }
  .service-features {
    grid-template-columns: 1fr;
  }
  .finishes-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .industries-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .color-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  /* Gallery */
  .gallery-masonry {
    grid-template-columns: 1fr;
    grid-auto-rows: 250px;
  }
  .gallery-item-wide,
  .gallery-item-tall {
    grid-column: span 1;
    grid-row: span 1;
  }
  .gallery-preview-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Process */
  .timeline-track {
    left: 20px;
  }
  .step-marker {
    width: 50px;
    height: 50px;
  }
  .process-step {
    gap: 20px;
  }

  /* Contact */
  .form-row {
    grid-template-columns: 1fr;
  }
  .social-links-large {
    grid-template-columns: 1fr;
  }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-bottom-content {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

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

@media (max-width: 480px) {
  .title-line {
    font-size: clamp(1.8rem, 8vw, 2.5rem);
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
  }
  .hero-buttons .btn {
    width: 100%;
    justify-content: center;
  }

  .finishes-grid {
    grid-template-columns: 1fr;
  }
  .color-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .color-swatch span {
    font-size: 0.5rem;
  }

  .gallery-filter {
    gap: 6px;
  }
  .filter-btn {
    padding: 8px 14px;
    font-size: 0.7rem;
  }

  .service-card {
    padding: 24px 20px;
  }
  .contact-form {
    padding: 24px;
  }
  .testimonial-card {
    padding: 24px;
  }
  .cta-box {
    padding: 30px 20px;
  }

  .experience-badge,
  .experience-floating-badge {
    width: 80px;
    height: 80px;
    bottom: -15px;
    right: -10px;
  }

  .experience-badge .exp-num,
  .experience-floating-badge .big-number {
    font-size: 1.4rem;
  }
  .experience-badge .exp-text,
  .experience-floating-badge .badge-label {
    font-size: 0.5rem;
  }
}

/* ============================================ */
/* PRINT STYLES */
/* ============================================ */
@media print {
  .navbar,
  .cursor-dot,
  .cursor-outline,
  .back-to-top,
  #particleCanvas,
  #preloader,
  .hero-shapes,
  .header-shapes {
    display: none !important;
  }
  body {
    background: white;
    color: black;
  }
  .section {
    padding: 30px 0;
  }
}

/* ===== LOGO FIX (Header + Footer) ===== */
.logo-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  padding: 8px;

  /* makes logo visible on dark background */
  background: rgba(255, 255, 255, 0.04);
  border-radius: 14px;

  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.logo-icon .logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;

  /* IMPORTANT: makes padded logo appear larger */
  transform: scale(1.25);
  transform-origin: center;
}

/* Footer a bit bigger */
.footer .logo-icon {
  width: 68px;
  height: 68px;
  padding: 10px;
}

/* Mobile tuning */
@media (max-width: 768px) {
  .logo-icon {
    width: 52px;
    height: 52px;
    padding: 8px;
  }
}

/* ===== THEME CONTRAST FIX ===== */
:root {
  /* slightly lifted darks (still industrial, but readable) */
  --bg-dark: #444e5a;
  --bg-section: #0f1722;
  --bg-card: #121c28;
  --bg-input: #0e1620;

  /* clearer text */
  --text-secondary: #d3d8df;
  --text-muted: #9aa3af;

  /* borders that actually show */
  --border-color: rgba(255, 255, 255, 0.08);
  --border-light: rgba(255, 255, 255, 0.14);
}

/* Improve overall readability */
body {
  background:
    radial-gradient(
      800px 400px at 20% 20%,
      rgba(255, 107, 0, 0.08),
      transparent 60%
    ),
    radial-gradient(
      700px 350px at 80% 30%,
      rgba(255, 140, 0, 0.06),
      transparent 60%
    ),
    var(--bg-dark);
}

/* Make paragraph text clearer everywhere */
p,
.card-description,
.section-subtitle,
.hero-subtitle {
  color: var(--text-secondary);
}

/* Give sections separation so you can "see" them */
.section {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* Reduce the hero overlay darkness so content pops */
.hero-bg-overlay {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.15) 0%,
    var(--bg-dark) 85%
  );
}

/* Slightly reduce grid pattern intensity (optional) */
.hero-bg-pattern,
.header-pattern,
.map-grid-bg {
  opacity: 0.45;
}

/* Cards: more contrast */
.service-card,
.advantage-card,
.team-card,
.category-card,
.stat-card,
.cert-card,
.mv-card,
.info-card,
.contact-form,
.testimonial-card {
  background: var(--bg-card);
  border-color: var(--border-color);
}

/* Bigger preloader logo */
.loader-container {
  width: 160px;
  height: 160px;
}

.loader-logo {
  width: 88px;
  height: 88px;
  transform: scale(1.15);
  filter: drop-shadow(0 0 22px rgba(255, 107, 0, 0.28));
}

/* ===== MAKE LOGO BIGGER (Header + Footer) ===== */
.nav-logo .logo-icon {
  width: 78px; /* was ~56 */
  height: 78px;
  padding: 10px;
  border-radius: 16px;
}

.nav-logo .logo-icon .logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;

  /* Your PNG likely has empty space inside, so boost it more */
  transform: scale(1.75); /* increase this if still small: 1.9 / 2.1 */
  transform-origin: center;
}

/* Footer bigger */
.footer .footer-logo .logo-icon {
  width: 96px;
  height: 96px;
  padding: 12px;
  border-radius: 18px;
}

.footer .footer-logo .logo-icon .logo-img {
  transform: scale(1.8);
}
/* ===== BIGGER NAV LINKS ===== */
.nav-menu {
  gap: 14px; /* more spacing between links */
}

.nav-link {
  font-size: 1.05rem; /* bigger text */
  padding: 10px 18px; /* bigger clickable area */
  letter-spacing: 1px;
}

.nav-cta-btn {
  font-size: 0.95rem;
  padding: 12px 26px;
}

/* =========================================================
   LOGO-BASED THEME (Gold + Deep Navy)
   Paste at the END of style.css so it overrides everything
========================================================= */

/* GOLD (from logo) + NAVY (background) */
:root {
  --primary: #d4af37; /* Gold */
  --primary-light: #f1d27a; /* Light gold */
  --primary-dark: #b88a1e; /* Deep gold */
  --primary-glow: rgba(212, 175, 55, 0.28);
  --primary-subtle: rgba(212, 175, 55, 0.1);

  /* Deep navy industrial background (not pure black) */
  --bg-dark: #07131f;
  --bg-section: #0a1b2a;
  --bg-card: #0c2235;
  --bg-card-hover: #0f2a41;
  --bg-input: #081a29;

  /* Text contrast */
  --text-primary: #ffffff;
  --text-secondary: #d6dde7;
  --text-muted: #a0adbf;

  --border-color: rgba(255, 255, 255, 0.1);
  --border-light: rgba(255, 255, 255, 0.16);
}

/* Premium background (helps logo & text pop) */
body {
  background:
    radial-gradient(
      900px 520px at 18% 18%,
      rgba(212, 175, 55, 0.12),
      transparent 62%
    ),
    radial-gradient(
      700px 420px at 82% 25%,
      rgba(212, 175, 55, 0.08),
      transparent 60%
    ),
    linear-gradient(180deg, #07131f 0%, #050d16 100%);
}

/* Improve readability across site */
p,
.section-subtitle,
.hero-subtitle,
.card-description {
  color: var(--text-secondary);
}

/* Section separation so it doesn't look "all one black" */
.section {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* Navbar readability */
.navbar.scrolled {
  background: rgba(7, 19, 31, 0.92);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Buttons: gold theme */
.btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: #07131f;
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.22);
}
.btn-primary:hover {
  box-shadow: 0 16px 40px rgba(212, 175, 55, 0.35);
}
.btn-secondary {
  border-color: rgba(255, 255, 255, 0.22);
}
.btn-secondary:hover {
  border-color: var(--primary);
  color: var(--primary);
}

/* Link highlights */
.highlight {
  color: var(--primary);
}
.nav-link:hover,
.nav-link.active {
  color: var(--primary);
}
.nav-link::after {
  background: var(--primary);
}

/* Cards */
.service-card:hover,
.advantage-card:hover,
.team-card:hover,
.category-card:hover,
.stat-card:hover,
.cert-card:hover,
.mv-card:hover,
.info-card:hover {
  border-color: rgba(212, 175, 55, 0.35);
  box-shadow:
    0 0 0 1px rgba(212, 175, 55, 0.12),
    0 18px 55px rgba(0, 0, 0, 0.35);
}

/* Hero overlay less dark */
.hero-bg-overlay {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.05) 0%,
    var(--bg-dark) 85%
  );
}

/* Patterns slightly softer */
.hero-bg-pattern,
.header-pattern {
  opacity: 0.35;
}

/* =========================================================
   IMPORTANT: Recolor old ORANGE SVG parts to GOLD
   (Your SVGs contain hard-coded #FF6B00 / #FF8C00 etc.)
   This avoids editing all SVG HTML.
========================================================= */
svg [stroke="#FF6B00"],
svg [stroke="#FF8C00"],
svg [stroke="#FFA500"] {
  stroke: var(--primary) !important;
}

svg [fill="#FF6B00"],
svg [fill="#FF8C00"],
svg [fill="#FFA500"] {
  fill: var(--primary) !important;
}

/* If some SVG elements use opacity with fill */
svg [fill="#FF6B00"][opacity],
svg [fill="#FF8C00"][opacity],
svg [fill="#FFA500"][opacity] {
  fill: var(--primary) !important;
}

/* Extra: soft glow accents */
.section-tag,
.hero-badge {
  border-color: rgba(212, 175, 55, 0.3);
}
.badge-dot {
  background: var(--primary);
}

/* Company profile (About page content from client) */
.profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.profile-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 28px;
}
.profile-card h3 {
  font-family: var(--font-heading);
  color: var(--text-primary);
  margin-bottom: 10px;
}
.bullet-list {
  margin-top: 10px;
  padding-left: 18px;
  color: var(--text-secondary);
}
.bullet-list li {
  margin-bottom: 10px;
  line-height: 1.7;
}
.bullet-list li::marker {
  color: var(--primary);
}
.mt-18 {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .profile-grid {
    grid-template-columns: 1fr;
  }
}
/* ==============================
   CRISP GOLD TEXT (Visibility)
============================== */

/* Use a slightly brighter gold for better readability */
:root {
  --primary: #f2c767; /* brighter gold */
  --primary-light: #ffe1a3;
  --primary-dark: #c9992c;
}

/* Remove any blur/glow-like effects & force full opacity */
.highlight,
.nav-link.active,
.nav-link:hover,
.section-tag,
.logo-sub {
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none;
}

/* Add a very subtle dark edge shadow so gold looks sharp on dark bg */
.highlight,
.section-tag,
.logo-sub,
.nav-link.active {
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.55);
}

/* Make small gold text thicker so it doesn't look weak */
.logo-sub {
  font-weight: 700;
  font-size: 0.75rem; /* increase clarity */
  letter-spacing: 3px; /* reduce if too spaced */
}
/* Real photo gallery support */
.gallery-image {
  width: 100%;
  height: 100%;
  background: #0b0f14; /* fallback */
  overflow: hidden;
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  /* Premium look */
  filter: saturate(1.05) contrast(1.05);
  transform: scale(1);
  transition: transform 0.6s ease;
}

.gallery-item:hover .gallery-img {
  transform: scale(1.08);
}

/* ============================================ */
/* ENHANCED MOBILE RESPONSIVENESS FIX */
/* ============================================ */

/* Tablet (1024px and below) */
@media (max-width: 1024px) {
  :root {
    --section-padding: 60px;
  }

  /* Hero adjustments */
  .hero-container {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 80px;
  }

  .hero-content {
    text-align: center;
  }

  .hero-subtitle {
    max-width: 100%;
  }

  .hero-buttons {
    justify-content: center;
  }

  .hero-stats {
    justify-content: center;
  }

  /* Reduce grid gaps */
  .services-grid,
  .advantages-grid,
  .categories-grid {
    gap: 20px;
  }
}

/* Mobile (768px and below) */
@media (max-width: 768px) {
  :root {
    --section-padding: 40px;
    --container-padding: 16px;
  }

  /* Typography scaling */
  html {
    font-size: 15px;
  }

  .section-title {
    font-size: clamp(1.6rem, 6vw, 2.2rem) !important;
  }

  .page-title {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
  }

  /* Hero fixes */
  .hero {
    min-height: auto;
    padding: 120px 0 50px;
  }

  .hero-container {
    padding-top: 0;
  }

  .title-line {
    font-size: clamp(1.8rem, 7vw, 2.5rem) !important;
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
    gap: 12px;
  }

  .hero-buttons .btn {
    width: 100%;
    justify-content: center;
  }

  .hero-stats {
    flex-wrap: wrap;
    gap: 20px;
  }

  .stat-item {
    flex: 1 1 120px;
  }

  .stat-divider {
    display: none;
  }

  /* Navigation mobile menu */
  .nav-toggle {
    display: flex;
  }

  .nav-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100vh;
    background: rgba(7, 19, 31, 0.98);
    backdrop-filter: blur(20px);
    flex-direction: column;
    align-items: flex-start;
    padding: 90px 24px 30px;
    gap: 0;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-left: 1px solid var(--border-color);
    overflow-y: auto;
    z-index: 999;
  }

  .nav-menu.active {
    right: 0;
  }

  .nav-item {
    width: 100%;
  }

  .nav-link {
    display: block;
    width: 100%;
    padding: 14px 0;
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .nav-link::after {
    display: none;
  }

  .nav-cta-item {
    margin-top: 20px;
    width: 100%;
  }

  .nav-cta-btn {
    display: block;
    width: 100%;
    text-align: center;
    margin-left: 0;
    padding: 14px 20px;
  }

  /* Logo sizing */
  .nav-logo .logo-icon {
    width: 64px;
    height: 64px;
  }

  /* All grid layouts → single column */
  .services-grid,
  .advantages-grid,
  .categories-grid,
  .team-grid,
  .cert-grid,
  .stats-grid,
  .applications-grid,
  .mv-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .about-preview-grid,
  .about-overview-grid,
  .service-detail-grid,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .about-features-grid,
  .service-features {
    grid-template-columns: 1fr;
  }

  /* Gallery responsive */
  .gallery-preview-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .gallery-masonry {
    grid-template-columns: 1fr;
    grid-auto-rows: 220px;
    gap: 12px;
  }

  .gallery-item-wide,
  .gallery-item-tall {
    grid-column: span 1;
    grid-row: span 1;
  }

  /* Process timeline */
  .timeline-track {
    left: 18px;
  }

  .step-marker {
    width: 48px;
    height: 48px;
  }

  .step-marker span {
    font-size: 0.9rem;
  }

  .process-step {
    gap: 16px;
  }

  /* Testimonials */
  .testimonial-card {
    padding: 28px 20px;
  }

  /* Forms */
  .contact-form {
    padding: 24px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  /* CTA section */
  .cta-box {
    padding: 32px 20px;
    flex-direction: column;
    text-align: center;
  }

  .cta-buttons {
    width: 100%;
    flex-direction: column;
  }

  .cta-buttons .btn {
    width: 100%;
    justify-content: center;
  }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-brand {
    text-align: center;
  }

  .social-links {
    justify-content: center;
  }

  .footer-links-col h4,
  .footer-contact h4 {
    text-align: center;
  }

  .footer-links-col h4::after,
  .footer-contact h4::after {
    left: 50%;
    transform: translateX(-50%);
  }

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

  /* Reduce padding on cards */
  .service-card,
  .advantage-card,
  .category-card,
  .mv-card {
    padding: 24px 18px;
  }

  /* Page header */
  .page-header {
    padding: 140px 0 60px;
  }

  /* Industries/finishes grid */
  .industries-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  .finishes-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .color-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Small Mobile (480px and below) */
@media (max-width: 480px) {
  :root {
    --section-padding: 35px;
  }

  html {
    font-size: 14px;
  }

  /* Smaller titles */
  .title-line {
    font-size: clamp(1.5rem, 8vw, 2rem) !important;
  }

  .section-title {
    font-size: clamp(1.4rem, 7vw, 1.8rem) !important;
  }

  /* Navigation */
  .nav-menu {
    width: 100%;
    padding: 80px 20px 24px;
  }

  .nav-logo .logo-icon {
    width: 56px;
    height: 56px;
  }

  /* Hero stats stacked */
  .hero-stats {
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }

  .stat-item {
    width: 100%;
  }

  /* Badges smaller */
  .experience-badge,
  .experience-floating-badge {
    width: 70px;
    height: 70px;
    bottom: -10px;
    right: -10px;
  }

  .experience-badge .exp-num,
  .experience-floating-badge .big-number {
    font-size: 1.2rem;
  }

  .experience-badge .exp-text,
  .experience-floating-badge .badge-label {
    font-size: 0.45rem;
  }

  /* Gallery */
  .gallery-preview-grid {
    grid-template-columns: 1fr;
  }

  .gallery-filter {
    gap: 6px;
  }

  .filter-btn {
    padding: 8px 12px;
    font-size: 0.7rem;
  }

  /* Colors/Finishes */
  .finishes-grid {
    grid-template-columns: 1fr;
  }

  .color-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .color-swatch span {
    font-size: 0.5rem;
  }

  /* Industries */
  .industries-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Smaller card padding */
  .service-card,
  .advantage-card,
  .testimonial-card,
  .cta-box {
    padding: 20px 16px;
  }

  .contact-form {
    padding: 20px;
  }

  /* Back to top button */
  .back-to-top {
    width: 42px;
    height: 42px;
    bottom: 16px;
    right: 16px;
  }

  .back-to-top svg:first-child {
    width: 16px;
    height: 16px;
  }
}

/* Extra Small (380px and below) */
@media (max-width: 380px) {
  .hero-badge {
    font-size: 0.65rem;
    padding: 6px 12px;
  }

  .btn {
    padding: 12px 20px;
    font-size: 0.8rem;
  }

  .section-tag {
    font-size: 0.6rem;
    padding: 5px 14px;
  }

  .stat-number {
    font-size: 1.6rem;
  }

  .stat-label {
    font-size: 0.7rem;
  }
}

/* Prevent horizontal scroll on all devices */
body,
html {
  overflow-x: hidden;
  max-width: 100vw;
}

* {
  max-width: 100%;
}

/* Ensure images don't overflow */
img,
svg {
  max-width: 100%;
  height: auto;
}
/* ============================================ */
/* ENHANCED MAP SECTION STYLES */
/* ============================================ */

.map-section {
  background: var(--bg-section);
}

.map-container {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  position: relative;
}

.map-container iframe {
  display: block;
  width: 100%;
  height: 450px;
  border: none;
  filter: grayscale(20%) contrast(1.05);
  transition: filter 0.4s ease;
}

.map-container:hover iframe {
  filter: grayscale(0%) contrast(1);
}

/* Address Card Below Map */
.map-address-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-top: 30px;
  padding: 28px 32px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  transition: all var(--transition-normal);
}

.map-address-card:hover {
  border-color: rgba(212, 175, 55, 0.3);
  transform: translateY(-4px);
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.25);
}

.address-icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  background: var(--primary-subtle);
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
}

.address-icon svg {
  width: 28px;
  height: 28px;
  stroke: var(--primary);
}

.address-content h4 {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 10px;
}

.address-content p {
  font-size: 0.95rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 18px;
}

.address-content .btn {
  display: inline-flex;
}

/* Multiple Locations Grid (if needed) */
.locations-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.location-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--transition-normal);
}

.location-card:hover {
  border-color: rgba(212, 175, 55, 0.3);
  transform: translateY(-5px);
}

.location-card iframe {
  width: 100%;
  height: 200px;
  border: none;
  filter: grayscale(30%);
  transition: filter 0.3s ease;
}

.location-card:hover iframe {
  filter: grayscale(0%);
}

.location-info {
  padding: 20px;
}

.location-info h4 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.location-info p {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.6;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .map-container iframe {
    height: 300px;
  }

  .map-address-card {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
  }

  .address-icon {
    margin: 0 auto;
  }

  .address-content .btn {
    width: 100%;
    justify-content: center;
  }

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

@media (max-width: 480px) {
  .map-container iframe {
    height: 250px;
  }

  .map-address-card {
    padding: 20px 16px;
  }

  .address-content h4 {
    font-size: 1.1rem;
  }
}

/* ============================================ */
/* ENHANCED MAP SECTION */
/* ============================================ */

.map-section {
  background: var(--bg-section);
  position: relative;
}

.map-container {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  position: relative;
}

.map-container iframe {
  display: block;
  width: 100%;
  height: 450px;
  border: none;
  filter: grayscale(15%) contrast(1.05) brightness(0.95);
  transition: filter 0.4s ease;
}

.map-container:hover iframe {
  filter: grayscale(0%) contrast(1) brightness(1);
}

/* Address Card Below Map */
.map-address-card {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-top: 32px;
  padding: 32px 36px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  transition: all var(--transition-normal);
}

.map-address-card:hover {
  border-color: rgba(212, 175, 55, 0.35);
  transform: translateY(-5px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.address-icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  background: linear-gradient(
    135deg,
    var(--primary-subtle),
    rgba(212, 175, 55, 0.15)
  );
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
}

.address-icon svg {
  width: 32px;
  height: 32px;
  stroke: var(--primary);
}

.address-content {
  flex: 1;
}

.address-content h4 {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 10px;
}

.address-content p {
  font-size: 0.95rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 20px;
}

.address-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.address-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Landmark Hints Section */
.landmark-hints {
  margin-top: 40px;
  padding: 32px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
}

.landmark-hints h3 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 24px;
  text-align: center;
}

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

.landmark-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  background: var(--bg-section);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  transition: all var(--transition-normal);
}

.landmark-item:hover {
  border-color: rgba(212, 175, 55, 0.3);
  transform: translateY(-3px);
}

.landmark-icon {
  font-size: 2rem;
  flex-shrink: 0;
}

.landmark-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.landmark-text strong {
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-primary);
}

.landmark-text span {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* Mobile Responsive */
@media (max-width: 1024px) {
  .landmark-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .map-container iframe {
    height: 350px;
  }

  .map-address-card {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .address-icon {
    margin: 0 auto;
  }

  .address-actions {
    justify-content: center;
    width: 100%;
  }

  .address-actions .btn {
    flex: 1 1 auto;
    min-width: 140px;
  }

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

  .landmark-hints {
    padding: 24px 20px;
  }
}

@media (max-width: 480px) {
  .map-container iframe {
    height: 280px;
  }

  .map-address-card {
    padding: 24px 18px;
  }

  .address-content h4 {
    font-size: 1.2rem;
  }

  .address-actions {
    flex-direction: column;
  }

  .address-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================ */
/* GALLERY PREVIEW - LARGER IMAGES */
/* ============================================ */

.gallery-preview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gallery-item {
  position: relative;
  height: 320px; /* 🎯 MAIN SIZE - Change this value */
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: pointer;
}

.gallery-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg-card);
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.05);
  transition:
    transform 0.6s ease,
    filter 0.3s ease;
}

.gallery-item:hover .gallery-img {
  transform: scale(1.08);
  filter: saturate(1.15) contrast(1.08);
}

.gallery-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 24px;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.85) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.gallery-item:hover .gallery-overlay {
  opacity: 1;
}

.gallery-overlay h4 {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.gallery-overlay span {
  font-size: 0.9rem;
  color: var(--text-secondary);
}

/* ========== RESPONSIVE ========== */

/* Large Tablet (1024px) - 2 columns */
@media (max-width: 1024px) {
  .gallery-preview-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .gallery-item {
    height: 300px;
  }
}

/* Tablet (768px) - 2 columns, slightly smaller */
@media (max-width: 768px) {
  .gallery-item {
    height: 260px;
  }

  .gallery-overlay h4 {
    font-size: 1.1rem;
  }
}

/* Mobile (480px) - 1 column */
@media (max-width: 480px) {
  .gallery-preview-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .gallery-item {
    height: 240px;
  }

  .gallery-overlay {
    padding: 18px;
  }
}

/* ============================================ */
/* FORCE GOLD COLOR ON ALL SVG ELEMENTS */
/* (Overrides hardcoded #FF6B00 orange) */
/* ============================================ */

/* Override all orange strokes to gold */
svg [stroke="#FF6B00"],
svg [stroke="#ff6b00"],
svg [stroke="#FF8C00"],
svg [stroke="#ff8c00"],
svg [stroke="#FFA500"],
svg [stroke="#ffa500"] {
  stroke: #f2c767 !important;
}

/* Override all orange fills to gold */
svg [fill="#FF6B00"],
svg [fill="#ff6b00"],
svg [fill="#FF8C00"],
svg [fill="#ff8c00"],
svg [fill="#FFA500"],
svg [fill="#ffa500"] {
  fill: #f2c767 !important;
}

/* Text in SVGs */
svg text[fill="#FF6B00"],
svg text[fill="#ff6b00"] {
  fill: #f2c767 !important;
}

/* Specific element overrides */
.feature-icon svg,
.card-icon svg,
.advantage-icon svg,
.info-icon svg,
.highlight-icon svg,
.mv-icon svg,
.cert-icon svg,
.industry-icon svg,
.category-icon svg,
.stat-card .stat-icon svg {
  stroke: var(--primary) !important;
}

/* Contact info icons */
.contact-info-item svg,
.info-card .info-icon svg {
  stroke: var(--primary) !important;
}

/* Gallery zoom button */
.gallery-zoom-btn {
  background: rgba(242, 199, 103, 0.9) !important;
}

/* Testimonial stars */
.testimonial-stars {
  color: var(--primary) !important;
}

/* Progress ring */
.progress-ring circle {
  stroke: var(--primary) !important;
}

/* Loader rings */
.loader-ring:nth-child(1) {
  border-top-color: var(--primary) !important;
}

.loader-ring:nth-child(2) {
  border-right-color: var(--primary-light) !important;
}

.loader-ring:nth-child(3) {
  border-bottom-color: var(--primary-dark) !important;
}

/* Section tag shimmer */
.section-tag::before {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(242, 199, 103, 0.15),
    transparent
  ) !important;
}

/* Hero badge dot */
.badge-dot {
  background: var(--primary) !important;
}

/* Card border animation */
.card-border {
  background: linear-gradient(
    90deg,
    var(--primary),
    var(--primary-light)
  ) !important;
}

/* Scroll indicator */
.scroll-dot {
  background: var(--primary) !important;
}

/* Timeline progress */
.timeline-progress {
  background: var(--primary) !important;
}

/* Step marker */
.step-marker {
  border-color: var(--primary) !important;
}

.step-marker span {
  color: var(--primary) !important;
}

/* Filter buttons */
.filter-btn.active {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* Experience badge */
.experience-badge,
.experience-floating-badge {
  background: linear-gradient(
    135deg,
    var(--primary),
    var(--primary-light)
  ) !important;
}

/* Floating badges */
.floating-badge .badge-icon {
  color: var(--primary);
}

/* Author avatar */
.author-avatar {
  background: linear-gradient(
    135deg,
    var(--primary),
    var(--primary-light)
  ) !important;
}

/* Social links hover */
.social-link:hover {
  border-color: var(--primary) !important;
  color: var(--primary) !important;
  background: rgba(242, 199, 103, 0.1) !important;
}

/* Team social links */
.team-social a {
  background: var(--primary) !important;
}

/* Nav CTA button */
.nav-cta-btn {
  background: linear-gradient(
    135deg,
    var(--primary),
    var(--primary-light)
  ) !important;
}

/* Primary buttons */
.btn-primary {
  background: linear-gradient(
    135deg,
    var(--primary),
    var(--primary-light)
  ) !important;
  box-shadow: 0 4px 20px rgba(242, 199, 103, 0.3) !important;
}

.btn-primary:hover {
  box-shadow: 0 8px 30px rgba(242, 199, 103, 0.5) !important;
}

/* Back to top button hover */
.back-to-top:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* Lightbox nav hover */
.lightbox-nav:hover,
.lightbox-close:hover {
  background: var(--primary) !important;
}

/* Form focus states */
.input-wrapper input:focus,
.input-wrapper textarea:focus,
.input-wrapper select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(242, 199, 103, 0.15) !important;
}

.input-border {
  background: var(--primary) !important;
}

/* File upload hover */
.file-upload-label:hover {
  border-color: var(--primary) !important;
  background: rgba(242, 199, 103, 0.08) !important;
}

.file-upload-label svg {
  color: var(--primary) !important;
}

/* FAQ active state */
.faq-item.active {
  border-color: rgba(242, 199, 103, 0.35) !important;
}

.faq-question svg {
  color: var(--primary) !important;
}

/* Card hover states */
.service-card:hover,
.advantage-card:hover,
.team-card:hover,
.category-card:hover,
.stat-card:hover,
.cert-card:hover,
.mv-card:hover,
.info-card:hover,
.application-card:hover,
.finish-card:hover,
.industry-card:hover {
  border-color: rgba(242, 199, 103, 0.35) !important;
}

/* Map address card hover */
.map-address-card:hover {
  border-color: rgba(242, 199, 103, 0.35) !important;
}

/* Landmark item hover */
.landmark-item:hover {
  border-color: rgba(242, 199, 103, 0.3) !important;
}

/* Address icon */
.address-icon {
  background: linear-gradient(
    135deg,
    rgba(242, 199, 103, 0.1),
    rgba(242, 199, 103, 0.15)
  ) !important;
  border-color: rgba(242, 199, 103, 0.25) !important;
}

.address-icon svg {
  stroke: var(--primary) !important;
}

/* ============================================ */
/* GALLERY PREVIEW - 8 IMAGES (2 ROWS) */
/* ============================================ */

.gallery-preview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gallery-item {
  position: relative;
  height: 280px;
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: pointer;
}

.gallery-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg-card);
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.05);
  transition:
    transform 0.6s ease,
    filter 0.3s ease;
}

.gallery-item:hover .gallery-img {
  transform: scale(1.1);
  filter: saturate(1.2) contrast(1.1);
}

.gallery-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
  transform: translateY(20px);
  opacity: 0;
  transition: all 0.4s ease;
}

.gallery-item:hover .gallery-overlay {
  transform: translateY(0);
  opacity: 1;
}

.gallery-category {
  display: inline-block;
  font-size: 0.65rem;
  font-family: var(--font-display);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(242, 199, 103, 0.15);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  margin-bottom: 8px;
}

.gallery-overlay h4 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.gallery-overlay span:last-child {
  font-size: 0.85rem;
  color: var(--text-secondary);
}

/* ========== RESPONSIVE ========== */

/* Tablet - 2 columns */
@media (max-width: 1024px) {
  .gallery-preview-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .gallery-item {
    height: 260px;
  }
}

/* Mobile - 2 columns smaller */
@media (max-width: 768px) {
  .gallery-preview-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .gallery-item {
    height: 200px;
  }

  .gallery-overlay {
    padding: 14px;
  }

  .gallery-overlay h4 {
    font-size: 1rem;
  }

  .gallery-category {
    font-size: 0.55rem;
    padding: 3px 8px;
  }
}

/* Small Mobile - 1 column */
@media (max-width: 480px) {
  .gallery-preview-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .gallery-item {
    height: 220px;
  }
}
/* ============================================ */
/* GALLERY - 16 IMAGES - FIXED SIZE & SPACING */
/* ============================================ */

/* Gallery Grid */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1100px; /* Limit width - won't touch edges */
  margin: 0 auto; /* Center the grid */
  padding: 0 30px; /* Side padding */
}

/* Gallery Item */
.gallery-item {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  background: var(--bg-card);
  height: 260px; /* Smaller height */
  border: 1px solid var(--border-color);
  transition: all 0.4s ease;
}

.gallery-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35);
  border-color: rgba(242, 199, 103, 0.3);
}

/* Gallery Image Container */
.gallery-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Gallery Image */
.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.02);
  transition:
    transform 0.5s ease,
    filter 0.3s ease;
}

.gallery-item:hover .gallery-img {
  transform: scale(1.08);
  filter: saturate(1.1) contrast(1.05) brightness(0.8);
}

/* Gallery Overlay */
.gallery-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.gallery-item:hover .gallery-overlay {
  opacity: 1;
}

/* Category Tag */
.gallery-category {
  display: inline-block;
  width: fit-content;
  font-size: 0.65rem;
  font-family: var(--font-display);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(242, 199, 103, 0.2);
  padding: 5px 12px;
  border-radius: 5px;
  margin-bottom: 10px;
  border: 1px solid rgba(242, 199, 103, 0.25);
}

.gallery-overlay h4 {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 5px;
}

.gallery-overlay p {
  font-size: 0.85rem;
  color: #bbb;
}

/* ============================================ */
/* RESPONSIVE */
/* ============================================ */

/* Large Desktop */
@media (min-width: 1400px) {
  .gallery-grid {
    max-width: 1200px;
    gap: 24px;
  }

  .gallery-item {
    height: 280px;
  }
}

/* Desktop */
@media (max-width: 1200px) {
  .gallery-grid {
    max-width: 1000px;
    gap: 18px;
    padding: 0 24px;
  }

  .gallery-item {
    height: 240px;
  }
}

/* Tablet - 3 columns */
@media (max-width: 1024px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    max-width: 800px;
    gap: 16px;
    padding: 0 20px;
  }

  .gallery-item {
    height: 220px;
  }

  .gallery-overlay {
    padding: 16px;
  }

  .gallery-overlay h4 {
    font-size: 1.05rem;
  }
}

/* Mobile Landscape - 2 columns */
@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px;
    gap: 14px;
    padding: 0 16px;
  }

  .gallery-item {
    height: 200px;
    border-radius: 12px;
  }

  .gallery-item:hover {
    transform: translateY(-4px);
  }

  .gallery-overlay {
    opacity: 1;
    padding: 14px;
  }

  .gallery-overlay h4 {
    font-size: 0.95rem;
  }

  .gallery-overlay p {
    font-size: 0.8rem;
  }

  .gallery-category {
    font-size: 0.55rem;
    padding: 4px 10px;
  }
}

/* ========================================= */
/* MOBILE - 1 IMAGE PER ROW */
/* ========================================= */
@media (max-width: 576px) {
  .gallery-grid {
    grid-template-columns: 1fr; /* 1 column only */
    max-width: 400px;
    gap: 16px;
    padding: 0 20px;
  }

  .gallery-item {
    height: 240px; /* Taller for single column */
    border-radius: 14px;
  }

  .gallery-overlay {
    opacity: 1;
    padding: 18px;
    background: linear-gradient(
      180deg,
      transparent 0%,
      transparent 40%,
      rgba(0, 0, 0, 0.9) 100%
    );
  }

  .gallery-overlay h4 {
    font-size: 1.1rem;
  }

  .gallery-overlay p {
    font-size: 0.85rem;
  }

  .gallery-category {
    font-size: 0.6rem;
    padding: 5px 12px;
    margin-bottom: 10px;
  }
}

/* Very Small Mobile */
@media (max-width: 400px) {
  .gallery-grid {
    max-width: 100%;
    padding: 0 16px;
    gap: 14px;
  }

  .gallery-item {
    height: 220px;
    border-radius: 12px;
  }

  .gallery-overlay {
    padding: 14px;
  }

  .gallery-overlay h4 {
    font-size: 1rem;
  }
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1400px; /* BIG - stretches images */
  margin: 0 auto;
  padding: 0 20px; /* Small padding - less empty space */
}

.gallery-item {
  height: 280px; /* Taller images */
  border-radius: 14px;
}

/* ============================================ */
/* GALLERY SECTION - COMPLETE STYLES */
/* ============================================ */

.gallery-page {
  background: var(--bg-section);
}

/* ============================================ */
/* FILTER BUTTONS */
/* ============================================ */

.gallery-filter {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-bottom: 45px;
  flex-wrap: wrap;
}

.filter-btn {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 12px 26px;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  color: var(--text-secondary);
  background: var(--bg-card);
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.filter-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
  background: rgba(242, 199, 103, 0.08);
  transform: translateY(-2px);
}

.filter-btn.active {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--bg-dark);
  box-shadow: 0 5px 20px rgba(242, 199, 103, 0.3);
}

/* ============================================ */
/* GALLERY GRID */
/* ============================================ */

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ============================================ */
/* GALLERY ITEM */
/* ============================================ */

.gallery-item {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  background: var(--bg-card);
  height: 280px;
  border: 1px solid var(--border-color);
  transition: all 0.4s ease;
}

.gallery-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  border-color: rgba(242, 199, 103, 0.35);
}

/* Hidden Items (for Load More) */
.gallery-item.hidden-item {
  display: none;
}

.gallery-item.show-item {
  display: block;
  animation: fadeInUp 0.6s ease forwards;
}

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

/* Filter Animations */
.gallery-item.filter-hide {
  display: none;
}

.gallery-item.filter-show {
  display: block;
  animation: fadeIn 0.4s ease forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* ============================================ */
/* GALLERY IMAGE */
/* ============================================ */

.gallery-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.02);
  transition:
    transform 0.6s ease,
    filter 0.4s ease;
}

.gallery-item:hover .gallery-img {
  transform: scale(1.1);
  filter: saturate(1.15) contrast(1.05) brightness(0.75);
}

/* ============================================ */
/* GALLERY OVERLAY */
/* ============================================ */

.gallery-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 22px;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.95) 100%);
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
}

.gallery-item:hover .gallery-overlay {
  opacity: 1;
  transform: translateY(0);
}

/* Category Tag */
.gallery-category {
  display: inline-block;
  font-size: 0.65rem;
  font-family: var(--font-display);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(242, 199, 103, 0.2);
  padding: 5px 12px;
  border-radius: 5px;
  margin-bottom: 10px;
  border: 1px solid rgba(242, 199, 103, 0.3);
}

.gallery-overlay h4 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 5px;
}

.gallery-overlay p {
  font-size: 0.88rem;
  color: #bbb;
}

/* ============================================ */
/* LOAD MORE BUTTON */
/* ============================================ */

.gallery-load-more {
  text-align: center;
  margin-top: 55px;
}

.load-more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 40px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: var(--bg-dark);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.load-more-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(242, 199, 103, 0.35);
}

.load-more-btn svg {
  transition: transform 0.3s ease;
}

.load-more-btn:hover svg {
  transform: translateY(5px);
}

/* Button States */
.load-more-btn.all-loaded {
  background: var(--bg-card);
  color: var(--text-muted);
  cursor: default;
  opacity: 0.7;
}

.load-more-btn.all-loaded:hover {
  transform: none;
  box-shadow: none;
}

.load-more-btn.btn-hidden {
  display: none;
}

/* ============================================ */
/* RESPONSIVE - GALLERY */
/* ============================================ */

/* Large Desktop */
@media (min-width: 1400px) {
  .gallery-grid {
    max-width: 1400px;
    gap: 26px;
  }

  .gallery-item {
    height: 300px;
  }
}

/* Desktop */
@media (max-width: 1200px) {
  .gallery-grid {
    max-width: 1100px;
    gap: 20px;
  }

  .gallery-item {
    height: 260px;
  }
}

/* Tablet - 3 columns */
@media (max-width: 1024px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    max-width: 900px;
    gap: 18px;
  }

  .gallery-item {
    height: 240px;
  }

  .filter-btn {
    padding: 10px 20px;
    font-size: 0.8rem;
  }

  .gallery-filter {
    gap: 10px;
    margin-bottom: 35px;
  }
}

/* Mobile Landscape - 2 columns */
@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px;
    gap: 14px;
  }

  .gallery-item {
    height: 210px;
  }

  .gallery-item:hover {
    transform: translateY(-4px);
  }

  .gallery-filter {
    gap: 8px;
    margin-bottom: 30px;
  }

  .filter-btn {
    padding: 9px 16px;
    font-size: 0.75rem;
    border-radius: 6px;
  }

  /* Always show overlay on mobile */
  .gallery-overlay {
    opacity: 1;
    transform: translateY(0);
    padding: 16px;
    background: linear-gradient(
      180deg,
      transparent 0%,
      transparent 40%,
      rgba(0, 0, 0, 0.9) 100%
    );
  }

  .gallery-overlay h4 {
    font-size: 1rem;
  }

  .gallery-overlay p {
    font-size: 0.8rem;
  }

  .gallery-category {
    font-size: 0.58rem;
    padding: 4px 10px;
  }

  .load-more-btn {
    padding: 14px 32px;
    font-size: 0.88rem;
  }
}

/* Mobile Portrait - 1 column */
@media (max-width: 576px) {
  .gallery-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    gap: 16px;
    padding: 0 16px;
  }

  .gallery-item {
    height: 260px;
  }

  .filter-btn {
    padding: 8px 14px;
    font-size: 0.7rem;
    letter-spacing: 0.5px;
  }

  .gallery-overlay {
    padding: 18px;
  }

  .gallery-overlay h4 {
    font-size: 1.1rem;
  }

  .gallery-overlay p {
    font-size: 0.85rem;
  }

  .gallery-category {
    font-size: 0.6rem;
    padding: 5px 12px;
    margin-bottom: 10px;
  }

  .load-more-btn {
    width: 100%;
    max-width: 280px;
    padding: 14px 24px;
  }
}

/* Very Small Mobile */
@media (max-width: 400px) {
  .gallery-grid {
    max-width: 100%;
    padding: 0 12px;
  }

  .gallery-item {
    height: 240px;
  }

  .filter-btn {
    padding: 7px 12px;
    font-size: 0.65rem;
  }
}

/* ============================================ */
/* PRODUCTS CATEGORIES SECTION */
/* ============================================ */

.products-categories {
  background: var(--bg-section);
  padding: 100px 0;
}

/* Section Header */
.products-categories .section-header {
  text-align: center;
  margin-bottom: 60px;
}

.products-categories .section-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 0.75rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--primary);
  padding: 8px 20px;
  border: 1px solid rgba(242, 199, 103, 0.3);
  border-radius: 30px;
  margin-bottom: 18px;
  background: rgba(242, 199, 103, 0.08);
}

.products-categories .section-title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.2;
  margin-bottom: 16px;
}

.products-categories .section-subtitle {
  font-size: 1.05rem;
  color: var(--text-muted);
  max-width: 550px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ============================================ */
/* PRODUCTS GRID */
/* ============================================ */

.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto;
}

/* ============================================ */
/* PRODUCT CARD */
/* ============================================ */

.product-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.4s ease;
  position: relative;
}

.product-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
  border-color: rgba(242, 199, 103, 0.35);
}

/* Product Image */
.product-image {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.product-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.02);
  transition:
    transform 0.6s ease,
    filter 0.4s ease;
}

.product-card:hover .product-img {
  transform: scale(1.08);
  filter: saturate(1.15) contrast(1.05);
}

/* Image Overlay Gradient */
.product-image::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.6) 100%);
  pointer-events: none;
}

/* Product Icon Badge */
.product-icon {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 50px;
  height: 50px;
  background: rgba(242, 199, 103, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transform: scale(0.9);
  transition:
    transform 0.3s ease,
    background 0.3s ease;
}

.product-card:hover .product-icon {
  transform: scale(1);
  background: var(--primary);
}

.product-icon svg {
  width: 24px;
  height: 24px;
  stroke: var(--bg-dark);
}

/* Product Content */
.product-content {
  padding: 24px;
}

.product-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(242, 199, 103, 0.12);
  padding: 6px 14px;
  border-radius: 6px;
  margin-bottom: 14px;
  border: 1px solid rgba(242, 199, 103, 0.2);
}

.product-content h3 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 12px;
  transition: color var(--transition-normal);
}

.product-card:hover .product-content h3 {
  color: var(--primary);
}

.product-content > p {
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin-bottom: 18px;
}

/* Product Features List */
.product-features {
  margin-bottom: 22px;
}

.product-features li {
  position: relative;
  padding-left: 20px;
  font-size: 0.88rem;
  color: var(--text-secondary);
  margin-bottom: 10px;
  line-height: 1.5;
}

.product-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background: var(--primary);
  border-radius: 50%;
}

/* Product Link */
.product-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--primary);
  transition: all var(--transition-normal);
}

.product-link svg {
  width: 18px;
  height: 18px;
  transition: transform var(--transition-normal);
}

.product-link:hover {
  color: var(--primary-light);
}

.product-link:hover svg {
  transform: translateX(6px);
}

/* ============================================ */
/* SECTION CTA */
/* ============================================ */

.products-categories .section-cta {
  text-align: center;
  margin-top: 55px;
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

/* ============================================ */
/* RESPONSIVE - PRODUCTS SECTION */
/* ============================================ */

/* Large Desktop */
@media (min-width: 1400px) {
  .products-grid {
    gap: 32px;
    max-width: 1300px;
  }

  .product-image {
    height: 240px;
  }

  .product-content h3 {
    font-size: 1.5rem;
  }
}

/* Desktop */
@media (max-width: 1200px) {
  .products-grid {
    gap: 24px;
    max-width: 1000px;
  }

  .product-image {
    height: 200px;
  }

  .product-content {
    padding: 22px;
  }
}

/* Tablet - 2 columns */
@media (max-width: 1024px) {
  .products-categories {
    padding: 80px 0;
  }

  .products-categories .section-header {
    margin-bottom: 50px;
  }

  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    max-width: 700px;
  }

  .product-image {
    height: 190px;
  }

  .product-content h3 {
    font-size: 1.3rem;
  }

  .product-content > p {
    font-size: 0.88rem;
  }
}

/* Mobile Landscape */
@media (max-width: 768px) {
  .products-categories {
    padding: 60px 0;
  }

  .products-categories .section-header {
    margin-bottom: 40px;
  }

  .products-categories .section-tag {
    font-size: 0.7rem;
    padding: 6px 16px;
  }

  .products-categories .section-subtitle {
    font-size: 0.95rem;
  }

  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 0 10px;
  }

  .product-image {
    height: 160px;
  }

  .product-icon {
    width: 42px;
    height: 42px;
    top: 12px;
    right: 12px;
  }

  .product-icon svg {
    width: 20px;
    height: 20px;
  }

  .product-content {
    padding: 18px;
  }

  .product-tag {
    font-size: 0.62rem;
    padding: 5px 12px;
    margin-bottom: 12px;
  }

  .product-content h3 {
    font-size: 1.15rem;
    margin-bottom: 10px;
  }

  .product-content > p {
    font-size: 0.82rem;
    margin-bottom: 14px;
    line-height: 1.6;
  }

  .product-features li {
    font-size: 0.8rem;
    margin-bottom: 8px;
    padding-left: 16px;
  }

  .product-features li::before {
    width: 6px;
    height: 6px;
    top: 7px;
  }

  .product-link {
    font-size: 0.85rem;
  }

  .products-categories .section-cta {
    margin-top: 40px;
    flex-direction: column;
    align-items: center;
  }

  .products-categories .section-cta .btn {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
}

/* Mobile Portrait - 1 column */
@media (max-width: 576px) {
  .products-categories {
    padding: 50px 0;
  }

  .products-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 400px;
    margin: 0 auto;
    padding: 0 16px;
  }

  .product-card {
    border-radius: 14px;
  }

  .product-image {
    height: 200px;
  }

  .product-icon {
    width: 46px;
    height: 46px;
    top: 14px;
    right: 14px;
  }

  .product-icon svg {
    width: 22px;
    height: 22px;
  }

  .product-content {
    padding: 22px;
  }

  .product-tag {
    font-size: 0.65rem;
    padding: 6px 14px;
    margin-bottom: 14px;
  }

  .product-content h3 {
    font-size: 1.25rem;
    margin-bottom: 12px;
  }

  .product-content > p {
    font-size: 0.88rem;
    margin-bottom: 16px;
  }

  .product-features {
    margin-bottom: 20px;
  }

  .product-features li {
    font-size: 0.85rem;
    margin-bottom: 10px;
    padding-left: 18px;
  }

  .product-features li::before {
    width: 7px;
    height: 7px;
  }

  .product-link {
    font-size: 0.9rem;
  }

  .product-link svg {
    width: 16px;
    height: 16px;
  }
}

/* Very Small Mobile */
@media (max-width: 400px) {
  .products-grid {
    padding: 0 12px;
    max-width: 100%;
  }

  .product-image {
    height: 180px;
  }

  .product-content {
    padding: 18px;
  }

  .product-content h3 {
    font-size: 1.15rem;
  }

  .product-content > p {
    font-size: 0.82rem;
  }
}
/* FORCE GOLD COLOR ON BUTTONS */
.explore-btn,
.get-quote-btn,
.btn,
button {
  background: linear-gradient(135deg, #dbbf61, #cea138) !important;
  color: #0a0f1c !important;
  border: none !important;
}

/* HOVER */
.explore-btn:hover,
.get-quote-btn:hover,
.btn:hover,
button:hover {
  background: linear-gradient(135deg, #e7bc66, #deb01b) !important;
}
:root {
  --primary: #d4af37;
  --primary-rgb: 212 175 55;

  /* If you already have these, keep yours */
  --text-primary: #fff;
  --text-secondary: #d6dde7;
}

/* If you already have .container defined, keep yours */
.container {
  width: min(1200px, 92%);
  margin: 0 auto;
}

/* ===== PREMIUM HERO (LEFT TEXT + RIGHT IMAGE) ===== */
.page-hero {
  position: relative;
  overflow: hidden;

  padding: 140px 0 80px; /* adjust top if navbar overlaps */
  min-height: 80vh;

  display: flex;
  align-items: center;
}

.page-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      900px 520px at 15% 20%,
      rgba(var(--primary-rgb), 0.12),
      transparent 62%
    ),
    radial-gradient(
      700px 420px at 85% 25%,
      rgba(var(--primary-rgb), 0.08),
      transparent 60%
    ),
    linear-gradient(180deg, #07131f 0%, #050d16 100%);
  z-index: 0;
}

.page-hero__wrap {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}

/* Left side */
.page-hero__content {
  text-align: left;
}

.page-hero__kicker {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.85rem;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 14px;
}

.breadcrumb {
  margin-bottom: 18px;
  font-size: 0.88rem;
}

.breadcrumb a {
  color: rgba(255, 255, 255, 0.7);
}
.breadcrumb a:hover {
  color: var(--primary);
}
.breadcrumb .separator {
  margin: 0 10px;
  color: rgba(255, 255, 255, 0.35);
}
.breadcrumb .current {
  color: var(--primary);
}

.page-hero__title {
  font-size: clamp(2.3rem, 5vw, 4.1rem);
  font-weight: 900;
  line-height: 1.05;
  margin: 0 0 14px;
  color: var(--text-primary);
}

.text-primary {
  color: var(--primary);
}

.page-hero__subtitle {
  color: var(--text-secondary);
  font-size: 1.05rem;
  line-height: 1.8;
  max-width: 640px;
  margin: 0;
}

.page-hero__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 26px;
}

/* Right side image card */
.page-hero__media {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(var(--primary-rgb), 0.26);
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.62),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

.page-hero__media img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  display: block;

  /* Premium feel */
  filter: saturate(1.05) contrast(1.05);
  transform: scale(1.02);
}

/* Optional: subtle overlay on image */
.page-hero__media {
  position: relative;
}
.page-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(7, 19, 31, 0.55),
    rgba(7, 19, 31, 0.1)
  );
  pointer-events: none;
}

/* Responsive */
@media (max-width: 900px) {
  .page-hero {
    padding: 120px 0 70px;
    min-height: auto;
  }

  .page-hero__wrap {
    grid-template-columns: 1fr;
  }

  .page-hero__content {
    text-align: center;
  }

  .page-hero__actions {
    justify-content: center;
  }

  .page-hero__subtitle {
    margin: 0 auto;
  }

  .page-hero__media img {
    height: 320px;
  }
}

/* Make ABOUT hero wider (only this section) */
.page-hero .container.page-hero__wrap {
  width: min(1400px, 96%); /* increase from 1200 */
  margin: 0 auto;
}

/* Give more space to text column */
.page-hero__wrap {
  grid-template-columns: 1.25fr 0.75fr; /* more width to left content */
  gap: 40px; /* reduce gap so content feels bigger */
}

/* Allow subtitle to use more width */
.page-hero__subtitle {
  max-width: 760px; /* increase from 640 */
}
@media (max-width: 900px) {
  .page-hero__wrap {
    grid-template-columns: 1fr;
  }
  .page-hero__content {
    text-align: center;
  }
  .page-hero__actions {
    justify-content: center;
  }
  .page-hero__media img {
    height: 320px;
  }
}

/* ===== HERO WIDTH + LAYOUT (WIDER) ===== */
.hero-container {
  width: min(1400px, 94%); /* was probably 1100–1200 */
  margin: 0 auto;
}

/* If your hero-container is grid/flex, keep it, but improve spacing */
.hero-container {
  gap: clamp(24px, 4vw, 56px);
}

/* Give text a bit more room (optional) */
.hero-content {
  max-width: 720px;
}

/* Make the visual area slightly larger (optional) */
.hero-visual {
  width: 100%;
  max-width: 620px;
  justify-self: end; /* if grid */
}
/* Slight premium (still simple) */
.contact-form .input-wrapper {
  border: 1px solid rgba(212, 175, 55, 0.55) !important;
  background: rgba(255, 255, 255, 0.02) !important;
}

.contact-form .input-wrapper:focus-within {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2) !important;
}

:root {
  /* Logo gold (from your logo look) */
  --primary: #bf8f29;
  --primary-light: #e7a31b;
  --primary-dark: #a67c26;

  --primary-rgb: 201 162 76;
  --primary-glow: rgba(201, 162, 76, 0.3);

  /* dark text on gold */
  --btn-text-on-gold: #0a0f1c;
}

/* ===== FORCE LOGO COLOR ON ALL BUTTONS (SITE-WIDE) ===== */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
a.btn {
  background: linear-gradient(
    135deg,
    var(--primary-light),
    var(--primary)
  ) !important;
  color: var(--btn-text-on-gold) !important;
  border: 0 !important;
  box-shadow: 0 6px 22px var(--primary-glow) !important;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

/* Hover */
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.btn:hover,
a.btn:hover {
  background: linear-gradient(
    135deg,
    var(--primary),
    var(--primary-dark)
  ) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(var(--primary-rgb), 0.45) !important;
}

/* Focus (keyboard accessibility) */
button:focus-visible,
input[type="submit"]:focus-visible,
.btn:focus-visible,
a.btn:focus-visible {
  outline: 3px solid rgba(var(--primary-rgb), 0.45) !important;
  outline-offset: 3px;
}

/* Disabled */
button:disabled,
input:disabled,
.btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* =============================================
   HERO SLIDER - CLEAN VERSION (Replace all hero CSS)
   ============================================= */

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

/* ===== HERO SECTION ===== */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  background: #07131f;
  margin: 0;
  padding: 0;
}

/* ===== SLIDER WRAPPER ===== */
.hero-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* ===== EACH SLIDE ===== */
.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease;
  overflow: hidden;
}

.slide.active {
  opacity: 1;
}

/* ===== IMAGE FIX - THIS IS THE KEY ===== */
.slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;

  /* PREVENT image from growing */
  max-width: 100%;
  max-height: 100%;
  min-width: 100%;
  min-height: 100%;

  /* Remove any spacing */
  margin: 0;
  padding: 0;
  border: 0;

  /* No scroll */
  position: absolute;
  top: 0;
  left: 0;
}

/* ===== DARK OVERLAY ===== */
.slide-dark {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(
    to right,
    rgba(7, 19, 31, 0.92) 0%,
    rgba(7, 19, 31, 0.75) 50%,
    rgba(7, 19, 31, 0.45) 100%
  );
}

/* ===== TEXT CONTENT ===== */
.slide-text {
  position: absolute;
  top: 50%;
  left: 80px;
  transform: translateY(-50%);
  max-width: 620px;
  z-index: 5;
}

/* ===== BADGE ===== */
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  padding: 8px 20px;
  border-radius: 50px;
  margin-bottom: 22px;
  font-size: 13px;
  color: #d4af37;
  font-weight: 500;
  letter-spacing: 0.8px;
  font-family: "Poppins", sans-serif;
}

.badge-dot {
  width: 8px;
  height: 8px;
  background: #d4af37;
  border-radius: 50%;
  animation: pulseDot 2s infinite;
}

@keyframes pulseDot {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.5);
  }
}

/* ===== HEADING ===== */
.slide-text h1 {
  font-family: "Rajdhani", sans-serif;
  font-size: 58px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.15;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.slide-text h1 span {
  color: #d4af37;
  display: block;
  text-shadow: 0 0 30px rgba(212, 175, 55, 0.35);
}

/* ===== PARAGRAPH ===== */
.slide-text p {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: #d6dde7;
  line-height: 1.8;
  margin-bottom: 35px;
  font-weight: 300;
}

/* ===== BUTTONS ===== */
.slide-btns {
  display: flex;
  gap: 20px;
}

.btn-main {
  display: inline-block;
  padding: 14px 32px;
  background: linear-gradient(135deg, #be9638, #cca028);
  color: #07131f;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3);
}

.btn-main:hover {
  background: linear-gradient(135deg, #c59b29, #c7a22a);
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(212, 175, 55, 0.45);
}

.btn-outline {
  display: inline-block;
  padding: 14px 32px;
  background: transparent;
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 50px;
  border: 2px solid rgba(212, 175, 55, 0.4);
  transition: all 0.3s ease;
}

.btn-outline:hover {
  border-color: #d4af37;
  color: #d4af37;
  background: rgba(212, 175, 55, 0.1);
  transform: translateY(-3px);
}

/* ===== DOTS ===== */
.dots {
  position: absolute;
  bottom: 35px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 14px;
  z-index: 20;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid rgba(212, 175, 55, 0.5);
  background: transparent;
  cursor: pointer;
  transition: all 0.4s ease;
  padding: 0;
}

.dot.active {
  background: #d4af37;
  border-color: #d4af37;
  transform: scale(1.3);
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.5);
}

.dot:hover {
  border-color: #d4af37;
}

/* ===== ANIMATIONS ===== */
.slide.active .slide-text h1 {
  animation: fadeUp 0.9s ease forwards;
}

.slide.active .slide-text p {
  animation: fadeUp 0.9s 0.25s ease both;
}

.slide.active .slide-btns {
  animation: fadeUp 0.9s 0.45s ease both;
}

.slide.active .hero-badge {
  animation: fadeUp 0.9s ease both;
}

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

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .slide-text {
    left: 50px;
    max-width: 520px;
  }
  .slide-text h1 {
    font-size: 46px;
  }
}

@media (max-width: 768px) {
  .slide-text {
    left: 25px;
    right: 25px;
    max-width: 100%;
  }
  .slide-text h1 {
    font-size: 34px;
  }
  .slide-text p {
    font-size: 14px;
  }
  .slide-btns {
    flex-direction: column;
    gap: 12px;
  }
  .btn-main,
  .btn-outline {
    text-align: center;
    padding: 13px 28px;
  }
  .slide-dark {
    background: rgba(7, 19, 31, 0.85);
  }
}

@media (max-width: 480px) {
  .slide-text h1 {
    font-size: 26px;
  }
  .slide-text p {
    font-size: 13px;
    margin-bottom: 22px;
  }
}
:root {
  --nav-h: 90px; /* change to your navbar height */
}

/* if your navbar is fixed/sticky */
.navbar {
  position: fixed; /* keep if you already use fixed */
  top: 0;
  left: 0;
  right: 0;
  height: var(--nav-h);
  z-index: 9999;
  background: rgba(7, 19, 31, 0.92); /* so text is readable */
  backdrop-filter: blur(10px);
}

/* push hero down so slider does NOT go into navbar */
.hero {
  margin-top: var(--nav-h);
  height: calc(100vh - var(--nav-h));
}

/* keep slider inside hero size */
.hero-slider,
.slide {
  height: 100%;
}
.hero {
  margin-top: var(--nav-h);
  height: 75vh;
  min-height: 520px;
  max-height: 760px;
}

@media (max-width: 768px) {
  .hero {
    height: calc(100vh - var(--nav-h));
    max-height: none;
  }
}
:root {
  --nav-h: 90px; /* navbar height */
  --hero-gap: 16px; /* space between navbar and hero */
}

/* space between navbar and hero */
.hero {
  margin-top: calc(var(--nav-h) + var(--hero-gap));
  height: calc(100vh - var(--nav-h) - var(--hero-gap));
}

/* optional: rounded corners so it looks separated */
.hero-slider,
.slide,
.slide-img {
  border-radius: 18px;
}
:root {
  --hero-side-gap: 22px; /* space on left & right */
  --hero-radius: 18px; /* rounded corners */
}

/* Make the slider "boxed" inside the hero */
.hero-slider {
  left: var(--hero-side-gap);
  right: var(--hero-side-gap);
  width: auto; /* important */
  border-radius: var(--hero-radius);
  overflow: hidden; /* keeps image inside rounded corners */
}

/* Ensure slides follow same radius */
.slide,
.slide-img,
.slide-dark {
  border-radius: var(--hero-radius);
}

/* Mobile: reduce side gap */
@media (max-width: 768px) {
  :root {
    --hero-side-gap: 12px;
  }
}
:root {
  --hero-vert-gap: 14px;
}

.hero-slider {
  top: var(--hero-vert-gap);
  bottom: var(--hero-vert-gap);
  height: auto; /* because top+bottom are set */
}
/* Normal state */
.btn-main {
  background: linear-gradient(135deg, #ba8b2d, #c79a1f);
  color: #07131f;
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3);
  transition:
    background 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

/* Hover state (your requested color) */
.btn-main:hover {
  background: linear-gradient(135deg, #d3a72e, #c49c1a);
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(212, 175, 55, 0.45);
}
:root {
  --nav-h: 90px;
  --hero-gap: 16px; /* space below navbar */
  --hero-side-gap: 40px; /* left-right space */
  --hero-vert-gap: 18px; /* top-bottom space inside hero */
  --hero-radius: 18px;
}

/* hero below navbar + optional smaller height */
.hero {
  margin-top: calc(var(--nav-h) + var(--hero-gap));
  height: 78vh; /* makes hero smaller on desktop */
  max-height: 760px;
  min-height: 560px;
  position: relative;
  overflow: visible; /* so outer spacing shows */
  background: transparent;
}

/* Box the slider inside hero (THIS makes image not touch sides) */
.hero-slider {
  position: absolute;
  inset: var(--hero-vert-gap) var(--hero-side-gap);
  border-radius: var(--hero-radius);
  overflow: hidden;
  background: #07131f; /* visible border space around image */
}

/* slides fit inside boxed slider */
.slide {
  width: 100%;
  height: 100%;
}

/* image behavior */
.slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none !important; /* IMPORTANT: remove any zoom */
}

/* mobile smaller gaps */
@media (max-width: 768px) {
  :root {
    --hero-side-gap: 14px;
    --hero-vert-gap: 12px;
  }
  .hero {
    height: calc(100vh - var(--nav-h) - var(--hero-gap));
    max-height: none;
  }
}
/* only for slide 2 image crop */
.slide-img-2 {
  object-position: 30% center; /* try 20% / 25% / 35% */
}

/* ABOUT HERO: reuse home hero styles but single banner + boxed */
.about-hero.hero {
  margin-top: calc(var(--nav-h) + var(--hero-gap));
  height: 70vh;
  min-height: 520px;
  max-height: 760px;
  background: transparent;
  overflow: visible;
}

/* box the background area like your home fix */
.about-hero .hero-slider {
  position: absolute;
  inset: var(--hero-vert-gap) var(--hero-side-gap);
  width: auto;
  height: auto;
  border-radius: var(--hero-radius);
  overflow: hidden;
  background: var(--bg-dark, #07131f);
}

.about-hero .slide,
.about-hero .slide-img,
.about-hero .slide-dark {
  border-radius: var(--hero-radius);
}

/* IMPORTANT: stop any zoom coming from other CSS */
.about-hero .slide-img {
  transform: none !important;
  animation: none !important;
  object-fit: cover;
  object-position: center;
}

/* Buttons same as home (ensure these exist; if not, keep this) */
.about-hero .btn-main {
  font-family: "Poppins", sans-serif;
}
.about-hero .btn-outline {
  font-family: "Poppins", sans-serif;
}
.about-hero .hero-title {
  font-family: "Rajdhani", sans-serif;
}
.about-hero .hero-subtitle,
.about-hero .hero-badge {
  font-family: "Poppins", sans-serif;
}
/* Make About hero heading match Home (ALL CAPS) */
.about-hero .hero-title,
.about-hero .hero-title .title-line {
  text-transform: uppercase;
}
/* =========================
   SERVICES HERO (boxed like Home/About)
   Paste at END of style.css
========================= */

/* Make sure page uses same fonts */
body {
  font-family: "Poppins", sans-serif;
}
.hero-title,
.hero-title .title-line {
  font-family: "Rajdhani", sans-serif;
}

.services-hero.hero {
  margin-top: calc(var(--nav-h) + var(--hero-gap));
  height: 70vh;
  min-height: 520px;
  max-height: 760px;
  overflow: visible;
  background: transparent;
}

/* boxed background (space left/right) */
.services-hero .hero-slider {
  position: absolute;
  inset: var(--hero-vert-gap) var(--hero-side-gap);
  width: auto;
  height: auto;
  border-radius: var(--hero-radius);
  overflow: hidden;
  background: var(--bg-dark, #07131f);
  z-index: 1;
}

.services-hero .hero-container {
  position: relative;
  z-index: 2;
}

/* prevent zoom from any other CSS */
.services-hero .slide-img {
  transform: none !important;
  animation: none !important;
  object-fit: cover;
}

/* crop focus so the worker stays on right, text on left */
.services-hero-img {
  object-position: 75% center; /* adjust: 70% / 80% */
}

/* Keep title CAPS like home */
.services-hero .hero-title,
.services-hero .hero-title .title-line {
  text-transform: uppercase;
}

/* Responsive spacing */
@media (max-width: 768px) {
  .services-hero.hero {
    height: calc(100vh - var(--nav-h) - var(--hero-gap));
    max-height: none;
    min-height: 520px;
  }
  .services-hero-img {
    object-position: 70% center;
  }
}
/* ==============================
   SERVICES HERO: show more image
   Adjust only the 4 values below
============================== */
:root {
  --srv-overlay-left: 0.78; /* ↓ to show more image (try 0.65) */
  --srv-overlay-mid: 0.45; /* ↓ to show more image (try 0.35) */
  --srv-overlay-right: 0.18; /* ↓ to show more image (try 0.10) */
  --srv-panel: 0.22; /* ↓ to show more image (try 0.12) */
}

/* Overlay on top of image (left is darker for text) */
.services-hero .slide-dark {
  background: linear-gradient(
    90deg,
    rgba(7, 19, 31, var(--srv-overlay-left)) 0%,
    rgba(7, 19, 31, var(--srv-overlay-mid)) 55%,
    rgba(7, 19, 31, var(--srv-overlay-right)) 100%
  ) !important;
}

/* Text panel (make it lighter so image is visible) */
.services-hero .hero-content {
  background: rgba(7, 19, 31, var(--srv-panel)) !important;
  border: 1px solid rgba(212, 175, 55, 0.22);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Make image pop a bit (optional) */
.services-hero .slide-img {
  filter: brightness(1.12) contrast(1.08) saturate(1.05);
}
/* Remove border/box from Services hero text area */
.services-hero .hero-content {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important; /* no panel behind text */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
}
/* ABOUT HERO: show more background image */
.about-hero .slide-dark,
#about-hero .slide-dark,
.about-hero__overlay {
  /* (covers both structures if you used either) */
  background: linear-gradient(
    90deg,
    rgba(7, 19, 31, 0.72) 0%,
    rgba(7, 19, 31, 0.42) 55%,
    rgba(7, 19, 31, 0.14) 100%
  ) !important;
}

/* Optional: make image clearer */
.about-hero .slide-img,
#about-hero .slide-img,
.about-hero__img {
  filter: brightness(1.12) contrast(1.08) saturate(1.05);
}

/* PRODUCTS HERO (single banner, boxed like other pages) */
.products-hero.hero {
  margin-top: calc(var(--nav-h) + var(--hero-gap));
  height: 70vh;
  min-height: 520px;
  max-height: 760px;
  overflow: visible;
  background: transparent;
}

/* boxed background area */
.products-hero .hero-slider {
  position: absolute;
  inset: var(--hero-vert-gap) var(--hero-side-gap);
  border-radius: var(--hero-radius);
  overflow: hidden;
  background: var(--bg-dark, #07131f);
  z-index: 1;
}

.products-hero .hero-container {
  position: relative;
  z-index: 2;
}

/* ensure slide is visible */
.products-hero .slide {
  inset: 0;
}
.products-hero .slide.active {
  opacity: 1;
}

/* stop any zoom coming from old CSS */
.products-hero .slide-img {
  transform: none !important;
  animation: none !important;
  object-fit: cover;
}

/* image focus (adjust if needed) */
.products-hero-img {
  object-position: center center; /* try: 60% center / 70% center */
}

/* overlay (make image visible but text readable) */
.products-hero .slide-dark {
  background: linear-gradient(
    90deg,
    rgba(14, 35, 56, 0.7) 0%,
    rgba(7, 19, 31, 0.4) 55%,
    rgba(7, 19, 31, 0.14) 100%
  ) !important;
}

.products-hero .hero-title,
.products-hero .hero-title .title-line,
.products-hero .hero-badge,
.products-hero .btn-main,
.products-hero .btn-outline {
  text-transform: uppercase;
}
/* Products hero: keep buttons normal case (like other pages) */
.products-hero .btn-main,
.products-hero .btn-outline {
  text-transform: none !important;
}

/* 1) Keep content from moving when image height increases */
.about-overview .about-overview-grid {
  align-items: start !important; /* stops vertical centering */
}

.about-overview .about-content-section {
  align-self: start !important;
}

/* 2) Increase ONLY the visible image size */
.about-overview .image-placeholder.about-main-img {
  height: 560px !important; /* increase to 620px if you want more */
  overflow: hidden !important;
}

/* 3) Ensure image fills properly */
.about-overview .image-placeholder.about-main-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Mobile */
@media (max-width: 768px) {
  .about-overview .image-placeholder.about-main-img {
    height: 360px !important;
  }
}

.about-overview .about-main-img img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* full image visible */
  object-position: left top;
  background: #07131f; /* fills empty area */
}
/* Make the 3 highlight cards bigger */
/* About highlights: force 3 items in one line */
.about-highlights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
}

/* optional: keep items same height */
.about-highlights .highlight-item {
  height: 100%;
}

/* Responsive: allow wrap on smaller screens */
@media (max-width: 992px) {
  .about-highlights {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .about-highlights {
    grid-template-columns: 1fr;
  }
}

.service-photo-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.service-photo {
  width: 100%;
  height: 100%;
  object-fit: cover; /* fills frame */
  object-position: center; /* change to left/ right if needed */
  display: block;
}
/* Make ONLY this section wider */
.service-detail-section > .container {
  max-width: none !important;
  width: min(
    1500px,
    calc(100% - 80px)
  ) !important; /* controls left/right space */
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

@media (max-width: 768px) {
  .service-detail-section > .container {
    width: calc(100% - 24px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* For real image inside Services frame: remove placeholder padding/centering */
.service-image-frame .image-placeholder {
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
  background: transparent !important;
}

/* Make the real image fully cover the frame */
.service-image-frame .image-placeholder img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Give the image area a proper height (change as you like) */
.service-image-frame {
  height: 380px; /* try 420px if you want bigger */
}
/* For real images inside service frames */
.service-image-frame .image-placeholder {
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
  overflow: hidden !important;
  border-radius: var(--radius-lg);
}

/* Make image fill nicely */
.service-image-frame .service-photo {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important; /* fill frame */
  object-position: center !important; /* adjust if needed */
  transform: none !important;
  animation: none !important;
}

/* If the frame has no height, set one */
.service-image-frame {
  height: 380px; /* change 360/420 */
}

/* Simple image inside service image frame (no SVG look) */
.service-image-frame .service-photo-wrap {
  padding: 0 !important; /* remove placeholder padding */
  display: block !important; /* remove flex centering */
  background: transparent !important;
  overflow: hidden !important;
  border-radius: var(--radius-lg);
}

/* Make the image fill the frame nicely */
.service-image-frame .service-photo {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important; /* fills without empty space */
  object-position: center !important;
  transform: none !important;
  animation: none !important;
}

/* If your frame has no fixed height, give one */
.service-image-frame {
  height: 380px; /* adjust: 360 / 420 */
}

.service-image-frame .service-photo-wrap {
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
  overflow: hidden !important;
  border-radius: var(--radius-lg);
}

.service-image-frame .service-photo {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
  animation: none !important;
}

/* =========================
   SIMPLE TEAM SECTION
========================= */

.team-simple-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.team-simple-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 22px;
  transition: 0.25s ease;
}

.team-simple-card:hover {
  border-color: rgba(212, 175, 55, 0.35);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.35);
  transform: translateY(-4px);
}

.team-simple-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;

  background: rgba(212, 175, 55, 0.14);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: var(--primary);
  font-family: "Rajdhani", sans-serif;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 14px;
}

.team-simple-name {
  font-family: "Rajdhani", sans-serif;
  font-size: 18px;
  color: var(--text-primary);
  margin: 0 0 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.team-simple-role {
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
}

/* Responsive */
@media (max-width: 1100px) {
  .team-simple-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .team-simple-grid {
    grid-template-columns: 1fr;
  }
}

/* ===============================
   TEAM SIMPLE - FIX LAYOUT/PHOTO
=============================== */

.team-simple .team-simple-grid {
  gap: 26px;
}

/* Make card clean + centered */
.team-simple .team-simple-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;

  padding: 28px 24px !important;
  border-radius: 18px !important;
}

/* Bigger avatar */
.team-simple .team-simple-avatar {
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  position: relative !important;

  border: 2px solid rgba(212, 175, 55, 0.45) !important;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.35) !important;
  margin-bottom: 14px !important;

  display: grid !important;
  place-items: center !important;
  background: rgba(212, 175, 55, 0.1) !important;
}

/* Photo fills avatar */
.team-simple .team-simple-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* IMPORTANT: Hide initials always (unless image fails) */
.team-simple .team-simple-avatar span {
  display: none !important;
}

/* Show initials only if image fails */
.team-simple .team-simple-avatar.no-photo span {
  display: grid !important;
  position: absolute !important;
  inset: 0 !important;
  place-items: center !important;
  font-family: "Rajdhani", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: var(--primary) !important;
}

/* Name/Role sizing */
.team-simple .team-simple-name {
  margin: 4px 0 6px !important;
  font-size: 18px !important;
  letter-spacing: 0.8px !important;
}

.team-simple .team-simple-role {
  font-size: 13px !important;
  color: var(--text-muted) !important;
}

/* ==============================
   TESTIMONIALS: 2 cards per view
   (Overrides your current CSS)
============================== */

/* Make slider wider (not 700px center) */
.testimonials-slider {
  max-width: 1200px !important; /* increase/decrease */
  width: 100% !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* 2 cards layout */
.testimonial-track {
  display: flex !important;
  gap: 24px !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  transition: transform 0.6s ease !important;
  will-change: transform;
}

/* show 2 cards */
.testimonial-card {
  min-width: 0 !important; /* remove your min-width:100% */
  flex: 0 0 calc((100% - 24px) / 2) !important;
  text-align: left !important; /* looks more premium than center */
}

/* author align left */
.testimonial-author {
  justify-content: flex-start !important;
}

/* Mobile: 1 card */
@media (max-width: 768px) {
  .testimonial-card {
    flex: 0 0 100% !important;
  }
}
/* WHY CHOOSE: make background image more visible */
.why-choose {
  position: relative;
  background-image:
    /* overlay gradient (lighter than before) */
    linear-gradient(
      90deg,
      rgba(7, 19, 31, 0.55) 0%,
      rgba(7, 19, 31, 0.35) 55%,
      rgba(7, 19, 31, 0.2) 100%
    ),
    url("../assets/images/backimage.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* If you previously used .why-choose::before overlay, disable it */
.why-choose::before {
  content: none !important;
}

/* Make cards slightly transparent so background is visible */
.why-choose .advantage-card {
  background: rgba(12, 34, 53, 0.68) !important; /* was too solid */
  border-color: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Optional: make icons gold (your SVG strokes are orange) */
.why-choose .advantage-icon svg {
  stroke: var(--primary) !important;
}

/* ============================================
   FAQ SECTION STYLES (paste at END of style.css)
============================================ */
.faq-section {
  background: var(--bg-dark);
}

.faq-grid {
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.faq-item {
  background: rgba(12, 34, 53, 0.72);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 18px;
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

/* plus / minus icon */
.faq-item summary::after {
  content: "+";
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: var(--primary);
  flex: 0 0 auto;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.faq-item[open] summary::after {
  content: "–";
  background: rgba(212, 175, 55, 0.1);
}

.faq-body {
  padding: 0 18px 18px;
  color: var(--text-secondary);
  line-height: 1.8;
  font-family: var(--font-body);
}

.faq-body p {
  margin: 0;
}

/* Hover highlight */
.faq-item:hover {
  border-color: rgba(212, 175, 55, 0.35);
}

/* Mobile */
@media (max-width: 768px) {
  .faq-item summary {
    padding: 16px;
    font-size: 0.98rem;
  }
  .faq-body {
    padding: 0 16px 16px;
  }
}
/* FAQ: make question + answer use same font as site content */
.faq-item summary {
  font-family: "Poppins", sans-serif !important; /* same as your content */
  font-weight: 600 !important;
  letter-spacing: 0.2px;
}

.faq-body,
.faq-body p {
  font-family: "Poppins", sans-serif !important;
}
/* Overlay should not block click */
.gallery-overlay {
  pointer-events: none;
}

/* Lightbox visibility + layering */
.lightbox {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.85);
  z-index: 99999;
}

.lightbox.open {
  display: flex;
}

/* Lightbox image */
#lightboxImage img {
  max-width: min(980px, 92vw);
  max-height: 78vh;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 14px;
}
/* Footer bottom: larger text */
.footer-bottom .copyright,
.footer-bottom .footer-bottom-links a {
  font-size: 15px; /* change to 16px / 17px if you want bigger */
  line-height: 1.6;
}

/* Optional: make Sprintofy link stand out */
.footer-bottom .footer-bottom-links a {
  font-weight: 600;
}

.footer-bottom .footer-bottom-links a:hover {
  color: var(--primary-light);
}
/* Make injected image fit properly */
.lightbox-image img {
  max-width: 100%;
  max-height: 60vh;
  width: auto;
  height: auto;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}

/* IMPORTANT: overlay should not block click */
.gallery-overlay {
  pointer-events: none;
}

/* Allow click on the item even if overlay is on top */
.gallery-preview .gallery-overlay {
  pointer-events: none;
}

/* Ensure injected image displays correctly */
.lightbox-image img {
  max-width: 100%;
  max-height: 60vh;
  width: auto;
  height: auto;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}

/* ABOUT HEADER: force left alignment (override any centered styles) */
.page-header.about-header .page-header-content {
  text-align: left !important;
  margin: 0 !important;
  max-width: 800px; /* optional: keeps text nicely readable */
}

/* If your page-header-content is centered using flex */
.page-header.about-header .container {
  display: flex;
  justify-content: flex-start !important;
}

/* Breadcrumb and kicker also left */
.page-header.about-header .breadcrumb,
.page-header.about-header .page-header-kicker {
  justify-content: flex-start !important;
  text-align: left !important;
}

/* ABOUT PAGE HEADER: smaller height + better background */
.page-header.about-header {
  height: 240px !important; /* reduce banner height */
  min-height: 220px !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
}

/* Background image control */
.page-header.about-header .page-header-bg {
  background-position: center 30% !important; /* show better area */
  background-size: cover !important; /* keep full cover */
}

/* Overlay: make image visible */
.page-header.about-header .page-header-bg::after {
  background: rgba(7, 19, 31, 0.55) !important; /* reduce darkness */
}

/* Title smaller so it doesn't take full screen */
.page-header.about-header .page-title {
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.08 !important;
  max-width: 900px;
}

/* Keep everything left aligned */
.page-header.about-header .page-header-content {
  text-align: left !important;
}
/* ================================
   ABOUT HERO (NORMAL SIZE + SIMPLE)
================================ */
:root {
  --nav-h: 90px;
} /* adjust if your navbar height differs */

.page-header.about-header {
  position: relative !important;
  margin-top: var(--nav-h) !important; /* below fixed navbar */
  height: 60vh !important; /* NORMAL hero height */
  min-height: 420px !important;
  max-height: 620px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: #07131f !important;
}

/* Background image */
.page-header.about-header .page-header-bg {
  position: absolute !important;
  inset: 0 !important;
  background-image: url("assets/images/newone.jpg") !important; /* your image */
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 35% !important; /* adjust 20% / 50% */
  z-index: 0 !important;
}

/* Overlay for readability (not too dark) */
.page-header.about-header .page-header-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(7, 19, 31, 0.65) 0%,
    rgba(7, 19, 31, 0.45) 55%,
    rgba(7, 19, 31, 0.25) 100%
  ) !important;
}

/* Keep content above background */
.page-header.about-header .container,
.page-header.about-header .page-header-content {
  position: relative !important;
  z-index: 2 !important;
  text-align: left !important;
}

/* Title sizing (normal hero) */
.page-header.about-header .page-title {
  font-size: clamp(34px, 4vw, 58px) !important;
  line-height: 1.06 !important;
  margin: 10px 0 0 !important;
}

.page-header.about-header .page-title .line {
  display: block !important;
}

/* Mobile */
@media (max-width: 768px) {
  .page-header.about-header {
    height: 50vh !important;
    min-height: 340px !important;
  }
}
/* ABOUT HEADER: make sure section has height and bg layer can show */
.page-header.about-header {
  position: relative;
  min-height: 420px; /* important: gives the bg a height */
  height: 60vh; /* normal hero size */
  max-height: 620px;
  overflow: hidden;
}

/* background image layer */
.page-header.about-header .page-header-bg {
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image: url("../assets/images/newone2.jpg") !important; /* if style.css is in /css/ */
  background-size: cover !important;
  background-position: center 35% !important;
  background-repeat: no-repeat !important;

  display: block !important; /* in case some CSS hides it */
}

/* overlay (keep it transparent, not solid) */
.page-header.about-header .page-header-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(7, 19, 31, 0.55); /* reduce to 0.35 to see more image */
}

/* content above background */
.page-header.about-header .container,
.page-header.about-header .page-header-content {
  position: relative;
  z-index: 2;
}
:root {
  --nav-h: 90px; /* your navbar height */
  --header-gap: 16px; /* space between navbar and banner */
  --header-side: 24px; /* left/right space */
  --header-radius: 18px;
}

/* Page header spacing + height */
.page-header.about-header {
  position: relative;
  margin-top: calc(var(--nav-h) + var(--header-gap));
  height: 60vh;
  min-height: 420px;
  max-height: 620px;
  overflow: visible; /* allows the outer gap to show */
}

/* Make the background "boxed" inside (not touching screen edges) */
.page-header.about-header .page-header-bg {
  position: absolute;
  top: 0;
  left: var(--header-side);
  right: var(--header-side);
  bottom: 0;
  border-radius: var(--header-radius);
  overflow: hidden;
  z-index: 0;

  background-image: url("assets/images/coating11.jpg"); /* adjust path */
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
}

/* Overlay inside the boxed bg */
.page-header.about-header .page-header-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(7, 19, 31, 0.55);
}

/* Content above bg */
.page-header.about-header .container,
.page-header.about-header .page-header-content {
  position: relative;
  z-index: 2;
}

/* Mobile: smaller side space */
@media (max-width: 768px) {
  :root {
    --header-side: 12px;
    --header-gap: 12px;
  }
}
/* Space between navbar and About header */
:root {
  --ph-gap-top: 28px; /* increase/decrease (16px, 24px, 32px) */
}

/* ensure header uses it */
.page-header.about-header {
  margin-top: calc(var(--nav-h) + var(--ph-gap-top)) !important;
}
/* =====================================================
   COMMON PAGE HEADER (SAME SIZE FOR ALL PAGES)
   Only background image changes per page class
===================================================== */
:root {
  --nav-h: 90px;
  --ph-gap-top: 28px; /* space below navbar */
  --ph-side: clamp(14px, 4vw, 90px); /* left/right inset */
  --ph-vert: 14px; /* top/bottom inset */
  --ph-radius: 18px;

  --ph-height: 60vh;
  --ph-min: 420px;
  --ph-max: 620px;
}

/* Same size for ALL page-header banners */
.page-header {
  position: relative !important;
  margin-top: calc(var(--nav-h) + var(--ph-gap-top)) !important;
  height: var(--ph-height) !important;
  min-height: var(--ph-min) !important;
  max-height: var(--ph-max) !important;
  overflow: visible !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
}

/* Boxed background area */
.page-header .page-header-bg {
  display: block !important;
  position: absolute !important;
  top: var(--ph-vert) !important;
  bottom: var(--ph-vert) !important;
  left: var(--ph-side) !important;
  right: var(--ph-side) !important;

  border-radius: var(--ph-radius) !important;
  overflow: hidden !important;
  z-index: 0 !important;

  background-image: var(--ph-bg) !important; /* set per page */
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center 35% !important;
}

/* Overlay */
.page-header .page-header-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(7, 19, 31, 0.55) !important;
}

/* Text above bg */
.page-header .container,
.page-header .page-header-content {
  position: relative !important;
  z-index: 2 !important;
  text-align: left !important;
}

/* Force your title lines to stack */
.page-header .page-title .line {
  display: block !important;
}

/* Mobile */
@media (max-width: 768px) {
  :root {
    --ph-side: 12px;
    --ph-vert: 12px;
  }
}

.page-header.services-header .page-header-bg {
  background-image: url("../assets/images/new1.jpg") !important;
  background-size: cover !important;
  background-position: center 35% !important;
  background-repeat: no-repeat !important;
}

.page-header.services-header .page-header-bg::after {
  background: rgba(7, 19, 31, 0.45) !important;
}

/* Reduce gap between title lines in Services header */
.page-header.services-header .page-title {
  line-height: 0.95 !important; /* tighter lines */
}

.page-header.services-header .page-title .line {
  margin: 0 !important; /* remove any default margins */
  padding: 0 !important;
}

/* Optional: if still too much, make it tighter */
.page-header.services-header .page-title .line + .line {
  margin-top: -4px !important; /* adjust: -3px to -10px */
}

/* Products header background image */
.page-header.products-header .page-header-bg {
  background-image: url("../assets/images/work11.jpg") !important;
  background-size: cover !important;
  background-position: center 35% !important;
  background-repeat: no-repeat !important;
}

/* overlay (adjust if image not visible enough) */
.page-header.products-header .page-header-bg::after {
  background: rgba(7, 19, 31, 0.45) !important;
}

/* normal spacing between title lines */
.page-header.products-header .page-title {
  line-height: 1.08 !important;
}
.page-header.products-header .page-title .line + .line {
  margin-top: 6px !important;
}
/* Gallery header background image */
.page-header.gallery-header .page-header-bg {
  background-image: url("../assets/images/newone1.jpg") !important;
  background-size: cover !important;
  background-position: center 35% !important;
  background-repeat: no-repeat !important;
}

.page-header.gallery-header .page-header-bg::after {
  background: rgba(7, 19, 31, 0.45) !important;
}

/* normal spacing between lines */
.page-header.gallery-header .page-title {
  line-height: 1.08 !important;
}
.page-header.gallery-header .page-title .line + .line {
  margin-top: 6px !important;
}
/* CONTACT header: match other page headers */
.page-header.contact-header .page-header-content {
  text-align: left !important;
  max-width: 900px;
}

.page-header.contact-header .page-title {
  font-family: "Rajdhani", sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.08 !important;
  margin: 10px 0 0 !important;
}

.page-header.contact-header .page-title .line {
  display: block !important;
}

.page-header.contact-header .page-subtitle {
  margin: 12px 0 0 !important;
  max-width: 650px;
  font-family: "Poppins", sans-serif !important;
  color: rgba(255, 255, 255, 0.8);
  text-align: left !important; /* this fixes the center look */
}
/* =========================
   FOOTER: Increase font size (columns + bottom)
========================= */

/* Main footer area (columns) */
footer {
  font-size: 16px !important; /* base size */
  line-height: 1.8 !important;
}

footer p,
footer li,
footer a {
  font-size: 15.5px !important; /* links + text */
  line-height: 1.85 !important;
}

/* Footer headings like: Quick Links / Our Services / Contact Information */
footer h3,
footer h4,
footer .footer-title,
footer .widget-title {
  font-size: 18.5px !important;
  line-height: 1.3 !important;
}

/* Bottom bar text */
.footer-bottom .copyright,
.footer-bottom .footer-bottom-links a {
  font-size: 16px !important;
}

/* Optional: make links a bit clearer */
footer a {
  color: rgba(255, 255, 255, 0.78);
}
footer a:hover {
  color: var(--primary);
}

/* Services list / feature icons: remove ORANGE and use GOLD */
.service-features svg,
.service-features svg * {
  stroke: var(--primary) !important; /* gold */
}

/* If the orange circle is from CSS pseudo element */
.service-features li::before,
.service-features .feature-item::before {
  border-color: var(--primary) !important;
  background: transparent !important;
}
/* Contact header background */
.page-header.contact-header .page-header-bg {
  background-image: url("../assets/images/newone.jpg") !important; /* change image if needed */
  background-size: cover !important;
  background-position: center 35% !important;
  background-repeat: no-repeat !important;
}

/* Overlay (adjust opacity if image not visible) */
.page-header.contact-header .page-header-bg::after {
  background: rgba(7, 19, 31, 0.5) !important;
}

/* Subtitle look same as other pages */
.page-header.contact-header .page-subtitle {
  margin-top: 12px !important;
  max-width: 650px;
  color: rgba(255, 255, 255, 0.82);
}
/* Reduce extra space in "Complete Coating Solutions" section */
.services-overview,
.services-preview,
#services-overview,
#services-preview {
  padding-top: 40px !important; /* was large */
  padding-bottom: 40px !important;
}

/* If the section header itself has margin */
.services-overview .section-header,
.services-preview .section-header {
  margin-bottom: 20px !important;
}

/* Reduce extra top margin of title/subtitle */
.services-overview .section-title,
.services-preview .section-title {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.services-overview .section-subtitle,
.services-preview .section-subtitle {
  margin-top: 0 !important;
}
/* Reduce overall section vertical spacing (all pages) */
.section {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* Mobile */
@media (max-width: 768px) {
  .section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* =====================================================
   FULL BLEED HERO (Desktop): no left/right gap, no curve
   ===================================================== */
@media (min-width: 992px) {
  /* if you used variables for gaps/radius, force them to 0 */
  :root {
    --hero-side-gap: 0px;
    --hero-vert-gap: 0px;
    --hero-radius: 0px;
  }

  /* Make the slider touch all edges of the hero */
  .hero .hero-slider {
    inset: 0 !important; /* removes top/bottom/left/right gaps */
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;

    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* Remove rounding from all layers */
  .hero .slide,
  .hero .slide-img,
  .hero .slide-dark {
    border-radius: 0 !important;
  }
}

/* =====================================================
   GLOBAL FULL-WIDTH HERO / BANNERS (DESKTOP)
   - removes curve (border-radius)
   - removes left/right gaps (inset/side-gap rules)
   Paste at END of style.css
   ===================================================== */
@media (min-width: 992px) {
  /* If you used variables to create boxed hero, kill them on desktop */
  :root {
    --hero-side-gap: 0px !important;
    --hero-vert-gap: 0px !important;
    --hero-radius: 0px !important;
  }

  /* Make hero/banner sections full-bleed even if wrapped by a container */
  .hero,
  .page-header {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* Remove any “boxed slider” inset/padding that creates side gaps */
  .hero .hero-slider,
  .about-hero .hero-slider,
  .services-hero .hero-slider,
  .products-hero .hero-slider {
    inset: 0 !important; /* removes top/bottom/left/right gaps */
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    height: 100% !important;

    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* Ensure slides + overlays never round corners */
  .hero .slide,
  .hero .slide-img,
  .hero .slide-dark,
  .page-header .page-header-bg {
    border-radius: 0 !important;
  }
}

/* Safety: remove browser default whitespace */
html,
body {
  margin: 0;
  padding: 0;
}

/* =====================================================
   FULL-WIDTH HERO/BANNERS (DESKTOP)
   Fix ONLY: left/right gap + curved corners
   Keeps: your existing hero height + navbar spacing
   ===================================================== */
@media (min-width: 992px) {
  /* HERO (home + any page using .hero) */
  .hero .hero-slider {
    /* IMPORTANT: keep top/bottom gap as it is, remove only left/right */
    inset: var(--hero-vert-gap, 0px) 0 !important; /* top/bottom = same, left/right = 0 */
    width: 100% !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .hero .slide,
  .hero .slide-img,
  .hero .slide-dark {
    border-radius: 0 !important;
  }

  /* INNER PAGES (page-header banners like Contact/About/etc.) */
  .page-header {
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* If your banner image is on .page-header-bg, force it to full width */
  .page-header .page-header-bg {
    inset: 0 !important;
    border-radius: 0 !important;
  }
}

/* Prevent horizontal scroll if any 100vw rule exists elsewhere */
html,
body {
  overflow-x: hidden;
}

/* =========================================
   MOBILE: HERO/BANNER FULL WIDTH + NO CURVE
   applies to ALL pages
   ========================================= */
@media (max-width: 768px) {
  /* 1) Standardize navbar height so hero spacing is consistent */
  :root {
    --nav-h: 72px;
  } /* adjust 64–80 if you want */

  .navbar {
    height: var(--nav-h) !important;
    padding: 0 !important; /* IMPORTANT: remove variable padding */
  }
  .nav-container {
    height: 100% !important;
    padding: 0 var(--container-padding) !important; /* keep side padding only */
  }

  /* 2) Remove ALL boxed hero variables on mobile */
  :root {
    --hero-gap: 0px !important;
    --hero-side-gap: 0px !important;
    --hero-vert-gap: 0px !important;
    --hero-radius: 0px !important;
  }

  /* 3) HERO height + spacing below navbar (no extra empty top space) */
  .hero {
    margin-top: var(--nav-h) !important;
    height: calc(100svh - var(--nav-h)) !important;
    min-height: 520px !important;
    max-height: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* 4) Make slider truly full inside hero (no inset = no left/right gap) */
  .hero .hero-slider {
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;

    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* 5) Remove rounding from ALL layers that can clip the image */
  .hero .slide,
  .hero .slide-img,
  .hero .slide-dark {
    border-radius: 0 !important;
  }

  /* 6) Dots spacing on mobile */
  .dots {
    bottom: 14px !important;
    gap: 10px !important;
  }
  .dot {
    width: 10px !important;
    height: 10px !important;
  }

  /* 7) INNER PAGES (About/Services/Contact etc) page header banner full width */
  .page-header {
    padding-top: calc(var(--nav-h) + 26px) !important;
    padding-bottom: 34px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
  .page-header .page-header-bg {
    inset: 0 !important;
    border-radius: 0 !important;
  }

  /* 8) Reduce section spacing on mobile (optional but usually needed) */
  .section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
}

/* Prevent any horizontal scroll caused by earlier 100vw rules */
html,
body {
  overflow-x: hidden;
}

/* MOBILE: remove boxed spacing + reduce extra height */
@media (max-width: 768px) {
  :root {
    --hero-gap: 0px;
    --hero-side-gap: 0px;
    --hero-vert-gap: 0px;
    --hero-radius: 0px;
    --nav-h: 72px; /* adjust if needed */
  }

  .hero {
    margin-top: var(--nav-h) !important;
    height: calc(100svh - var(--nav-h)) !important;
    min-height: 480px !important;
    max-height: none !important;
  }

  .hero-slider {
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
  }

  .slide,
  .slide-img,
  .slide-dark {
    border-radius: 0 !important;
  }

  .dots {
    bottom: 12px !important;
  }
}

/* =========================================
   MOBILE SPACING (ALL PAGES)
   Fix hero height + content position + dots
   ========================================= */
@media (max-width: 768px) {
  /* Use a realistic navbar height on mobile */
  :root {
    --nav-h: 72px;
  }

  /* ---------- HOME / ALL HERO SLIDERS ---------- */
  .hero {
    /* prevent extra tall hero */
    min-height: 0 !important;
    margin-top: var(--nav-h) !important;

    /* total (navbar + hero) = 100% screen height */
    height: calc(100svh - var(--nav-h)) !important;
  }

  /* slider fills hero */
  .hero-slider,
  .slide {
    height: 100% !important;
  }

  /* STOP vertical centering (top:50%) -> this is the main empty space reason */
  .slide-text {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;

    /* give proper inner spacing */
    padding: 28px 16px 64px !important; /* bottom padding reserves space for dots */
    max-width: 100% !important;

    /* layout */
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important; /* content starts from top -> removes big top gap */
  }

  /* reduce internal gaps (spacing only) */
  .hero-badge {
    margin-bottom: 14px !important;
  }
  .slide-text h1 {
    margin-bottom: 12px !important;
  }
  .slide-text p {
    margin-bottom: 18px !important;
  }

  /* dots spacing */
  .dots {
    bottom: 14px !important;
    gap: 10px !important;
  }
  .dot {
    width: 10px !important;
    height: 10px !important;
  }

  /* ---------- INNER PAGES (About/Contact/Services page-header) ---------- */
  .page-header {
    padding-top: calc(var(--nav-h) + 22px) !important;
    padding-bottom: 30px !important;
  }

  /* reduce section spacing on mobile (all pages) */
  .section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .section-header {
    margin-bottom: 28px !important;
  }
}

/* small phones */
@media (max-width: 480px) {
  :root {
    --nav-h: 68px;
  }

  .slide-text {
    padding: 22px 14px 56px !important;
  }

  .dots {
    bottom: 12px !important;
  }
}
@media (max-width: 500px) {
  .hero {
    height: min(500px, calc(100svh - var(--nav-h))) !important;
  }
}

/* =========================================
   SERVICES: Alternate layout (NO HTML change)
   Desktop: L/R alternating
   Mobile: stacked (content then image)
   ========================================= */

/* Base layout */
.service-detail .service-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;

  /* use grid areas so we can swap sides cleanly */
  grid-template-areas: "content media";
}

.service-detail .service-detail-content {
  grid-area: content;
}
.service-detail .service-detail-image {
  grid-area: media;
}

/* IMPORTANT: neutralize your existing .reverse direction trick (if present) */
.service-detail .service-detail-grid.reverse {
  direction: ltr !important;
}
.service-detail .service-detail-grid.reverse > * {
  direction: ltr !important;
}

/* Reverse (2nd, 4th, 6th...) — using your section IDs */
#ced-coating .service-detail-grid,
#industrial-coating .service-detail-grid,
#quality-testing .service-detail-grid {
  grid-template-areas: "media content";
}

/* Mobile: always stack (content first, image second) */
@media (max-width: 991px) {
  .service-detail .service-detail-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    grid-template-areas:
      "content"
      "media";
  }
}

/* =========================================
   MOBILE: INNER PAGE HERO / BANNER SPACING
   (Gallery/About/Contact/Products etc.)
   ========================================= */
@media (max-width: 768px) {
  /* Reduce banner height + padding */
  .page-header {
    /* remove any fixed big height if you have it */
    min-height: auto !important;
    height: auto !important;

    /* keep it compact under fixed navbar */
    padding-top: calc(var(--nav-h, 72px) + 18px) !important;
    padding-bottom: 18px !important;
  }

  /* Tighten spacing inside banner text block */
  .page-header-content .breadcrumb {
    margin-bottom: 10px !important;
  }

  .page-header-content .page-header-kicker,
  .page-header-content .section-tag {
    margin-bottom: 10px !important;
  }

  .page-header-content .page-title,
  .page-header-content h1 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    line-height: 1.15; /* slightly tighter */
  }

  .page-header-content .page-subtitle,
  .page-header-content p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Smaller phones */
@media (max-width: 480px) {
  .page-header {
    padding-top: calc(var(--nav-h, 68px) + 14px) !important;
    padding-bottom: 14px !important;
  }

  .page-header-content .breadcrumb {
    margin-bottom: 8px !important;
  }

  .page-header-content .page-title,
  .page-header-content h1 {
    margin-bottom: 8px !important;
  }
}

/* =========================================
   FOOTER: Quick Links ">" and Our Services "•"
   (always visible, not hover-only)
   ========================================= */

/* Remove default bullets */
.footer .footer-links {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

/* Make links align like reference */
.footer .footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

/* If you have any global hover decoration using ::after, disable only in footer */

/* Force marker always visible (fix “shows only on hover”) */
.footer .footer-links a::before {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
  line-height: 1;
}

/* Quick Links column (1st footer-links-col) => ">" */
.footer .footer-grid .footer-links-col:nth-of-type(1) .footer-links a::before {
  content: ">" !important;
  font-weight: 700;
  color: var(--primary);
}

/* Our Services column (2nd footer-links-col) => "•" */
.footer .footer-grid .footer-links-col:nth-of-type(2) .footer-links a::before {
  content: "•" !important;
  font-weight: 900;
  color: var(--primary);
}

/* =========================================
   HERO BUTTONS (MOBILE): compact, not full width
   Applies to all hero sections/pages
   ========================================= */
@media (max-width: 768px) {
  /* stack buttons but don't stretch full width */
  .hero .slide-btns,
  .hero .hero-buttons {
    flex-direction: column !important;
    align-items: center !important; /* center the buttons */
    gap: 10px !important;
  }

  /* compact button size + prevent full-width stretch */
  .hero .slide-btns a.btn-main,
  .hero .slide-btns a.btn-outline,
  .hero .hero-buttons a.btn-main,
  .hero .hero-buttons a.btn-outline {
    width: auto !important; /* IMPORTANT: cancels width:100% */
    min-width: 0 !important;
    max-width: 360px !important; /* controls left/right size */
    padding: 10px 16px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  .hero .slide-btns a.btn-main,
  .hero .slide-btns a.btn-outline,
  .hero .hero-buttons a.btn-main,
  .hero .hero-buttons a.btn-outline {
    max-width: 300px !important;
    padding: 9px 14px !important;
    font-size: 12.5px !important;
  }
}

/* ==================================================
   MOBILE: bring HERO content (buttons) closer to dots
   (Home hero slider + any hero using .slide-text/.dots)
   ================================================== */
@media (max-width: 768px) {
  /* Make hero not unnecessarily tall */
  section.hero#hero {
    min-height: 0 !important;
    height: min(560px, calc(100svh - var(--nav-h, 72px))) !important;
  }

  /* Anchor the text block nearer the bottom (reduces gap above dots) */
  section.hero#hero .slide-text {
    top: auto !important;
    bottom: 44px !important; /* text ends near dots */
    left: 16px !important;
    right: 16px !important;
    transform: none !important;
    max-width: none !important;
  }

  /* Place dots just under buttons */
  section.hero#hero .dots {
    bottom: 12px !important;
  }
}

/* Smaller phones */
@media (max-width: 480px) {
  section.hero#hero {
    height: min(520px, calc(100svh - var(--nav-h, 68px))) !important;
  }
  section.hero#hero .slide-text {
    bottom: 40px !important;
    left: 14px !important;
    right: 14px !important;
  }
  section.hero#hero .dots {
    bottom: 10px !important;
  }
}

/* ===== HERO OVERLAY FIX - CLEARER IMAGES ===== */

/* Current dark overlay - make it lighter */
.slide-dark {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* ★ Changed from solid dark to gradient overlay */
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.15) 50%,
    rgba(0, 0, 0, 0.25) 100%
  ) !important;
  z-index: 1;
}

/* Make text readable over lighter overlay */
.slide-text {
  position: relative;
  z-index: 2;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.slide-text h1 {
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.slide-text p {
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

/* ===== MOBILE - EVEN CLEARER ===== */
@media (max-width: 768px) {
  .slide-dark {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.15) 0%,
      rgba(0, 0, 0, 0.1) 30%,
      rgba(0, 0, 0, 0.35) 70%,
      rgba(0, 0, 0, 0.5) 100%
    ) !important;
  }

  .slide-text h1 {
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.6);
  }

  .slide-text p {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
  }
}

@media (max-width: 480px) {
  .slide-dark {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.1) 0%,
      rgba(0, 0, 0, 0.08) 30%,
      rgba(0, 0, 0, 0.3) 65%,
      rgba(0, 0, 0, 0.5) 100%
    ) !important;
  }
}
/* Optional: subtle bottom gradient only where text sits */
.slide-dark {
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 50%,
    rgba(0, 0, 0, 0.25) 100%
  ) !important;
}

/* ===== ALL PAGES - CLEAR IMAGE WITH LIGHT OVERLAY ===== */

/* ★ FIX: Replace dark overlay with light gradient on ALL pages */
.page-header .page-header-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    135deg,
    rgba(7, 19, 31, 0.35) 0%,
    rgba(7, 19, 31, 0.15) 50%,
    rgba(7, 19, 31, 0.25) 100%
  ) !important;
}

/* ★ About Page - Lighter overlay */
.page-header.about-header .page-header-bg::after {
  background: linear-gradient(
    135deg,
    rgba(7, 19, 31, 0.3) 0%,
    rgba(7, 19, 31, 0.12) 50%,
    rgba(7, 19, 31, 0.22) 100%
  ) !important;
}

/* ★ Services Page - Lighter overlay */
.page-header.services-header .page-header-bg::after {
  background: linear-gradient(
    135deg,
    rgba(7, 19, 31, 0.3) 0%,
    rgba(7, 19, 31, 0.12) 50%,
    rgba(7, 19, 31, 0.22) 100%
  ) !important;
}

/* ★ Products Page - Lighter overlay */
.page-header.products-header .page-header-bg::after {
  background: linear-gradient(
    135deg,
    rgba(7, 19, 31, 0.3) 0%,
    rgba(7, 19, 31, 0.12) 50%,
    rgba(7, 19, 31, 0.22) 100%
  ) !important;
}

/* ★ Gallery Page - Lighter overlay */
.page-header.gallery-header .page-header-bg::after {
  background: linear-gradient(
    135deg,
    rgba(7, 19, 31, 0.3) 0%,
    rgba(7, 19, 31, 0.12) 50%,
    rgba(7, 19, 31, 0.22) 100%
  ) !important;
}

/* ★ Contact Page - Lighter overlay */
.page-header.contact-header .page-header-bg::after {
  background: linear-gradient(
    135deg,
    rgba(7, 19, 31, 0.3) 0%,
    rgba(7, 19, 31, 0.12) 50%,
    rgba(7, 19, 31, 0.22) 100%
  ) !important;
}

/* ★ Also remove any background color on page-header itself */
.page-header {
  background: transparent !important;
  background-color: transparent !important;
}

.page-header.about-header {
  background: transparent !important;
  background-color: transparent !important;
}

/* ===== TEXT SHADOWS FOR READABILITY ===== */
.page-title {
  text-shadow:
    0 2px 4px rgba(0, 0, 0, 0.6),
    0 4px 12px rgba(0, 0, 0, 0.4),
    0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.page-title .highlight {
  text-shadow:
    0 2px 4px rgba(0, 0, 0, 0.6),
    0 4px 12px rgba(0, 0, 0, 0.4),
    0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.page-header-kicker {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5) !important;
}

.page-subtitle {
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.5),
    0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.page-header .breadcrumb,
.page-header .breadcrumb a,
.page-header .breadcrumb .current,
.page-header .breadcrumb .separator {
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

/* ===== TABLET ===== */
@media (max-width: 768px) {
  .page-header .page-header-bg::after,
  .page-header.about-header .page-header-bg::after,
  .page-header.services-header .page-header-bg::after,
  .page-header.products-header .page-header-bg::after,
  .page-header.gallery-header .page-header-bg::after,
  .page-header.contact-header .page-header-bg::after {
    background: linear-gradient(
      to bottom,
      rgba(7, 19, 31, 0.15) 0%,
      rgba(7, 19, 31, 0.1) 30%,
      rgba(7, 19, 31, 0.3) 70%,
      rgba(7, 19, 31, 0.45) 100%
    ) !important;
  }

  .page-title {
    text-shadow:
      0 2px 6px rgba(0, 0, 0, 0.7),
      0 4px 16px rgba(0, 0, 0, 0.5),
      0 8px 30px rgba(0, 0, 0, 0.3) !important;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 480px) {
  .page-header .page-header-bg::after,
  .page-header.about-header .page-header-bg::after,
  .page-header.services-header .page-header-bg::after,
  .page-header.products-header .page-header-bg::after,
  .page-header.gallery-header .page-header-bg::after,
  .page-header.contact-header .page-header-bg::after {
    background: linear-gradient(
      to bottom,
      rgba(7, 19, 31, 0.1) 0%,
      rgba(7, 19, 31, 0.08) 30%,
      rgba(7, 19, 31, 0.25) 65%,
      rgba(7, 19, 31, 0.42) 100%
    ) !important;
  }

  .page-title {
    text-shadow:
      0 2px 8px rgba(0, 0, 0, 0.8),
      0 4px 20px rgba(0, 0, 0, 0.6) !important;
  }
}

/* ===== WHY CHOOSE SECTION - CLEAR IMAGE ===== */
.why-choose {
  position: relative;
  background-image:
    linear-gradient(
      135deg,
      rgba(7, 19, 31, 0.3) 0%,
      rgba(7, 19, 31, 0.12) 50%,
      rgba(7, 19, 31, 0.2) 100%
    ),
    url("../assets/images/backimage.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Remove any ::before overlay */
.why-choose::before {
  content: none !important;
  display: none !important;
}

/* Remove any ::after overlay */
.why-choose::after {
  content: none !important;
  display: none !important;
}

/* Cards - slightly transparent to show background */
.why-choose .advantage-card {
  background: rgba(12, 34, 53, 0.45) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Text readable with shadows */
.why-choose h2,
.why-choose .section-title {
  text-shadow:
    0 2px 4px rgba(0, 0, 0, 0.5),
    0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.why-choose p,
.why-choose .section-subtitle {
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.4),
    0 3px 8px rgba(0, 0, 0, 0.2) !important;
}

.why-choose .section-tag {
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

/* Card text */
.why-choose .advantage-card h3,
.why-choose .advantage-card h4 {
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

.why-choose .advantage-card p {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

/* ===== TABLET ===== */
@media (max-width: 768px) {
  .why-choose {
    background-image:
      linear-gradient(
        to bottom,
        rgba(7, 19, 31, 0.15) 0%,
        rgba(7, 19, 31, 0.1) 30%,
        rgba(7, 19, 31, 0.28) 70%,
        rgba(7, 19, 31, 0.4) 100%
      ),
      url("../assets/images/backimage.jpg") !important;
  }

  .why-choose .advantage-card {
    background: rgba(12, 34, 53, 0.5) !important;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 480px) {
  .why-choose {
    background-image:
      linear-gradient(
        to bottom,
        rgba(7, 19, 31, 0.1) 0%,
        rgba(7, 19, 31, 0.08) 30%,
        rgba(7, 19, 31, 0.25) 65%,
        rgba(7, 19, 31, 0.38) 100%
      ),
      url("../assets/images/backimage.jpg") !important;
  }

  .why-choose .advantage-card {
    background: rgba(12, 34, 53, 0.55) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
}

/* ===== WHY CHOOSE - TEXT CLEAR & SHARP ===== */

/* Section Title */
.why-choose h2,
.why-choose .section-title {
  color: #ffffff !important;
  font-weight: 800 !important;
  -webkit-text-stroke: 0.3px rgba(255, 255, 255, 0.9);
  text-shadow:
    0 0 10px rgba(0, 0, 0, 0.8),
    0 2px 4px rgba(0, 0, 0, 0.9),
    0 4px 12px rgba(0, 0, 0, 0.6),
    0 8px 24px rgba(0, 0, 0, 0.4) !important;
}

/* Highlight text in title */
.why-choose .section-title .highlight,
.why-choose h2 span {
  color: var(--primary) !important;
  -webkit-text-stroke: 0.3px var(--primary);
  text-shadow:
    0 0 10px rgba(0, 0, 0, 0.8),
    0 2px 4px rgba(0, 0, 0, 0.9),
    0 4px 12px rgba(0, 0, 0, 0.6) !important;
}

/* Section Tag (small text above title) */
.why-choose .section-tag {
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  background: rgba(0, 0, 0, 0.4) !important;
  padding: 6px 16px !important;
  border-radius: 30px !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.8),
    0 2px 6px rgba(0, 0, 0, 0.5) !important;
}

/* Section Subtitle */
.why-choose .section-subtitle,
.why-choose > .container > p {
  color: rgba(255, 255, 255, 0.95) !important;
  font-weight: 500 !important;
  text-shadow:
    0 0 8px rgba(0, 0, 0, 0.7),
    0 1px 3px rgba(0, 0, 0, 0.8),
    0 3px 8px rgba(0, 0, 0, 0.5) !important;
}

/* ===== CARD TEXT - SHARP & CLEAR ===== */

/* Card Title */
.why-choose .advantage-card h3,
.why-choose .advantage-card h4 {
  color: #ffffff !important;
  font-weight: 700 !important;
  -webkit-text-stroke: 0.2px rgba(255, 255, 255, 0.8);
  text-shadow:
    0 0 6px rgba(0, 0, 0, 0.6),
    0 1px 3px rgba(0, 0, 0, 0.7),
    0 3px 8px rgba(0, 0, 0, 0.4) !important;
}

/* Card Description */
.why-choose .advantage-card p {
  color: rgba(255, 255, 255, 0.92) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  text-shadow:
    0 0 5px rgba(0, 0, 0, 0.5),
    0 1px 3px rgba(0, 0, 0, 0.6),
    0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

/* Card Number / Badge */
.why-choose .advantage-card .card-number,
.why-choose .advantage-card span {
  color: rgba(255, 255, 255, 0.85) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Card Icon */
.why-choose .advantage-icon svg {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5)) !important;
}

/* ===== CARDS - BETTER CONTRAST BACKGROUND ===== */
.why-choose .advantage-card {
  background: rgba(7, 19, 31, 0.55) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow:
    0 4px 15px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.why-choose .advantage-card:hover {
  background: rgba(7, 19, 31, 0.65) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  box-shadow:
    0 8px 25px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* ===== TABLET ===== */
@media (max-width: 768px) {
  .why-choose h2,
  .why-choose .section-title {
    text-shadow:
      0 0 12px rgba(0, 0, 0, 0.85),
      0 2px 6px rgba(0, 0, 0, 0.9),
      0 4px 16px rgba(0, 0, 0, 0.6),
      0 8px 30px rgba(0, 0, 0, 0.4) !important;
  }

  .why-choose .section-subtitle,
  .why-choose > .container > p {
    text-shadow:
      0 0 10px rgba(0, 0, 0, 0.8),
      0 1px 4px rgba(0, 0, 0, 0.8),
      0 3px 10px rgba(0, 0, 0, 0.5) !important;
  }

  .why-choose .advantage-card {
    background: rgba(7, 19, 31, 0.6) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  .why-choose .advantage-card h3,
  .why-choose .advantage-card h4 {
    text-shadow:
      0 0 8px rgba(0, 0, 0, 0.7),
      0 2px 4px rgba(0, 0, 0, 0.8),
      0 4px 10px rgba(0, 0, 0, 0.5) !important;
  }

  .why-choose .advantage-card p {
    text-shadow:
      0 0 6px rgba(0, 0, 0, 0.6),
      0 1px 4px rgba(0, 0, 0, 0.7),
      0 3px 8px rgba(0, 0, 0, 0.4) !important;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 480px) {
  .why-choose h2,
  .why-choose .section-title {
    text-shadow:
      0 0 15px rgba(0, 0, 0, 0.9),
      0 2px 8px rgba(0, 0, 0, 0.95),
      0 4px 20px rgba(0, 0, 0, 0.7) !important;
  }

  .why-choose .section-subtitle,
  .why-choose > .container > p {
    text-shadow:
      0 0 12px rgba(0, 0, 0, 0.85),
      0 2px 6px rgba(0, 0, 0, 0.85),
      0 4px 12px rgba(0, 0, 0, 0.5) !important;
  }

  .why-choose .advantage-card {
    background: rgba(7, 19, 31, 0.65) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }

  .why-choose .advantage-card h3,
  .why-choose .advantage-card h4 {
    text-shadow:
      0 0 10px rgba(0, 0, 0, 0.8),
      0 2px 6px rgba(0, 0, 0, 0.85),
      0 4px 12px rgba(0, 0, 0, 0.5) !important;
  }

  .why-choose .advantage-card p {
    text-shadow:
      0 0 8px rgba(0, 0, 0, 0.7),
      0 2px 4px rgba(0, 0, 0, 0.75),
      0 4px 10px rgba(0, 0, 0, 0.4) !important;
  }
}
/* ===== FIX: SLIDE TOUCHING TOP + DOTS SPACING ===== */

/* Push text content down so it doesn't touch top */
.slide-text {
  position: absolute;
  top: 55%;
  left: 80px;
  transform: translateY(-50%);
  max-width: 620px;
  z-index: 5;
}

/* Dots closer to bottom content */
.dots {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 14px;
  z-index: 20;
}

/* ===== REDUCE SPACE BETWEEN TEXT ELEMENTS ===== */
.hero-badge {
  margin-bottom: 16px;
}

.slide-text h1 {
  margin-bottom: 14px;
  line-height: 1.1;
}

.slide-text p {
  margin-bottom: 24px;
  line-height: 1.7;
}

/* ===== TABLET ===== */
@media (max-width: 1024px) {
  .slide-text {
    top: 55%;
    left: 50px;
    max-width: 520px;
  }

  .hero-badge {
    margin-bottom: 14px;
  }

  .slide-text h1 {
    margin-bottom: 12px;
  }

  .slide-text p {
    margin-bottom: 20px;
  }

  .dots {
    bottom: 20px;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .slide-text {
    top: 50%;
    left: 20px;
    right: 20px;
    max-width: 100%;
    transform: translateY(-50%);
  }

  .hero-badge {
    margin-bottom: 12px;
    padding: 6px 14px;
    font-size: 11px;
  }

  .slide-text h1 {
    font-size: 30px;
    margin-bottom: 10px;
    line-height: 1.1;
  }

  .slide-text p {
    font-size: 13px;
    margin-bottom: 18px;
    line-height: 1.6;
  }

  .slide-btns {
    flex-direction: column;
    gap: 10px;
  }

  .btn-main,
  .btn-outline {
    padding: 12px 24px;
    font-size: 14px;
    text-align: center;
  }

  .dots {
    bottom: 15px;
    gap: 10px;
  }

  .dot {
    width: 10px;
    height: 10px;
  }
}

/* ===== SMALL MOBILE ===== */
@media (max-width: 480px) {
  .slide-text {
    top: 50%;
    left: 15px;
    right: 15px;
  }

  .hero-badge {
    margin-bottom: 10px;
    padding: 5px 12px;
    font-size: 10px;
  }

  .slide-text h1 {
    font-size: 24px;
    margin-bottom: 8px;
    line-height: 1.08;
  }

  .slide-text h1 span {
    display: inline;
  }

  .slide-text p {
    font-size: 12px;
    margin-bottom: 14px;
    line-height: 1.5;
  }

  .btn-main,
  .btn-outline {
    padding: 10px 20px;
    font-size: 13px;
  }

  .dots {
    bottom: 12px;
    gap: 8px;
  }

  .dot {
    width: 8px;
    height: 8px;
  }
}

/* ===== FIX: REMOVE TOP EMPTY SPACE ===== */

/* Remove top gap between navbar and hero */
:root {
  --hero-gap: 0px;
  --hero-vert-gap: 0px;
}

.hero {
  margin-top: var(--nav-h) !important;
  height: calc(100vh - var(--nav-h)) !important;
  max-height: none !important;
}

/* Slider fills full hero - no inner gaps */
.hero-slider {
  position: absolute;
  top: 0 !important;
  left: var(--hero-side-gap) !important;
  right: var(--hero-side-gap) !important;
  bottom: 0 !important;
  height: auto !important;
  border-radius: var(--hero-radius);
  overflow: hidden;
}

/* Slide fills full slider */
.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Image covers full slide */
.slide-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Text centered properly */
.slide-text {
  position: absolute;
  top: 50%;
  left: 80px;
  transform: translateY(-50%);
  max-width: 620px;
  z-index: 5;
}

/* Dots at bottom */
.dots {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
}

/* ===== TABLET ===== */
@media (max-width: 1024px) {
  .hero {
    margin-top: var(--nav-h) !important;
    height: calc(100vh - var(--nav-h)) !important;
  }

  .slide-text {
    top: 50%;
    left: 50px;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  :root {
    --hero-side-gap: 0px;
    --hero-radius: 0px;
  }

  .hero {
    margin-top: var(--nav-h) !important;
    height: calc(100vh - var(--nav-h)) !important;
    max-height: none !important;
    min-height: auto !important;
  }

  .hero-slider {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border-radius: 0 !important;
  }

  .slide-text {
    top: 50%;
    left: 20px;
    right: 20px;
    max-width: 100%;
  }

  .dots {
    bottom: 15px;
  }
}

/* ===== SMALL MOBILE ===== */
@media (max-width: 480px) {
  .hero {
    margin-top: var(--nav-h) !important;
    height: calc(100vh - var(--nav-h)) !important;
  }

  .slide-text {
    top: 50%;
    left: 15px;
    right: 15px;
  }

  .dots {
    bottom: 12px;
  }
}
/* MOBILE: remove space right after hero */
@media (max-width: 768px) {
  /* no extra space below hero */
  #hero,
  .hero {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* remove the top spacing of the very next section after hero */
  #hero + section,
  .hero + section,
  #hero + .section,
  .hero + .section {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
/* ================================================
   ABOUT PREVIEW — Text Readability Fix
   ================================================ */

.about-preview-content .about-text {
  color: #333333;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 16px;
  opacity: 1 !important;
  filter: none !important;
}

.about-preview-content .section-title {
  color: #111111;
  opacity: 1 !important;
  filter: none !important;
}

.about-preview-content .section-tag {
  opacity: 1 !important;
  filter: none !important;
}

/* ============================================
   STATS SECTION - Label Readability Fix
   ============================================ */

.stats-section .stat-label {
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2px;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none;
}

.stats-section .stat-number {
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
}

.stats-section .stat-card {
  text-align: center;
}

.stats-section .stat-icon {
  margin-bottom: 14px;
}

.stats-section .stat-number {
  margin-bottom: 10px;
}
.stats-section .stat-label {
  color: #e8e8e8;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  opacity: 1 !important;
  filter: none !important;
}
/* ============================================
   ABOUT OVERVIEW - Paragraph Text Only Fix
   ============================================ */

.about-overview .about-text-content p {
  color: #595151;
  font-size: 0.98rem;
  line-height: 1.85;
  margin-bottom: 18px;
  opacity: 1 !important;
  filter: none !important;
}

/* ============================================
   13-TANK PROCESS SECTION — Unique Styling
   Class prefix: tank- (won't conflict)
   ============================================ */

.tank-process-section {
  background: var(--bg-dark);
  padding: var(--section-padding) 0;
  position: relative;
  overflow: hidden;
}

.tank-process-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 107, 0, 0.3),
    transparent
  );
}

.tank-process-section::after {
  content: "";
  position: absolute;
  bottom: -200px;
  right: -200px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 107, 0, 0.03), transparent 70%);
  pointer-events: none;
}

/* ---- Phase Labels ---- */
.tank-phase {
  margin: 35px 0 18px;
}

.tank-phase:first-child {
  margin-top: 0;
}

.phase-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 107, 0, 0.06);
  border: 1px solid rgba(255, 107, 0, 0.15);
  border-radius: 50px;
  padding: 6px 20px 6px 8px;
}

.phase-num {
  background: var(--primary);
  color: var(--bg-dark);
  font-family: var(--font-display);
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 4px 12px;
  border-radius: 50px;
}

.phase-name {
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: 0.5px;
}

/* ---- Tank Row ---- */
.tank-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-bottom: 10px;
}

/* ---- Arrow between cards ---- */
.tank-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  padding: 0 4px;
}

.tank-arrow svg {
  width: 100%;
  height: auto;
}

/* ---- Individual Tank Card ---- */
.tank-card {
  flex: 1;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 22px 18px;
  position: relative;
  overflow: hidden;
  transition: all 0.4s ease;
  cursor: default;
}

.tank-card::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--primary), var(--primary-light));
  transform: scaleX(0);
  transition: transform 0.4s ease;
  transform-origin: left;
}

.tank-card:hover::before {
  transform: scaleX(1);
}

.tank-card:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateY(-4px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4);
}

/* Glow effect on hover */
.tank-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255, 107, 0, 0.06), transparent 70%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.tank-card:hover .tank-glow {
  opacity: 1;
}

/* ---- Tank Number ---- */
.tank-num {
  font-family: var(--font-display);
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--primary);
  letter-spacing: 2px;
  margin-bottom: 12px;
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

.tank-card:hover .tank-num {
  opacity: 1;
}

/* ---- Icon Circle ---- */
.tank-icon-circle {
  width: 44px;
  height: 44px;
  background: rgba(255, 107, 0, 0.08);
  border: 1px solid rgba(255, 107, 0, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  transition: all 0.4s ease;
}

.tank-icon-circle svg {
  width: 22px;
  height: 22px;
}

.tank-card:hover .tank-icon-circle {
  background: var(--primary);
  border-color: var(--primary);
  transform: scale(1.1);
  box-shadow: 0 0 20px rgba(255, 107, 0, 0.3);
}

.tank-card:hover .tank-icon-circle svg {
  stroke: var(--bg-dark);
}

/* ---- Card Text ---- */
.tank-body h4 {
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 4px;
  text-transform: none;
  transition: color 0.3s ease;
}

.tank-card:hover .tank-body h4 {
  color: var(--primary);
}

.tank-body p {
  font-size: 0.78rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.4;
}

/* ---- Highlighted Cards (Phosphating/Passivation) ---- */
.tank-card-highlight {
  border-color: rgba(255, 107, 0, 0.2);
  background: linear-gradient(135deg, rgba(255, 107, 0, 0.04), var(--bg-card));
}

/* ---- Final Card (Step 13) ---- */
.tank-card-final {
  border-color: rgba(255, 107, 0, 0.3);
  background: linear-gradient(135deg, rgba(255, 107, 0, 0.08), var(--bg-card));
}

.tank-card-final .tank-num {
  opacity: 1;
}

.tank-card-final .tank-icon-circle {
  background: var(--primary);
  border-color: var(--primary);
}

.tank-card-final .tank-icon-circle svg {
  stroke: var(--bg-dark);
}

/* ---- Bottom Result ---- */
.tank-result {
  margin-top: 50px;
}

.tank-result-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  background: linear-gradient(
    135deg,
    rgba(255, 107, 0, 0.06),
    rgba(255, 107, 0, 0.01)
  );
  border: 1px solid rgba(255, 107, 0, 0.15);
  border-radius: var(--radius-lg);
  padding: 30px 35px;
  transition: all 0.4s ease;
}

.tank-result-inner:hover {
  border-color: rgba(255, 107, 0, 0.35);
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}

.tank-result-icon {
  width: 55px;
  height: 55px;
  min-width: 55px;
}

.tank-result-icon svg {
  width: 100%;
  height: 100%;
}

.tank-result-text h3 {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.tank-result-text p {
  color: var(--text-secondary);
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.7;
}

/* ============================================
   13-TANK PROCESS — RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
  .tank-row {
    flex-wrap: wrap;
    gap: 12px;
  }

  .tank-card {
    flex: 1 1 calc(33.33% - 30px);
    min-width: 180px;
  }

  .tank-arrow {
    display: none;
  }
}

@media (max-width: 768px) {
  .tank-process-section {
    padding: 70px 0;
  }

  .tank-row {
    gap: 10px;
  }

  .tank-card {
    flex: 1 1 calc(50% - 10px);
    min-width: 140px;
    padding: 18px 14px;
  }

  .tank-icon-circle {
    width: 38px;
    height: 38px;
  }

  .tank-icon-circle svg {
    width: 18px;
    height: 18px;
  }

  .tank-body h4 {
    font-size: 0.88rem;
  }

  .tank-body p {
    font-size: 0.72rem;
  }

  .tank-result-inner {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
  }

  .phase-label {
    padding: 4px 14px 4px 6px;
  }

  .phase-name {
    font-size: 0.82rem;
  }
}

@media (max-width: 480px) {
  .tank-card {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
  }

  .tank-num {
    position: absolute;
    top: 8px;
    right: 10px;
    margin: 0;
  }

  .tank-icon-circle {
    margin-bottom: 0;
    width: 40px;
    height: 40px;
    min-width: 40px;
  }

  .tank-body h4 {
    font-size: 0.9rem;
  }

  .tank-result-icon {
    width: 45px;
    height: 45px;
    min-width: 45px;
  }
}
/* ============================================
   SERVICE DETAIL SECTIONS
   ============================================ */

.service-detail {
  background: var(--bg-section);
  padding: var(--section-padding) 0;
  position: relative;
  overflow: hidden;
}

.service-detail-alt {
  background: var(--bg-dark);
}

/* ---- Grid Layout ---- */
.service-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.service-detail-grid.reverse {
  direction: rtl;
}

.service-detail-grid.reverse > * {
  direction: ltr;
}

/* ---- Service Number ---- */
.service-number {
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 800;
  color: rgba(255, 107, 0, 0.08);
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: 4px;
}

/* ---- Content ---- */
.service-detail-content h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: var(--text-primary);
  margin-bottom: 16px;
  line-height: 1.2;
}

.service-desc {
  color: #d2d2d2;
  font-size: 0.95rem;
  line-height: 1.8;
  margin-bottom: 20px;
}

.service-desc strong {
  color: var(--text-primary);
  font-weight: 600;
}

/* ---- Process Brief Box ---- */
.service-process-brief {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius-md);
  padding: 16px 20px;
  margin: 20px 0;
}

.service-process-brief h4 {
  font-family: var(--font-heading);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--primary);
  margin-bottom: 6px;
}

.service-process-brief p {
  color: #d2d2d2;
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.6;
}

/* ---- Features Grid ---- */
.service-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 22px 0;
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  transition: all var(--transition-normal);
}

.feature-item:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateX(4px);
  background: var(--bg-card-hover);
}

.feature-item svg {
  width: 22px;
  height: 22px;
  min-width: 22px;
}

.feature-item span {
  font-size: 0.85rem;
  color: var(--text-primary);
  font-weight: 500;
  line-height: 1.3;
}

/* ---- Application Tags ---- */
.service-applications {
  margin: 22px 0 28px;
}

.service-applications h4 {
  font-family: var(--font-heading);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--primary);
  margin-bottom: 10px;
}

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

.app-tag {
  display: inline-block;
  padding: 6px 16px;
  background: var(--primary-subtle);
  border: 1px solid rgba(255, 107, 0, 0.2);
  border-radius: 50px;
  font-size: 0.8rem;
  color: var(--primary-light);
  font-weight: 500;
  transition: all var(--transition-normal);
}

.app-tag:hover {
  background: var(--primary);
  color: var(--bg-dark);
  border-color: var(--primary);
  transform: translateY(-2px);
}

/* ---- Service Image ---- */
.service-detail-image {
  position: relative;
}

.service-image-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-color);
  transition: all var(--transition-normal);
}

.service-image-frame:hover {
  border-color: rgba(255, 107, 0, 0.3);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}

.service-photo-wrap {
  width: 100%;
  min-height: 400px;
  background: var(--bg-card);
  overflow: hidden;
}

.service-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.service-image-frame:hover .service-photo {
  transform: scale(1.05);
}

/* ============================================
   SERVICE SECTIONS — RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
  .service-detail-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .service-detail-grid.reverse {
    direction: ltr;
  }

  .service-photo-wrap {
    min-height: 320px;
  }

  .service-number {
    font-size: 2.8rem;
  }
}

@media (max-width: 768px) {
  .service-detail {
    padding: 70px 0;
  }

  .service-features {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .feature-item {
    padding: 10px 12px;
  }

  .feature-item span {
    font-size: 0.82rem;
  }

  .service-desc {
    font-size: 0.9rem;
  }

  .service-photo-wrap {
    min-height: 260px;
  }

  .service-number {
    font-size: 2.2rem;
  }

  .service-process-brief {
    padding: 14px 16px;
  }

  .service-process-brief p {
    font-size: 0.85rem;
  }

  .app-tags {
    gap: 6px;
  }

  .app-tag {
    font-size: 0.75rem;
    padding: 5px 12px;
  }
}

@media (max-width: 480px) {
  .service-detail {
    padding: 50px 0;
  }

  .service-detail-content h2 {
    font-size: 1.5rem;
  }

  .service-desc {
    font-size: 0.88rem;
    line-height: 1.7;
  }

  .service-photo-wrap {
    min-height: 220px;
  }

  .service-number {
    font-size: 1.8rem;
    margin-bottom: 6px;
  }

  .feature-item svg {
    width: 18px;
    height: 18px;
    min-width: 18px;
  }

  .feature-item span {
    font-size: 0.78rem;
  }
}

/* ============================================
   13-TANK PRE-TREATMENT — WITH IMAGES
   Class prefix: pt- (scoped, won't conflict)
   ============================================ */

.pretreat-section {
  background: var(--bg-dark);
  padding: var(--section-padding) 0;
  position: relative;
  overflow: hidden;
}

.pretreat-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 107, 0, 0.25),
    transparent
  );
}

.pretreat-section::after {
  content: "";
  position: absolute;
  bottom: -250px;
  right: -250px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 107, 0, 0.03), transparent 70%);
  pointer-events: none;
}

/* ---- Phase Badge ---- */
.pt-phase {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 45px 0 22px;
}

.pt-phase:first-of-type {
  margin-top: 10px;
}

.pt-phase-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 107, 0, 0.06);
  border: 1px solid rgba(255, 107, 0, 0.15);
  border-radius: 50px;
  padding: 5px 18px 5px 5px;
  flex-shrink: 0;
}

.pt-phase-num {
  background: var(--primary);
  color: var(--bg-dark);
  font-family: var(--font-display);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 2px;
  padding: 4px 10px;
  border-radius: 50px;
}

.pt-phase-name {
  font-family: var(--font-heading);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-primary);
}

.pt-phase-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 107, 0, 0.2), transparent);
}

/* ---- Grid ---- */
.pt-grid {
  display: grid;
  gap: 18px;
  margin-bottom: 10px;
}

.pt-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.pt-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* ---- Card ---- */
.pt-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
  transition: all 0.4s ease;
}

.pt-card::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--primary), var(--primary-light));
  transform: scaleX(0);
  transition: transform 0.4s ease;
  transform-origin: left;
  z-index: 2;
}

.pt-card:hover::before {
  transform: scaleX(1);
}

.pt-card:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateY(-8px);
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.4),
    0 0 25px rgba(255, 107, 0, 0.06);
}

/* ---- Card Image ---- */
.pt-card-img {
  position: relative;
  height: 180px;
  overflow: hidden;
  background: var(--bg-card-hover);
}

.pt-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 0.6s ease,
    filter 0.3s ease;
  filter: brightness(0.8) saturate(0.9);
}

.pt-card:hover .pt-card-img img {
  transform: scale(1.08);
  filter: brightness(1) saturate(1);
}

/* Number badge on image */
.pt-card-num-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: var(--font-display);
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--primary);
  background: rgba(0, 0, 0, 0.65);
  border: 1px solid rgba(255, 107, 0, 0.3);
  backdrop-filter: blur(8px);
  padding: 4px 11px;
  border-radius: 50px;
  letter-spacing: 2px;
  z-index: 2;
  transition: all 0.3s ease;
}

.pt-card:hover .pt-card-num-badge {
  background: var(--primary);
  color: var(--bg-dark);
  border-color: var(--primary);
}

/* Tag badge (Critical/Key/Final) */
.pt-card-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--primary);
  color: var(--bg-dark);
  font-family: var(--font-display);
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 4px 10px;
  border-radius: 50px;
  z-index: 2;
}

/* ---- Card Body ---- */
.pt-card-body {
  padding: 18px 18px 20px;
}

.pt-card-body h4 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
  text-transform: none;
  transition: color 0.3s ease;
}

.pt-card:hover .pt-card-body h4 {
  color: var(--primary);
}

.pt-card-body > p {
  font-size: 0.82rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 12px;
}

/* Meta tags */
.pt-card-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pt-card-meta span {
  display: inline-flex;
  align-items: center;
  font-size: 0.68rem;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-color);
  padding: 4px 10px;
  border-radius: 50px;
  transition: all 0.3s ease;
}

.pt-card:hover .pt-card-meta span {
  border-color: rgba(255, 107, 0, 0.2);
  color: var(--text-secondary);
}

/* ---- Featured Card ---- */
.pt-card-featured {
  border-color: rgba(255, 107, 0, 0.18);
}

.pt-card-featured::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--primary), var(--primary-light));
  z-index: 2;
}

/* ---- Final Card ---- */
.pt-card-final {
  border-color: rgba(255, 107, 0, 0.25);
}

.pt-card-final::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--primary),
    var(--primary-light),
    var(--primary)
  );
  z-index: 2;
}

/* ---- Bottom Result ---- */
.pt-result {
  margin-top: 50px;
}

.pt-result-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: linear-gradient(
    135deg,
    rgba(255, 107, 0, 0.06),
    rgba(255, 107, 0, 0.01)
  );
  border: 1px solid rgba(255, 107, 0, 0.15);
  border-radius: var(--radius-lg);
  padding: 35px 40px;
  transition: all 0.4s ease;
}

.pt-result-card:hover {
  border-color: rgba(255, 107, 0, 0.35);
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}

.pt-result-left {
  display: flex;
  align-items: center;
  gap: 22px;
  flex: 1;
}

.pt-result-icon {
  width: 60px;
  height: 60px;
  min-width: 60px;
}

.pt-result-icon svg {
  width: 100%;
  height: 100%;
}

.pt-result-text h3 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.pt-result-text p {
  color: var(--text-secondary);
  font-size: 0.88rem;
  margin: 0;
  line-height: 1.65;
}

/* Mini Stats */
.pt-result-stats {
  display: flex;
  gap: 16px;
  flex-shrink: 0;
}

.pt-mini-stat {
  text-align: center;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  min-width: 90px;
  transition: all 0.3s ease;
}

.pt-mini-stat:hover {
  border-color: rgba(255, 107, 0, 0.3);
  transform: translateY(-3px);
}

.pt-mini-num {
  display: block;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 4px;
}

.pt-mini-label {
  display: block;
  font-size: 0.62rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ============================================
   PRE-TREATMENT — RESPONSIVE
   ============================================ */

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

  .pt-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .pt-result-card {
    flex-direction: column;
    text-align: center;
    gap: 28px;
  }

  .pt-result-left {
    flex-direction: column;
    text-align: center;
  }

  .pt-result-stats {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .pretreat-section {
    padding: 70px 0;
  }

  .pt-grid-3,
  .pt-grid-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .pt-card-img {
    height: 140px;
  }

  .pt-card-body {
    padding: 14px 14px 16px;
  }

  .pt-card-body h4 {
    font-size: 0.9rem;
  }

  .pt-card-body > p {
    font-size: 0.78rem;
  }

  .pt-card-meta span {
    font-size: 0.62rem;
    padding: 3px 8px;
  }

  .pt-phase {
    margin: 30px 0 16px;
  }

  .pt-phase-name {
    font-size: 0.82rem;
  }

  .pt-result-card {
    padding: 24px 20px;
  }

  .pt-result-stats {
    flex-wrap: wrap;
    gap: 10px;
  }

  .pt-mini-stat {
    min-width: 80px;
    padding: 10px 12px;
  }
}

@media (max-width: 480px) {
  .pt-grid-3,
  .pt-grid-4 {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pt-card {
    display: grid;
    grid-template-columns: 130px 1fr;
    overflow: hidden;
  }

  .pt-card-img {
    height: 100%;
    min-height: 140px;
  }

  .pt-card-num-badge {
    top: 8px;
    left: 8px;
    font-size: 0.5rem;
    padding: 3px 8px;
  }

  .pt-card-tag {
    top: auto;
    bottom: 8px;
    right: auto;
    left: 8px;
    font-size: 0.45rem;
    padding: 2px 7px;
  }

  .pt-card-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .pt-card-body h4 {
    font-size: 0.88rem;
    margin-bottom: 4px;
  }

  .pt-card-body > p {
    font-size: 0.72rem;
    margin-bottom: 8px;
    line-height: 1.5;
  }

  .pt-phase-line {
    display: none;
  }

  .pt-phase-badge {
    padding: 4px 14px 4px 4px;
  }

  .pt-result-left {
    gap: 14px;
  }

  .pt-result-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .pt-result-text h3 {
    font-size: 1.05rem;
  }

  .pt-result-text p {
    font-size: 0.82rem;
  }

  .pt-mini-stat {
    flex: 1;
    min-width: 0;
  }

  .pt-mini-num {
    font-size: 1rem;
  }
}

/* ============================================
   PRE-TREATMENT SECTION — FONT FIX
   Match site fonts: Rajdhani, Inter, Orbitron
   ============================================ */

/* Phase badge */
.pt-phase-num {
  font-family: "Orbitron", sans-serif;
  font-size: 0.65rem;
}

.pt-phase-name {
  font-family: "Rajdhani", sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
}

/* Card number badge on image */
.pt-card-num-badge {
  font-family: "Orbitron", sans-serif;
  font-size: 0.7rem;
}

/* Card tag (Critical/Key/Final) */
.pt-card-tag {
  font-family: "Orbitron", sans-serif;
  font-size: 0.6rem;
}

/* Card title */
.pt-card-body h4 {
  font-family: "Rajdhani", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* Card description */
.pt-card-body > p {
  font-family: "Inter", sans-serif;
  font-size: 0.92rem;
  line-height: 1.7;
}

/* Card meta tags */
.pt-card-meta span {
  font-family: "Inter", sans-serif;
  font-size: 0.78rem;
  padding: 5px 12px;
}

/* Result section title */
.pt-result-text h3 {
  font-family: "Rajdhani", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}

/* Result section description */
.pt-result-text p {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  line-height: 1.75;
}

/* Mini stats number */
.pt-mini-num {
  font-family: "Orbitron", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
}

/* Mini stats label */
.pt-mini-label {
  font-family: "Inter", sans-serif;
  font-size: 0.72rem;
}

/* ============================================
   RESPONSIVE FONT SIZES
   ============================================ */

@media (max-width: 768px) {
  .pt-phase-name {
    font-size: 0.95rem;
  }

  .pt-card-body h4 {
    font-size: 1.1rem;
  }

  .pt-card-body > p {
    font-size: 0.88rem;
  }

  .pt-card-meta span {
    font-size: 0.72rem;
  }

  .pt-result-text h3 {
    font-size: 1.3rem;
  }

  .pt-result-text p {
    font-size: 0.92rem;
  }
}

@media (max-width: 480px) {
  .pt-card-body h4 {
    font-size: 1.05rem;
  }

  .pt-card-body > p {
    font-size: 0.85rem;
  }

  .pt-result-text h3 {
    font-size: 1.15rem;
  }

  .pt-result-text p {
    font-size: 0.88rem;
  }

  .pt-mini-num {
    font-size: 1.15rem;
  }
}
/* ============================================
   PRE-TREATMENT — Mini Stats Label Fix
   ============================================ */

.pt-mini-label {
  color: #d2d2d2 !important;
  font-family: "Inter", sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 1 !important;
  filter: none !important;
}

.pt-mini-num {
  color: var(--primary) !important;
  opacity: 1 !important;
  filter: none !important;
}

.pt-mini-stat {
  opacity: 1 !important;
  filter: none !important;
}

/* Services preview - 2 cards layout with proper spacing */
.services-grid-two {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  max-width: 100%;
  margin: 0 auto;
}

.services-grid-two .service-card {
  padding: 10px;
}

@media (max-width: 768px) {
  .services-grid-two {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.contact-info-wrapper {
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

.contact-info-header h3 {
  color: #ffffff;
}

.contact-info-header p,
.contact-info-wrapper > p {
  color: #e5e7eb;
  font-size: 1rem;
  line-height: 1.7;
  opacity: 1;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  filter: none;
}
.map-container.reveal-up {
  opacity: 1 !important;
}

/* Or add this to make sure it shows after animation */
.map-container.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}
.map-container {
  width: 100%;
  height: 450px;
  border-radius: 16px;
  overflow: hidden;
  margin-top: 3rem;
}

.map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.map-container {
  width: 100%;
  height: 450px;
  border-radius: 16px;
  overflow: hidden;
  margin-top: 3rem;
}

.map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.map-container iframe {
  width: 100%;
  height: 450px; /* Or whatever height you prefer */
  border-radius: 8px; /* Optional: adds nice rounded corners */
}
