/* WordPress integration layer only. Approved TreatmentScale stylesheets are
   enqueued separately and remain the source of all component presentation. */

/* Keep the server-rendered fallback navigation available without JavaScript. */
.ts-nojs-links {
  display: block;
}
html.ts-js .ts-nojs-links {
  display: none;
}

/* Align WordPress content wrappers with the approved page layout without
   changing the design-system component rules. */
.wp-site-blocks {
  overflow-wrap: break-word;
  padding: 0;
}
.wp-site-blocks > :first-child {
  margin-block-start: 0;
}
.wp-site-blocks > :last-child {
  margin-block-end: 0;
}
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:50}
.wp-site-blocks>main,.wp-block-post-content{margin-block-start:0;display:flow-root}
.wp-site-blocks .hero{margin-top:-84px}
@media(max-width:1140px){.wp-site-blocks .hero{margin-top:-74px}}
.wp-site-blocks :where(img, video, iframe) {
  max-width: 100%;
}
.wp-site-blocks :where(.wp-block-image, .wp-block-gallery) {
  margin-block: 0;
}

/* Reliable keyboard visibility even when theme/browser defaults are reset. */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--gold, #d9c19a);
  outline-offset: 3px;
}

/* Keep in-page destinations clear of the sticky header and ribbons. */
:where([id], .prose h2, .prose h3) {
  scroll-margin-top: 170px;
}
@media (max-width: 1140px) {
  :where([id], .prose h2, .prose h3) {
    scroll-margin-top: 150px;
  }
}

/* Progressive enhancement: no-JS visitors retain readable, scrollable content
   and native details/anchor navigation; do not expose inert rail controls. */
html:not(.ts-js) .rail-nav,
html:not(.ts-js) .gallery-nav,
html:not(.ts-js) .cat-strip-nav {
  display: none !important;
}
.ts-skip{position:fixed;left:16px;top:-100px;z-index:100;padding:14px 20px;background:#fff;color:#111;font-weight:700}
.ts-skip:focus{top:12px}
.ts-nojs-links{position:relative;z-index:20;background:#fff;padding:90px 24px 16px;display:flex;flex-wrap:wrap;gap:18px}
.ts-menu-list{display:flex;gap:24px;align-items:center;list-style:none}
.ts-menu-list .sub-menu{display:none;position:absolute;background:#fff;color:#111;padding:16px}
.ts-menu-list li:hover>.sub-menu,.ts-menu-list li:focus-within>.sub-menu{display:block}
.panel .ts-menu-list{display:grid;gap:16px}.panel a:hover{text-decoration:underline}
.ts-inquiry-form label{display:grid;gap:8px;font-weight:600;font-size:17px}
.ts-inquiry-form input:not([type=checkbox]),.ts-inquiry-form textarea,.ts-search input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}
.ts-inquiry-form label:has(input[type=checkbox]){display:flex;align-items:start}
.ts-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ts-form-status{padding:18px;background:var(--sand);border-left:4px solid var(--gold)}
.ts-search{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 32px}.ts-search label{width:100%;font-weight:700}.ts-search input{flex:1}
.ts-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:40px 0}.ts-pagination a,.ts-pagination span{padding:10px 16px;border:1px solid var(--line);border-radius:12px}
.ts-pagination .current{background:var(--gold)}
.article-aside .byline{display:block}.article-aside .byline-person{margin-bottom:20px}
.hero-bg .wp-block-image{height:100%;width:100%}
.editor-styles-wrapper .wp-block-group{max-width:none}
.sources summary{cursor:pointer;list-style:none;padding:6px 0}
.sources summary::-webkit-details-marker{display:none}
.sources summary h3{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0}
.sources summary i{display:inline-flex;flex-shrink:0;color:var(--gold-deep);font-style:normal}
.sources summary svg{width:24px;height:24px}
.sources[open] summary svg{transform:rotate(45deg)}
.sources[open]>ol{margin-top:18px}
.blog-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.blog-index .blog-filters{display:flex;gap:10px;min-width:0;max-width:100%;margin:0;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;padding:4px 2px 10px;scrollbar-width:thin;scrollbar-color:var(--gold-deep) var(--sand)}
.blog-index .blog-filters .chip{flex:0 0 auto;white-space:nowrap}
.blog-index .blog-filters:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}
.blog-index .blog-count{white-space:normal}
.hero-meta{display:flex;flex-wrap:nowrap;gap:28px;width:max-content;max-width:min(var(--container),calc(100vw - 48px));overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(255,255,255,.12);padding-bottom:8px}
.hero-meta .hero-date{flex:0 0 auto;white-space:nowrap}
.hero-meta:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:640px){.hero-meta{max-width:calc(100vw - 40px)}}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  :where(*, *::before, *::after) {
    scroll-behavior: auto !important;
  }
}