/* Base typography approximating LaTeX article */
html { font-size: 11pt; }
body {
  font-family: 'Computer Modern Serif', 'Times New Roman', serif;
  -webkit-font-smoothing: antialiased;
  margin:0;
  background:#fcefb4; /* updated background */
  color:#000;
}

/* Custom text selection color */
::selection { background:#bfbfff; color:#000; }
::-moz-selection { background:#bfbfff; color:#000; }

.page {
  width: 8.5in;
  min-height: 11in;
  margin: 0 auto;
  padding: 0.7in 0.6in 0.6in 0.6in; /* mirror LaTeX adjustments */
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .page { width: 100%; padding: 1rem 1rem 3rem; }
}

h1 { font-size: 32pt; margin:0 0 2pt; text-align:center; font-variant: small-caps; letter-spacing:1px; }
.heading .location { text-align:center; font-size: 11pt; margin-bottom:2pt; }
.heading .contact-line { text-align:center; font-size:9.5pt; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.heading .contact-line a { color:#000; text-decoration: underline; }
.heading { margin-bottom:4pt; }

h2 { font-size: 13pt; font-variant: small-caps; margin:18pt 0 4pt; letter-spacing:0.5px; }
h2 + * { margin-top:0; }

h2 { position:relative; padding-bottom:2pt; }
h2:after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:#000; }

.item, .project { margin-bottom:10pt; }
.item-header { margin-bottom:2pt; }
.item-header .line { display:flex; justify-content:space-between; gap:1rem; }
.item-header .org { font-weight:600; }
.item-header .role { font-style:italic; font-size:10pt; }
.item-header .dates { font-weight:600; font-size:9.7pt; }
.item-header .place { font-style:italic; font-size:9.5pt; }
.item-header .right { text-align:right; }

.project-header .title { font-size:10.3pt; }
.project-header .date { font-size:9.5pt; font-weight:600; }

ul { margin:4pt 0 0 14pt; padding:0; }
ul.bullets { list-style: disc; }
.bullets li { margin:0 0 2pt; line-height:1.15; font-size:9.8pt; }
.skills li, .coursework li { font-size:10pt; line-height:1.2; margin-bottom:2pt; }

.skills, .coursework { list-style: disc; }

/* Tighten bullet marker size to mimic tiny bullet */
ul.bullets li::marker, .skills li::marker, .coursework li::marker { font-size:7pt; }

section { page-break-inside: avoid; }

/* Links */
a { color: inherit; }
a:hover { background: #f2f2f2; }

/* Print fidelity */
@media print {
  body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a { text-decoration: underline; }
  .page { box-shadow:none; margin:0; width:auto; min-height:auto; padding:0.7in 0.6in 0.6in 0.6in; background:#fcefb4; }
}

/* Fine spacing tweaks */
.item-header + .bullets { margin-top:2pt; }
.project-header + .bullets { margin-top:2pt; }

/* Accessibility helpers */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition:none !important; }
}
