/* Resume PDF stylesheet — used only by /resume and /tr/resume routes */

@font-face {
  font-family: 'Inter';
  font-weight: 400;
  font-style: normal;
  font-display: block;
  src: url('/fonts/inter-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
                 U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-weight: 400;
  font-style: normal;
  font-display: block;
  src: url('/fonts/inter-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F,
                 U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
                 U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-weight: 700;
  font-style: normal;
  font-display: block;
  src: url('/fonts/inter-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
                 U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-weight: 700;
  font-style: normal;
  font-display: block;
  src: url('/fonts/inter-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F,
                 U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
                 U+2C60-2C7F, U+A720-A7FF;
}

@page { size: A4; margin: 18mm 16mm; }

:root {
  --ink: #1a1410;
  --ink-soft: #555;
  --rule: #ddd6c8;
  --accent: #c9a449;
  --bg-callout: #fafaf7;
  --font-body: 'Inter', system-ui, -apple-system, Helvetica, Arial, sans-serif;
  --font-label: ui-monospace, Menlo, 'JetBrains Mono', monospace;
}

* { box-sizing: border-box; }

html, body {
  background: white;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 10.5pt;
  line-height: 1.45;
  margin: 0;
  padding: 0;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

body.resume {
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: 8mm;
}

.sidebar { border-right: 1px solid var(--rule); padding-right: 6mm; }

/* Sidebar — header */
.r-name {
  font-size: 18pt;
  font-weight: 700;
  letter-spacing: -0.3px;
  line-height: 1.05;
  margin: 0 0 2mm;
}
.r-role {
  font-size: 9pt;
  color: var(--ink-soft);
  font-weight: 400;
  margin: 0 0 6mm;
}

/* Section labels — sidebar uses .r-section-label, body uses .r-body-label */
.r-section-label,
.r-body-label {
  font-family: var(--font-label);
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--accent);
}
.r-section-label { margin: 5mm 0 2mm; }
.r-body-label    {
  margin: 0 0 3mm;
  page-break-after: avoid;
  break-after: avoid;
}

/* Contact list */
.r-contact { font-size: 9pt; line-height: 1.6; }
.r-contact a { color: inherit; text-decoration: none; }
.r-contact a:hover { color: var(--accent); }

/* Skills sidebar */
.r-skills { font-size: 9pt; line-height: 1.4; }
.r-skill-group { margin-bottom: 3mm; }
.r-skill-label { font-size: inherit; font-weight: 700; margin: 0 0 0.5mm; }
.r-skill-items {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: 4mm;
}
.r-skill-items li { color: var(--ink); break-inside: avoid; }

/* Education sidebar */
.r-education { font-size: 9pt; }
.r-edu-entry { margin-bottom: 3mm; }
.r-edu-school { font-size: inherit; font-weight: 700; margin: 0; }
.r-edu-degree { color: var(--ink-soft); font-size: 8.5pt; }
.r-edu-dates  { color: var(--ink-soft); font-size: 8pt; font-family: var(--font-label); }

/* Pitch — full-width banner at top of resume, spans both grid columns */
.r-pitch {
  grid-column: 1 / -1;
  font-size: 10.5pt;
  line-height: 1.5;
  padding: 3mm 4mm;
  background: var(--bg-callout);
  border-left: 2px solid var(--accent);
  margin-bottom: 6mm;
}

/* Body — experience list */
.r-experience { font-size: 10pt; }
.r-exp-entry { margin-bottom: 5mm; }
.r-exp-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 4mm;
  page-break-after: avoid;
  break-after: avoid;
}
.r-exp-title { font-size: inherit; font-weight: 700; margin: 0; }
.r-exp-dates { font-family: var(--font-label); font-size: 8.5pt; color: var(--ink-soft); white-space: nowrap; }
.r-exp-location { font-size: 8.5pt; color: var(--ink-soft); margin-top: 0.5mm; }
.r-exp-summary  { margin-top: 1.5mm; }
.r-exp-bullets {
  margin: 1.5mm 0 0;
  padding-left: 4mm;
}
.r-exp-bullets li { margin-bottom: 1mm; }

/* Sub-role rendering inside an experience entry */
.r-exp-company {
  font-size: inherit;
  font-weight: 700;
  letter-spacing: -0.1px;
  margin: 0;
}
.r-exp-roles {
  margin-top: 2mm;
  display: flex;
  flex-direction: column;
  gap: 3.5mm;
  padding-left: 3mm;
  border-left: 1px solid var(--rule);
}
.r-exp-role {
  page-break-inside: avoid;
  break-inside: avoid;
}
.r-exp-role-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 4mm;
  page-break-after: avoid;
  break-after: avoid;
}
.r-exp-role-title {
  font-weight: 700;
  font-size: 9.5pt;
  margin: 0;
}
.r-exp-role .r-exp-bullets {
  margin-top: 1mm;
}

/* Skill rating inline beside name */
.r-skill-items li {
  display: flex;
  justify-content: space-between;
  gap: 2mm;
}
.r-skill-name { color: var(--ink); }
.r-skill-rating {
  font-family: var(--font-label);
  font-size: 8pt;
  color: var(--ink-soft);
  white-space: nowrap;
}

/* Languages block */
.r-languages { font-size: 9pt; }
.r-lang-row {
  display: flex;
  justify-content: space-between;
  gap: 2mm;
  margin-bottom: 1mm;
}
.r-lang-name { font-weight: 700; }
.r-lang-level {
  color: var(--ink-soft);
  font-family: var(--font-label);
  font-size: 8pt;
}

/* Hobbies block */
.r-hobbies {
  font-size: 9pt;
  color: var(--ink);
  line-height: 1.5;
}

/* Mobile screen — collapse two-column grid to single column */
@media screen and (max-width: 720px) {
  body.resume {
    display: block;
  }
  .sidebar {
    border-right: none;
    border-bottom: 1px solid var(--rule);
    padding-right: 0;
    margin-bottom: 6mm;
    padding-bottom: 4mm;
  }
  .r-skill-items {
    columns: 1;
  }
}
