/* Simple recruiter-facing resume. Intentionally calmer than the console. */

.resume-page {
  min-block-size: 100dvh;
  padding: 24px 20px 80px;
  color: var(--ak-surface-3);
  background: #e9ede9;
}

.resume-toolbar {
  inline-size: min(1080px, 100%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0 auto 16px;
}

.resume-toolbar a,
.resume-toolbar button {
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
  padding: 10px 13px;
  border: 1px solid #9ca79f;
  color: #243028;
  background: transparent;
  font: 750 .72rem/1 var(--ak-font-mono);
  text-decoration: none;
  cursor: pointer;
}

.resume-toolbar button {
  color: var(--ak-text-bright);
  background: var(--ak-surface-3);
}

.resume-sheet {
  inline-size: min(1080px, 100%);
  margin-inline: auto;
  padding: clamp(34px, 6vw, 76px);
  border: 1px solid #cbd2cc;
  background: var(--ak-text-bright);
  box-shadow: 0 24px 70px rgba(19, 31, 23, .10);
}

.resume-header {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(230px, .6fr);
  gap: clamp(30px, 7vw, 90px);
  padding-block-end: 44px;
  border-block-end: 3px solid var(--ak-surface-3);
}

.resume-eyebrow {
  margin: 0 0 18px;
  color: #0a7446;
  font: 800 .7rem/1.3 var(--ak-font-mono);
  letter-spacing: .11em;
}

.resume-header h1 {
  margin: 0;
  font: 900 clamp(3rem, 7vw, 6.7rem)/.83 var(--ak-font-sans);
  letter-spacing: -.085em;
}

.resume-summary {
  max-inline-size: 710px;
  margin: 28px 0 0;
  color: #4f5c54;
  font-size: 1.08rem;
  line-height: 1.68;
}

.resume-contact {
  display: grid;
  align-content: start;
  gap: 0;
  font-style: normal;
  border-block-start: 1px solid #bcc5be;
}

.resume-contact a {
  padding-block: 13px;
  border-block-end: 1px solid #bcc5be;
  color: var(--ak-surface-3);
  font: 750 .75rem/1.3 var(--ak-font-mono);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.resume-contact a:hover,
.resume-contact a:focus-visible {
  color: var(--ak-primary-deep);
}

.resume-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr);
  gap: clamp(34px, 7vw, 84px);
  padding-block-start: 42px;
}

.resume-section + .resume-section {
  margin-block-start: 48px;
}

.resume-section h2 {
  margin: 0 0 22px;
  color: var(--ak-primary-deep);
  font: 850 .78rem/1.2 var(--ak-font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.resume-section > p {
  margin: 0;
  color: #39463e;
  line-height: 1.72;
}

.resume-timeline {
  border-block-start: 1px solid var(--ak-dim);
}

.resume-timeline article {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 22px;
  padding-block: 27px;
  border-block-end: 1px solid var(--ak-dim);
}

.resume-time {
  color: #69756d;
  font: 750 .72rem/1.4 var(--ak-font-mono);
}

.resume-timeline h3,
.resume-projects h3 {
  margin: 0 0 8px;
  font-size: 1.18rem;
  line-height: 1.2;
}

.resume-timeline p,
.resume-timeline ul,
.resume-projects p {
  margin: 0;
  color: #4e5b53;
  line-height: 1.65;
}

.resume-timeline ul {
  margin-block-start: 12px;
  padding-inline-start: 20px;
}

.resume-timeline li + li {
  margin-block-start: 7px;
}

.resume-projects {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-block-start: 1px solid var(--ak-dim);
  border-inline-start: 1px solid var(--ak-dim);
}

.resume-projects article {
  min-block-size: 190px;
  padding: 22px;
  border-block-end: 1px solid var(--ak-dim);
  border-inline-end: 1px solid var(--ak-dim);
}

.resume-side {
  padding-inline-start: 28px;
  border-inline-start: 1px solid var(--ak-dim);
}

.resume-tags,
.resume-plain-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.resume-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.resume-tags li {
  padding: 8px 9px;
  border: 1px solid #aeb9b0;
  font: 750 .68rem/1 var(--ak-font-mono);
}

.resume-plain-list li {
  padding-block: 10px;
  border-block-end: 1px solid #d3d9d4;
  color: #445048;
}

.resume-languages {
  margin: 0;
}

.resume-languages div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding-block: 10px;
  border-block-end: 1px solid #d3d9d4;
}

.resume-languages dt {
  font-weight: 800;
}

.resume-languages dd {
  margin: 0;
  color: #647168;
}

.resume-availability {
  padding: 18px;
  border: 1px solid var(--ak-primary-deep);
  background: #edf8f1;
}

.resume-availability h2 {
  margin-block-end: 12px;
}

@media (max-width: 820px) {
  .resume-header,
  .resume-layout {
    grid-template-columns: 1fr;
  }
  .resume-contact {
    max-inline-size: 520px;
  }
  .resume-side {
    padding-inline-start: 0;
    border-inline-start: 0;
    border-block-start: 3px solid var(--ak-surface-3);
    padding-block-start: 34px;
  }
}

@media (max-width: 580px) {
  .resume-page {
    padding-inline: 12px;
  }
  .resume-sheet {
    padding: 26px 20px;
  }
  .resume-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .resume-toolbar a,
  .resume-toolbar button {
    justify-content: center;
  }
  .resume-timeline article {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .resume-projects {
    grid-template-columns: 1fr;
  }
  .resume-projects article {
    min-block-size: auto;
  }
}

@media print {
  @page {
    size: A4;
    margin: 11mm;
  }
  body,
  .resume-page {
    color: #000 !important;
    background: var(--ak-text-bright) !important;
  }
  .resume-page {
    padding: 0;
  }
  .resume-toolbar,
  .akava-nav,
  .akava-footer {
    display: none !important;
  }
  .resume-sheet {
    inline-size: 100%;
    padding: 0;
    border: 0;
    box-shadow: none;
  }
  .resume-header h1 {
    font-size: 43pt;
  }
  .resume-summary,
  .resume-section > p,
  .resume-timeline p,
  .resume-timeline ul,
  .resume-projects p {
    color: #222 !important;
  }
  .resume-section + .resume-section {
    margin-block-start: 28px;
  }
  .resume-timeline article,
  .resume-projects article,
  .resume-section {
    break-inside: avoid;
  }
}

/* Compact recruiter PDF. Avoid keeping whole sections together, which caused blank pages. */
@media print {
  @page {
    size: A4 portrait;
    margin: 7mm;
  }

  html,
  body {
    font-size: 8.6pt;
    line-height: 1.3;
  }

  .resume-page {
    min-block-size: 0;
    padding: 0;
  }

  .resume-sheet {
    inline-size: 100%;
    margin: 0;
    padding: 0;
  }

  .resume-header {
    grid-template-columns: minmax(0, 1.45fr) minmax(47mm, 0.55fr);
    gap: 7mm;
    padding-block-end: 4mm;
    border-block-end-width: 1.5pt;
  }

  .resume-eyebrow {
    margin-block-end: 2.5mm;
    font-size: 6.7pt;
  }

  .resume-header h1 {
    font-size: 27pt;
    line-height: 0.92;
    letter-spacing: -0.055em;
  }

  .resume-summary {
    margin-block-start: 3.5mm;
    font-size: 8.5pt;
    line-height: 1.35;
  }

  .resume-contact a {
    padding-block: 2.2mm;
    font-size: 6.8pt;
  }

  .resume-layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(45mm, 0.5fr);
    gap: 6mm;
    padding-block-start: 4.5mm;
  }

  .resume-side {
    padding-inline-start: 4mm;
  }

  .resume-section + .resume-section {
    margin-block-start: 5mm;
  }

  .resume-section h2 {
    margin-block-end: 2.5mm;
    font-size: 6.8pt;
  }

  .resume-section > p,
  .resume-timeline p,
  .resume-timeline ul,
  .resume-projects p,
  .resume-plain-list li,
  .resume-languages {
    font-size: 8pt;
    line-height: 1.3;
  }

  .resume-timeline article {
    grid-template-columns: 23mm minmax(0, 1fr);
    gap: 3mm;
    padding-block: 3mm;
  }

  .resume-time {
    font-size: 6.6pt;
  }

  .resume-timeline h3,
  .resume-projects h3 {
    margin-block-end: 1.2mm;
    font-size: 9pt;
  }

  .resume-timeline ul {
    margin-block-start: 1.8mm;
    padding-inline-start: 4mm;
  }

  .resume-timeline li + li {
    margin-block-start: 1mm;
  }

  .resume-projects article {
    min-block-size: 0;
    padding: 3mm;
  }

  .resume-tags {
    gap: 1.2mm;
  }

  .resume-tags li {
    padding: 1.2mm 1.5mm;
    font-size: 6.3pt;
  }

  .resume-plain-list li,
  .resume-languages div {
    padding-block: 1.7mm;
  }

  .resume-availability {
    padding: 3mm;
  }

  .resume-timeline article,
  .resume-projects article,
  .resume-side section {
    break-inside: avoid;
  }

  .resume-section {
    break-inside: auto;
  }
}

@media print {
  html,
  body,
  .resume-page {
    color: #000 !important;
    background: var(--ak-text-bright) !important;
  }
}