/* Shared by CaseMentor and Quant Practice. Keep this file identical in both products. */
:root {
  --paper:#fff; --white:#fff; --surface:#f4f5f6; --ink:#26282c;
  --muted:#59616a; --line:#d9dde2; --accent:#7c3042;
  --accent-hover:#612335; --accent-soft:#f7ecef;
  --teal:var(--accent); --teal-dark:var(--accent-hover); --mint:var(--accent-soft);
  --font-body:'Source Sans 3','Segoe UI',Arial,sans-serif;
  --font-ui:var(--font-body); --font-display:var(--font-body);
  --radius:4px; --shadow:none;
  --resource-paper:var(--paper); --resource-ink:var(--ink); --resource-muted:var(--muted);
  --resource-line:var(--line); --resource-rust:var(--accent); --resource-soft:var(--surface);
  --resource-heading:var(--font-body); --resource-body:var(--font-body);
  --success:#30664b; --success-soft:#edf5ef;
}
body {background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.6}
button,input,select,textarea {font-family:var(--font-ui)}
h1,h2,h3,h4 {font-family:var(--font-body)!important;font-style:normal;letter-spacing:-.015em;color:var(--ink)}
h1 {font-size:36px;font-weight:600;line-height:1.18}
h2 {font-size:26px;font-weight:600;line-height:1.3}
h3 {font-size:21px;font-weight:600;line-height:1.35}
h1 em,h2 em,h3 em {font:inherit;color:inherit}
a {text-underline-offset:3px}
::selection {background:#ebd5dc;color:var(--ink)}
:focus-visible {outline:3px solid var(--accent);outline-offset:3px}
.brand,.resource-brand,.product-wordmark {font-family:Manrope,'Segoe UI',Arial,sans-serif!important;font-size:20px;font-weight:700;letter-spacing:-.5px;color:var(--ink);text-decoration:none}
.brand-symbol {display:none}
.btn,.home-button,.resource-button {font-family:var(--font-body);font-size:16px;font-weight:600;line-height:1.35;min-height:44px;border-radius:4px;box-shadow:none;letter-spacing:0}
.btn-primary,.home-button-primary,.resource-button {background:var(--accent);border-color:var(--accent);color:white}
.btn-primary:hover,.home-button-primary:hover,.resource-button:hover {background:var(--accent-hover);border-color:var(--accent-hover);color:white}
input,select,textarea {font-size:16px;border-radius:4px}
.muted,.caption {color:var(--muted)}
.caption {font-size:14px;line-height:1.5}
.eyebrow,.nav-group-label {font-family:var(--font-body);text-transform:none;letter-spacing:0;font-weight:600;font-size:14px;color:var(--muted)}
.public-header,.topbar,.research-public-header,.resource-site-header {background:white;border-color:var(--line);box-shadow:none}
.public-header {min-height:72px}
.public-header-inner {max-width:1160px;min-height:72px;padding-block:0}
.public-nav a {font-family:var(--font-body);font-size:16px;font-weight:400;letter-spacing:0}
.public-actions .btn-primary {font-size:16px}
.public-actions .header-account {font-size:15px}
.sidebar {background:white;border-color:var(--line)}
#main-nav a {font-family:var(--font-body);font-size:16px;min-height:44px;border-radius:4px}
#main-nav a.active {background:var(--accent-soft);color:var(--accent);font-weight:600}
.sidebar-bottom,.sidebar-route p,.sidebar-route label {font-size:14px}
.sidebar-bottom .status-dot {display:none}
.topbar {min-height:72px}
.heading-row h1,.page-heading h1,.training-page h1 {font-size:36px;font-weight:600;letter-spacing:-.02em}
.page-heading > p {font-size:18px;line-height:1.6}
.panel,.curriculum-module,.course-progress,.lesson-navigation,.case-library-card {border-radius:4px;box-shadow:none}
.next-session {background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px}
.next-session h2 {font-family:var(--font-body);font-weight:600;font-size:28px;color:var(--ink)}
.next-session > p:not(.eyebrow),.next-session .session-heading > span,.next-session .focus-meta,.next-session small,.next-session .eyebrow {color:var(--muted)}
.next-session .btn-primary {background:var(--accent);color:white;border-color:var(--accent)}
.next-session .btn-primary:hover {background:var(--accent-hover);color:white;border-color:var(--accent-hover)}
.resource-site-header>div,.research-public-header>div {max-width:1208px;min-height:72px;padding:14px 24px}
.resource-site-header nav {font-size:16px}
.resource-brand>span {display:none}
.resource-hub {max-width:1208px;padding:0 24px}
.resource-hub-intro {gap:48px;padding:48px 0 32px}
.resource-hub-intro h1 {font-family:var(--font-body);font-size:44px;font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:0 0 20px}
.resource-hub-intro h1 br {display:none}
.resource-hub-intro aside {border-left:0;padding:0}
.resource-kicker {font-family:var(--font-body);text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400;font-size:14px}
.resource-featured {margin-bottom:36px}
.resource-feature h2 {font-size:22px;font-weight:600}
.resource-library-heading h2 {font-size:26px;letter-spacing:-.015em}
.resource-filters {padding:20px;border:0;border-radius:4px}
.resource-group {padding:30px 0}
.resource-group-heading h2 {font-size:22px}
.resource-row h3 {font-size:21px;font-weight:600}
.resource-article-header h1 {font-family:var(--font-body);font-size:40px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.resource-article {font-size:19px;line-height:1.7}
.resource-article>section>h2 {font-size:25px}
.resource-next-step,.resource-example {border-left:0;background:var(--surface)}
.resource-site-footer {max-width:1160px}
.research-public h1,.guide-shell h1 {font-size:38px;font-weight:600;letter-spacing:-.02em}
.site-footer,.research-public-footer {font-size:14px;color:var(--muted)}
.firm-logo {display:block;width:140px;height:48px;object-fit:contain;object-position:left center}
.firm-affiliation-note {font-size:14px;line-height:1.5;color:var(--muted);margin:20px 0 0}
@media(max-width:820px) {
  .public-header-inner {min-height:64px}
  .public-nav {gap:20px;justify-content:flex-start}
  .public-nav a {font-size:15px;padding:10px 0;min-height:44px}
  .resource-site-header>div {min-height:72px}
  .resource-site-header nav {font-size:15px}
  .resource-hub-intro {padding-top:32px;gap:24px}
  .resource-hub-intro h1 {font-size:34px}
  .resource-article-header h1 {font-size:32px}
  .resource-article {font-size:18px}
  .heading-row h1,.page-heading h1,.training-page h1 {font-size:30px}
}
@media(max-width:520px) {
  .resource-site-header>div {padding:16px 20px}
  .resource-hub {padding:0 20px}
  .resource-hub-intro h1 {font-size:34px}
  .resource-hub-intro>div>p:last-child {font-size:18px}
  .resource-article-header h1 {font-size:32px}
  .resource-site-header nav {flex-wrap:wrap;gap:12px 20px}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}}
