/* Vit So — warm parchment, garnet and deep jade.
   A shared visual system; all content and brand artwork stay unchanged. */
:root {
  --paper: #fbf6ee;
  --ivory: #f5ebdd;
  --ivory-deep: #ecdcc5;
  --ink: #29231f;
  --ink-soft: #473b33;
  --muted: #665448;
  --line: #d5c8b6;
  --line-dark: #887761;
  --taupe: #c4ae8b;
  --taupe-pale: #e9dfce;
  --brand-fire: #833d3b;
  --brand-fire-deep: #6d2c2e;
  --brand-wood: #244b3f;
  --brand-wood-deep: #17392f;
  --brand-gold: #b19059;
  --brand-gold-text: #795a2d;
  --brand-gold-light: #e2c79d;
  --brand-light-text: #ece6d7;
  --copper: var(--brand-fire);
  --copper-dark: var(--brand-fire-deep);
  --success: var(--brand-wood);
  --shadow: 0 16px 42px rgb(69 40 32 / 11%);
}

body {
  background: var(--paper);
  color: var(--ink);
}
::selection {
  background: var(--brand-fire);
  color: var(--paper);
}
:focus-visible,
button:focus-visible,
.button:focus-visible,
summary:focus-visible {
  outline-color: var(--brand-gold-text);
  box-shadow: 0 0 0 4px rgb(177 144 89 / 20%);
}
.announcement {
  background: var(--brand-wood-deep);
  color: var(--paper);
}
.announcement a,
.announcement a:hover {
  color: var(--paper);
}
.site-header {
  background: rgb(251 246 238 / 98%);
}
.mega-menu,
.mobile-menu,
.search-dialog {
  background: var(--paper);
  color: var(--ink);
}
.mega-feature {
  color: var(--ink);
}
.mega-feature .eyebrow,
.section-index,
.mobile-subgroup > summary {
  color: var(--brand-fire-deep);
}
.mega-feature h2,
.display-title,
.section-title,
.service-row .title,
.authority-stat strong {
  color: var(--brand-wood);
}
.nav-link:hover,
.mega-link:hover,
.mobile-subgroup-links a:hover {
  color: var(--brand-fire-deep);
}
.fine-line,
.professional-content,
.hero-copy {
  border-color: var(--brand-gold);
}
.button.primary {
  background: var(--brand-fire);
  color: var(--paper);
  border-color: var(--brand-fire);
}
.button.primary:hover {
  background: var(--brand-fire-deep);
  color: var(--paper);
  border-color: var(--brand-fire-deep);
}
.button.secondary {
  color: var(--brand-wood);
  border-color: var(--brand-wood);
}
.button.secondary:hover {
  color: var(--paper);
  border-color: var(--brand-wood-deep);
  background: var(--brand-wood-deep);
}
.authority-strip {
  background: var(--ivory-deep);
}
.section.ink,
.ink,
.philosophy,
.site-footer {
  background: var(--brand-wood-deep);
  color: var(--paper);
}
.section.ink .section-title,
.philosophy .editorial-text .section-title,
.philosophy .section-title {
  color: var(--paper);
}
.philosophy .editorial-text p,
.philosophy .editorial-image .image-credit,
.philosophy .text-link {
  color: var(--brand-light-text);
}
.philosophy .eyebrow,
.section.ink .section-kicker,
.site-footer .eyebrow,
.footer-links h2,
.footer-links h3,
.footer-topic summary::after,
.footer-directory > h2,
.footer-directory > h3 {
  color: var(--brand-gold-light);
}
.section.ink .button.secondary,
.philosophy .button.secondary {
  border-color: var(--paper);
  color: var(--paper);
}
.section.ink .button.secondary:hover,
.philosophy .button.secondary:hover {
  color: var(--brand-wood-deep);
  border-color: var(--paper);
  background: var(--paper);
}
.cta-band {
  background: var(--brand-fire);
  color: var(--paper);
}
.cta-band .eyebrow {
  color: var(--brand-light-text);
}
.cta-band .button.primary {
  background: var(--paper);
  color: var(--brand-fire-deep);
  border-color: var(--paper);
}
.cta-band .button.primary:hover {
  background: var(--ivory);
  color: var(--brand-fire-deep);
  border-color: var(--ivory);
}
.cta-band .button.secondary {
  background: transparent;
  color: var(--paper);
  border-color: var(--paper);
}
.cta-band .button.secondary:hover {
  background: var(--paper);
  color: var(--brand-fire-deep);
}
.footer-brand p,
.footer-contact p,
.footer-links a,
.footer-topic a,
.footer-keywords a,
.footer-bottom,
.footer-directory-heading > span {
  color: var(--brand-light-text);
}
.footer-links a:hover,
.footer-topic a:hover,
.footer-keywords a:hover,
.footer-bottom a:hover {
  color: var(--paper);
}
.gallery-item .image-credit,
.gallery-item .concept-label {
  color: var(--muted);
}
input,
select,
textarea {
  accent-color: var(--brand-fire);
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.search-input-row input,
.directory-filter input {
  border-color: var(--line-dark);
}
input::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}
thead th,
.comparison-table th {
  background: var(--ivory-deep);
  color: var(--brand-wood-deep);
}
.floating-contact {
  background: var(--brand-wood);
  color: var(--paper);
  box-shadow: 0 5px 19px rgb(23 57 47 / 22%);
}
.floating-contact:hover {
  background: var(--brand-fire);
  color: var(--paper);
}
.mobile-bottom-bar {
  background: var(--paper);
}
.mobile-bottom-bar .button.primary {
  background: var(--brand-fire);
  color: var(--paper);
}
.mobile-bottom-bar .button.secondary {
  background: var(--paper);
  color: var(--brand-wood);
  border-color: var(--brand-wood);
}
.mobile-bottom-bar .button.secondary:hover {
  background: var(--brand-wood);
  color: var(--paper);
}
.mobile-bottom-bar .button.secondary:focus-visible {
  outline-color: var(--brand-wood);
}
.mobile-bottom-bar .button.primary:focus-visible {
  outline-color: var(--paper);
}
.hero-number {
  background: rgb(251 246 238 / 90%);
}
