#leftbar-region a[href="/resume/"] {
  display: none;
}

#leftbar-region a[href="/resume/"].resume-link-authorized {
  display: flex;
}

.resume-quick-access {
  box-sizing: border-box;
  width: 100%;
  padding: 0.625rem;
  border: 1px solid var(--block-border);
  border-radius: 6px;
  background: var(--card);
}

.resume-quick-access__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  color: var(--text-p1);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0;
}

.resume-quick-access__status {
  overflow: hidden;
  color: var(--theme);
  font-size: 0.6875rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.resume-quick-access__status--error {
  color: var(--text-p2);
}

.resume-quick-access__controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.5rem;
  gap: 0.375rem;
}

.resume-quick-access input,
.resume-quick-access button {
  box-sizing: border-box;
  min-width: 0;
  height: 2rem;
  border-radius: 5px;
  font-family: inherit;
  font-size: 0.75rem;
  letter-spacing: 0;
}

.resume-quick-access input {
  width: 100%;
  padding: 0 0.5rem;
  border: 1px solid var(--block-border);
  background: var(--card);
  color: var(--text-p0);
  outline: none;
}

.resume-quick-access input:focus {
  border-color: var(--theme);
}

.resume-quick-access button {
  border: 1px solid var(--theme);
  background: var(--theme);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.resume-quick-access button:hover,
.resume-quick-access button:focus-visible {
  background: var(--accent);
  outline: none;
}

html[data-leftbar-state="collapsed"] .resume-quick-access {
  display: none;
}

.resume-access-gate {
  max-width: 30rem;
  margin: 5rem auto;
  padding: 2rem 0;
  border-top: 1px solid var(--block-border);
  border-bottom: 1px solid var(--block-border);
}

.resume-access-gate[hidden] {
  display: none;
}

.resume-access-gate:not([hidden]) ~ * {
  display: none !important;
}

body:has(.resume-access-gate:not([hidden])) #rightbar-region {
  display: none !important;
}

body:has(.resume-profile) .toc-item:has(> .toc-link:not([href])) {
  display: none;
}

.resume-access-gate h2 {
  margin: 0.375rem 0 0.625rem;
  color: var(--text-p0);
  font-size: 1.5rem;
  letter-spacing: 0;
}

.resume-access-gate > p {
  margin: 0;
  color: var(--text-p2);
}

.resume-access-kicker {
  color: var(--theme) !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0;
}

.resume-access-form {
  margin-top: 1.5rem;
}

.resume-access-form label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--text-p1);
  font-size: 0.8125rem;
  font-weight: 700;
}

.resume-access-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5rem;
  gap: 0.625rem;
}

.resume-access-form input,
.resume-access-form button {
  box-sizing: border-box;
  height: 2.5rem;
  border-radius: 6px;
  font: inherit;
  letter-spacing: 0;
}

.resume-access-form input {
  min-width: 0;
  padding: 0 0.75rem;
  border: 1px solid var(--block-border);
  background: var(--card);
  color: var(--text-p0);
  outline: none;
}

.resume-access-form input:focus {
  border-color: var(--theme);
}

.resume-access-form button {
  border: 1px solid var(--theme);
  background: var(--theme);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.resume-access-form button:hover,
.resume-access-form button:focus-visible {
  background: var(--accent);
  outline: none;
}

.resume-access-error {
  margin-top: 0.75rem !important;
  color: #c2413b !important;
  font-size: 0.8125rem;
}

.resume-profile {
  position: relative;
  padding: 0 0 1.5rem;
  border-bottom: 1px solid var(--block-border);
}

.resume-profile .resume-kicker,
.resume-profile .resume-name,
.resume-profile .resume-summary {
  padding-right: 9.5rem;
}

.resume-profile-photo-link {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 7.5rem;
  border-radius: 6px;
  cursor: zoom-in;
}

.resume-profile-photo {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  aspect-ratio: 4 / 5;
  border: 1px solid var(--block-border);
  border-radius: 6px;
  background: #fff;
  object-fit: cover;
}

.resume-profile-photo-link:hover .resume-profile-photo,
.resume-profile-photo-link:focus-visible .resume-profile-photo {
  border-color: var(--theme);
}

.resume-profile-photo-link:focus-visible {
  outline: 2px solid var(--theme);
  outline-offset: 3px;
}

.resume-kicker {
  margin: 0 0 0.5rem;
  color: var(--theme);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
}

.resume-name {
  margin: 0;
  color: var(--text-p0);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0;
}

.resume-name span {
  color: var(--text-p2);
  font-size: 1.125rem;
  font-weight: 600;
}

.resume-summary {
  max-width: 44rem;
  margin: 0.75rem 0 0;
  color: var(--text-p1);
  font-size: 1rem;
  line-height: 1.8;
}

.resume-highlight {
  color: var(--text-p0);
  font-weight: 750;
}

.resume-meta,
.resume-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem 1rem;
  margin-top: 1rem;
}

.resume-meta span {
  color: var(--text-p2);
  font-size: 0.875rem;
}

.resume-action {
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 6.25rem;
  width: 6.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 0.75rem;
  border: 1px solid var(--block-border);
  border-radius: 6px;
  background: var(--card);
  color: var(--text-p1);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
}

.resume-action:hover,
.resume-action:focus-visible {
  border-color: var(--theme);
  color: var(--theme);
  outline: none;
}

.resume-action-primary {
  border-color: var(--theme);
  background: var(--theme);
  color: #fff;
}

.resume-action-primary:hover,
.resume-action-primary:focus-visible {
  background: var(--accent);
  color: #fff;
}

.resume-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0.75rem 0 1.25rem;
  border-top: 1px solid var(--block-border);
  border-bottom: 1px solid var(--block-border);
}

.resume-metrics > div {
  min-width: 0;
  padding: 1rem;
  text-align: center;
}

.resume-metrics > div + div {
  border-left: 1px solid var(--block-border);
}

.resume-metrics strong,
.resume-metrics span {
  display: block;
}

.resume-metrics strong {
  color: var(--text-p0);
  font-size: 1.25rem;
  line-height: 1.3;
}

.resume-metrics span {
  margin-top: 0.25rem;
  color: var(--text-p2);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.resume-skill-list,
.resume-timeline,
.resume-project-list {
  border-top: 1px solid var(--block-border);
}

.resume-skill-row {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--block-border);
}

.resume-skill-row strong {
  color: var(--text-p0);
}

.resume-skill-row span {
  color: var(--text-p2);
  line-height: 1.7;
}

.resume-entry {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--block-border);
}

.resume-entry-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  color: var(--text-p2);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.resume-entry-meta time {
  color: var(--text-p1);
  font-weight: 600;
}

.resume-entry-title {
  margin: 0;
  color: var(--text-p0);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
}

.resume-role {
  margin: 0.25rem 0 0.625rem;
  color: var(--theme);
  font-size: 0.875rem;
  font-weight: 600;
}

.resume-entry-body ul {
  margin: 0;
}

.resume-entry-body li {
  margin: 0.375rem 0;
}

.resume-project {
  display: grid;
  grid-template-columns: minmax(10rem, 0.8fr) minmax(0, 1.4fr);
  gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--block-border);
}

.resume-project .resume-entry-title a {
  color: inherit;
}

.resume-project p {
  margin: 0;
  color: var(--text-p2);
  line-height: 1.7;
}

.resume-project > div > p {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
}

.resume-education {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--block-border);
  border-bottom: 1px solid var(--block-border);
}

.resume-education div,
.resume-education strong,
.resume-education span {
  display: block;
}

.resume-education span,
.resume-education time {
  color: var(--text-p2);
}

.resume-print {
  display: none;
}

body:has(.resume-profile) article.md-text.content p {
  text-indent: 0 !important;
}

@media (max-width: 640px) {
  .resume-access-gate {
    margin: 2rem 0;
  }

  .resume-access-form > div {
    grid-template-columns: 1fr;
  }

  .resume-profile-photo-link {
    width: 5.5rem;
  }

  .resume-profile .resume-kicker,
  .resume-profile .resume-name {
    padding-right: 6.5rem;
  }

  .resume-profile .resume-summary {
    padding-right: 0;
  }

  .resume-skill-row,
  .resume-entry,
  .resume-project {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .resume-entry-meta {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
  }
}

@media (max-width: 420px) {
  .resume-metrics > div {
    padding: 0.75rem 0.375rem;
  }

  .resume-metrics strong {
    font-size: 1rem;
  }

  .resume-education {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.375rem;
  }
}

@media print {
  @page {
    size: A4;
    margin: 11mm 13mm;
  }

  html,
  body:has(.resume-profile) {
    background: #fff !important;
    color: #111 !important;
    font-size: 10pt !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  body:has(.resume-profile) #leftbar-region,
  body:has(.resume-profile) #rightbar-region,
  body:has(.resume-profile) .site-dock,
  body:has(.resume-profile) .site-scrim,
  body:has(.resume-profile) .article-banner-wrap,
  body:has(.resume-profile) .page-footer,
  body:has(.resume-profile) .resume-actions {
    display: none !important;
  }

  body:has(.resume-profile) .site-shell {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.resume-profile) .site-workspace {
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body:has(.resume-profile) .site-main {
    display: block !important;
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.resume-profile) article.md-text.content {
    --fs-content-base: 9.5pt;
    --fs-content: 9.5pt;
    --fsh2: 13pt;
    --gap-p: 2.5mm;
    display: flex !important;
    flex-direction: column;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #222 !important;
    line-height: 1.45 !important;
  }

  body:has(.resume-profile) article.md-text.content > .resume-profile {
    order: 1;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ .resume-metrics) {
    order: 2;
  }

  body:has(.resume-profile) article.md-text.content > .resume-metrics {
    order: 3;
  }

  body:has(.resume-profile) article.md-text.content > .resume-metrics + p {
    order: 4;
  }

  body:has(.resume-profile) article.md-text.content > .resume-metrics + p + p {
    display: none !important;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ .resume-timeline) {
    order: 5;
  }

  body:has(.resume-profile) article.md-text.content > .resume-timeline {
    order: 6;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ .resume-skill-list) {
    order: 7;
    break-before: page;
    page-break-before: always;
  }

  body:has(.resume-profile) article.md-text.content > .resume-skill-list {
    order: 8;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ .resume-project-list) {
    order: 9;
  }

  body:has(.resume-profile) article.md-text.content > .resume-project-list {
    order: 10;
  }

  body:has(.resume-profile) article.md-text.content > .resume-project-list + p {
    order: 11;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ .resume-education) {
    order: 12;
  }

  body:has(.resume-profile) article.md-text.content > .resume-education {
    order: 13;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ ul) {
    order: 14;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ ul) + ul {
    order: 15;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ ul) + ul + p {
    order: 16;
  }

  body:has(.resume-profile) article.md-text.content h2:not([class]) {
    break-after: avoid;
    margin: 5mm 0 2mm !important;
    padding: 0 0 1.5mm !important;
    border-bottom: 1px solid #cfd4da;
    color: #111 !important;
    font-size: 13pt !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  body:has(.resume-profile) article.md-text.content h2:not([class])::before,
  body:has(.resume-profile) article.md-text.content h2:not([class])::after {
    display: none !important;
    content: none !important;
  }

  body:has(.resume-profile) article.md-text.content p,
  body:has(.resume-profile) article.md-text.content li {
    font-size: 9.5pt !important;
    line-height: 1.45 !important;
  }

  body:has(.resume-profile) article.md-text.content > p {
    margin: 1.5mm 0 !important;
  }

  body:has(.resume-profile) .resume-profile {
    margin: 0 !important;
    padding: 0 0 3mm;
    border-bottom-color: #cfd4da;
  }

  body:has(.resume-profile) .resume-kicker {
    margin: 0 0 1.5mm;
    color: #1769aa !important;
    font-size: 9.5pt !important;
  }

  body:has(.resume-profile) .resume-name {
    font-size: 22pt !important;
    line-height: 1.15;
  }

  body:has(.resume-profile) .resume-name span {
    color: #555 !important;
    font-size: 11pt !important;
  }

  body:has(.resume-profile) .resume-summary {
    max-width: none;
    margin: 2mm 0 0;
    color: #222 !important;
    font-size: 9.5pt !important;
    line-height: 1.45;
  }

  body:has(.resume-profile) .resume-meta {
    gap: 2mm 5mm;
    margin-top: 2mm;
  }

  body:has(.resume-profile) .resume-meta span {
    color: #555 !important;
    font-size: 8.5pt;
  }

  body:has(.resume-profile) .resume-metrics {
    margin: 1.5mm 0 2.5mm;
    border-color: #cfd4da;
  }

  body:has(.resume-profile) .resume-metrics > div {
    padding: 2mm;
  }

  body:has(.resume-profile) .resume-metrics > div + div {
    border-left-color: #cfd4da;
  }

  body:has(.resume-profile) .resume-metrics strong {
    font-size: 11pt;
  }

  body:has(.resume-profile) .resume-metrics span {
    margin-top: 0.5mm;
    color: #555 !important;
    font-size: 8pt;
  }

  body:has(.resume-profile) .resume-skill-row {
    grid-template-columns: 30mm minmax(0, 1fr);
    gap: 4mm;
    padding: 2mm 0;
    border-bottom-color: #dfe3e8;
  }

  body:has(.resume-profile) .resume-skill-row span {
    color: #333 !important;
    line-height: 1.4;
  }

  body:has(.resume-profile) .resume-entry {
    grid-template-columns: 29mm minmax(0, 1fr);
    gap: 5mm;
    padding: 3mm 0;
    border-bottom-color: #dfe3e8;
  }

  body:has(.resume-profile) .resume-entry-meta {
    gap: 0.5mm;
    color: #555 !important;
    font-size: 8pt;
  }

  body:has(.resume-profile) .resume-entry-title {
    font-size: 10.5pt !important;
    line-height: 1.35;
  }

  body:has(.resume-profile) .resume-role {
    margin: 0.5mm 0 1.5mm;
    color: #1769aa !important;
    font-size: 8.5pt !important;
  }

  body:has(.resume-profile) .resume-entry-body ul {
    margin: 0 0 0 4mm !important;
    padding: 0 !important;
  }

  body:has(.resume-profile) .resume-entry-body li {
    margin: 0.75mm 0 !important;
  }

  body:has(.resume-profile) .resume-project {
    grid-template-columns: 62mm minmax(0, 1fr);
    gap: 5mm;
    padding: 2.5mm 0;
    border-bottom-color: #dfe3e8;
  }

  body:has(.resume-profile) .resume-project p {
    color: #333 !important;
    line-height: 1.4;
    text-align: left !important;
    text-indent: 0 !important;
  }

  body:has(.resume-profile) .resume-project > div > p {
    margin-top: 0.5mm;
    font-size: 8pt !important;
  }

  body:has(.resume-profile) .resume-education {
    padding: 2.5mm 0;
    border-color: #cfd4da;
  }

  body:has(.resume-profile) .resume-education span,
  body:has(.resume-profile) .resume-education time {
    color: #555 !important;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ ul) + ul {
    margin: 0 0 0 5mm !important;
    padding: 0 !important;
  }

  body:has(.resume-profile) article.md-text.content > h2:has(+ ul) + ul li {
    margin: 0.75mm 0 !important;
  }

  body:has(.resume-profile) .resume-entry,
  body:has(.resume-profile) .resume-project,
  body:has(.resume-profile) .resume-skill-row,
  body:has(.resume-profile) .resume-education {
    break-inside: avoid;
  }
}

@media print {
  @page {
    size: A4;
    margin: 10mm 12mm;
  }

  body:has(.resume-print) #leftbar-region,
  body:has(.resume-print) #rightbar-region,
  body:has(.resume-print) .site-dock,
  body:has(.resume-print) .site-scrim,
  body:has(.resume-print) .article-banner-wrap,
  body:has(.resume-print) .page-footer {
    display: none !important;
  }

  body:has(.resume-print) .site-shell,
  body:has(.resume-print) .site-workspace,
  body:has(.resume-print) .site-main {
    display: block !important;
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.resume-print) article.md-text.content {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #20262d !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", sans-serif !important;
    font-size: 8.7pt !important;
    line-height: 1.44 !important;
  }

  body:has(.resume-print) article.md-text.content > :not(.resume-print) {
    display: none !important;
  }

  body:has(.resume-print) .resume-print {
    display: block !important;
    margin: 0 !important;
  }

  body:has(.resume-print) .resume-print,
  body:has(.resume-print) .resume-print * {
    box-sizing: border-box;
    text-indent: 0 !important;
  }

  body:has(.resume-print) .resume-print p,
  body:has(.resume-print) .resume-print ul,
  body:has(.resume-print) .resume-print dl,
  body:has(.resume-print) .resume-print dd {
    margin: 0 !important;
  }

  body:has(.resume-print) .resume-print-page {
    display: block;
    width: 100%;
    min-height: 0;
    margin: 0 !important;
    padding: 0;
    break-after: page;
    page-break-after: always;
  }

  body:has(.resume-print) .resume-print-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }

  body:has(.resume-print) .resume-print-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8mm;
    align-items: end;
    padding: 0 0 3.5mm;
    border-bottom: 1.5px solid #1769aa;
  }

  body:has(.resume-print) .resume-print-name {
    color: #111820 !important;
    font-size: 23pt !important;
    font-weight: 800;
    line-height: 1.05 !important;
    letter-spacing: 0;
  }

  body:has(.resume-print) .resume-print-name span {
    color: #52606d;
    font-size: 11pt;
    font-weight: 600;
  }

  body:has(.resume-print) .resume-print-target {
    margin-top: 2mm !important;
    color: #1769aa !important;
    font-size: 9.2pt !important;
    font-weight: 700;
    line-height: 1.3 !important;
  }

  body:has(.resume-print) .resume-print-contact {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 1mm 5mm;
    color: #46515c;
    font-size: 7.8pt;
    line-height: 1.35;
    text-align: right;
  }

  body:has(.resume-print) .resume-print-contact span:last-child {
    grid-column: 1 / -1;
  }

  body:has(.resume-print) .resume-print-layout {
    display: block;
    margin-top: 4.5mm !important;
  }

  body:has(.resume-print) .resume-print-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.8fr);
    gap: 3.5mm 9mm;
    padding: 0 0 4mm;
    border-bottom: 1px solid #d5dce2;
  }

  body:has(.resume-print) .resume-print-section {
    margin: 0 0 3.6mm !important;
    break-inside: avoid;
  }

  body:has(.resume-print) .resume-print-sidebar .resume-print-section {
    margin: 0 !important;
  }

  body:has(.resume-print) .resume-print-sidebar .resume-print-section:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  body:has(.resume-print) .resume-print-sidebar .resume-print-section:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }

  body:has(.resume-print) .resume-print-sidebar .resume-print-section:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
  }

  body:has(.resume-print) .resume-print-sidebar .resume-print-section:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
  }

  body:has(.resume-print) .resume-print-main {
    margin-top: 4mm;
  }

  body:has(.resume-print) .resume-print-section > h2 {
    display: block;
    margin: 0 0 2.2mm !important;
    padding: 0 0 1.2mm !important;
    border-bottom: 1px solid #cbd3da;
    color: #111820 !important;
    font-size: 10pt !important;
    font-weight: 800;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  body:has(.resume-print) .resume-print-section > h2::before {
    display: none !important;
    content: none !important;
  }

  body:has(.resume-print) .resume-print-section > h2::after {
    display: none !important;
    content: none !important;
  }

  body:has(.resume-print) .resume-print-section p,
  body:has(.resume-print) .resume-print-section li,
  body:has(.resume-print) .resume-print-section dt,
  body:has(.resume-print) .resume-print-section dd {
    font-size: 8.35pt !important;
    line-height: 1.45 !important;
  }

  body:has(.resume-print) .resume-print-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 3mm;
  }

  body:has(.resume-print) .resume-print-metrics > div {
    padding: 1.8mm 0 1.5mm;
    border-top: 1px solid #d5dce2;
    text-align: left;
  }

  body:has(.resume-print) .resume-print-metrics strong,
  body:has(.resume-print) .resume-print-metrics span {
    display: block;
  }

  body:has(.resume-print) .resume-print-metrics strong {
    color: #1769aa;
    font-size: 10.2pt;
    line-height: 1.2;
  }

  body:has(.resume-print) .resume-print-metrics span {
    margin-top: 0.5mm;
    color: #5d6873;
    font-size: 6.8pt;
  }

  body:has(.resume-print) .resume-print-points,
  body:has(.resume-print) .resume-print-job ul,
  body:has(.resume-print) .resume-print-project ul,
  body:has(.resume-print) .resume-print-management ul {
    padding: 0 0 0 4mm !important;
  }

  body:has(.resume-print) .resume-print-points li,
  body:has(.resume-print) .resume-print-job li,
  body:has(.resume-print) .resume-print-project li,
  body:has(.resume-print) .resume-print-management li {
    margin: 0 0 1mm !important;
  }

  body:has(.resume-print) .resume-print-sidebar .resume-print-section:nth-child(3) .resume-print-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5mm 6mm;
  }

  body:has(.resume-print) .resume-print-education strong,
  body:has(.resume-print) .resume-print-education span {
    display: block;
  }

  body:has(.resume-print) .resume-print-education strong {
    font-size: 9pt;
  }

  body:has(.resume-print) .resume-print-education span {
    margin-top: 0.5mm;
    color: #52606d;
    font-size: 7.8pt;
  }

  body:has(.resume-print) .resume-print-job {
    position: relative;
    margin: 0 0 3mm;
    padding: 0 0 2.8mm;
    border-bottom: 1px solid #dbe1e6;
    break-inside: avoid;
  }

  body:has(.resume-print) .resume-print-job:last-child {
    margin-bottom: 0;
  }

  body:has(.resume-print) .resume-print-job-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3mm;
    margin-bottom: 1.5mm;
  }

  body:has(.resume-print) .resume-print-job h3,
  body:has(.resume-print) .resume-print-project h3 {
    margin: 0 !important;
    color: #111820 !important;
    font-size: 9.5pt !important;
    font-weight: 800;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  body:has(.resume-print) .resume-print h3::before,
  body:has(.resume-print) .resume-print h3::after {
    display: none !important;
    content: none !important;
  }

  body:has(.resume-print) .resume-print-job-head p {
    margin-top: 0.5mm !important;
    color: #1769aa !important;
    font-size: 7.8pt !important;
    font-weight: 700;
  }

  body:has(.resume-print) .resume-print-job-head time {
    color: #52606d;
    font-size: 7.5pt;
    font-weight: 600;
    white-space: nowrap;
  }

  body:has(.resume-print) .resume-print-management {
    margin-top: 3.5mm !important;
  }

  body:has(.resume-print) .resume-print-subheader {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 8mm;
    margin-bottom: 4.5mm;
    padding-bottom: 3mm;
    border-bottom: 1.5px solid #1769aa;
  }

  body:has(.resume-print) .resume-print-subheader div {
    display: flex;
    align-items: baseline;
    gap: 3mm;
  }

  body:has(.resume-print) .resume-print-subheader strong {
    color: #111820;
    font-size: 15pt;
  }

  body:has(.resume-print) .resume-print-subheader span {
    color: #52606d;
    font-size: 8pt;
  }

  body:has(.resume-print) .resume-print-project-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5.5mm 7mm;
  }

  body:has(.resume-print) .resume-print-project {
    margin: 0;
    padding: 2.5mm 0 0;
    border-top: 1px solid #aebbc6;
    break-inside: avoid;
  }

  body:has(.resume-print) .resume-print-project-head {
    display: grid;
    grid-template-columns: 8mm minmax(0, 1fr);
    gap: 2mm;
    align-items: start;
  }

  body:has(.resume-print) .resume-print-project-head > span {
    color: #1769aa;
    font-size: 13pt;
    font-weight: 800;
    line-height: 1;
  }

  body:has(.resume-print) .resume-print-project-head p {
    margin-top: 0.6mm !important;
    color: #52606d !important;
    font-size: 7.4pt !important;
  }

  body:has(.resume-print) .resume-print-project-result {
    margin: 1.7mm 0 1.8mm !important;
    padding: 0;
    color: #1769aa !important;
    font-size: 7.8pt !important;
    font-weight: 700;
  }

  body:has(.resume-print) .resume-print-project-more {
    margin-top: 5mm !important;
    padding-top: 2.5mm;
    border-top: 1px solid #d5dce2;
    color: #52606d !important;
    font-size: 7.4pt !important;
    line-height: 1.5 !important;
  }

  body:has(.resume-print) .resume-print-bottom-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6mm;
    margin-top: 6mm !important;
  }

  body:has(.resume-print) .resume-print-tech {
    margin-top: 5mm !important;
  }

  body:has(.resume-print) .resume-highlight {
    color: #111820 !important;
    font-weight: 750;
  }

  body:has(.resume-print) .resume-print-skill-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5mm 6mm;
  }

  body:has(.resume-print) .resume-print-skill-grid > div {
    padding-top: 1.8mm;
    border-top: 1px solid #d5dce2;
    break-inside: avoid;
  }

  body:has(.resume-print) .resume-print-skill-grid > div:nth-child(-n + 2) {
    padding-top: 0;
    border-top: 0;
  }

  body:has(.resume-print) .resume-print-skill-grid h3 {
    margin: 0 !important;
    color: #17212b !important;
    font-size: 8.2pt !important;
    font-weight: 750;
    line-height: 1.25 !important;
  }

  body:has(.resume-print) .resume-print-skill-grid p {
    margin-top: 0.8mm !important;
    color: #52606d !important;
    font-size: 7.6pt !important;
    line-height: 1.38 !important;
  }

  body:has(.resume-print) .resume-print-footer {
    display: flex;
    justify-content: space-between;
    gap: 5mm;
    margin-top: 5mm;
    padding-top: 2mm;
    border-top: 1px solid #aebbc6;
    color: #52606d;
    font-size: 7.5pt;
  }

  /* Reference-style print resume: quiet grayscale, fixed sidebar, clear reading order. */
  body:has(.resume-print) .resume-print-template-page {
    position: relative;
    display: grid;
    grid-template-columns: 58mm minmax(0, 1fr);
    gap: 9mm;
    min-height: 277mm;
  }

  body:has(.resume-print) .resume-print-template-page::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(100% - 67mm);
    color: #737b83;
    font-size: 7pt;
    text-align: center;
    content: "1 / 2";
  }

  body:has(.resume-print) .resume-print-template-page.resume-print-page-projects::after {
    content: "2 / 2";
  }

  body:has(.resume-print) .resume-print-template-page > .resume-print-sidebar {
    display: block;
    min-width: 0;
    padding: 5mm 8mm 7mm 0;
    border-right: 1px solid #d8d8d8;
    border-bottom: 0;
  }

  body:has(.resume-print) .resume-print-template-page > .resume-print-main {
    min-width: 0;
    margin: 0;
    padding: 0 0 7mm;
  }

  body:has(.resume-print) .resume-print-sidebar-brand {
    margin: 0 0 9mm;
    color: #aeb2b5;
    line-height: 1;
  }

  body:has(.resume-print) .resume-print-sidebar-brand span,
  body:has(.resume-print) .resume-print-sidebar-brand strong {
    display: block;
    font-weight: 500;
    letter-spacing: 0.22em;
  }

  body:has(.resume-print) .resume-print-sidebar-brand span {
    font-size: 8pt;
  }

  body:has(.resume-print) .resume-print-sidebar-brand strong {
    margin-top: 1.8mm;
    color: #d2d4d6;
    font-size: 18pt;
  }

  body:has(.resume-print) .resume-print-section,
  body:has(.resume-print) .resume-print-sidebar .resume-print-section {
    margin: 0 0 4.5mm !important;
  }

  body:has(.resume-print) .resume-print-section > h2 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 0 2.5mm !important;
    padding: 1.8mm 2mm !important;
    border: 0;
    background: #e9e9e9;
    color: #292d31 !important;
    font-size: 10.2pt !important;
    font-weight: 650;
    line-height: 1.15 !important;
    text-align: center !important;
    letter-spacing: 0.08em;
  }

  body:has(.resume-print) .resume-print-section p,
  body:has(.resume-print) .resume-print-section li,
  body:has(.resume-print) .resume-print-section dt,
  body:has(.resume-print) .resume-print-section dd {
    color: #33383d;
    font-size: 8.15pt !important;
    line-height: 1.48 !important;
  }

  body:has(.resume-print) .resume-print-header {
    display: block;
    margin: 0 0 5mm;
    padding: 4mm 0 0;
    border: 0;
  }

  body:has(.resume-print) .resume-print-header::before {
    display: block;
    margin-bottom: 3mm;
    color: #ececec;
    font-size: 28pt;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.24em;
    content: "RESUME";
  }

  body:has(.resume-print) .resume-print-name {
    color: #24282c !important;
    font-size: 23pt !important;
    font-weight: 650;
  }

  body:has(.resume-print) .resume-print-name span {
    color: #626970;
    font-size: 11pt;
    font-weight: 500;
  }

  body:has(.resume-print) .resume-print-target {
    margin-top: 2.5mm !important;
    color: #60676e !important;
    font-size: 9.4pt !important;
    font-weight: 500;
  }

  body:has(.resume-print) .resume-print-contact {
    display: flex;
    flex-direction: column;
    gap: 1.1mm;
    color: #4f565d;
    font-size: 7.7pt;
    line-height: 1.4;
    text-align: left;
    overflow-wrap: anywhere;
  }

  body:has(.resume-print) .resume-print-contact span:last-child {
    grid-column: auto;
  }

  body:has(.resume-print) .resume-print-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5mm 3mm;
  }

  body:has(.resume-print) .resume-print-metrics > div {
    padding: 0;
    border: 0;
  }

  body:has(.resume-print) .resume-print-metrics strong {
    color: #292d31;
    font-size: 10pt;
    font-weight: 700;
  }

  body:has(.resume-print) .resume-print-metrics span {
    margin-top: 0.5mm;
    color: #697078;
    font-size: 6.8pt;
    line-height: 1.3;
  }

  body:has(.resume-print) .resume-print-education strong,
  body:has(.resume-print) .resume-print-education span {
    display: block;
  }

  body:has(.resume-print) .resume-print-education strong {
    color: #30353a;
    font-size: 8.7pt;
  }

  body:has(.resume-print) .resume-print-education span {
    margin-top: 1mm;
    color: #596169;
    font-size: 7.7pt;
  }

  body:has(.resume-print) .resume-print-summary,
  body:has(.resume-print) .resume-print-strengths {
    margin-bottom: 4.5mm !important;
  }

  body:has(.resume-print) .resume-print-work,
  body:has(.resume-print) .resume-print-project-section {
    break-inside: auto;
  }

  body:has(.resume-print) .resume-print-points,
  body:has(.resume-print) .resume-print-job ul,
  body:has(.resume-print) .resume-print-project ul,
  body:has(.resume-print) .resume-print-management ul {
    padding-left: 4.5mm !important;
  }

  body:has(.resume-print) .resume-print-points li,
  body:has(.resume-print) .resume-print-job li,
  body:has(.resume-print) .resume-print-project li,
  body:has(.resume-print) .resume-print-management li {
    margin-bottom: 0.9mm !important;
  }

  body:has(.resume-print) .resume-print-job {
    margin: 0 0 3.2mm;
    padding: 0 0 2.8mm;
    border-bottom: 1px solid #e0e0e0;
  }

  body:has(.resume-print) .resume-print-job-head {
    gap: 4mm;
    margin-bottom: 1.5mm;
  }

  body:has(.resume-print) .resume-print-job h3,
  body:has(.resume-print) .resume-print-project h3 {
    color: #292d31 !important;
    font-size: 9.1pt !important;
    font-weight: 650;
  }

  body:has(.resume-print) .resume-print-job-head p,
  body:has(.resume-print) .resume-print-project-head p {
    color: #626970 !important;
    font-size: 7.5pt !important;
    font-weight: 500;
  }

  body:has(.resume-print) .resume-print-job-head time {
    color: #666d74;
    font-size: 7.2pt;
  }

  body:has(.resume-print) .resume-print-management {
    margin-top: 0 !important;
  }

  body:has(.resume-print) .resume-print-page-two-sidebar {
    padding-top: 5mm;
  }

  body:has(.resume-print) .resume-print-page-projects > .resume-print-main {
    display: flex;
    flex-direction: column;
    min-height: 277mm;
    padding-top: 5mm;
  }

  body:has(.resume-print) .resume-print-subheader {
    display: block;
    margin: 0 0 4.5mm;
    padding: 0;
    border: 0;
  }

  body:has(.resume-print) .resume-print-subheader div {
    display: block;
  }

  body:has(.resume-print) .resume-print-subheader strong {
    display: block;
    padding: 2.2mm;
    background: #e9e9e9;
    color: #292d31;
    font-size: 11pt;
    font-weight: 650;
    text-align: center;
    letter-spacing: 0.08em;
  }

  body:has(.resume-print) .resume-print-subheader div span,
  body:has(.resume-print) .resume-print-subheader > span {
    display: block;
    margin-top: 1.5mm;
    color: #737a81;
    font-size: 7.2pt;
    text-align: center;
  }

  body:has(.resume-print) .resume-print-project-section {
    flex: 1;
    margin-bottom: 0 !important;
  }

  body:has(.resume-print) .resume-print-project-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4.5mm;
  }

  body:has(.resume-print) .resume-print-project {
    padding: 0 0 4mm;
    border-top: 0;
    border-bottom: 1px solid #dedede;
  }

  body:has(.resume-print) .resume-print-project:last-child {
    border-bottom: 0;
  }

  body:has(.resume-print) .resume-print-project-head {
    grid-template-columns: 7mm minmax(0, 1fr);
    gap: 2mm;
  }

  body:has(.resume-print) .resume-print-project-head > span {
    color: #92979b;
    font-size: 11pt;
    font-weight: 600;
  }

  body:has(.resume-print) .resume-print-project-result {
    margin: 1.5mm 0 1.6mm 9mm !important;
    color: #42484e !important;
    font-size: 7.8pt !important;
    font-weight: 650;
  }

  body:has(.resume-print) .resume-print-project ul {
    margin-left: 9mm !important;
  }

  body:has(.resume-print) .resume-print-tech {
    margin-top: 0 !important;
  }

  body:has(.resume-print) .resume-print-skill-grid {
    display: block;
  }

  body:has(.resume-print) .resume-print-skill-grid > div,
  body:has(.resume-print) .resume-print-skill-grid > div:nth-child(-n + 2) {
    margin: 0 0 3mm;
    padding: 0;
    border: 0;
  }

  body:has(.resume-print) .resume-print-skill-grid h3 {
    margin: 0 0 0.8mm !important;
    color: #33383d !important;
    font-size: 7.9pt !important;
    font-weight: 650;
    text-align: left !important;
  }

  body:has(.resume-print) .resume-print-skill-grid p {
    margin: 0 !important;
    color: #5a6269 !important;
    font-size: 7.15pt !important;
    line-height: 1.42 !important;
  }

  body:has(.resume-print) .resume-print-footer {
    margin-top: auto;
    padding: 2mm 0 4mm;
    border-top: 1px solid #d4d4d4;
    color: #686f76;
    font-size: 6.8pt;
  }
}
