
:root {
  --mdc-theme-primary: #1e3a8a;
  --mdc-theme-secondary: #1e40af;
  --mdc-theme-background: #f5f5f5;
  --mdc-theme-surface: #ffffff;
  --mdc-theme-on-primary: #ffffff;
  --mdc-theme-on-secondary: #ffffff;
  --mdc-theme-on-surface: #000000;
}

body {
  font-family: 'Roboto', sans-serif;
  line-height: 1.6;
  color: #212121;
  background-color: var(--mdc-theme-background);
  margin: 0;
  padding: 0;
}
/* Smooth scrolling with momentum */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 64px; /* Account for fixed header */
}

/* Material Design elevation transitions */
.mdc-card {
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Responsive grid */
.mdc-layout-grid {
  padding: 16px;
}

@media (min-width: 840px) {
  .mdc-layout-grid {
    padding: 24px;
  }
}

/* Image optimization */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

img[data-src] {
  opacity: 0;
  transition: opacity 0.3s ease;
}

img.lazyloaded {
  opacity: 1;
}
/* Material Design animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

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

.fade-in {
  animation: fadeIn 0.5s ease forwards;
}

.slide-up {
  animation: slideUp 0.5s ease forwards;
}

/* Performance optimizations */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Hero section adjustments */
.hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('http://static.photos/industry/1200x630/3');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Service cards hover effect */
.service-card:hover {
    transform: translateY(-5px);
}

/* Responsive typography */
@media (min-width: 768px) {
    .text-hero {
        font-size: 3.5rem;
    }
}

/* Accessibility - high contrast mode */
@media (prefers-contrast: more) {
    body {
        color: black;
        background: white;
    }
    
    a, button {
        border: 2px solid black;
    }
}