:root {
  --brand-navy: #10243f;
  --brand-blue: #2d6cdf;
  --brand-teal: #2eb7b5;
  --brand-coral: #f06a4b;
  --brand-cream: #f7f0e6;
  --brand-bg: #f5f7fb;
  --brand-surface: #ffffff;
  --brand-soft: #eef5ff;
  --brand-muted: #57667e;
  --brand-text: #1f2d3d;
  --brand-border: #dce5f2;
}

body {
  background: linear-gradient(180deg, var(--brand-bg) 0%, #f8fbff 100%) !important;
  color: var(--brand-text) !important;
}

a {
  color: var(--brand-blue);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

a:hover {
  color: var(--brand-teal);
}

.site-header {
  background: linear-gradient(135deg, rgba(16, 36, 63, 0.97) 0%, rgba(45, 108, 223, 0.95) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 14px 34px rgba(16, 36, 63, 0.16);
}

.site-nav a:hover,
.site-nav a.active,
.canva-link:hover,
.canva-link.active,
.canva-link[aria-expanded="true"] {
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
}

.nav-cta-button,
.canva-button {
  background: linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-teal) 100%) !important;
  color: #fff !important;
  border: 1px solid transparent;
  box-shadow: 0 14px 36px rgba(45, 108, 223, 0.2);
}

.canva-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(45, 108, 223, 0.28);
}

.canva-button.border-2,
.canva-button.border-white\/30 {
  background: transparent !important;
  color: var(--brand-navy) !important;
  border-color: rgba(16, 36, 63, 0.25) !important;
}

.canva-button.border-2:hover,
.canva-button.border-white\/30:hover {
  background: rgba(46, 183, 181, 0.12) !important;
  color: var(--brand-navy) !important;
}

.canva-card {
  background: var(--brand-surface) !important;
  border: 1px solid var(--brand-border) !important;
  box-shadow: 0 24px 60px rgba(16, 36, 63, 0.07);
}

.canva-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 32px 80px rgba(16, 36, 63, 0.12);
}

.accent-band {
  background: linear-gradient(135deg, rgba(238, 245, 255, 0.96) 0%, rgba(247, 240, 230, 0.95) 100%) !important;
}

.highlight-pill {
  background: linear-gradient(135deg, rgba(46, 183, 181, 0.17), rgba(45, 108, 223, 0.16)) !important;
  color: var(--brand-navy) !important;
  border: 1px solid rgba(46, 183, 181, 0.25) !important;
}

.text-accent,
.text-accent[style],
.text-blue-600,
.text-blue-500,
.text-navy,
.text-charcoal,
.text-gray-600,
.text-gray-700,
.text-gray-800 {
  color: var(--brand-blue) !important;
}

.text-gray-400,
.text-gray-500 {
  color: var(--brand-muted) !important;
}

i[data-lucide] {
  color: var(--brand-coral) !important;
}

.text-red-500 {
  color: var(--brand-coral) !important;
}

.text-green-500,
.bg-green-500 {
  color: var(--brand-teal) !important;
  background-color: var(--brand-teal) !important;
}

.hero-overlay {
  background: linear-gradient(90deg, rgba(16, 36, 63, 0.94) 0%, rgba(16, 36, 63, 0.76) 50%, rgba(45, 108, 223, 0.46) 100%);
}

#contact {
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-blue) 100%) !important;
}

#contact .canva-text,
#contact a,
#contact p,
#contact h2 {
  color: #fff !important;
}

.faq-toggle {
  border: 1px solid var(--brand-border);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
}

.faq-toggle:hover {
  border-color: rgba(45, 108, 223, 0.32);
  color: var(--brand-blue);
}

.faq-toggle[aria-expanded="true"] {
  background: rgba(46, 183, 181, 0.12);
}

footer,
footer a {
  color: #e8eef8 !important;
}

.resource-full {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.28s ease, opacity 0.28s ease;
  opacity: 0;
}

.resource-full.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.resource-full > div {
  overflow: hidden;
}

.resource-toggle {
  color: var(--brand-blue);
}

.resource-toggle:hover {
  color: var(--brand-teal);
}

.resource-toggle .rt-less {
  display: inline;
}

.resource-toggle .rt-more.hidden,
.resource-toggle .rt-less.hidden {
  display: none;
}
