/* Ownership Brief: site-wide palette and responsive presentation. */
body.ob-site-style {
  --ob-brand: #0085f9;
  --ob-link: #0067c5;
  --ob-ink: #2e2a2f;
  --ob-muted: #66646a;
  --ob-paper: #fffefb;
  --ob-tint: #edf5ff;
  --ob-surface: #f8f8f8;
  --ob-rule: #d9e1eb;
  --c-main: var(--ob-brand);
  --c-a-hover: var(--ob-link);
  --c-headings: var(--ob-ink);
  --c-body: var(--ob-ink);
  --body-color: var(--ob-ink);
  --c-separator: var(--ob-rule);
  --c-sidebar-sep: var(--ob-rule);
  background: var(--ob-paper);
  color: var(--ob-ink);
}
.ob-site-style .main-wrap { background: var(--ob-paper); }
.ob-site-style :is(.smart-head,.mobile-head,.navigation,.mobile-menu) {
  --c-main: var(--ob-brand);
  --c-headings: var(--ob-ink);
  --c-nav: var(--ob-ink);
  --c-nav-hov: var(--ob-link);
  --c-nav-hov-bg: var(--ob-tint);
  --c-nav-drop: var(--ob-ink);
  --c-nav-drop-bg: var(--ob-paper);
  --c-nav-drop-hov: var(--ob-link);
  --c-nav-drop-hov-bg: var(--ob-tint);
  --c-nav-drop-sep: var(--ob-rule);
}
.ob-site-style .smart-head .s-light { background-color: var(--ob-paper); }
.ob-site-style .smart-head-main .smart-head-bot { border-top-color: var(--ob-brand); border-bottom-color: var(--ob-rule); }
.ob-site-style .navigation .menu > li > a { border-radius: 7px; }
.ob-site-style .navigation :is(.mega-menu,.menu > li > .sub-menu) {
  background: var(--ob-paper); border: 1px solid var(--ob-rule);
  border-radius: 0 0 12px 12px; box-shadow: 0 10px 24px rgb(46 42 47 / 8%);
}
.ob-site-style .navigation .mega-menu.links > li > a {
  color: var(--ob-link); min-height: 48px; font-weight: 600; align-items: flex-start;
}
.ob-site-style .navigation .mega-menu.links > li { min-width: 0; }
.ob-site-style .navigation .mega-menu.links > li li a { border-radius: 5px; }
.ob-site-style .navigation .mega-menu-a .sub-cats { background: var(--ob-surface); }
.ob-site-style .navigation .mega-menu-a .sub-cats a { color: var(--ob-ink); }
.ob-site-style .navigation .mega-menu-a .sub-cats :is(a:hover,a:focus-visible,.active > a) { color: var(--ob-link); background: var(--ob-tint); }
.ob-site-style .navigation .mega-menu .post-title { color: var(--ob-ink); line-height: 1.45; }
.ob-site-style :is(.smart-head,.mobile-head) .ts-button {
  background: var(--ob-link); color: #fff; border-radius: 8px;
}
.ob-site-style :is(.smart-head,.mobile-head) .ts-button:hover { background: #0053a0; }
.ob-site-style :is(.navigation,.mobile-menu,.main-footer) a:focus-visible {
  outline: 3px solid var(--ob-brand); outline-offset: 3px;
}
.ob-site-style .mobile-menu { color: var(--ob-ink); background: var(--ob-paper); }
.ob-site-style .mobile-menu a { color: var(--ob-ink); overflow-wrap: anywhere; }
.ob-site-style .mobile-menu .sub-menu { background: var(--ob-tint); }
.ob-site-style .mobile-menu .chevron { color: var(--ob-link); }

/* Homepage and archive editorial blocks keep the native SmartMag layout. */
.ob-site-style :is(.block-head,.archive-head) {
  --c-heading-multi: var(--ob-link); --c-main: var(--ob-brand);
  --c-headings: var(--ob-ink); border-color: var(--ob-rule);
}
.ob-site-style .block-head .heading { color: var(--ob-ink); }
/* The imported demo uses an important purple border on archive titles. */
.ob-site-style:is(.archive,.search) .archive-heading { border-left-color: var(--ob-brand) !important; }
.ob-site-style:is(.archive,.search,.author) .main-heading { border-left-color: var(--ob-brand); }
.ob-site-style :is(.archive-author-box,.author-info,.author-box) { border-top-color: var(--ob-brand); background-color: var(--ob-tint); }
.ob-site-style.error404 .page-404 { border-top-color: var(--ob-brand); background-color: var(--ob-tint); }
.ob-site-style.error404 .text-404 { color: var(--ob-link) !important; }
.ob-site-style .l-post:not(.grid-overlay) .post-title { --c-headings: var(--ob-ink); }
.ob-site-style .l-post .image-link { border-radius: 10px; overflow: hidden; }
.ob-site-style .l-post .post-title a:hover { color: var(--ob-link); }
.ob-site-style .l-post.grid-post:not(:has(.media .image-link)) {
  display: flex; flex-direction: column; justify-content: center; min-height: 150px;
  background: var(--ob-tint); border: 1px solid var(--ob-rule); border-radius: 12px; padding: 22px;
}
.ob-site-style .l-post.grid-post:not(:has(.media .image-link)) > .media { display: none; }
.ob-site-style .l-post.grid-post:not(:has(.media .image-link)) .content { margin: 0; }
/* A missing thumbnail must never leave absolutely positioned white text floating above a block. */
.ob-site-style .grid-overlay:not(:has(.media .image-link)) {
  min-height: 180px; background: var(--ob-tint); border: 1px solid var(--ob-rule); border-radius: 12px;
}
.ob-site-style .grid-overlay:not(:has(.media .image-link)) .content-wrap { position: static; padding: 24px; }
.ob-site-style .grid-overlay:not(:has(.media .image-link)) :is(.post-title,.post-title a) { color: var(--ob-ink); text-shadow: none; }
.ob-site-style .grid-overlay:not(:has(.media .image-link)) .media { display: none; }
.ob-site-style .ob-research-home { background: var(--ob-tint); border-color: var(--ob-rule); padding-block: 38px; }
.ob-site-style .ob-research-home-inner { max-width: 1280px; }
.ob-site-style .ob-research-home h2 { color: var(--ob-ink); }
.ob-site-style .ob-published-list ul { gap: 8px 12px; }
.ob-site-style .ob-published-list a {
  display: inline-block; background: var(--ob-paper); color: var(--ob-link);
  border: 1px solid var(--ob-rule); border-radius: 6px; padding: 6px 11px;
  font: 500 13px/1.5 "Work Sans",system-ui,sans-serif; text-decoration: none;
}
.ob-site-style .ob-published-list a:hover { border-color: var(--ob-brand); text-decoration: underline; }
.ob-site-style .ob-research-kicker { color: var(--ob-link); }
.ob-site-style :is(.ob-preview-notice,.ob-directory-callout) {
  background: var(--ob-tint); color: var(--ob-ink); border: 1px solid var(--ob-rule); border-radius: 12px;
}
.ob-site-style .ob-topic-nav a { border-radius: 7px; background: var(--ob-paper); color: var(--ob-link); border-color: var(--ob-rule); }
.ob-site-style .ob-topic-nav a:hover { background: var(--ob-tint); border-color: var(--ob-brand); }
.ob-site-style :is(.ob-research-card,.ob-toolkit-card) { height: 100%; box-sizing: border-box; }
.ob-site-style .ob-research-card { display: flex; flex-direction: column; background: var(--ob-paper); border-color: var(--ob-rule); }
.ob-site-style .ob-research-card h2 { font-size: 22px; overflow-wrap: anywhere; }
.ob-site-style .ob-research-card h2 a { color: var(--ob-ink); }
.ob-site-style .ob-research-card h2 a:hover { color: var(--ob-link); }
.ob-site-style .ob-research-card .ob-research-kicker { min-height: 18px; }
.ob-site-style .ob-worksheet { background: var(--ob-surface); border-color: var(--ob-rule); }
.ob-site-style .ob-worksheet :is(textarea,input) { background: var(--ob-paper); border-color: #7d8289; color: var(--ob-ink); }
.ob-site-style .ob-worksheet fieldset { border-color: var(--ob-rule); background: var(--ob-paper); }
.ob-site-style .ob-worksheet :is(button,textarea,input):focus-visible { outline: 3px solid var(--ob-brand); outline-offset: 3px; }
.ob-site-style .ob-worksheet button { min-height: 44px; background: var(--ob-link); color: #fff; }
.ob-site-style .ob-worksheet button:hover { background: #0053a0; }
.ob-site-style .ob-worksheet-result { background: var(--ob-tint); color: var(--ob-ink); padding: 16px; border-radius: 8px; }
.ob-site-style :is(.pagination,.main-pagination) a { border-radius: 6px; }
.ob-site-style .main-footer {
  --footer-bg: #2e2a2f; --footer-lower-bg: #2e2a2f; --c-links: #fffefb;
  background: #2e2a2f; color: #fffefb;
}
.ob-site-style .main-footer :is(a,.copyright) { color: #fffefb; }
.ob-site-style .main-footer a:hover { color: #a9d6ff; }

/* Replace the three mismatched toolkit loops with one nine-card grid. */
.ob-site-style.home .elementor.elementor-6869 .elementor-element.elementor-element-50e482dd { background-color: var(--ob-tint); }
.ob-site-style.home .elementor-element-50e482dd { padding: 44px 0; margin-block: 34px; }
/* This section supplies its own gutters; remove the theme's extra spacer items. */
.ob-site-style.home .elementor-element-50e482dd::before,
.ob-site-style.home .elementor-element-50e482dd::after { display: none; }
.ob-site-style.home .elementor-element-50e482dd > .elementor-container { max-width: 1328px; padding-inline: 24px; margin-inline: auto; }
.ob-site-style.home .elementor-element-50e482dd > .elementor-container > .elementor-column { padding: 0; }
.ob-site-style.home .elementor-element-50e482dd > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0; }
.ob-site-style.home :is(.elementor-element-409c7609,.elementor-element-34f314a7) { margin: 0; width: 100%; }
.ob-site-style.home .elementor-element-409c7609 > .elementor-container { max-width: none; width: 100%; margin: 0; }
.ob-site-style.home .elementor-element-67deb979 { width: 100%; border: 0; padding: 0; }
.ob-site-style.home .elementor-element-67deb979::after { display: none; }
.ob-site-style.home .elementor-element-67deb979 > .elementor-widget-wrap { padding: 0; }
.ob-site-style.home :is(.elementor-element-7c5c517b,.elementor-element-d4bb069,.elementor-element-708a235) { display: none; }
.ob-site-style .ob-toolkit-heading h2 { margin: 6px 0 12px; color: var(--ob-ink); font: 700 clamp(27px,3vw,36px)/1.2 Georgia,serif; }
.ob-site-style #ownership-toolkit { scroll-margin-top: 125px; }
.ob-site-style .ob-toolkit-heading p { margin: 0 0 26px; max-width: 720px; font-size: 16px; line-height: 1.6; }
.ob-site-style .ob-toolkit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.ob-site-style .ob-toolkit-card {
  display: flex; flex-direction: column; gap: 12px; padding: 25px;
  background: var(--ob-paper); color: var(--ob-ink); border: 1px solid var(--ob-rule); border-radius: 12px;
  text-decoration: none; min-width: 0;
}
.ob-site-style .ob-toolkit-card .ob-research-kicker { margin: 0; }
.ob-site-style .ob-toolkit-card h3 { font: 600 20px/1.35 "Work Sans",system-ui,sans-serif; color: var(--ob-ink); margin: 0; }
.ob-site-style .ob-toolkit-card p { font-size: 15px; line-height: 1.65; color: var(--ob-muted); margin: 0 0 4px; }
.ob-site-style .ob-toolkit-action { margin-top: auto; font: 600 13px/1.5 "Work Sans",system-ui,sans-serif; color: var(--ob-link); }
.ob-site-style .ob-toolkit-card:hover { border-color: var(--ob-brand); }
.ob-site-style .ob-toolkit-card:hover h3 { color: var(--ob-link); }
.ob-site-style .ob-toolkit-card:focus-visible { outline: 3px solid var(--ob-brand); outline-offset: 4px; }
@media (min-width:941px) {
  .ob-site-style .navigation .mega-menu.links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 22px; gap: 22px; }
  .ob-site-style .navigation .mega-menu.links > li { float: none; width: auto; padding: 0; border: 0; }
}
@media (max-width:940px) {
  .ob-site-style .ob-toolkit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .ob-site-style.home .elementor-element-50e482dd { padding: 30px 0; margin-block: 24px; }
  .ob-site-style.home .elementor-element-50e482dd > .elementor-container { padding-inline: 18px; }
  .ob-site-style .ob-toolkit-grid { grid-template-columns: 1fr; gap: 14px; }
  .ob-site-style .ob-toolkit-card { padding: 21px; }
  .ob-site-style .ob-research-home { padding-block: 28px; }
  .ob-site-style .ob-research-routes a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; }
  .ob-site-style .ob-worksheet-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .ob-site-style .ob-worksheet-actions button { margin-top: 0; }
  .ob-site-style .ob-worksheet-actions { margin-top: 20px; }
  .ob-site-style .ob-worksheet input { min-height: 44px; }
  .ob-site-style .main-footer .links .menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; }
}
@media print {
  body.ob-site-style,.ob-site-style .main-wrap { background: #fff; color: #000; }
  .ob-site-style :is(.ob-research-card,.ob-toolkit-card,.ob-worksheet,.ob-preview-notice) { background: #fff; box-shadow: none; }
}
