html { background: #f5f2eb; color: #242b28; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.ob-site { min-height: 100vh; display: flex; flex-direction: column; }
.ob-site main { flex: 1; }
.ob-brand { font-family: 'Source Serif 4', Georgia, serif; }
.ob-brand-dot { color: #254b40; }
.ob-site .ob-nav a[aria-current=page] { color: var(--ob-accent); text-decoration: underline; text-underline-offset: 7px; }
.ob-site a, .ob-site button { transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.ob-site button:focus-visible, .ob-site a:focus-visible, .ob-skip:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.ob-site .ob-primary:hover { background: #19392f; }
.ob-site .ob-contact a:hover, .ob-site .ob-contact-details a:hover { color: #fff; }
.ob-site :is(h1,h2,h3,p,a) { overflow-wrap: break-word; }
.ob-site [id] { scroll-margin-top: 28px; }
.ob-site .ob-footer { border-top: 1px solid var(--ob-rule); }
.ob-skip { position: fixed; z-index: 100001; top: 10px; left: 16px; transform: translateY(-180%); background: #254b40; color: #f5f2eb; padding: 12px 20px; }
.ob-skip:focus { transform: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ob-site .ob-menu { display: none; }
.ob-site .ob-articles h2 { font-size: var(--ob-reading-heading); margin-bottom: 32px; }
.ob-article-row { display: grid; grid-template-columns: 1fr 2fr; gap: 7%; padding-block: 28px; border-top: 1px solid #d4d5ca; }
.ob-article-meta { color: #58605b; font-size: var(--ob-reading-small); line-height: 1.6; }
.ob-article-meta span { display: block; margin-top: 6px; }
.ob-site .ob-article-row h3 { font-size: var(--ob-reading-heading); line-height: 1.3; }
.ob-article-excerpt { margin-block: 18px; font-size: var(--ob-reading-text); line-height: var(--ob-reading-leading); }
.ob-article-row .ob-secondary { font-size: var(--ob-reading-small); }
.ob-pagination { display: flex; gap: 20px; padding-top: 24px; }
.ob-article { padding-block: 30px 68px; }
.ob-article-back { margin-bottom: 24px; font-size: var(--ob-reading-small); }
.ob-article > article, .ob-article > .ob-draft-notice { max-width: var(--ob-reading-width); }
.ob-article-header { padding-block: 24px 32px; }
.ob-site .ob-article-header .ob-eyebrow { font-size: var(--ob-reading-small); margin-bottom: 16px; letter-spacing: .025em; text-transform: none; }
.ob-site .ob-article-header h1 { font-size: var(--ob-reading-title); line-height: 1.15; letter-spacing: -.025em; }
.ob-site .ob-article-header .ob-article-meta { margin-top: 20px; }
.ob-site .ob-article-lead { font-size: var(--ob-reading-text); line-height: var(--ob-reading-leading); font-weight: 500; margin-top: 24px; }
.ob-article-body { font-size: var(--ob-reading-text); line-height: var(--ob-reading-leading); }
.ob-site .ob-article-body :is(h1, h2) { font-family: var(--ob-title); font-size: var(--ob-reading-heading); font-weight: 400; line-height: 1.3; letter-spacing: -.015em; margin: 36px 0 16px; }
.ob-site .ob-article-body :is(h3, h4, h5, h6) { font-family: Inter, Arial, sans-serif; font-size: var(--ob-reading-text); font-weight: 500; line-height: 1.5; letter-spacing: 0; margin: 28px 0 12px; }
.ob-site .ob-article-body p + p { margin-top: 20px; }
.ob-article-body :is(ul, ol) { margin-block: 20px; padding-inline-start: 1.5em; }
.ob-article-body blockquote { margin: 28px 0; padding: 4px 0 4px 24px; border-left: 2px solid #254b40; color: #254b40; font-family: Inter, Arial, sans-serif; font-size: var(--ob-reading-text); font-style: normal; }
.ob-article-body figure { margin-block: 28px; }
.ob-article-body :is(figcaption, cite) { font-size: var(--ob-reading-small); line-height: 1.6; color: #58605b; }
.ob-article-body .wp-block-table { overflow-x: auto; }
.ob-article-body pre { overflow-x: auto; }
.ob-article-cover { margin-bottom: 32px !important; }
.ob-draft-notice { padding: 12px 16px; background: #e5e6dc; border-left: 3px solid #254b40; font-size: 14px; }
@media (min-width: 1200px) { .ob-site .ob-shell { padding-inline: 68px; } }
@media (max-width: 650px) {
  .ob-site .ob-nav { display: flex; }
  .ob-js .ob-site .ob-menu { display: inline-flex; }
  .ob-js .ob-site .ob-nav { display: none; }
  .ob-js .ob-site[data-menu-open=true] .ob-nav { display: flex; }
  .ob-article-row { grid-template-columns: 1fr; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
