/* Single-column adaptation of Stanford Career Education's Google Docs resume. */
:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: #18232d; background: #eef0f2; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #20476a; text-decoration-thickness: 1px; text-underline-offset: .15em; }
a:focus-visible { outline: 3px solid #174e78; outline-offset: 4px; }
.skip-link { position: absolute; left: 1rem; top: -5rem; z-index: 3; background: white; padding: .8rem; }
.skip-link:focus { top: .5rem; }
.resume-toolbar { padding: 1rem max(1rem, calc((100% - 8.5in) / 2)); background: #fff; border-bottom: 1px solid #cbd2d8; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .875rem; }
.resume-toolbar a { display: inline-flex; align-items: center; min-height: 44px; }
.resume-actions { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.resume-toolbar .download { padding: .65rem 1rem; background: #18232d; color: #fff; text-decoration: none; font-weight: 700; }
.resume-toolbar .download:hover { background: #30475b; }
.resume-note { max-width: 8.5in; margin: 1.2rem auto; padding: 0 1rem; color: #45525c; font-size: .875rem; line-height: 1.5; }
main { padding: 0 1rem 2rem; }
.resume-sheet { position: relative; width: 8.5in; min-height: 11in; padding: .6in; margin: 1.25rem auto; background: #fff; box-shadow: 0 2px 14px #18232d12; font-size: 11pt; line-height: 1.22; }
.resume-header { text-align: center; margin-bottom: 15pt; }
h1 { margin: 0 0 5pt; font-size: 23pt; line-height: 1.1; letter-spacing: .01em; }
.resume-role { font-size: 12pt; font-weight: 700; margin: 0 0 7pt; }
.contact-line { margin: 3pt 0; font-size: 9.5pt; line-height: 1.4; }
.contact-line a { color: inherit; }
.resume-links { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 12pt; row-gap: 3pt; margin-top: 3pt; }
h2 { font-size: 11pt; text-transform: uppercase; letter-spacing: .07em; margin: 13pt 0 7pt; padding-bottom: 4pt; border-bottom: 1pt solid #314c62; color: #233e54; }
h3 { font-size: 11pt; line-height: 1.3; margin: 10pt 0 3pt; }
p { margin: 0 0 6pt; }
.skills { margin: 0; }
.skills div { margin: 0 0 4pt; }
.skills dt, .skills dd { display: inline; margin: 0; }
.skills dt { font-weight: 700; }
.skills dt::after { content: ": "; }
.project { break-inside: avoid; margin-bottom: 9pt; }
.project h3 a { color: inherit; }
.project-subtitle { font-weight: 400; }
.stack { color: #414e59; font-size: 9.5pt; line-height: 1.35; margin-bottom: 4pt; }
ul { padding-left: 15pt; margin: 3pt 0 0; }
li { padding-left: 1pt; margin-bottom: 4pt; }
.continued { display: flex; justify-content: space-between; gap: 1rem; color: #414e59; font-size: 9pt; padding-bottom: 5pt; border-bottom: 1px solid #cbd2d8; }
.resume-page-number { position: absolute; bottom: .29in; left: .6in; right: .6in; text-align: right; font-size: 8.5pt; color: #56626c; }
.resume-writing, .resume-education { break-inside: avoid; }
.interest { font-size: 9.5pt; color: #414e59; margin-top: 5pt; }
@media screen and (max-width: 880px) {
  main { padding: 0 .75rem 1rem; }
  .resume-sheet { width: 100%; min-height: 0; padding: 1.75rem 1.4rem 2.5rem; font-size: 1rem; line-height: 1.5; }
  h1 { font-size: 1.9rem; }
  h2 { font-size: .95rem; margin-top: 1.5rem; }
  h3 { font-size: 1.05rem; }
  .contact-line, .stack, .interest { font-size: .9rem; }
  .resume-role { font-size: 1rem; }
  .contact-line span, .resume-links a { overflow-wrap: anywhere; }
  .resume-links { gap: .35rem 1rem; }
  .resume-toolbar { align-items: flex-start; }
  .resume-actions { gap: .25rem 1rem; }
  .continued { font-size: .8rem; flex-wrap: wrap; }
  .resume-page-number { left: 1.4rem; right: 1.4rem; bottom: .7rem; }
}
@page { size: Letter; margin: 0; }
@media print {
  :root { background: white; }
  body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .resume-toolbar, .resume-note, .skip-link { display: none; }
  main { padding: 0; }
  .resume-sheet { width: 8.5in; height: 11in; min-height: 0; margin: 0; padding: .6in; box-shadow: none; break-after: page; }
  .resume-sheet:last-child { break-after: auto; }
  a { text-decoration: none; }
}
