:root {
  --navy: #0a1f3d;
  --slate-dark: #15233f;
  --slate: #1e2d4d;
  --yellow: #ffc107;
  --yellow-bright: #ffca2c;
  --red: #dc2626;
  --red-dark: #b91c1c;
  --light-gray: #cbd5e1;
  --border: #334155;
  --soft-white: #f8fafc;
}

html { scroll-behavior: smooth; }

/* Diamond pattern background overlay */
.diamond-pattern {
  background-image:
    linear-gradient(45deg, rgba(255,193,7,0.04) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255,193,7,0.04) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(255,193,7,0.04) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(255,193,7,0.04) 75%);
  background-size: 40px 40px;
  background-position: 0 0, 0 20px, 20px -20px, -20px 0;
}

/* Pulse animation for floating call button */
@keyframes pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); }
  70% { box-shadow: 0 0 0 16px rgba(255, 193, 7, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
}
.pulse-ring { animation: pulse-ring 2s infinite; }

/* Card hover */
.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

/* Yellow accent border top */
.yellow-top { border-top: 3px solid var(--yellow); }
.red-top { border-top: 3px solid var(--red); }

/* Fade in on scroll */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Testimonial carousel */
.testimonial-slide { display: none; }
.testimonial-slide.active { display: block; }

/* Blog/FAQ expand */
.expandable-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
.expandable-content.expanded { max-height: 2000px; }

/* Mobile drawer */
#mobile-drawer { transition: transform 0.3s ease; }

/* Form focus */
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--yellow) !important;
  box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.3);
}

/* Phone number style */
.phone-number {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
}
