/* Reset & Base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 11pt;
  line-height: 1.5;
  color: #333;
  background: #fff;
  padding: 0.75in;
  max-width: 8.5in;
  margin: 0 auto;
}

/* Color Variables */
:root {
  --navy-blue: #1e3a5f;
  --medium-blue: #4472c4;
  --gold-accent: #b8860b;
  --black: #000;
  --dark-gray: #333;
  --medium-gray: #555;
}

/* Header */
.header {
  text-align: center;
  margin-bottom: 0.5em;
}

.header h1 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 32pt;
  font-weight: 700;
  color: var(--navy-blue);
  margin-bottom: 0.1em;
}

.header h2 {
  font-family: 'Open Sans', sans-serif;
  font-size: 14pt;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 0.1em;
}

.header .tagline {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 11pt;
  color: var(--dark-gray);
  margin-bottom: 0.3em;
}

.header .contact {
  font-size: 10pt;
  color: var(--dark-gray);
}

.header .contact a {
  color: var(--dark-gray);
  text-decoration: none;
}

.header .contact a:hover {
  color: var(--medium-blue);
  text-decoration: underline;
}

/* Header Divider */
.header-divider {
  border: none;
  border-top: 2px solid var(--gold-accent);
  margin: 0.75em 0;
}

/* Summary */
.summary {
  margin-bottom: 1em;
}

.summary p {
  font-size: 10.5pt;
  line-height: 1.6;
  text-align: justify;
}

/* Section Headers */
h3 {
  font-family: 'Open Sans', sans-serif;
  font-size: 12pt;
  font-weight: 700;
  color: var(--medium-blue);
  border-bottom: 1px solid var(--gold-accent);
  padding-bottom: 0.2em;
  margin-bottom: 0.5em;
  margin-top: 0.75em;
}

/* Core Competencies */
.competencies {
  margin-bottom: 0.5em;
}

.competencies-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1em;
  margin-top: 0.5em;
}

.competency h4 {
  font-family: 'Open Sans', sans-serif;
  font-size: 10pt;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 0.25em;
}

.competency p {
  font-size: 9pt;
  line-height: 1.4;
  color: var(--medium-gray);
}

/* Professional Experience */
.experience {
  margin-bottom: 0.5em;
}

.job {
  margin-bottom: 0.75em;
}

.job-header {
  font-size: 10.5pt;
  margin-bottom: 0.25em;
}

.job-header .company {
  font-weight: 700;
  color: var(--black);
}

.job-header .position {
  font-weight: 600;
  color: var(--dark-gray);
}

.job-header .location {
  color: var(--medium-gray);
}

.job-header .dates {
  color: var(--medium-gray);
}

.job ul {
  list-style: disc;
  margin-left: 1.25em;
  margin-top: 0.25em;
}

.job ul li {
  font-size: 10pt;
  line-height: 1.5;
  margin-bottom: 0.15em;
}

/* Education */
.education {
  margin-bottom: 0.5em;
}

.education p {
  font-size: 10pt;
  line-height: 1.6;
}

.education strong {
  font-weight: 700;
  color: var(--black);
}

/* What Drives Me */
.drives {
  margin-bottom: 1em;
}

.drives ul {
  list-style: none;
  margin-top: 0.5em;
}

.drives ul li {
  font-size: 10pt;
  line-height: 1.5;
  margin-bottom: 0.3em;
}

.drives ul li strong {
  color: var(--medium-blue);
}

/* Responsive */
@media screen and (max-width: 768px) {
  body {
    padding: 1em;
    font-size: 10pt;
  }

  .header h1 {
    font-size: 24pt;
  }

  .header h2 {
    font-size: 12pt;
  }

  .competencies-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .header .contact {
    font-size: 9pt;
  }
}

@media screen and (max-width: 480px) {
  body {
    padding: 0.5em;
  }

  .header h1 {
    font-size: 20pt;
  }

  .competencies-grid {
    grid-template-columns: 1fr;
  }
}
