:root {
  /* Design tokens: #E05C5C #BA0C2F #262626 #C46A3A #F7F2EA #262626 #FFFFFF Inter Source Sans 3 Open Sans Arial sans-serif serif */
  --pico-font-family: "Inter", Arial, sans-serif;
  --pico-primary: #BA0C2F;
  --pico-primary-hover: #262626;
  --pico-primary-background: #BA0C2F;
  --pico-primary-border: #BA0C2F;
  --pico-border-radius: .25rem;
  --solas-red: #E05C5C;
  --solas-paper: #F7F2EA;
  --solas-clay: #C46A3A;
  --solas-cherry: #BA0C2F;
  --solas-ink: #262626;
  --solas-paper: #F7F2EA;
  --solas-line: #d9e4cf;
}
body { background: #f7faf2; color: var(--solas-ink); }
h1, h2, h3, h4 { font-family: "Source Sans 3", "Lato", Arial, sans-serif; color: var(--solas-ink); letter-spacing: 0; }
a { color: var(--solas-cherry); }
.container { max-width: 1180px; }
.site-header { position: sticky; top: 0; z-index: 10; background: #fff; border-bottom: 1px solid var(--solas-line); }
.utility-bar { display: flex; justify-content: flex-end; gap: 1rem; min-height: 2rem; font-size: .85rem; background: var(--solas-cherry); }
.utility-bar a { color: white; text-decoration: none; }
.primary-nav { min-height: 4.5rem; }
.brand { display: flex; align-items: center; gap: .75rem; color: var(--solas-red); text-decoration: none; }
.brand-mark { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--solas-red); color: #fff; font-weight: 800; }
.nav-links { gap: .25rem; }
.nav-links > li { position: relative; }
.dropdown { display: none; position: absolute; right: 0; top: 100%; min-width: 16rem; padding: .6rem; background: white; border: 1px solid var(--solas-line); box-shadow: 0 18px 35px rgba(30,77,58,.15); }
.nav-links > li:hover .dropdown { display: block; }
.home-hero { position: relative; min-height: 560px; display: grid; align-items: center; overflow: hidden; }
.home-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,96,124,.92), rgba(109,156,40,.44)); }
.hero-copy { position: relative; color: white; max-width: 820px; }
.hero-copy h1 { color: white; font-size: clamp(2.2rem, 5vw, 4.5rem); }
.hero-copy p { max-width: 680px; }
.eyebrow { color: var(--solas-paper); text-transform: uppercase; font-weight: 800; letter-spacing: 0; }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.page-hero { background: linear-gradient(135deg, var(--solas-cherry), var(--solas-red)); color: white; padding: 4rem 0; }
.page-hero h1, .page-hero p { color: white; }
.page-hero .eyebrow { color: var(--solas-paper); }
.quick-access { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.quick-access article, .content-card { border: 1px solid var(--solas-line); border-radius: .25rem; background: white; box-shadow: 0 12px 28px rgba(47,42,36,.06); }
.quick-access article { padding: 1.25rem; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 2rem; padding-block: 3rem; }
.content-flow { background: white; border: 1px solid var(--solas-line); padding: clamp(1rem, 3vw, 2rem); border-radius: .25rem; }
.content-flow img, .main-image { max-width: 100%; height: auto; border-radius: .25rem; }
.content-flow table { width: 100%; }
.table-wrap { overflow-x: auto; }
.toc { border-left: 4px solid var(--solas-paper); padding-left: 1rem; background: var(--solas-paper); }
.sidebar { background: var(--solas-paper); border-left: 4px solid var(--solas-paper); padding: 1rem; align-self: start; }
.cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding-block: 2rem; }
.cards-grid.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards-grid.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.content-card { padding: 1.25rem; }
.content-card.horizontal { display: grid; grid-template-columns: 160px 1fr; gap: 1rem; }
.content-card.minimal { box-shadow: none; background: transparent; }
.media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.media-grid figure { margin: 0; }
.site-footer { margin-top: 3rem; padding: 3rem 0; background: #262626; color: white; }
.site-footer h2, .site-footer h3, .site-footer a, .site-footer p { color: white; display: block; }
.site-footer a { margin-bottom: .5rem; text-decoration: none; }
.footer-sitemap { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.25); padding-top: 1rem; }
.sitemap-linkbank { columns: 4 14rem; column-gap: 2rem; max-height: 22rem; overflow: auto; }
.sitemap-linkbank a { break-inside: avoid; font-size: .86rem; opacity: .85; }
@media (max-width: 900px) {
  .primary-nav, .nav-links, .content-layout, .quick-access, .cards-grid { display: block; }
  .nav-links > li { margin-block: .35rem; }
  .dropdown { position: static; box-shadow: none; }
  .quick-access article, .content-card, .sidebar { margin-bottom: 1rem; }
  .home-hero { min-height: 480px; }
}
