/* Base typography per specification */
:root {
  --midnight: #0A1A3B;
  --mission_orange: #E36414;
  --deep_red: #A32020;
  --flame_red: #D9381E;
  --warm_orange: #F47A1F;
  --soft_gray: #F2F2F2;
}

body {
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  -webkit-text-size-adjust: 100%;
  font-weight: 500; /* strengthen base text weight across pages */
}

h1, h2, h3, h4, h5, h6 {
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 700;
}

/* Smooth scrolling for anchor links */
html { scroll-behavior: smooth; }

/* Reinforce readability for common UI elements */
header nav a,
header nav button,
button,
.btn,
.btn-primary,
.btn-secondary {
  font-weight: 600;
}

.rcn-gradient {
  background: linear-gradient(135deg, #A32020, #D9381E 35%, #E36414 70%, #F47A1F);
}

.btn-primary {
  background: linear-gradient(135deg, #A32020, #D9381E 35%, #E36414 70%, #F47A1F);
  color: #fff;
  display: inline-block;
  line-height: 1.25;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem; /* rounded */
  box-shadow: 0 1px 2px rgba(0,0,0,0.08), 0 4px 6px rgba(0,0,0,0.06);
  transition: filter 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.btn-primary:hover {
  filter: brightness(1.05);
}

.btn-primary:focus {
  outline: 2px solid rgba(10,26,59,0.25);
  outline-offset: 2px;
}

.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Mobile scroll helpers for panels/sidebars */
.scroll-y-touch {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile-nav-panel {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Mobile-first responsive helpers */
.container { width: 100%; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
@media (min-width: 768px) { .container { max-width: 768px; } }
@media (min-width: 1024px) { .container { max-width: 1024px; } }