:root {
  --background: #ffffff;
  --foreground: #0f172a; /* Darker Slate for better contrast */
  --primary: #1a365d;    /* Trustworthy Navy */
  --accent: #2c7a7b;     /* Soft Teal */
  --muted: #475569;      /* Darker muted text */
  --border: #cbd5e1;     /* More defined border */
  --navy-light: #1e3a8a;
  --teal-light: #ccfbf1;
  --font-inter: 'Inter', sans-serif;
  --font-outfit: 'Outfit', sans-serif;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-primary: var(--primary);
  --color-accent: var(--accent);
  --color-border: var(--border);
  --color-navy-light: var(--navy-light);
  --color-teal-light: var(--teal-light);
  
  --font-sans: var(--font-inter), ui-sans-serif, system-ui;
  --font-outfit: var(--font-outfit), ui-sans-serif, system-ui;

  --animate-fade-in: fade-in 0.5s ease-out;
  --animate-float: float 3s ease-in-out infinite;

  @keyframes fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }

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

body {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  font-size: 19px; /* Slightly larger for seniors */
  line-height: 1.7; /* More breathing room */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-outfit);
  color: var(--primary);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.premium-card {
  @apply border border-border/60 bg-white transition-all duration-300 hover:border-accent hover:shadow-2xl hover:-translate-y-2 rounded-3xl;
}

.btn-primary {
  @apply bg-accent text-white px-10 py-5 rounded-2xl font-black transition-all hover:bg-[#235e5e] shadow-xl shadow-accent/30 text-xl border-b-4 border-[#1d4e4e];
}

.section-navy {
  @apply bg-primary text-white;
}
