.hero { display: flex; align-items: center; gap: 2.5rem; padding: 2.5rem 0; flex-wrap: wrap; } .hero-text h1 { margin: 0 0 0.4rem; font-size: 1.8rem; } .hero-text .role { margin: 0; color: var(--color-accent); } .hero-text .tagline { margin: 0.75rem 0 0; color: var(--color-silver); max-width: 34ch; } section { margin: 3rem 0; } section > h2 { font-size: 1rem; font-weight: 400; margin-bottom: 1.25rem; } .about p { max-width: 68ch; } .timeline { border-left: var(--border); margin: 0; padding: 0 0 0 1.5rem; list-style: none; } .timeline-item { position: relative; margin-bottom: 2rem; } .timeline-item::before { content: ''; position: absolute; left: -1.6rem; top: 0.4rem; width: 8px; height: 8px; background: var(--color-accent); box-shadow: 0 0 6px var(--color-accent-dim); } .timeline-item__meta { color: var(--color-silver); font-size: 0.85rem; } .timeline-item__role { color: var(--color-accent); margin: 0.15rem 0 0.5rem; font-size: 1rem; } .timeline-item ul { margin: 0; padding-left: 1.2rem; } .timeline-item li::marker { color: var(--color-accent-dim); } .contact-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; } .contact-list a::before { content: '$ '; color: var(--color-accent-dim); } @media (max-width: 640px) { .hero { flex-direction: column; align-items: flex-start; } }