/* The resume page itself. Themes are just classes on .resume. */
.resume {
  --accent: #1f4e79;
  --fs: 1;
  --page-w: 8.5in;
  --page-h: 11in;
  --pad-v: 0.5in;
  --pad-h: 0.6in;
  box-sizing: border-box;
  width: var(--page-w);
  min-height: var(--page-h);
  padding: var(--pad-v) var(--pad-h);
  background: #fff;
  color: #111;
  font-size: calc(10.5pt * var(--fs));
  line-height: 1.3;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.resume.paper-a4 { --page-w: 210mm; --page-h: 297mm; }

.resume a { color: inherit; text-decoration: none; }
.resume h1 { margin: 0; font-size: 2.1em; line-height: 1.1; }
.resume h2 {
  margin: 0.9em 0 0.35em;
  font-size: 1.02em;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  break-after: avoid;
}
.resume .r-head { text-align: center; }
.resume .headline { margin-top: 0.15em; font-size: 1.05em; }
.resume .contact { margin-top: 0.3em; font-size: 0.92em; }
.resume .contact .sep { margin: 0 0.5em; opacity: 0.5; }
.resume .entry { margin-bottom: 0.55em; break-inside: avoid; }
.resume .entry.compact { margin-bottom: 0.15em; }
.resume .row { display: flex; justify-content: space-between; gap: 1em; }
.resume .row .r { white-space: nowrap; text-align: right; }
.resume ul { margin: 0.2em 0 0; padding-left: 1.2em; }
.resume li { margin: 0.08em 0; }
.resume p { margin: 0.15em 0; }
.resume .skill { margin: 0.1em 0; }
.resume .summary { margin-bottom: 0.2em; }
.resume a.link { font-weight: normal; font-size: 0.9em; opacity: 0.8; }

/* Classic: serif, centered header, rule under section titles */
.resume.theme-classic { font-family: 'Georgia', 'Times New Roman', 'Hiragino Mincho ProN', serif; }
.resume.theme-classic h2 { border-bottom: 1px solid var(--accent); padding-bottom: 0.1em; }

/* Modern: sans-serif, left-aligned header, accent bar */
.resume.theme-modern {
  font-family: 'Helvetica Neue', Helvetica, Arial, 'Hiragino Sans', 'Noto Sans JP', sans-serif;
  font-size: calc(10pt * var(--fs));
}
.resume.theme-modern .r-head { text-align: left; border-left: 5px solid var(--accent); padding-left: 0.8em; }
.resume.theme-modern h1 { color: var(--accent); }
.resume.theme-modern h2 { letter-spacing: 0.12em; font-size: 0.95em; }
.resume.theme-modern h2::after {
  content: ''; display: block; height: 2px; width: 2.2em; margin-top: 0.2em; background: var(--accent);
}

/* A section title never ends a page on its own: it is kept with the section's first entry. */
.resume .sec-lead { break-inside: avoid; }
