:root {
  --ink: #102823;
  --forest: #12372f;
  --forest-2: #0a2722;
  --leaf: #2f6658;
  --copper: #c8753d;
  --copper-dark: #a95729;
  --parchment: #f5f0e6;
  --paper: #fbf9f4;
  --cream: #fffdf8;
  --walnut: #704329;
  --muted: #68746f;
  --line: rgba(16, 40, 35, .13);
  --shadow: 0 24px 70px rgba(9, 39, 33, .12);
  --bs-border-color: var(--line);
}
body { font-family: "DM Sans", Arial, sans-serif; color: var(--ink); background-color: var(--paper); }
h1,h2,h3,h4,h5,h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,blockquote { font-family: "Newsreader", Georgia, serif; }
.lead { font-weight: 400; }
.eyebrow { letter-spacing: .13em; }
.text-ink { color: var(--ink); }
.text-forest { color: var(--forest); }
.text-copper { color: var(--copper); }
.text-leaf { color: var(--leaf); }
.text-muted-brand { color: var(--muted); }
.text-cream { color: var(--cream); }
.text-cream-muted { color: var(--parchment); }
.bg-forest { background-color: var(--forest); }
.bg-forest-deep { background-color: var(--forest-2); }
.bg-copper { background-color: var(--copper); }
.bg-cream { background-color: var(--cream); }
.bg-parchment { background-color: var(--parchment); }
.border-leaf { border-color: var(--leaf) !important; }
.brand-shadow,.navbar.is-scrolled { box-shadow: var(--shadow); }
.navbar { background-color: var(--forest-2); transition: box-shadow .25s ease; }
.navbar .nav-link { color: var(--cream); }
.navbar .nav-link.active,.navbar .nav-link:hover { color: var(--copper); }
.dropdown-menu { background-color: var(--cream); --bs-dropdown-link-hover-bg: var(--parchment); --bs-dropdown-link-active-bg: var(--forest); }
.dropdown-item { color: var(--ink); }
.footer-links a { color: var(--parchment); text-decoration: none; }
.footer-links a:hover { color: var(--copper); }
.cover-wash { background: linear-gradient(180deg,rgba(10,39,34,.83),rgba(10,39,34,.08) 70%,rgba(10,39,34,.92)); }
.btn-primary { --bs-btn-color:var(--ink); --bs-btn-bg:var(--copper); --bs-btn-border-color:var(--copper); --bs-btn-hover-color:var(--cream); --bs-btn-hover-bg:var(--copper-dark); --bs-btn-hover-border-color:var(--copper-dark); --bs-btn-active-color:var(--cream); --bs-btn-active-bg:var(--copper-dark); --bs-btn-active-border-color:var(--copper-dark); --bs-btn-focus-shadow-rgb:200,117,61; }
.btn-outline-primary { --bs-btn-color:var(--forest); --bs-btn-border-color:var(--leaf); --bs-btn-hover-color:var(--cream); --bs-btn-hover-bg:var(--forest); --bs-btn-hover-border-color:var(--forest); --bs-btn-active-bg:var(--forest-2); --bs-btn-active-border-color:var(--forest-2); --bs-btn-focus-shadow-rgb:47,102,88; }
.btn-light { --bs-btn-bg:var(--cream); --bs-btn-border-color:var(--cream); --bs-btn-hover-bg:var(--parchment); --bs-btn-hover-border-color:var(--parchment); --bs-btn-color:var(--ink); }
.btn { font-weight:600; transition:transform .2s ease,background-color .2s ease,color .2s ease; }
.btn:hover { transform:translateY(-2px); }
.hover-lift { transition:transform .25s ease,box-shadow .25s ease; }
.hover-lift:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.form-control,.form-select { background-color:var(--parchment); color:var(--ink); border-color:var(--line); }
.form-control:focus,.form-select:focus { background-color:var(--cream); border-color:var(--leaf); box-shadow:0 0 0 .25rem rgba(47,102,88,.16); }
.form-check-input:checked { background-color:var(--forest); border-color:var(--forest); }
.accordion { --bs-accordion-bg:var(--cream); --bs-accordion-color:var(--ink); --bs-accordion-active-bg:var(--parchment); --bs-accordion-active-color:var(--forest); --bs-accordion-border-color:var(--line); --bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(47,102,88,.16); }
@media (prefers-reduced-motion:no-preference) {
  html { scroll-behavior:smooth; }
  .reveal-in { animation:reveal-in .65s ease both; }
  @keyframes reveal-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
}
@media (prefers-reduced-motion:reduce) {
  .btn,.hover-lift,.navbar { transition:none; }
  .btn:hover,.hover-lift:hover { transform:none; }
}

/* Publishing plan feature panels use Bootstrap ratio and overflow utilities. */
.plan-feature-list { scrollbar-color: var(--copper) var(--parchment); }
.plan-feature-list:focus-visible { outline: 3px solid var(--copper); outline-offset: -3px; }
