/* ===== Custom Base Styles ===== */
*, *::before, *::after {
  box-sizing: border-box;
}

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

body {
  overflow-x: hidden;
}

::selection {
  background: rgba(232, 99, 74, 0.3);
  color: #f6f6f7;
}

/* ===== Navigation ===== */
.nav-scrolled {
  background: rgba(10, 10, 14, 0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

#nav:not(.nav-scrolled) {
  background: transparent;
  border-bottom: none;
}

/* ===== Floating Cards Animation ===== */
@keyframes float-1 {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
}

@keyframes float-2 {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

@keyframes float-3 {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
}

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

.floating-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-1 { animation: float-1 5s ease-in-out infinite; }
.card-2 { animation: float-2 4.5s ease-in-out infinite 0.5s; }
.card-3 { animation: float-3 5.5s ease-in-out infinite 1s; }
.card-4 { animation: float-4 4s ease-in-out infinite 0.3s; }

.floating-card:hover {
  transform: scale(1.03);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

/* ===== Service Cards ===== */
.service-card {
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.4s ease,
              border-color 0.4s ease;
}

.service-card:hover {
  box-shadow: 0 20px 60px -15px rgba(232, 99, 74, 0.1);
}

/* ===== Testimonial Cards ===== */
.testimonial-card {
  transition: transform 0.4s ease, border-color 0.4s ease;
}

.testimonial-card:hover {
  transform: translateY(-4px);
}

/* ===== Scroll Reveal ===== */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* ===== Mobile Menu ===== */
.mobile-link {
  transition: opacity 0.3s ease;
}

.mobile-link:hover {
  opacity: 0.7;
}

/* ===== Custom Scrollbar ===== */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #111115;
}

::-webkit-scrollbar-thumb {
  background: #3d3d46;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #52525c;
}

/* ===== Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  html {
    scroll-behavior: auto;
  }
  
  .floating-card {
    animation: none;
  }
}

/* ===== Responsive ===== */
@media (max-width: 767px) {
  .font-serif {
    font-size: clamp(2rem, 8vw, 3rem);
  }
}
