.resume-sheet { padding: 3.5rem 0 5rem; }
.resume-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  padding-bottom: 2.5rem;
  border-bottom: 2px solid var(--ink);
}
.resume-header h1 {
  margin: 0;
  font-size: clamp(2.5rem, 6vw, 5rem);
  line-height: 0.95;
  letter-spacing: -0.055em;
}
.resume-header .role { margin: 0.8rem 0 0; color: var(--blue); font-weight: 650; }
.resume-contact { text-align: right; font: 0.78rem/1.8 var(--mono); }
.resume-contact a { display: block; }
.resume-summary { max-width: 62rem; margin: 2rem 0 0; color: var(--muted); font-size: 1.08rem; }
.resume-section { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: 2rem; padding: 2.75rem 0; border-bottom: 1px solid var(--rule); }
.resume-section h2 { margin: 0; color: var(--blue); font: 600 0.72rem/1.5 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; }
.resume-entry + .resume-entry { margin-top: 2.25rem; padding-top: 2.25rem; border-top: 1px solid var(--rule); }
.resume-entry-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: baseline; }
.resume-entry-head h3 { margin: 0; font-size: 1.15rem; }
.resume-entry-head span { color: var(--faint); font: 0.72rem/1.5 var(--mono); }
.resume-entry .organisation { margin: 0.25rem 0 0; color: var(--muted); }
.resume-entry ul { margin: 1rem 0 0; padding-left: 1.15rem; }
.resume-entry li { margin: 0.45rem 0; color: var(--muted); }
.capability-row { display: grid; grid-template-columns: minmax(10rem, 0.35fr) minmax(0, 1fr); gap: 1rem; padding: 0.8rem 0; border-top: 1px solid var(--rule); }
.capability-row:last-child { border-bottom: 1px solid var(--rule); }
.capability-row strong { font-size: 0.9rem; }
.capability-row span { color: var(--muted); }
.resume-scope { margin: 1rem 0 0; color: var(--faint); font-size: 0.85rem; }

@media (max-width: 680px) {
  .resume-header { grid-template-columns: 1fr; }
  .resume-contact { text-align: left; }
  .resume-contact a { display: inline; margin-right: 0.8rem; }
  .resume-section { grid-template-columns: 1fr; gap: 1rem; }
  .resume-entry-head { grid-template-columns: 1fr; gap: 0.25rem; }
  .capability-row { grid-template-columns: 1fr; gap: 0.25rem; }
}

@media print {
  @page { size: A4; margin: 12mm 13mm; }
  .resume-sheet { padding: 0; }
  .resume-header { padding-bottom: 10mm; }
  .resume-header h1 { font-size: 30pt; }
  .resume-summary { margin-top: 6mm; font-size: 9.5pt; }
  .resume-section { grid-template-columns: 28mm 1fr; gap: 5mm; padding: 6mm 0; break-inside: avoid; }
  .resume-entry + .resume-entry { margin-top: 5mm; padding-top: 5mm; }
  .resume-entry-head h3 { font-size: 10.5pt; }
  .resume-entry ul { margin-top: 3mm; }
  .resume-entry li { margin: 1.4mm 0; }
  .capability-row { padding: 2mm 0; }
  .resume-scope { font-size: 7.5pt; }
}
