:root {
  --ct-red: #7a1f1f;
  --ct-red-dark: #4e1212;
  --ct-gold: #c99a3b;
  --ct-gold-soft: #f1dcae;
  --ct-parchment: #f7f1e6;
  --ct-ink: #2a221b;
}

body { font-family: 'Source Sans 3', system-ui, sans-serif; color: var(--ct-ink); background: #fffdf9; }
h1, h2, h3, .ct-serif, .navbar-brand { font-family: 'EB Garamond', Georgia, serif; }
h1 { font-weight: 600; }

.bg-ct { background-color: var(--ct-red) !important; }
.bg-ct-dark { background-color: var(--ct-red-dark) !important; }
.bg-parchment { background-color: var(--ct-parchment) !important; }
.text-gold { color: var(--ct-gold) !important; }
.text-ct { color: var(--ct-red) !important; }

.btn-gold { background-color: var(--ct-gold); border-color: var(--ct-gold); color: #2a221b; }
.btn-gold:hover, .btn-gold:focus { background-color: #b1852e; border-color: #b1852e; color: #fff; }
.btn-ct { background-color: var(--ct-red); border-color: var(--ct-red); color: #fff; }
.btn-ct:hover, .btn-ct:focus { background-color: var(--ct-red-dark); border-color: var(--ct-red-dark); color: #fff; }

a { color: var(--ct-red); }
a:hover { color: var(--ct-red-dark); }
.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.85); }
.navbar-dark .navbar-nav .nav-link.active { color: var(--ct-gold-soft); }

.ct-skip-link { position: absolute; left: -9999px; top: 0; background: #fff; color: #000; padding: .75rem 1rem; z-index: 2000; }
.ct-skip-link:focus { left: 0; }

.ct-hero { background: linear-gradient(135deg, var(--ct-parchment) 0%, #fff 100%); border: 1px solid #ecdfc6; }
.ct-hero h1 { color: var(--ct-red); }
.ct-notice { background: var(--ct-gold-soft); border-left: 4px solid var(--ct-gold); }

.ct-card { border: 1px solid #ecdfc6; transition: transform .15s ease, box-shadow .15s ease; }
.ct-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(122,31,31,.12); }
.ct-card-img { width: 100%; height: 100%; min-height: 110px; object-fit: cover; }
.ct-section-tile { border: 1px solid #ecdfc6; color: var(--ct-ink); }
.ct-section-tile:hover { box-shadow: 0 6px 18px rgba(122,31,31,.12); }
.ct-section-icon { font-size: 1.8rem; color: var(--ct-red); }

.ct-sidebar-sticky { position: sticky; top: 80px; }
@media (max-width: 991.98px) { .ct-sidebar-sticky { position: static; } }

/* Extracted legacy content */
.ct-legacy-content { line-height: 1.7; font-size: 1.05rem; }
.ct-legacy-content img { max-width: 100%; height: auto; border-radius: .4rem; margin: .5rem 0 1rem; }
.ct-legacy-content h2, .ct-legacy-content h3, .ct-legacy-content h4 { font-family: 'EB Garamond', Georgia, serif; margin-top: 1.5rem; }
.ct-legacy-content h2 { font-size: 1.45rem; }
.ct-legacy-content h3 { font-size: 1.25rem; }
.ct-legacy-content h4 { font-size: 1.1rem; }
.ct-legacy-content ul, .ct-legacy-content ol { margin-bottom: 1rem; }
.ct-legacy-content blockquote { border-left: 4px solid var(--ct-gold); padding-left: 1rem; color: #555; }
.ct-legacy-content table { width: 100%; margin-bottom: 1rem; }
.ct-legacy-content td, .ct-legacy-content th { padding: .35rem .5rem; border-bottom: 1px solid #eee; vertical-align: top; }
.ct-hero-img { max-height: 420px; object-fit: cover; width: 100%; }

.ct-honeypot { position: absolute; left: -9999px; top: -9999px; }



.columns-2 { column-count: 2; column-gap: 2rem; }
@media (max-width: 575.98px) { .columns-2 { column-count: 1; } }
