/* About and hiring-context proposal, enabled only on the review site. */
.candidate-shell { width: calc(100% - var(--refine-gutter) * 2); max-width: var(--refine-width); margin-inline: auto; }
.candidate-intro-availability { grid-column: 2; display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: end; }
.refine-intro:has(.candidate-intro-availability) { row-gap: 18px; }
.refine-intro:has(.candidate-intro-availability) h1 { grid-row: 1 / 3; }
.candidate-intro-availability p { font-size: 12px; line-height: 1.6; color: var(--refine-ink); }
.candidate-intro-availability p > span { display: block; color: var(--refine-muted); }
.candidate-intro-availability a { display: inline-flex; gap: 18px; align-items: center; min-height: 36px; font-size: 12px; border-bottom: 1px solid var(--refine-rule); }
.candidate-intro-availability a > span { transition: transform var(--refine-motion); }
.candidate-intro-availability a:is(:hover,:focus-visible) > span { transform: translate(3px,-3px); }
.candidate-evidence { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--refine-rule); padding-block: 20px 24px; margin-bottom: 6px; }
.candidate-evidence a { display: flex; gap: 23px; align-items: center; min-width: 0; padding-left: 28px; border-left: 1px solid var(--refine-rule); }
.candidate-evidence a:first-child { padding-left: 0; border-left: 0; }
.candidate-evidence strong { font-size: clamp(30px,3.2vw,45px); line-height: 1; letter-spacing: -.055em; font-weight: 500; font-variant-numeric: lining-nums tabular-nums; }
.candidate-evidence strong > span { font-size: .65em; vertical-align: 15%; }
.candidate-evidence a > span { color: var(--refine-muted); font-size: 12px; line-height: 1.55; }
.candidate-evidence a:is(:hover,:focus-visible) { color: #5c6657; }
.candidate-about { padding-top: 60px; }
.candidate-about-intro, .candidate-approach, .candidate-experience { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); gap: clamp(30px,7vw,120px); }
.candidate-about-intro { padding-bottom: 45px; }
.candidate-about-intro h1 { font-size: clamp(42px,4.5vw,68px); line-height: 1.04; letter-spacing: -.045em; margin: 20px 0 24px; }
.candidate-about-role { font-size: 20px; line-height: 1.55; color: var(--refine-muted); margin: 0; }
.candidate-about-bio p { font-size: 19px; line-height: 1.75; max-width: 58ch; margin: 0 0 24px; color: #53574f; }
.candidate-about-bio p:last-child { margin-bottom: 0; }
.candidate-role-callout { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 25px 50px; align-items: center; padding: 27px 32px; margin: 0 0 65px; background: #f4f4f0; border-top: 1px solid var(--refine-rule); }
.candidate-role-callout p { margin: 0 0 3px; font-size: 17px; font-weight: 500; }
.candidate-role-callout > div > span { font-size: 13px; color: var(--refine-muted); }
.candidate-actions { display: flex; gap: 32px; flex-wrap: wrap; }
.candidate-actions a { margin: 0; }
.candidate-approach, .candidate-experience, .candidate-toolkit { border-top: 1px solid var(--refine-rule); padding-block: 42px 50px; }
.candidate-approach h2, .candidate-experience h2, .candidate-toolkit h2 { margin: 14px 0 0; max-width: 24ch; }
.candidate-approach > div p { color: #53574f; max-width: 61ch; margin: 0 0 23px; font-size: 16px; line-height: 1.8; }
.candidate-experience-list article { display: grid; grid-template-columns: minmax(105px,.5fr) minmax(0,2fr); gap: 20px; padding-block: 22px; border-bottom: 1px solid var(--refine-rule); }
.candidate-experience-list article:first-child { padding-top: 4px; }
.candidate-experience-list article > span { color: var(--refine-muted); font-size: 12px; }
.candidate-experience-list h3 { margin: 0 0 8px; font-size: 18px; }
.candidate-experience-list p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--refine-muted); }
.candidate-toolkit > header > p:last-child { max-width: 62ch; color: var(--refine-muted); font-size: 16px; margin: 17px 0 0; }
.candidate-tool-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 55px; margin-top: 34px; }
.candidate-tool-grid > div { border-left: 1px solid var(--refine-rule); padding-left: 24px; }
.candidate-tool-grid h3 { font-size: 15px; margin: 0 0 11px; }
.candidate-tool-grid p { font-size: 15px; line-height: 1.8; color: var(--refine-muted); margin: 0 0 9px; max-width: 54ch; }
.candidate-contact-availability { margin-top: 30px; border-top: 1px solid var(--refine-rule); padding-top: 20px; }
.candidate-contact-availability p { margin: 0 0 3px; font-size: 15px; }
.candidate-contact-availability > span { font-size: 13px; color: var(--refine-muted); }
.candidate-project-toolkit { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 35px 65px; border-top: 1px solid var(--refine-rule); margin-top: 25px; padding-block: 35px; }
.candidate-project-toolkit h2 { font-size: 25px; margin: 13px 0; }
.candidate-project-toolkit p { color: var(--refine-muted); font-size: 14px; line-height: 1.8; margin: 0 0 15px; }
@media (max-width: 1150px) {
  .refine-desktop-nav { display: none; }
  .refine-menu { display: block; }
}
@media (min-width: 1001px) and (max-width: 1150px) {
  .refine-menu summary { display: flex; align-items: center; gap: 20px; font-size: 13px; cursor: pointer; padding: 12px 0 12px 12px; list-style: none; }
  .refine-menu summary::-webkit-details-marker { display: none; }
  .refine-menu summary span { font-size: 23px; font-weight: 300; line-height: 1; }
  .refine-menu[open] summary span { transform: rotate(45deg); }
  .refine-menu nav { position: absolute; left: 0; right: 0; top: calc(100% - 1px); background: #fff; border-block: 1px solid var(--refine-rule); padding: 20px 0 25px; display: grid; gap: 16px; box-shadow: 0 16px 24px -24px #333; }
  .refine-menu nav a { font-size: 17px; padding-block: 8px; }
}
@media (max-width: 760px) {
  .candidate-intro-availability { margin-top: 16px; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: end; gap: 15px; }
  .candidate-intro-availability p { font-size: 12px; }
  .candidate-intro-availability a { font-size: 11px; gap: 9px; white-space: nowrap; }
  .refine-intro:has(.candidate-intro-availability) { padding-bottom: 21px; }
  .candidate-evidence { padding-block: 15px 20px; margin-bottom: 0; }
  .candidate-evidence a { display: block; padding-inline: 14px 7px; }
  .candidate-evidence strong { display: block; font-size: clamp(26px,7.4vw,33px); letter-spacing: -.055em; margin-bottom: 9px; }
  .candidate-evidence a > span { display: block; font-size: 11px; line-height: 1.5; }
  .candidate-about { padding-top: 29px; }
  .candidate-about-intro, .candidate-approach, .candidate-experience { display: block; }
  .candidate-about-intro { padding-bottom: 29px; }
  .candidate-about-intro h1 { font-size: 46px; margin-top: 18px; margin-bottom: 19px; }
  .candidate-about-role { font-size: 18px; }
  .candidate-about-bio { margin-top: 30px; }
  .candidate-about-bio p { font-size: 16px; line-height: 1.75; margin-bottom: 20px; }
  .candidate-role-callout { padding: 23px 21px; margin-bottom: 30px; gap: 20px; }
  .candidate-role-callout p { font-size: 16px; }
  .candidate-actions { gap: 17px; }
  .candidate-actions a { font-size: 12px; gap: 16px; }
  .candidate-approach, .candidate-experience, .candidate-toolkit { padding-block: 29px 33px; }
  .candidate-approach h2, .candidate-experience h2, .candidate-toolkit h2 { font-size: 27px; line-height: 1.17; margin-bottom: 25px; }
  .candidate-approach > div p { font-size: 15px; line-height: 1.75; margin-bottom: 19px; }
  .candidate-experience-list article { grid-template-columns: 86px minmax(0,1fr); gap: 17px; padding-block: 20px; }
  .candidate-experience-list article > span { font-size: 11px; }
  .candidate-experience-list h3 { font-size: 16px; }
  .candidate-experience-list p { font-size: 13px; }
  .candidate-toolkit > header > p:last-child { font-size: 15px; }
  .candidate-tool-grid { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; }
  .candidate-tool-grid > div { padding-left: 18px; }
  .candidate-tool-grid p { font-size: 14px; }
  .candidate-contact-availability { margin-top: 23px; padding-top: 18px; }
  .candidate-project-toolkit { display: block; padding-block: 26px; margin-top: 15px; }
  .candidate-project-toolkit > div + div { margin-top: 23px; }
  .candidate-project-toolkit h2 { font-size: 23px; }
}
@media (max-width: 360px) {
  .candidate-intro-availability { align-items: start; gap: 10px; }
  .candidate-intro-availability a { font-size: 10px; }
  .candidate-evidence a { padding-left: 10px; }
  .candidate-evidence a:first-child { padding-left: 0; }
  .candidate-evidence a > span { font-size: 10px; }
}
