.resume-page { font:17px/1.55 var(--sans); }
.resume-page main { max-width:820px; margin:60px auto; padding:0 30px; }
.resume-page h1 { font-size:54px; line-height:1; letter-spacing:-.04em; margin:0 0 14px; font-weight:800; }
.resume-page h2 { font-size:25px; margin:32px 0 12px; color:var(--blue); }
.resume-page h3 { font-size:19px; margin:18px 0 4px; }
.resume-page p { margin:8px 0; }
.resume-page small { font-size:13px; }
.resume-page a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.resume-page button { min-height:44px; padding:10px 18px; border:0; background:var(--night); color:var(--paper); border-radius:24px; }
.resume-page button:hover { background:var(--night-soft); }
[data-theme="dark"] .resume-page button { background:var(--blue); color:var(--night); }
.resume-page nav { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:38px; }
.resume-page nav > a { margin-right:auto; }
.resume-page article { break-inside:avoid; }
.resume-page ul { margin:10px 0 0; padding-left:22px; }
.resume-page li { padding-left:4px; margin:0 0 8px; }
.resume-page strong { color:inherit; font-weight:700; }
.resume-page h2,.resume-page h3 { break-after:avoid; }
.resume-page footer { margin:35px 0; padding:0; background:transparent; color:inherit; font-size:13px; }
@media(max-width:600px) {
  .resume-page main { margin:28px auto; padding:0 22px; }
  .resume-page nav > a { flex-basis:100%; }
  .resume-page h1 { font-size:clamp(36px,11vw,54px); }
}
@media print {
  .resume-page nav { display:none; }
  .resume-page main { margin:0; max-width:none; padding:0; }
  .resume-page,[data-theme="dark"] .resume-page { background:white; color:#2e3440; font-size:11pt; line-height:1.45; }
  .resume-page p { line-height:inherit; }
  .resume-page h1 { font-size:32pt; }
  .resume-page h2 { color:#4c6a90; margin-top:20px; }
  .resume-page a { min-height:0; }
  .resume-page footer { margin:16px 0 0; }
}
