:root {
  --primary: #D4380D;
  --primary-dark: #A8200D;
  --primary-light: #FF7A45;
  --secondary: #1D3557;
  --accent: #E9C46A;
  --paper: #faf7f0;
  --ink: #1c1917;
}

body {
  background-color: var(--paper);
}

/* Magazine drop-cap style headline accent */
.headline-rule::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--ink);
  margin-top: 6px;
}

/* Section kicker label */
.kicker {
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* FAQ accordion (driven by js/main.js) */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
}

.faq-item.open .faq-question {
  color: var(--primary);
}

.faq-icon {
  transition: transform 0.3s ease;
}

/* Category tab active state */
.cat-tab {
  cursor: pointer;
}

.cat-tab.active {
  background: var(--ink);
  color: var(--paper);
}

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

.animate-fade-up {
  animation: fade-up 0.4s ease-out both;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f3ede0;
}

::-webkit-scrollbar-thumb {
  background: #a8a29e;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--ink);
}

@media print {
  .nav, footer, .no-print { display: none !important; }
  body { font-size: 12pt; color: #000; background: #fff; }
  a { text-decoration: underline; }
}
