@page {
  margin: 14mm;
  size: A4;
}

* {
  box-shadow: none !important;
  text-shadow: none !important;
}

html,
body {
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 10pt;
}

body::before,
.skip-link,
.site-bar,
.hero-actions {
  display: none !important;
}

a {
  color: #111111 !important;
  text-decoration: none !important;
}

.resume-page {
  display: block;
  margin: 0;
  max-width: none;
  padding: 0;
}

.hero-card,
.section {
  background: #ffffff !important;
  border: 0;
  border-radius: 0;
  margin: 0 0 7mm;
  padding: 0;
}

.hero-card {
  display: block;
}

.hero-copy {
  display: block;
}

.eyebrow {
  color: #333333 !important;
  font-size: 8pt;
  letter-spacing: 0.1em;
}

.hero-card h1 {
  font-size: 30pt;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-top: 2mm;
}

.tagline,
.section > p,
.section-heading p {
  color: #333333 !important;
  font-size: 10pt;
  line-height: 1.45;
}

.tagline {
  margin-top: 3mm;
}

.quick-facts {
  display: grid;
  gap: 4mm;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 5mm;
}

.quick-facts div {
  border-top: 1px solid #d7d7d7;
  padding-top: 2mm;
}

.quick-facts dt {
  color: #555555 !important;
  font-size: 7.2pt;
}

.quick-facts dd {
  color: #222222 !important;
  font-size: 8.4pt;
}

.section {
  break-inside: avoid;
  page-break-inside: avoid;
}

.section h2 {
  border-bottom: 1px solid #d7d7d7;
  font-size: 8.2pt;
  letter-spacing: 0.1em;
  margin-bottom: 3mm;
  padding-bottom: 1.4mm;
}

.skills-grid,
.project-grid,
.split-section,
.contact-grid {
  display: grid;
  gap: 3mm;
  grid-template-columns: repeat(2, 1fr);
}

.skill-group,
.project,
.credential,
.todo-note,
.contact-grid > * {
  background: #ffffff !important;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  padding: 3mm;
}

.skill-group h3,
.role h3,
.project h3,
.credential h3 {
  font-size: 9.4pt;
}

.skill-group p,
.role p,
.project p,
.credential p,
.todo-note {
  color: #333333 !important;
  font-size: 8.2pt;
  line-height: 1.35;
}

.timeline {
  display: block;
}

.role {
  border-left: 0;
  break-inside: avoid;
  margin-bottom: 5mm;
  padding-left: 0;
  page-break-inside: avoid;
}

.role-heading {
  display: grid;
  gap: 5mm;
  grid-template-columns: 1fr auto;
  margin-bottom: 2mm;
}

.meta {
  color: #555555 !important;
  font-size: 8pt;
  text-align: right;
}

.role ul {
  color: #222222 !important;
  font-size: 8.4pt;
  line-height: 1.35;
  margin: 0;
  padding-left: 4mm;
}

.role li + li {
  margin-top: 1mm;
}

.featured-project {
  grid-column: 1 / -1;
}

.architecture-flow {
  display: block;
  margin-top: 3mm;
}

.architecture-flow span {
  border: 0;
  display: inline;
  font-size: 8pt;
  padding: 0;
}

.architecture-flow span + span::before {
  content: " -> ";
}

.contact-grid {
  font-style: normal;
  grid-template-columns: repeat(4, 1fr);
}
