:root { --site-ink: #241b12; --site-paper: #f7f1e3; --site-rust: #7a1e00; --site-gold: #c9a030; --site-rule: #c8b88f; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #17110b; color: var(--site-ink); font-family: Georgia, 'Times New Roman', serif; font-size: 17px; line-height: 1.65; }
*, *::before, *::after { box-sizing: border-box; }
.site-shell, #shell { max-width: 1180px; margin: auto; background: var(--site-paper); }
a { color: var(--site-rust); text-underline-offset: .18em; }
a:hover { text-decoration: underline; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid #c07818; outline-offset: 4px; }
.skip-link { position: absolute; left: 1rem; top: -10rem; background: white; color: #241b12; padding: .7rem 1rem; z-index: 100; }
.skip-link:focus { top: 1rem; }
.site-header { background: #20160c; color: #f5e0a0; border-bottom: 3px solid var(--site-gold); font-family: Georgia, serif; }
.site-header-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 2rem; }
.site-brand { min-width: 0; color: #f5e0a0; font-size: clamp(1.5rem, 4.5vw, 2.875rem); text-decoration: none; line-height: 1.12; overflow-wrap: anywhere; }
.site-brand span { display: block; color: #d3bf94; font: .78rem/1.5 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; margin-top: .45rem; }
.heritage-brand { flex: none; }
.heritage-brand img { display: block; width: 180px; height: auto; }
.site-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1.5rem; padding: .65rem 2rem; border-top: 1px solid #5b482c; }
.site-nav { display: flex; flex-wrap: wrap; gap: .2rem 1rem; flex: 1; }
.site-nav a, .site-explore a { color: #f3dfaf; font: .85rem/1.8 Arial, sans-serif; text-decoration: none; padding: .25rem 0; }
.site-nav a:hover, .site-explore a:hover { text-decoration: underline; }
.site-search { display: flex; min-width: 0; max-width: 100%; }
.site-search input[type=search] { min-width: 0; width: 150px; border: 1px solid #aa8d52; background: #fffaf0; color: #241b12; padding: .55rem .65rem; border-radius: 0; font: .8rem Arial, sans-serif; }
.site-search button { border: 1px solid #aa8d52; background: #c9a030; color: #21170a; padding: .5rem .65rem; cursor: pointer; font-weight: bold; }
.site-explore { display: none; padding: .65rem 1rem; border-top: 1px solid #5b482c; font: .9rem/1.5 Arial, sans-serif; }
.site-explore summary { cursor: pointer; }
.site-explore nav { display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding-top: .75rem; }
.site-layout, #layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; }
.site-sidebar { background: #ede3cb; border-right: 1px solid var(--site-rule); font-family: Georgia, serif; align-self: stretch; }
.site-sidebar .sidebar-cat-header { padding: .7rem 1rem; background: var(--site-rust); color: #fff2d5; font: bold .7rem/1.6 Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.site-sidebar .sidebar-heading { padding: .6rem 1rem; color: var(--site-rust); font: bold .75rem/1.6 Arial, sans-serif; border-bottom: 1px solid var(--site-rule); }
.site-sidebar ul { margin: 0; padding: 0; list-style: none; }
.site-sidebar li { border-bottom: 1px solid #d7c9aa; }
.site-sidebar li a, .site-sidebar .sidebar-products a { display: block; padding: .5rem 1rem; color: #46351d; font-size: .85rem; line-height: 1.4; text-decoration: none; }
.site-sidebar a:hover { background: #e2d3b1; text-decoration: underline; }
.article-content { min-width: 0; padding: 2rem clamp(1rem, 4vw, 3rem); overflow-wrap: anywhere; }
.article-content p { margin: 0 0 1.2em; }
.article-content > div, .article-content center { max-width: 100%; }
.article-content img { max-width: 100%; height: auto; }
.author-bio { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; max-width: 32rem; margin: 1.5rem auto; text-align: left; }
.monument-title-image { position: relative; display: inline-block; max-width: 100%; }
.monument-title-image img { display: block; }
/* The original title artwork includes a second byline on a white field. */
.monument-title-image::after { content: ""; position: absolute; inset: 15% 28.4% 80% 44.4%; background: #fff; }
.author-bio img { display: block; width: 120px; height: auto; }
.author-bio p { flex: 1 1 14rem; margin: 0; font-family: Georgia, 'Times New Roman', serif; font-style: italic; }
.article-content .author-coauthor { text-align: center; font-style: italic; }
.article-content .author-portrait { width: 112px; height: auto; }
.article-content h1 { font-size: 1.8rem; line-height: 1.25; }
.article-content h2 { font-size: 1.4rem; line-height: 1.35; }
.article-content h3 { font-size: 1.15rem; }
.article-content blockquote { margin: 1.3rem 1.2rem; }
.article-content table { max-width: 100%; border-collapse: collapse; }
.article-content td, .article-content th { overflow-wrap: normal; }
.article-content > center > div { text-align: left; }
.article-content.category-content,
.article-content.category-content * { font-family: Georgia, 'Times New Roman', serif; }
.category-content { --category-entry-font-size: 19.55px; }
.category-content .category-heading { color: #396377; font-size: 24.48px; font-weight: 700; }
.category-content .category-heading span { color: inherit; }
.category-content .category-caption { color: #000; font-size: 17px; }
.category-content .article-summary { color: var(--site-ink); font-size: var(--category-entry-font-size); }
.category-content a { color: var(--site-rust); text-decoration: none; }
.category-content a:hover, .category-content a:focus-visible { text-decoration: underline; }
.category-content a span { color: inherit; }
.category-articles a,
.category-content .category-article-title { color: var(--site-rust); font-size: var(--category-entry-font-size); font-weight: 700; }
.category-articles a span, .category-article-title span { font-size: inherit; }
.category-content .article-credit { color: #000; font-size: var(--category-entry-font-size); font-style: normal; font-weight: 400; line-height: normal; }
#hero-img { display: block; width: 100%; height: 420px; object-fit: cover; object-position: center 28%; }
#hero-masthead { position: absolute; top: auto; bottom: 0; left: 0; right: 0; width: auto; height: auto; padding: 2rem 1.5rem; text-align: center; }
#hero-masthead div { margin: 0; height: auto; }
#hero-masthead .auto-style1 { display: block; font-size: clamp(1.2rem, 3vw, 2rem); }
.article-content input, .article-content textarea, .article-content select { max-width: 100%; font-size: 1rem; }
.article-content input[type=button], .article-content input[type=submit], .article-content input[type=reset] { padding: .5rem .9rem; cursor: pointer; }
.table-scroll { overflow-x: auto; max-width: 100%; margin: 1rem 0; }
.article-columns { display: flex; flex-direction: column; gap: 2rem; }
.article-primary { order: 1; min-width: 0; }
.article-supplement { order: 2; border-top: 1px solid var(--site-rule); padding-top: 1.5rem; }
.legacy-artwork { overflow-x: auto; }
.legacy-artwork table { max-width: none; }
.legacy-artwork img { max-width: none; }
/* Keep the original artwork and its image-map geometry. */
.legacy-artwork img[src$="/clients37.jpg"] { clip-path: inset(0 0 12%); }
.legacy-artwork img[src$="/clients88.jpg"] { clip-path: inset(0 0 36%); }
.legacy-artwork img[src$="/consulting53.jpg"] { clip-path: inset(0 0 31%); }
.legacy-artwork img[src$="/costume1.jpg"] { clip-path: inset(0 0 4.1%); }
.legacy-artwork img[src$="/index5.jpg"] { clip-path: inset(0 0 25%); }
.legacy-artwork img[src$="/training88.jpg"] { clip-path: inset(0 0 33%); }
.legacy-artwork img[src$="/props133.jpg"],
.legacy-artwork img[src$="/video135.jpg"] { visibility: hidden; }
.site-sale-banner { display: block; clear: both; max-width: 717px; margin: 1.5rem auto 0; }
.home-content > .site-sale-banner { margin: .125rem auto 1.375rem; width: calc(100% - 44px); }
.site-sale-banner img { display: block; width: 100%; height: auto; }
.site-footer { padding: 1.5rem 2rem; border-top: 2px solid var(--site-gold); background: #20160c; color: #dfcda7; font: .75rem/1.8 Arial, sans-serif; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: .35rem 1.3rem; margin-bottom: .8rem; }
.site-footer a { color: #f5e0a0; }
.site-footer p { max-width: 900px; margin: .8rem 0; }
@media (max-width: 760px) {
  .site-header-top { gap: .75rem; padding: 1rem; }
  .site-brand span { font-size: .69rem; letter-spacing: .12em; }
  .heritage-brand img { width: min(150px, 48vw); }
  .site-toolbar { padding: .6rem 1rem; }
  .site-nav { flex-basis: 100%; gap: .2rem 1rem; }
  .site-search { width: 100%; }
  .site-search input[type=search] { flex: 1; width: 100%; }
  .site-explore { display: block; }
  .site-layout, #layout { display: block; }
  .site-sidebar { display: none; }
  .article-content { padding: 1.5rem 1rem; }
  #hero-img { height: 300px; }
  .article-content blockquote { margin: 1rem .4rem; }
  .site-footer { padding: 1.3rem 1rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
@media print {
  body, .site-shell, #shell { background: white; color: black; }
  .site-header, .site-sidebar, .site-footer, .site-sale-banner, .skip-link { display: none; }
  .site-layout, #layout { display: block; }
  .article-content { padding: 0; }
  .table-scroll { overflow: visible; }
}
