.cv-page { max-width: 920px; margin: 0 auto; padding: 3rem 0 4rem; color: #111827; } .cv-header { display: flex; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 2px solid #111827; } .cv-eyebrow { margin: 0 0 0.6rem; color: #5b6472; font-size: 0.85rem; text-transform: uppercase; } .cv-header h1 { margin: 0; font-size: 3rem; line-height: 1; } .cv-role { margin: 0.75rem 0 0; color: #374151; font-size: 1.2rem; } .cv-contact { display: grid; align-content: start; gap: 0.35rem; margin: 0; font-style: normal; text-align: right; } .cv-contact a { color: #111827; text-decoration: none; } .cv-contact a:hover { text-decoration: underline; } .cv-section { padding: 2rem 0; border-bottom: 1px solid #d1d5db; } .cv-section h2 { margin: 0 0 1rem; color: #111827; font-size: 1rem; font-weight: 700; text-transform: uppercase; } .cv-section p, .cv-section li { color: #374151; line-height: 1.65; } .cv-entry { display: grid; gap: 0.75rem; } .cv-entry__header { display: flex; justify-content: space-between; gap: 1rem; } .cv-entry h3 { margin: 0; font-size: 1.1rem; } .cv-entry__header p { margin: 0.25rem 0 0; } .cv-entry__header span { flex: 0 0 auto; color: #5b6472; } .cv-section ul { margin: 0; padding-left: 1.2rem; } .cv-details { border: 1px solid #d1d5db; border-radius: 8px; padding: 1rem; background: #ffffff; } .cv-details summary { cursor: pointer; color: #111827; font-weight: 700; } .cv-details__body { margin-top: 1rem; } .cv-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; } @media (max-width: 760px) { .cv-header, .cv-entry__header { display: grid; } .cv-contact { text-align: left; } .cv-header h1 { font-size: 2.35rem; } .cv-columns { grid-template-columns: 1fr; } }