:root {
  --cs-bg: #f6f3ec;
  --cs-surface: #ffffff;
  --cs-blue: #23386b;
  --cs-blue-deep: #16264c;
  --cs-gold: #c8973f;
  --cs-gold-dark: #a87a26;
  --cs-ink: #262420;
  --cs-muted: #76726a;
  --cs-border: #e5dfd2;
  --cs-head: "Cormorant Garamond", Georgia, serif;
  --cs-body: "Raleway", Helvetica, Arial, sans-serif;
}

.cs-body {
  background-color: #f6f3ec;
  color: #262420;
  font-family: "Raleway", Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  display: flex; flex-direction: column; min-height: 100vh;
}
.cs-main { flex: 1 0 auto; }

h1, h2, h3, h4, .cs-h, .cs-brand, .cs-hero-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  color: #23386b;
  line-height: 1.15;
}
h1, .cs-hero-title { font-size: 40px; font-weight: 700; }
h2 { font-size: 30px; font-weight: 600; }
h3 { font-size: 22px; font-weight: 600; }

/* nav */
.cs-titlebar { background: #23386b; }
.cs-topbar { background: #23386b; }
.cs-topbar .menu, .cs-topbar .menu a, .cs-topbar .dropdown.menu a { background: transparent; color: #f6f3ec; }
.cs-topbar .dropdown.menu a:hover { color: #c8973f; }
.cs-topbar .menu .menu.vertical { background: #16264c; }
.cs-brand { color: #f6f3ec; font-family: var(--cs-head); }
.cs-brand-lg { font-size: 1.5rem; padding: 0.7rem 1rem; display: inline-block; }
.cs-titlebar .cs-brand { padding: 0; }

/* hero */
.cs-hero { background: linear-gradient(135deg, #23386b 0%, #16264c 100%); color: #f6f3ec; padding: 3rem 0; }
.cs-hero .grid-container { max-width: 75rem; }
.cs-hero-title { color: #ffffff; }
.cs-hero-sub { color: #d7dceb; font-size: 1.15rem; }

/* sections / prose */
.cs-section { padding: 2.5rem auto; padding-top: 2rem; padding-bottom: 2.5rem; }
.cs-prose { background: #ffffff; border: 1px solid #e5dfd2; border-radius: 6px; padding: 2rem 2.25rem; box-shadow: 0 2px 6px rgba(35,56,107,0.06); }
.cs-prose img, .cs-img { max-width: 100%; height: auto; border-radius: 4px; }
.cs-prose a { color: #23386b; text-decoration: underline; text-decoration-color: #c8973f; }
.cs-prose a:hover { color: #c8973f; }
.cs-muted { color: #76726a; }
.cs-quote { border-left: 4px solid #c8973f; padding-left: 1rem; color: #262420; background: #f6f3ec; font-style: italic; }
.cs-listing-title { border-bottom: 2px solid #c8973f; padding-bottom: 0.4rem; margin-bottom: 1.5rem; }
.cs-toc { background: #f6f3ec; border: 1px solid #e5dfd2; border-radius: 6px; padding: 1rem 1.25rem; }
.cs-rule { border-bottom: 1px solid #e5dfd2; }
.cs-table { width: 100%; }
.cs-breadcrumb a { color: #76726a; }
.article-main-image { max-width: 40%; margin: 0 0 1rem 1.5rem; }

/* cards */
.cs-card { border: 1px solid #e5dfd2; border-radius: 6px; }
.cs-card .cs-h a { color: #23386b; text-decoration: none; }
.cs-card .cs-h a:hover { color: #c8973f; }
.read-more.button { background: #23386b; color: #fff; }
.read-more.button:hover { background: #c8973f; }

/* footer */
.cs-footer { background: #16264c; color: #cdd5e8; padding: 2.5rem 0 1.5rem; }
.cs-footer .grid-container { max-width: 75rem; }
.cs-footer .cs-brand { color: #c8973f; }
.cs-footer-sitemap { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.cs-footer-link { color: #cdd5e8; text-decoration: none; font-size: 0.9rem; }
.cs-footer-link:hover { color: #c8973f; }
.cs-footer-copy { color: #95a0bd; border-top: 1px solid #23386b; margin-top: 1.25rem; padding-top: 1rem; font-size: 0.85rem; }

@media print { .cs-titlebar, .cs-topbar, .cs-footer { display: none; } }
