@page {
  size: letter;
  margin: 0.65in 0.7in;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 10.5pt;
  color: #1a1a1a;
  line-height: 1.45;
  background: #fff;
}

/* ── Header ── */
.header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 2px solid #1a1a1a;
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.header-left h1 {
  font-size: 22pt;
  font-weight: 700;
  letter-spacing: -0.3px;
}
.header-left .tagline {
  font-size: 9.5pt;
  color: #444;
  margin-top: 2px;
}
.header-right {
  text-align: right;
  font-size: 9.5pt;
  color: #333;
  line-height: 1.6;
}
.header-right a { color: #333; text-decoration: none; }

/* ── Two-column layout ── */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 28px;
}

/* ── Section ── */
.section { margin-bottom: 11px; }
.section-title {
  font-size: 9pt;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 2px;
  margin-bottom: 6px;
}

/* ── Inline two-column for Tech Experience / Tools ── */
.skills-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px;
  margin-bottom: 11px;
}
.skills-cols .section { margin-bottom: 0; }

/* ── Lists ── */
ul { list-style: none; padding: 0; }
ul li {
  padding-left: 10px;
  position: relative;
  margin-bottom: 2px;
  font-size: 10pt;
}
ul li::before {
  content: '–';
  position: absolute;
  left: 0;
  color: #555;
}

/* ── Cert list ── */
.cert-list { font-size: 9.5pt; }
.cert-list li { margin-bottom: 2px; }
.cert-list li::before { content: '✓'; color: #1a1a1a; font-weight: 700; }

/* ── Impact list ── */
.impact-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 12px;
}
.impact-list li {
  border-left: 2px solid #1a1a1a;
  padding-left: 7px;
  font-size: 9.5pt;
  line-height: 1.35;
}
.impact-list li::before { content: ''; }

/* ── Tool rows ── */
.tool-row { margin-bottom: 3px; font-size: 10pt; }
.tool-row strong { font-weight: 600; }

/* ── Experience block ── */
.job { margin-bottom: 11px; page-break-inside: avoid; }
.job-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.job-title { font-weight: 700; font-size: 10.5pt; }
.job-company { font-weight: 600; font-size: 10pt; color: #222; }
.job-duration { font-size: 9.5pt; color: #555; white-space: nowrap; }
.job-note { font-size: 9pt; color: #555; font-style: italic; margin-bottom: 4px; }
.job ul { margin-top: 4px; }

/* ── Projects ── */
.project { margin-bottom: 7px; page-break-inside: avoid; }
.project-title { font-weight: 700; font-size: 10pt; }
.project-tags { font-size: 8.5pt; color: #555; margin-bottom: 2px; }

/* ── Utility classes ── */
.body-text { font-size: 10pt; }
.clearance-wrap { margin-bottom: 8px; }
.section-title-gap { margin-top: 4px; }
.job-sep { font-size: 9pt; color: #555; }
.normal-weight { font-weight: 400; }

/* ── Clearance badge ── */
.clearance {
  display: inline-block;
  border: 1.5px solid #1a1a1a;
  padding: 1px 8px;
  font-weight: 700;
  font-size: 10pt;
  border-radius: 3px;
}

/* ── Print helpers ── */
@media print {
  body { font-size: 10pt; }
  .no-print { display: none; }
  a { color: inherit; text-decoration: none; }
}

/* ── Screen preview ── */
@media screen {
  body { max-width: 8.5in; margin: 0.5in auto; padding: 0.65in 0.7in; box-shadow: 0 2px 16px rgba(0,0,0,0.15); }
  .no-print { text-align: center; margin-bottom: 1rem; }
  .no-print button {
    padding: 8px 20px; background: #1a1a1a; color: #fff;
    border: none; border-radius: 4px; cursor: pointer; font-size: 11pt;
  }
}
