/* ===== UNIFIED DESIGN SYSTEM - CASTALDO SOLUTIONS ===== */

/* IMPORT FONT CONSISTENCY */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* ===== TYPOGRAPHY HIERARCHY ===== */

/* Global Font Override */
* {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ===== HEADING SYSTEM ===== */
.unified-h1 {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  font-weight: 800 !important;
  color: #1e293b !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 1.5rem !important;
}

.unified-h2 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1rem !important;
}

.unified-h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 0.75rem !important;
}

/* ===== TEXT SYSTEM ===== */
.unified-text-large {
  font-size: clamp(1.125rem, 2vw, 1.25rem) !important;
  font-weight: 400 !important;
  color: #475569 !important;
  line-height: 1.6 !important;
  opacity: 0.9 !important;
}

.unified-text-medium {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

.unified-text-small {
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

/* ===== OVERRIDES FOR EXISTING ELEMENTS ===== */

/* Header Fixes */
nav .text-xl {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
}

nav .text-gray-700 {
  color: #475569 !important;
  font-weight: 500 !important;
}

/* Hero Section Unified */
.hero-title {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  font-weight: 800 !important;
  color: #1e293b !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 2rem !important;
}

.hero-subtitle {
  font-size: clamp(1.125rem, 2vw, 1.25rem) !important;
  font-weight: 400 !important;
  color: #475569 !important;
  line-height: 1.6 !important;
  opacity: 0.9 !important;
}

/* Services Section Unified */
#services h2 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1rem !important;
}

#services p {
  font-size: clamp(1.125rem, 2vw, 1.25rem) !important;
  font-weight: 400 !important;
  color: #475569 !important;
  line-height: 1.6 !important;
  opacity: 0.9 !important;
}

/* Services Cards OVERRIDE - Higher specificity */
#services .service-slide p,
#services .service-slide .unified-text-medium {
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
  opacity: 1 !important;
}

.service-slide h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 0.75rem !important;
}

/* Service Cards Text Scaling */
.service-slide p,
.service-slide .unified-text-medium,
.service-slide div p.unified-text-medium {
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

/* Why Choose Section Unified */
#why-choose h2 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1rem !important;
}

#why-choose h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 0.75rem !important;
}

#why-choose p {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

/* Articles Section Unified */
#articles h2 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1rem !important;
}

#articles h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 0.75rem !important;
}

#articles h4 {
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  color: #475569 !important;
  line-height: 1.4 !important;
  margin-bottom: 0.5rem !important;
}

#articles p {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

/* Contact Section Already Unified in corporate-contact.css */

/* ===== BUTTON SYSTEM UNIFIED ===== */

/* Primary Buttons */
.btn-primary, .cta-primary, .corporate-submit-btn {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
  padding: 16px 32px !important;
  border-radius: 12px !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
  color: white !important;
  border: none !important;
  box-shadow: 
    0 8px 32px rgba(30, 41, 59, 0.25),
    0 4px 16px rgba(51, 65, 85, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.btn-primary:hover, .cta-primary:hover, .corporate-submit-btn:hover {
  background: linear-gradient(135deg, #334155 0%, #475569 100%) !important;
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 
    0 16px 48px rgba(30, 41, 59, 0.35),
    0 8px 24px rgba(51, 65, 85, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  color: white !important;
}

/* Secondary Buttons */
.cta-secondary {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
}

/* Service CTA Buttons */
.service-slide a {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
  color: white !important;
  border: none !important;
  padding: 12px 24px !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

.service-slide a:hover {
  background: linear-gradient(135deg, #334155 0%, #475569 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 25px rgba(30, 41, 59, 0.25) !important;
}

/* Header CTA Unified */
.subtle-cta {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
  color: white !important;
  border: none !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

.subtle-cta:hover {
  background: linear-gradient(135deg, #334155 0%, #475569 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 20px rgba(30, 41, 59, 0.25) !important;
}

/* Remove old subtle-cta styles */
.subtle-cta::after {
  display: none !important;
}

/* ===== MOBILE RESPONSIVE ===== */
@media (max-width: 768px) {
  .unified-h1 {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
  }
  
  .unified-h2 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }
  
  .unified-h3 {
    font-size: 1.25rem !important;
    line-height: 1.3 !important;
  }
  
  .unified-text-large {
    font-size: 1.125rem !important;
  }
  
  .hero-title {
    margin-bottom: 1.5rem !important;
  }
}