/* Public site navigation. Native details disclosures remain usable without JavaScript. */
.skip-link:focus,.resource-skip:focus {z-index:150}
.cm-public-header {position:sticky;top:0;z-index:100;display:block;min-height:0;padding:0;background:#fff;border-bottom:1px solid var(--line,#d9dde2);color:var(--ink,#26282c);font-family:var(--font-body,'Source Sans 3',sans-serif)}
.cm-public-header.public-header {display:none}
.marketing-page .cm-public-header.public-header {display:block}
.cm-header-inner {max-width:1240px;padding:0 28px;margin:0 auto;min-height:84px;display:flex;align-items:center;gap:40px;position:relative}
.cm-wordmark {font-family:Manrope,'Segoe UI',sans-serif!important;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.65px;text-decoration:none;color:var(--ink,#26282c);flex:none;white-space:nowrap}
.cm-wordmark:hover {color:var(--accent,#7c3042)}
.cm-nav-shell {display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1;min-width:0}
.cm-navigation {display:flex;gap:22px;align-items:center}
.cm-navigation a {font-family:var(--font-body,'Source Sans 3',sans-serif);white-space:normal;text-align:left}
.cm-navigation a>span {width:auto;height:auto;text-align:left}
.cm-nav-group {margin:0;padding:0;border:0;background:transparent}
.cm-nav-trigger {position:relative;display:flex;align-items:center;gap:8px;min-height:84px;padding:0;list-style:none;cursor:pointer;color:var(--ink,#26282c);font-size:16px;font-weight:500;line-height:1.4;white-space:nowrap;border:0;background:none}
.cm-nav-trigger::-webkit-details-marker {display:none}
.cm-nav-trigger::marker {content:''}
.cm-nav-trigger::after {content:'';position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--accent,#7c3042);transform:scaleX(0);transform-origin:left;transition:transform 140ms ease}
.cm-nav-trigger svg {flex:none;transition:transform 160ms ease}
.cm-nav-trigger:hover,.cm-nav-group[open]>.cm-nav-trigger,.cm-nav-group.is-current-section>.cm-nav-trigger {color:var(--accent,#7c3042)}
.cm-nav-group[open]>.cm-nav-trigger::after,.cm-nav-group.is-current-section>.cm-nav-trigger::after {transform:scaleX(1)}
.cm-nav-group[open]>.cm-nav-trigger svg {transform:rotate(180deg)}
.cm-nav-panel {position:absolute;top:100%;left:28px;right:28px;display:grid;grid-template-columns:minmax(0,1fr) 290px;background:white;border:1px solid var(--line,#d9dde2);border-top:2px solid var(--accent,#7c3042);border-radius:0 0 6px 6px;box-shadow:0 15px 28px #26282c16;overflow:hidden;max-height:calc(100dvh - 110px);overflow-y:auto}
.cm-nav-main {min-width:0;padding:28px 30px 0}
.cm-nav-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.cm-nav-label {margin:0 0 12px;font-size:14px;line-height:1.45;font-weight:600;color:var(--muted,#59616a)}
.cm-nav-column ul {margin:0;padding:0;list-style:none}
.cm-nav-column li {margin:0}
.cm-nav-column a {display:block;margin:0 -10px 5px;padding:10px;border-radius:4px;text-decoration:none;color:var(--ink,#26282c);line-height:1.35}
.cm-nav-column a>span {display:block;font-size:17px;font-weight:600;line-height:1.35}
.cm-nav-column a>small {display:block;margin-top:4px;color:var(--muted,#59616a);font-size:15px;font-weight:400;line-height:1.45}
.cm-nav-column a:hover,.cm-nav-column a:focus-visible,.cm-nav-column a[aria-current] {background:var(--surface,#f4f5f6);color:var(--accent,#7c3042)}
.cm-nav-overview {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;margin-top:12px;border-top:1px solid var(--line,#d9dde2);border-radius:0;font-size:16px;line-height:1.4;font-weight:600;text-decoration:none;color:var(--accent,#7c3042)}
.cm-nav-overview:hover {text-decoration:underline}
.cm-nav-overview>span {font-size:20px;font-weight:400}
.cm-nav-feature {padding:28px;background:var(--surface,#f4f5f6);border-left:1px solid var(--line,#d9dde2)}
.cm-nav-feature>a {display:block;color:var(--ink,#26282c);text-decoration:none;padding:0;background:none;white-space:normal}
.cm-nav-feature>a:hover {background:none}
.cm-nav-feature strong {display:block;font-size:23px;font-weight:600;line-height:1.25;letter-spacing:-.3px;margin:23px 0 14px}
.cm-nav-feature>a>span {display:block;font-size:16px;font-weight:400;line-height:1.55;color:var(--muted,#59616a)}
.cm-nav-feature b {display:block;margin-top:26px;font-size:16px;font-weight:600;line-height:1.4;color:var(--accent,#7c3042)}
.cm-nav-feature>a:hover b {text-decoration:underline}
.cm-arrow {display:inline-block;width:18px;height:18px;flex:none;vertical-align:-4px;margin-left:7px}
.cm-nav-actions {display:flex;align-items:center;gap:20px;flex:none;font-size:16px;line-height:1.4}
.cm-preparation-link {display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--ink,#26282c);white-space:nowrap}
.cm-preparation-link:hover {color:var(--accent,#7c3042);text-decoration:underline}
.cm-nav-start {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;background:var(--accent,#7c3042);border:1px solid var(--accent,#7c3042);border-radius:4px;font-size:16px;line-height:1.35;font-weight:600;color:white;text-decoration:none;white-space:nowrap}
.cm-nav-start:hover {background:var(--accent-hover,#612335);color:white;border-color:var(--accent-hover,#612335)}
.cm-menu-toggle {display:none;min-height:44px;align-items:center;gap:12px;padding:8px 12px;color:var(--ink,#26282c);background:white;border:1px solid var(--line,#d9dde2);border-radius:4px;box-shadow:none;font:600 16px/1.4 var(--font-body,'Source Sans 3',sans-serif)}
.cm-menu-lines {width:17px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative}
.cm-menu-lines::before {content:'';position:absolute;top:4px;left:0;width:17px;border-top:1.5px solid currentColor}
.cm-menu-toggle[aria-expanded=true] .cm-menu-lines {border:0}
.cm-menu-toggle[aria-expanded=true] .cm-menu-lines::before,.cm-menu-toggle[aria-expanded=true] .cm-menu-lines::after {content:'';position:absolute;top:5px;left:0;width:18px;border-top:1.5px solid currentColor;transform:rotate(45deg)}
.cm-menu-toggle[aria-expanded=true] .cm-menu-lines::after {transform:rotate(-45deg)}
.cm-public-header [hidden] {display:none!important}
.cm-public-header :focus-visible,.cm-public-footer :focus-visible {outline:3px solid var(--accent,#7c3042);outline-offset:4px}
.cm-nav-trigger:focus-visible {outline-offset:-4px}
.resource-page main [id],.research-public main [id] {scroll-margin-top:108px}
.resource-page .resource-toc,.research-public .firm-profile-layout>aside {top:108px}
body:not(.marketing-page) .cm-public-footer.public-only {display:none}
.marketing-page .workspace-footer {display:none}
.cm-public-footer {padding:54px 28px 0;background:var(--surface,#f4f5f6);border-top:1px solid var(--line,#d9dde2);font-family:var(--font-body,'Source Sans 3',sans-serif);color:var(--ink,#26282c)}
.cm-footer-inner {max-width:1184px;margin:auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
.cm-footer-about p {font-size:16px;line-height:1.5;color:var(--muted,#59616a);max-width:30ch;margin:16px 0 0}
.cm-footer-about p+p {margin-top:8px}
.cm-footer-links {display:flex;flex-direction:column;align-items:start;gap:10px}
.cm-footer-links h2 {font-size:16px;line-height:1.4;font-weight:600;letter-spacing:0;margin:0 0 7px}
.cm-footer-links a {font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:16px;line-height:1.4;font-weight:400;text-decoration:none;color:var(--muted,#59616a);padding:3px 0;white-space:normal;max-width:100%;background:none}
.cm-footer-links a:hover {color:var(--accent,#7c3042);text-decoration:underline;background:none}
.cm-footer-bottom {grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line,#d9dde2);padding:24px 0;font-size:14px;line-height:1.5;color:var(--muted,#59616a)}
.cm-footer-bottom nav {display:flex;gap:24px;flex-wrap:wrap}
.cm-footer-bottom a {font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:14px;line-height:1.5;padding:4px 0;text-decoration:none;color:inherit;background:none;white-space:normal}
.cm-footer-bottom a:hover {color:var(--accent,#7c3042);text-decoration:underline;background:none}
@media(max-width:1180px) and (min-width:1081px) {.cm-header-inner{gap:28px;padding-inline:24px}.cm-navigation{gap:16px}.cm-nav-shell{gap:18px}.cm-nav-actions{gap:15px}.cm-nav-trigger,.cm-nav-actions{font-size:15px}.cm-nav-start{padding-inline:14px;font-size:15px}.cm-nav-panel{left:24px;right:24px}}
@media(max-width:1080px) {
  .cm-header-inner {min-height:72px;padding:14px 24px;flex-wrap:wrap;gap:0;justify-content:space-between}
  .cm-wordmark {font-size:21px}
  .cm-menu-toggle:not([hidden]) {display:inline-flex}
  .cm-nav-shell {display:block;width:100%;flex-basis:100%;padding-top:12px}
  .cm-public-header.is-enhanced .cm-nav-shell {position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:0 24px 24px;border-bottom:1px solid var(--line,#d9dde2);box-shadow:0 18px 24px #26282c14}
  .cm-public-header.is-enhanced .cm-nav-shell[hidden] {display:none}
  .cm-navigation {display:block}
  .cm-nav-group {border-bottom:1px solid var(--line,#d9dde2)}
  .cm-nav-trigger {justify-content:space-between;min-height:60px;font-size:18px;white-space:normal}
  .cm-nav-trigger::after {display:none}
  .cm-nav-trigger svg {width:14px;height:14px;margin-right:5px}
  .cm-nav-panel {position:static;display:block;width:auto;max-height:none;overflow:visible;border:0;border-radius:0;box-shadow:none;padding-bottom:12px}
  .cm-nav-main {padding:5px 0 0}
  .cm-nav-columns {gap:24px}
  .cm-nav-label {margin-bottom:8px;font-size:14px}
  .cm-nav-column a {margin:0 0 3px;padding:10px 8px;min-height:44px}
  .cm-nav-column a>span {font-size:17px}
  .cm-nav-column a>small {font-size:15px}
  .cm-nav-overview {margin-top:8px;padding:16px 8px}
  .cm-nav-feature {margin:0 0 6px;padding:18px 20px;border:0;border-radius:4px}
  .cm-nav-feature strong {font-size:21px;margin:8px 0}
  .cm-nav-feature b {margin-top:13px}
  .cm-nav-actions {padding-top:22px;justify-content:space-between;gap:20px}
  .cm-preparation-link,.cm-nav-start {font-size:16px}
  body.cm-menu-open {overflow:hidden}
}
@media(max-width:600px) {
  .cm-header-inner {padding:14px 20px}
  .cm-public-header.is-enhanced .cm-nav-shell {padding-inline:20px}
  .cm-nav-columns {grid-template-columns:1fr;gap:20px}
  .cm-nav-column a>small {max-width:40ch}
  .cm-nav-actions {flex-wrap:wrap}
  .cm-nav-start {flex:1;padding-inline:16px}
  .cm-public-footer {padding:36px 20px 0}
  .cm-footer-inner {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 20px}
  .cm-footer-about {grid-column:1/-1}
  .cm-footer-bottom {align-items:start;flex-direction:column;gap:14px;padding-block:22px}
  .cm-footer-bottom nav {gap:20px}
}
@media(prefers-reduced-motion:reduce) {.cm-public-header *{transition:none!important;scroll-behavior:auto!important}}
@media print {.cm-public-header,.cm-public-footer{display:none!important}}
