.ths-site {
  --cream: #f4f0e6; --green: #253c33; --burgundy: #6b3038;
  --charcoal: #252525; --gold: #b89b5e; --white: #fff;
  background: var(--cream); box-shadow: 0 12px 45px rgba(23,31,27,.12);
  color: var(--charcoal); font: 16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;
  margin: 0 auto; max-width: 1180px; overflow: hidden;
}
.ths-site *, .ths-site *::before, .ths-site *::after { box-sizing: border-box; }
.ths-site h1,.ths-site h2,.ths-site h3,.ths-site .ths-name { color: var(--green); font-family: Georgia,"Times New Roman",serif; line-height: 1.18; margin-top: 0; }
.ths-site h1 { font-size: clamp(2.25rem,7vw,4.6rem); letter-spacing: -.035em; margin-bottom: 1.25rem; }
.ths-site h2 { font-size: clamp(1.65rem,4vw,2.5rem); }
.ths-site h3 { font-size: 1.35rem; }
.ths-site p { margin: 0 0 1rem; }
.ths-site a { color: var(--burgundy); }
.ths-site img { display: block; height: auto; max-width: 100%; }
.ths-skip { background: var(--white); left: -9999px; padding: .7rem 1rem; position: absolute; top: 0; z-index: 99; }
.ths-skip:focus { left: 1rem; }
.ths-masthead { background: var(--green); color: var(--white); padding: 1.1rem clamp(1rem,4vw,3rem) 0; }
.ths-brand { align-items: center; display: flex; gap: 1rem; padding-bottom: 1rem; }
.ths-logo { max-height: 62px; width: auto; }
.ths-seal { align-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); display: flex; flex: 0 0 52px; font: 700 .8rem/1 Georgia,serif; height: 52px; justify-content: center; letter-spacing: .08em; }
.ths-site .ths-name { color: var(--white); font-size: clamp(1.05rem,3vw,1.45rem); letter-spacing: .08em; margin: 0 0 .15rem; }
.ths-tagline { color: #e4dfd2; font-family: Georgia,"Times New Roman",serif; font-size: .92rem; margin: 0!important; }
.ths-nav { border-top: 1px solid rgba(255,255,255,.22); display: flex; flex-wrap: wrap; gap: 0 1.7rem; }
.ths-nav a { color: var(--white); display: block; font-size: .77rem; font-weight: 700; letter-spacing: .11em; padding: .9rem 0; text-decoration: none; text-transform: uppercase; }
.ths-nav a:hover,.ths-nav a:focus { color: #f0dcae; text-decoration: underline; text-underline-offset: .3rem; }
.ths-nav-toggle { background: transparent!important; border: 1px solid var(--gold)!important; color: var(--white)!important; display: none; }
.ths-nav-toggle:hover,.ths-nav-toggle:focus { background: var(--gold)!important; border-color: var(--gold)!important; color: var(--green)!important; }
.ths-main { padding: clamp(2rem,6vw,5rem) clamp(1.1rem,6vw,5.5rem); }
.ths-main>section,.ths-main>aside,.ths-main>header { margin-bottom: clamp(2.8rem,7vw,5.5rem); }
.ths-two { align-items: center; display: grid; gap: clamp(2rem,5vw,4.5rem); grid-template-columns: minmax(0,1.1fr) minmax(260px,.9fr); }
.ths-eyebrow,.ths-card-type { color: var(--burgundy); font-size: .75rem; font-weight: 800; letter-spacing: .15em; margin-bottom: .65rem!important; text-transform: uppercase; }
.ths-image { border: 8px solid var(--white); box-shadow: 0 8px 22px rgba(37,37,37,.13); width: 100%; }
.ths-placeholder { align-items: center; aspect-ratio: 4/3; background: #e2dccd; border: 8px solid var(--white); box-shadow: 0 8px 22px rgba(37,37,37,.12); color: #655f54; display: flex; justify-content: center; min-height: 210px; position: relative; text-align: center; }
.ths-placeholder::before { border: 1px solid rgba(107,48,56,.35); content: ""; inset: 14px; position: absolute; }
.ths-placeholder span { font: italic 1rem Georgia,serif; padding: 2rem; z-index: 1; }
.ths-video { margin-top: 1rem; }
.ths-video video { background: #151515; max-height: 520px; width: 100%; }
.ths-search { background: var(--white); border-top: 4px solid var(--gold); padding: clamp(1.25rem,4vw,2rem); }
.ths-search label { color: var(--green); display: block; font: 700 1.25rem Georgia,serif; margin-bottom: .6rem; }
.ths-search-row { display: flex; gap: .65rem; }
.ths-search input { border: 1px solid #827d72; border-radius: 0; flex: 1; font: inherit; min-height: 48px; min-width: 0; padding: .7rem .9rem; }
.ths-search button,.ths-button { align-items: center; background: var(--green); border: 2px solid var(--green); color: var(--white)!important; cursor: pointer; display: inline-flex; font-size: .78rem; font-weight: 750; justify-content: center; letter-spacing: .08em; min-height: 46px; padding: .7rem 1.1rem; text-decoration: none!important; text-transform: uppercase; }
.ths-search button:hover,.ths-search button:focus,.ths-button:hover,.ths-button:focus { background: var(--burgundy); border-color: var(--burgundy); }
.ths-search-results article { border-top: 1px solid #d3cdbf; display: grid; gap: .1rem; margin-top: 1rem; padding-top: 1rem; }
.ths-search-results article strong { color: var(--burgundy); font-size: .77rem; letter-spacing: .08em; }
.ths-search-results article a { color: var(--green); font: 700 1.1rem Georgia,serif; }
.ths-search-results article small { color: #635e55; }
.ths-rule-title { align-items: center; display: flex; gap: 1rem; margin-bottom: 1.6rem; }
.ths-rule-title::after { background: var(--gold); content: ""; flex: 1; height: 1px; }
.ths-rule-title h2 { margin: 0; }
.ths-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ths-card { background: var(--white); border-bottom: 3px solid var(--green); padding: clamp(1.2rem,4vw,2rem); }
.ths-card .ths-button { margin-top: .5rem; }
.ths-muted { color: #69645b; display: block; font-size: .85rem; font-style: italic; margin-top: 1rem; }
.ths-notice { background: #e8e1d2; border-left: 5px solid var(--burgundy); padding: clamp(1.25rem,4vw,2.2rem); }
.ths-notice h2 { font-size: 1.5rem; margin-bottom: .45rem; }
.ths-footer { background: var(--charcoal); color: #ddd7c9; padding: 2.2rem clamp(1.1rem,6vw,5.5rem); text-align: center; }
.ths-footer-name { color: var(--white); font: 700 1rem Georgia,serif; letter-spacing: .1em; }
.ths-footer-links { color: #eee8db; }
.ths-footer-links span { color: var(--gold); padding: 0 .35rem; }
.ths-breadcrumb { color: #686157; font-size: .8rem; margin-bottom: 2.2rem; }
.ths-breadcrumb span { color: var(--gold); padding: 0 .4rem; }
.ths-page-header { max-width: 790px; }
.ths-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
.ths-copy { display: flow-root; }
.ths-copy::after { clear: both; content: ""; display: table; }
.ths-copy + .ths-actions { clear: both; }
.ths-button-alt { background: transparent; color: var(--green)!important; }
.ths-highlight-list { background: var(--white); border-top: 4px solid var(--gold); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.ths-highlight-list li { border-bottom: 1px solid #d9d3c6; padding: 1rem 1.2rem 1rem 2.3rem; position: relative; }
.ths-highlight-list li::before { color: var(--burgundy); content: "◆"; font-size: .55rem; left: 1.1rem; position: absolute; top: 1.35rem; }
.ths-highlight-list li.is-linked { padding: 0; }
.ths-highlight-list li.is-linked > a { color: inherit; display: block; padding: 1rem 1.2rem 1rem 2.3rem; text-decoration: none; }
.ths-highlight-list li.is-linked > a:focus-visible { outline: 2px solid var(--gold); outline-offset: -3px; }
.ths-feature { background: #ebe5d8; padding: clamp(1rem,4vw,2.5rem); }
.ths-catalogue { border-top: 4px solid var(--green); }
.ths-record-card { background: var(--white); border-bottom: 1px solid #ccc5b6; display: grid; gap: 1.4rem; grid-template-columns: 115px 1fr; padding: 1.45rem; }
.ths-record-ref { color: var(--burgundy); font-size: .8rem; font-weight: 800; letter-spacing: .06em; }
.ths-record-card h2 { font-size: 1.35rem; margin-bottom: .65rem; }
.ths-record-card dl { display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; margin: 0; }
.ths-record-card dl div { display: flex; gap: .4rem; }
.ths-record-card dt { color: #655f55; font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.ths-record-card dd { margin: 0; }
.ths-record-status { color: #5b574f; font-style: italic; margin: .6rem 0!important; }
.ths-text-link { font-weight: 750; text-underline-offset: .2rem; }
.ths-record-detail { display: grid; gap: clamp(2rem,5vw,4rem); grid-template-columns: minmax(220px,.75fr) minmax(0,1.5fr); }
.ths-metadata { background: var(--white); border-top: 4px solid var(--gold); margin: 0; padding: 1.35rem; }
.ths-metadata div,.ths-ledger-entry dl div { border-bottom: 1px solid #ddd6c8; padding: .65rem 0; }
.ths-metadata div:last-child,.ths-ledger-entry dl div:last-child { border: 0; }
.ths-metadata dt,.ths-ledger-entry dt { color: var(--burgundy); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ths-metadata dd,.ths-ledger-entry dd { margin: .1rem 0 0; }
.ths-record-body>p:first-child { font: 1.2rem/1.6 Georgia,serif; }
.ths-record-content-text { margin: 1.6rem 0; }
.ths-record-content-media { background: var(--white); border: 1px solid #d8d1c3; margin: 1.8rem 0; padding: .65rem; }
.ths-record-content-media img { width: 100%; }
.ths-record-content-media figcaption { color: #5f5a51; font: italic .88rem/1.45 Georgia,serif; padding: .7rem .35rem .2rem; }
.ths-document-link { display: inline-block; font-size: .8rem; font-weight: 750; letter-spacing: .06em; padding: .7rem .35rem .25rem; text-transform: uppercase; text-underline-offset: .2rem; }
.ths-recital-archive { margin-top: clamp(2.8rem,7vw,5.5rem); }
.ths-recital-items { border-top: 4px solid var(--green); }
.ths-recital-item { background: var(--white); border-bottom: 1px solid #d8d1c3; }
.ths-recital-item summary,.ths-recital-item-static { align-items: center; display: grid; gap: 1rem; grid-template-columns: 80px minmax(0,1fr) auto; list-style: none; padding: 1.25rem 1.4rem; }
.ths-recital-item summary { cursor: pointer; }
.ths-recital-item summary::-webkit-details-marker { display: none; }
.ths-recital-item summary:hover { background: #eee8dc; }
.ths-recital-year { color: var(--burgundy); font-size: .8rem; font-weight: 800; letter-spacing: .08em; }
.ths-recital-item-copy { display: grid; }
.ths-recital-item-copy strong { color: var(--green); font: 700 1.18rem/1.3 Georgia,serif; }
.ths-recital-item-copy small { color: #625d54; margin-top: .2rem; }
.ths-recital-open { color: var(--burgundy); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ths-recital-reveal { background: #ebe5d8; border-top: 1px solid #d8d1c3; display: grid; gap: clamp(1.5rem,4vw,3rem); grid-template-columns: minmax(0,1.1fr) minmax(260px,.9fr); padding: clamp(1.2rem,4vw,2.3rem); }
.ths-recital-reveal figure { margin: 0; }
.ths-recital-reveal figure img { border: 7px solid var(--white); box-shadow: 0 8px 22px rgba(37,37,37,.13); width: 100%; }
.ths-recital-reveal figcaption { color: #5f5a51; font: italic .88rem/1.45 Georgia,serif; padding-top: .65rem; }
.ths-archive-article { background: var(--white); border-top: 4px solid var(--gold); padding: 1.4rem; }
.ths-archive-article h3 { font-size: 1.5rem; }
.ths-ledger-entry { background: var(--white); border: 1px solid #d8d1c3; border-left: 4px solid var(--gold); margin-bottom: 1rem; padding: .8rem 1.3rem; }
.ths-ledger-entry dl { display: grid; gap: 0 1.5rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.ths-extra-section { border-top: 1px solid var(--gold); padding-top: 2.5rem; }
.ths-site :focus-visible { outline: 3px solid #c5525e; outline-offset: 3px; }
@media(max-width:720px){
 .ths-site{box-shadow:none}.ths-masthead{padding-bottom:.7rem;position:relative}.ths-brand{padding-right:4rem}.ths-tagline{font-size:.79rem;line-height:1.4}.ths-nav-toggle{display:block;min-height:44px;padding:.55rem .8rem;position:absolute;right:1rem;top:1.15rem}.ths-nav{display:none;padding-top:.4rem}.ths-nav.is-open{display:block}.ths-nav a{border-top:1px solid rgba(255,255,255,.15);min-height:44px;padding:.8rem .2rem}.ths-two,.ths-record-detail,.ths-recital-reveal{grid-template-columns:1fr}.ths-hero>div:first-child{order:1}.ths-card-grid,.ths-highlight-list,.ths-ledger-entry dl{grid-template-columns:1fr}.ths-search-row{display:grid;grid-template-columns:1fr}.ths-search button{width:100%}.ths-record-card{grid-template-columns:1fr;padding:1.2rem}.ths-record-card dl{display:grid;gap:.25rem}.ths-record-card dl div{display:block}.ths-recital-item summary,.ths-recital-item-static{grid-template-columns:62px 1fr}.ths-recital-open{grid-column:2}.ths-footer-links span{display:none}.ths-footer-links{display:grid;gap:.3rem}
}
@media(prefers-reduced-motion:reduce){.ths-site *,.ths-site *::before,.ths-site *::after{scroll-behavior:auto!important;transition:none!important}}

/* The archive supplies its own masthead and page title. Hide theme wrappers only on archive pages. */
body.ths-archive-page #masthead,
body.ths-archive-page header.site-header,
body.ths-archive-page header#site-header,
body.ths-archive-page .elementor-location-header,
body.ths-archive-page .wp-site-blocks > header,
body.ths-archive-page .entry-header:has(> .entry-title),
body.ths-archive-page .page-header:has(.entry-title) { display: none!important; }
body.ths-archive-page #colophon,
body.ths-archive-page footer.site-footer,
body.ths-archive-page footer#site-footer,
body.ths-archive-page .elementor-location-footer,
body.ths-archive-page .wp-site-blocks > footer { display: none!important; }
body.ths-archive-page .ths-footer { display: block!important; }

/* Elementor uses one editable widget per archive section. */
.ths-site.ths-elementor-block { box-shadow: none; margin: 0; max-width: none; overflow: visible; width: 100%; }
.ths-elementor-block .ths-elementor-main { padding-bottom: clamp(1.5rem,4vw,3rem); padding-top: clamp(1.5rem,4vw,3rem); }
.ths-elementor-block .ths-elementor-main>section,
.ths-elementor-block .ths-elementor-main>aside,
.ths-elementor-block .ths-elementor-main>header { margin-bottom: 0; }
body.ths-archive-page .elementor-element:has(> .e-con-inner > .elementor-widget-ths_archive_section),
body.ths-archive-page .elementor-widget-ths_archive_section { margin-bottom: 0!important; }
