:root { --ink: #20201d; --muted: #696a62; --accent: #d95f4c; --paper: #f7f6f2; --line: #d8d5cc; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #ebe9e4; font: 16px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }
.cv-shell { width: min(1060px, calc(100% - 40px)); margin: 0 auto; padding: 34px 0 70px; }
.back { color: var(--muted); font-weight: 700; text-decoration: none; }
.cv-header { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin: 28px 0 42px; padding: 40px; background: var(--paper); border-radius: 8px; box-shadow: 0 20px 50px rgba(43,42,34,.1); }
.eyebrow { margin: 0 0 6px; color: var(--accent); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1 { margin: 0; font: 700 clamp(2.6rem, 7vw, 5.4rem)/.95 Georgia, serif; }
.headline { margin: 14px 0 2px; color: var(--muted); font-size: 1.25rem; font-weight: 700; }
.location, .contact { margin: 0; color: var(--muted); }
a { color: inherit; }
.cv-header img { width: 150px; height: 150px; border: 5px solid white; border-radius: 50%; object-fit: cover; object-position: center 30%; box-shadow: 0 12px 28px rgba(43,42,34,.16); }
section { margin-bottom: 34px; }
h2 { margin: 0 0 16px; padding-bottom: 7px; border-bottom: 2px solid var(--ink); font-size: 1.1rem; text-transform: uppercase; letter-spacing: .08em; }
h3 { margin: 0 0 6px; font-size: 1.05rem; line-height: 1.3; }
h3 span { display: block; color: var(--muted); font-size: .9rem; font-weight: 500; }
p { margin: 0 0 12px; }
.intro { max-width: 780px; margin-bottom: 42px; font-size: 1.15rem; }
.columns { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, .9fr); gap: 60px; }
article { display: grid; grid-template-columns: 120px 1fr; column-gap: 18px; margin-bottom: 25px; }
article .period { color: var(--accent); font-size: .85rem; font-weight: 800; }
article h3, article p, article ul { grid-column: 2; }
article h3 { grid-row: 1; }
article ul { margin: 0; padding-left: 18px; }
dl { margin: 0; } dt { margin-top: 13px; color: var(--accent); font-weight: 800; } dd { margin: 2px 0 0; }
aside { padding: 26px; background: rgba(247,246,242,.72); border-top: 5px solid var(--accent); }
@media (max-width: 760px) { .cv-shell { width: min(100% - 28px, 620px); padding-top: 20px; } .cv-header { align-items: start; flex-direction: column-reverse; padding: 28px; } .cv-header img { width: 112px; height: 112px; } .columns { grid-template-columns: 1fr; gap: 8px; } aside { padding: 22px; } article { grid-template-columns: 1fr; gap: 3px; } article h3, article p, article ul { grid-column: 1; } article .period { margin-bottom: 2px; } }
