/* ========================================================
   JMR CONSULTING - Estilos Corporativos Oficiales
   Paleta: Verde Bosque (#286955), Salvia (#A3C6B8), Medianoche (#143B30), Menta (#EBF3F0), Dorado (#C5A880)
   ======================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Playfair+Display:ital,wght@0,600;0,700;0,900;1,600&display=swap');

:root {
  --brand-forest: #286955;
  --brand-forest-dark: #1e5343;
  --brand-forest-light: #348069;
  --brand-midnight: #143b30;
  --brand-dark-bg: #0b201a;
  --brand-sage: #a3c6b8;
  --brand-sage-light: #cbe0d8;
  --brand-mint: #ebf3f0;
  --brand-mint-light: #f4f8f6;
  --brand-gold: #c5a880;
  --brand-gold-dark: #a88a62;
  --surface-card: #ffffff;
  --text-main: #143b30;
  --text-muted: #4a635a;
}

* {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  scroll-behavior: smooth;
  box-sizing: border-box;
}

.font-serif-brand {
  font-family: 'Playfair Display', Georgia, serif;
}

/* Header Sticky Styling */
.header-corporate {
  background-color: #143b30 !important;
  border-bottom: 1px solid rgba(163, 198, 184, 0.25);
}

/* Hero Section Solid Dark Background (Prevents any white background bleed on all devices) */
.hero-solid-dark {
  background-color: #0b201a !important;
  color: #ffffff !important;
  background-image: 
    radial-gradient(circle at 85% 20%, rgba(40, 105, 85, 0.5) 0%, transparent 50%),
    radial-gradient(circle at 15% 80%, rgba(197, 168, 128, 0.25) 0%, transparent 45%),
    linear-gradient(180deg, #143b30 0%, #0b201a 100%) !important;
}

/* Hero Text High-Contrast Helpers */
.hero-title-main {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.hero-title-accent {
  color: #a3c6b8 !important;
  text-shadow: 0 2px 12px rgba(40, 105, 85, 0.6);
}

.hero-desc {
  color: #d1e3dc !important;
}

/* Animations */
@keyframes pulse-ring {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.15); opacity: 0; }
  100% { transform: scale(0.95); opacity: 0; }
}

.pulse-ring-active::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 9999px;
  border: 2px solid #286955;
  animation: pulse-ring 2.2s infinite ease-out;
}

/* Service Card Hover Dynamics */
.service-card {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  background-color: #ffffff;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 35px -10px rgba(40, 105, 85, 0.15), 0 10px 15px -5px rgba(20, 59, 48, 0.08);
}

/* Plan Card Highlight Glow */
.plan-highlight {
  position: relative;
  box-shadow: 0 0 35px -5px rgba(40, 105, 85, 0.45);
}

/* Modal styles */
.modal-backdrop {
  background-color: rgba(11, 32, 26, 0.85);
  backdrop-filter: blur(8px);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #0b201a;
}
::-webkit-scrollbar-thumb {
  background: #286955;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #a3c6b8;
}