/* Shared case navigation, using the home navigation's type, colors and scale. */
.sidebar {
  --nav-size: clamp(12px, 1.25vw, 24px);
  --nav-space: clamp(8px, .69vw, 12px);
  --nav-radius: clamp(6px, .56vw, 11px);
  top: 1.25vw;
  gap: 1.11vw;
}
.sidebar .panel {
  background: #dfdececc;
  border: 1px solid #fff3;
  border-radius: var(--nav-radius);
}
.sidebar .identity { padding: 1.11vw; }
.sidebar .brand {
  background: #ff6a6a;
  border-radius: var(--nav-radius);
  padding: clamp(8px, .83vw, 16px) clamp(6px, .5vw, 10px);
  gap: 1px;
}
.sidebar .brand img { width: clamp(48px, 4.5vw, 86px); height: auto; }
.sidebar .brand span { font-size: clamp(6px, .5vw, 9px); }
.sidebar .identity > p { font: 500 var(--nav-size)/1.4 var(--heading); margin-top: 20px; }
.sidebar .identity .identity-role { font: 400 clamp(12px, 1vw, 16px)/1.6 var(--body); margin-top: 5px; }
.sidebar .home-link {
  font: 500 var(--nav-size)/1.15 var(--heading);
  text-transform: uppercase;
  color: #000;
  padding: var(--nav-space);
  gap: var(--nav-space);
  background: #ebeada;
}
.sidebar .case-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--nav-space);
  padding: 1.11vw;
}
.sidebar .nav-label { font: 500 clamp(10px, .83vw, 14px)/1.3 var(--heading); margin: 0 0 4px; color: #555449; }
.sidebar .case-nav a {
  width: fit-content;
  max-width: 100%;
  min-height: 2.5vw;
  margin: 0;
  padding: 6px var(--nav-space);
  gap: var(--nav-space);
  border-radius: var(--nav-radius);
  background: #ebeada;
  color: #000;
  font: 500 var(--nav-size)/1.15 var(--heading);
  text-transform: uppercase;
  transition: background-color .3s;
}
.sidebar .case-nav a span { font: inherit; font-size: .75em; flex-shrink: 0; opacity: 1; }
.sidebar .case-nav a.current { background: #ebeada; box-shadow: inset 3px 0 #ff6a6a; }
.sidebar .case-nav a:hover, .sidebar .home-link:hover { background: #c9c8ba; }
.sidebar a:focus-visible { outline: 2px solid #000; outline-offset: 3px; }
.sidebar .sidebar-bottom { display: flex; flex-direction: column; gap: 1.11vw; }
.sidebar .sidebar-bottom > .small { display: none; }
.sidebar .email {
  order: -1;
  margin: 0;
  padding: var(--nav-space);
  background: #ebeada;
  border: 1px solid #fff3;
  border-radius: var(--nav-radius);
  color: #000;
  font: 400 clamp(11px, 1vw, 16px)/1.4 var(--body);
}
.sidebar .button {
  border-radius: var(--nav-radius);
  background: #ff6a6a;
  color: #000;
  font: 500 var(--nav-size)/1.2 var(--heading);
  padding: 12px 8px;
  gap: var(--nav-space);
}
@media (max-width: 767px) {
  .sidebar { --nav-size: 15px; --nav-space: 8px; top: 80px; gap: 12px; }
  .sidebar .case-nav { padding: 12px; }
  .sidebar .case-nav a, .sidebar .home-link { min-height: 44px; padding: 10px; }
  .sidebar .sidebar-bottom { display: none; }
}
.sidebar .case-nav a { overflow-wrap: anywhere; }
@media (max-height: 760px) and (min-width: 768px) {
  .sidebar { gap: 9px; }
  .sidebar .identity { padding: 12px; }
  .sidebar .identity > p { margin-top: 12px; }
  .sidebar .identity .identity-role { margin-top: 5px; }
  .sidebar .case-nav { gap: 6px; }
  .sidebar .sidebar-bottom { gap: 9px; }
}
.sidebar .case-nav a { gap: clamp(4px, .4vw, 8px); padding-inline: clamp(6px, .55vw, 10px); }
.sidebar .case-nav a span { font-size: .65em; }

/* The home identity card is shared by every internal sidebar. */
.sidebar .home-identity { display: flex; flex-direction: column; gap: clamp(20px, 2.78vw, 48px); padding: 1.11vw; flex-shrink: 0; }
.sidebar .identity-top-row { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.sidebar .home-identity .brand { position: relative; justify-content: center; align-items: center; width: 6.11vw; padding: .83vw .5vw .83vw 0; border-radius: .56vw; }
.sidebar .home-identity .brand img { width: 3.68vw; height: auto; }
.sidebar .home-identity .brand span { position: absolute; font: 700 .6vw/1 Arial,sans-serif; top: .83vw; right: .65vw; }
.sidebar .identity-linkedin { display: flex; align-items: center; justify-content: center; background: #ebeada; border: 1px solid #0000001a; border-radius: .56vw; width: 2.08vw; height: 2.08vw; color: #000; }
.sidebar .identity-linkedin svg { width: 1vw; height: 1vw; }
.sidebar .identity-linkedin .quel-social-path-white { fill: #ebeada; }
.sidebar .home-identity .identity-description { margin: 0; font: 400 clamp(12px, 1vw, 24px)/1.6 var(--body); color: #000; }
@media(max-width:767px) { .sidebar .home-identity { display: none; } }
/* Continue section backgrounds behind the fixed navigation. */
@media (min-width: 768px) {
  main .experience, main .governance, main .related, main .governance-opening { position: relative; }
  main .experience::before, main .governance::before, main .related::before, main .governance-opening::before {
    content: ''; position: absolute; top: 0; bottom: 0; right: 100%; width: 21vw;
    background: inherit; pointer-events: none;
  }
}
.sidebar .panel, .sidebar .home-link, .sidebar .email, .sidebar .identity-linkedin,
.sidebar .identity-description, .sidebar .nav-label { transition: background-color .25s, color .25s, border-color .25s; }
.case-menu-dark .sidebar .panel { background: #222c; border-color: #ffffff26; }
.case-menu-dark .sidebar .case-nav a,
.case-menu-dark .sidebar .case-nav a.current,
.case-menu-dark .sidebar .home-link,
.case-menu-dark .sidebar .email,
.case-menu-dark .sidebar .identity-linkedin { background: #3b3b3b; color: #ededed; border-color: #ffffff1a; }
.case-menu-dark .sidebar .home-identity .identity-description,
.case-menu-dark .sidebar .nav-label { color: #ededed; }
.case-menu-dark .sidebar .identity-linkedin .quel-social-path-white { fill: #3b3b3b; }
.case-menu-dark .sidebar .home-link .arrow { filter: invert(1); }
.case-menu-dark .sidebar .case-nav a:hover,
.case-menu-dark .sidebar .home-link:hover { background: #505050; }
.case-menu-dark .sidebar a:focus-visible { outline-color: #ededed; }
@media (max-width: 767px) {
  .case-menu-dark .mobile-header, .case-menu-dark .sidebar { background: #222f; color: #ededed; border-color: #ffffff26; }
  .case-menu-dark .menu-button { background: #3b3b3b; }
  .case-menu-dark .menu-button img { filter: invert(1); }
}
@media (prefers-reduced-motion: reduce) {
  .sidebar .panel, .sidebar .home-link, .sidebar .email, .sidebar .identity-linkedin,
  .sidebar .identity-description, .sidebar .nav-label { transition: none; }
}
@media print {
  main .experience::before, main .governance::before, main .related::before, main .governance-opening::before { display: none; }
}
