/* GLOBAL RESPONSIVE DESIGN OPTIMIZATIONS */
/* Mobile-First Spacing & Typography */

/* ============================================
   MOBILE OPTIMIZATIONS (< 768px)
   ============================================ */
@media (max-width: 768px) {
  
  /* HERO SECTION SPACING */
  section[id="hero"],
  .hero-section,
  section.min-h-screen,
  section.min-h-\[90vh\] {
    min-height: 70vh !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  
  /* REDUCE HEADER SPACER ON MOBILE */
  .univ-spacer {
    height: 80px !important;
  }
  
  /* SECTION PADDING - More Compact */
  section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  
  /* Specific large padding overrides */
  .py-32 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .py-24 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
  .py-20 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .py-16 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  
  /* MARGIN REDUCTION */
  .mb-40 { margin-bottom: 3rem !important; }
  .mb-24 { margin-bottom: 2rem !important; }
  .mb-20 { margin-bottom: 1.5rem !important; }
  .mb-16 { margin-bottom: 1.25rem !important; }
  .mb-12 { margin-bottom: 1rem !important; }
  .mb-10 { margin-bottom: 0.75rem !important; }
  .mt-24 { margin-top: 2rem !important; }
  .mt-16 { margin-top: 1.25rem !important; }
  
  /* Space-y reductions */
  .space-y-12 > * + * { margin-top: 1.5rem !important; }
  .space-y-8 > * + * { margin-top: 1rem !important; }
  .space-y-6 > * + * { margin-top: 0.75rem !important; }
  
  /* TYPOGRAPHY - Tighter Scaling */
  /* Main Headlines */
  .text-7xl { font-size: 2.25rem !important; line-height: 1.1 !important; }
  .text-6xl { font-size: 2rem !important; line-height: 1.15 !important; }
  .text-5xl { font-size: 1.75rem !important; line-height: 1.2 !important; }
  .text-4xl { font-size: 1.5rem !important; line-height: 1.25 !important; }
  .text-3xl { font-size: 1.25rem !important; line-height: 1.3 !important; }
  
  /* Subheadings */
  .text-2xl { font-size: 1.125rem !important; }
  .text-xl { font-size: 1rem !important; }
  .text-lg { font-size: 0.9375rem !important; }
  
  /* Body text stays readable */
  .text-base { font-size: 0.9375rem !important; }
  .text-sm { font-size: 0.8125rem !important; }
  .text-xs { font-size: 0.6875rem !important; }
  
  /* Tracking reduction for mobile readability */
  .tracking-\[0\.6em\] { letter-spacing: 0.25em !important; }
  .tracking-\[0\.5em\] { letter-spacing: 0.2em !important; }
  .tracking-\[0\.4em\] { letter-spacing: 0.15em !important; }
  .tracking-\[0\.3em\] { letter-spacing: 0.12em !important; }
  .tracking-widest { letter-spacing: 0.1em !important; }
  
  /* BUTTON OPTIMIZATION */
  .px-12 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
  .px-10 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  .py-5 { padding-top: 0.875rem !important; padding-bottom: 0.875rem !important; }
  .py-6 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  
  .rounded-2xl { border-radius: 1rem !important; }
  .rounded-3xl { border-radius: 1.25rem !important; }
  .rounded-\[2\.5rem\] { border-radius: 1.5rem !important; }
  .rounded-\[3rem\] { border-radius: 1.75rem !important; }
  
  /* CARD/GLASS PADDING */
  .p-12 { padding: 1.5rem !important; }
  .p-10 { padding: 1.25rem !important; }
  .p-8 { padding: 1rem !important; }
  .p-16 { padding: 1.75rem !important; }
  .p-24 { padding: 2rem !important; }
  
  /* GAP REDUCTION */
  .gap-24 { gap: 2rem !important; }
  .gap-20 { gap: 1.5rem !important; }
  .gap-16 { gap: 1.25rem !important; }
  .gap-12 { gap: 1rem !important; }
  .gap-10 { gap: 0.75rem !important; }
  .gap-8 { gap: 0.625rem !important; }
  .gap-6 { gap: 0.5rem !important; }
  
  /* ICON SIZE REDUCTION */
  .w-20 { width: 3.5rem !important; }
  .h-20 { height: 3.5rem !important; }
  .w-16 { width: 3rem !important; }
  .h-16 { height: 3rem !important; }
  .w-14 { width: 2.5rem !important; }
  .h-14 { height: 2.5rem !important; }
  
  /* FOOTER OPTIMIZATION */
  footer {
    padding-top: 4rem !important;
    padding-bottom: 2rem !important;
  }
  
  footer .pt-60 { padding-top: 3rem !important; }
  footer .pb-24 { padding-bottom: 1.5rem !important; }
  footer .space-y-40 > * + * { margin-top: 2rem !important; }
  footer .pb-40 { padding-bottom: 2rem !important; }
  footer .pr-32 { padding-right: 0 !important; }
  
  /* Container padding */
  .container { padding-left: 1rem !important; padding-right: 1rem !important; }
  .px-6 { padding-left: 1rem !important; padding-right: 1rem !important; }
  .px-12 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  
  /* Max width for text blocks */
  .max-w-6xl, .max-w-5xl, .max-w-4xl, .max-w-3xl {
    max-width: 100% !important;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Grid adjustments */
  .grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .lg\:grid-cols-3 { grid-template-columns: repeat(2, 1fr) !important; }
  
  /* Flex wrap buttons */
  .flex-wrap { flex-wrap: wrap !important; }
  .flex-wrap > * { flex: 1 1 100% !important; max-width: 100% !important; }
  
}

/* ============================================
   TABLET OPTIMIZATIONS (768px - 1024px)
   ============================================ */
@media (min-width: 768px) and (max-width: 1024px) {
  
  section[id="hero"],
  .hero-section,
  section.min-h-screen {
    min-height: 75vh !important;
  }
  
  .py-32 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
  .py-24 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  
  .text-7xl { font-size: 3.5rem !important; }
  .text-6xl { font-size: 3rem !important; }
  .text-5xl { font-size: 2.5rem !important; }
  
  .mb-40 { margin-bottom: 4rem !important; }
  .mb-24 { margin-bottom: 2.5rem !important; }
  
  .gap-24 { gap: 2.5rem !important; }
  .gap-20 { gap: 2rem !important; }
}

/* ============================================
   CONSISTENCY IMPROVEMENTS (ALL SCREENS)
   ============================================ */

/* Consistent section transitions */
section {
  transition: padding 0.3s ease;
}

/* Ensure proper text rendering */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

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

/* Consistent link transitions */
a {
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}
