:root { --ink: #172033; --muted: #5e6879; --paper: #f6f7f4; --blue: #3158bd; --line: #dce1e9; --card: #ffffff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
main, footer { width: min(1160px, calc(100% - 48px)); margin: auto; }
.hero { min-height: 680px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 5rem; align-items: center; border-bottom: 1px solid var(--line); }
.hero-text-only { grid-template-columns: minmax(0, 760px); }
.eyebrow, .section-label { color: var(--blue); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; } h1 { margin-bottom: 1rem; font-size: clamp(2.1rem, 7.3vw, 6.4rem); line-height: .95; letter-spacing: -.075em; white-space: nowrap; } h2 { margin-bottom: 1.35rem; font-size: clamp(2.1rem, 5vw, 3.6rem); letter-spacing: -.055em; line-height: 1; } h3 { margin-bottom: .1rem; font-size: 1.18rem; letter-spacing: -.025em; }
.role { font-weight: 700; font-size: clamp(1rem, 2.5vw, 1.35rem); } .role span { color: var(--blue); margin: 0 .3rem; }.intro { max-width: 650px; color: var(--muted); font-size: 1.15rem; }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }.button { display: inline-flex; padding: .75rem 1.05rem; border-radius: 2px; text-decoration: none; font-weight: 750; transition: transform .18s ease, background .18s ease; }.button:hover { transform: translateY(-2px); }.primary { color: white; background: var(--blue); }.secondary { color: var(--ink); border: 1px solid var(--ink); }
.section { display: grid; grid-template-columns: 110px 1fr; gap: 2rem; padding: 7rem 0; border-bottom: 1px solid var(--line); }.section-label { padding-top: .65rem; }.about > div { max-width: 780px; }.lead { margin-bottom: 1.1rem; font-size: 1.4rem; line-height: 1.4; letter-spacing: -.02em; }
.timeline-item { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .7rem 1.5rem; padding: 1.8rem 0; border-top: 1px solid var(--line); }.timeline-item:first-of-type { border-top: 0; }.timeline-heading p { margin-bottom: 0; color: var(--muted); }.period { margin: .2rem 0; color: var(--blue); font-size: .9rem; font-weight: 800; white-space: nowrap; }.timeline-item ul, .timeline-item > p:last-child { grid-column: 1 / -1; margin: .2rem 0 0; }.timeline-item ul { padding-left: 1.25rem; }.timeline-item li + li { margin-top: .22rem; }.compact > p:last-child { color: var(--muted); }
.skill-grid, .details-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }.skill-grid article, .details-grid article { padding: 1.4rem; border: 1px solid var(--line); background: var(--card); }.skill-grid h3, .details-grid h3 { color: var(--blue); }.skill-grid p, .details-grid p { margin-bottom: 0; color: var(--muted); }.details-grid { grid-template-columns: repeat(3, 1fr); }.details-grid p + p { margin-top: 1rem; }
footer { display: flex; justify-content: space-between; align-items: center; padding: 2rem 0 3rem; font-weight: 700; } footer p { margin: 0; } footer a { color: var(--blue); }
@media (max-width: 760px) { main, footer { width: min(100% - 32px, 1160px); }.hero { min-height: auto; grid-template-columns: 1fr; gap: 2.5rem; padding: 4rem 0; }.section { grid-template-columns: 1fr; gap: .5rem; padding: 4rem 0; }.section-label { margin-bottom: 0; }.timeline-item { grid-template-columns: 1fr; gap: .3rem; }.period { grid-row: 2; }.skill-grid, .details-grid { grid-template-columns: 1fr; } footer { align-items: flex-start; flex-direction: column; gap: .7rem; } }
