:root {
  color-scheme: light;
  --ink: #1f2933;
  --muted: #52606d;
  --border: #d9e2ec;
  --surface: #f5f7fa;
  --link: #155e75;
  --focus: #b45309;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font: 1rem/1.65 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--link); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.container { width: min(100% - 2rem, 48rem); margin-inline: auto; }
.site-header { background: var(--surface); border-bottom: 1px solid var(--border); padding: 4rem 0 3rem; }
.profile h1 { margin: 0; font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1.1; }
.eyebrow { margin: 0 0 .5rem; color: var(--muted); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.headline { margin: .75rem 0 1rem; font-size: clamp(1.2rem, 3vw, 1.5rem); }
.summary { max-width: 42rem; margin: 0; color: var(--muted); }
.resume-section { padding: 2.5rem 0; border-bottom: 1px solid var(--border); }
.resume-section h2 { margin: 0 0 1.25rem; font-size: 1.6rem; line-height: 1.2; }
.entry-list, .tag-list, .contact-list { margin: 0; padding: 0; list-style: none; }
.entry + .entry { margin-top: 1.75rem; }
.entry-heading h3 { margin: 0; font-size: 1.15rem; }
.entry p { margin: .35rem 0 0; }
.entry-meta, .muted { color: var(--muted); }
.tag-list, .contact-list { display: flex; flex-wrap: wrap; gap: .65rem; }
.tag-list li { padding: .35rem .7rem; background: var(--surface); border: 1px solid var(--border); border-radius: .35rem; }
.skill-level { color: var(--muted); }
.contact { border-bottom: 0; }
.skip-link { position: absolute; left: 1rem; top: -4rem; padding: .5rem .75rem; background: #fff; border: 2px solid var(--focus); }
.skip-link:focus { top: 1rem; z-index: 1; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (min-width: 48rem) {
  .container { width: min(100% - 4rem, 52rem); }
  .site-header { padding-block: 5rem 4rem; }
}
@media print {
  body { color: #000; font-size: 10.5pt; }
  .site-header { padding: 0 0 1rem; background: transparent; }
  .resume-section { padding: 1rem 0; break-inside: avoid; }
  a { color: inherit; text-decoration: none; }
  .skip-link, .visually-hidden { display: none; }
}
