:root{--ink:#181414;--paper:#f1eadf;--muted:#756b63;--line:#d7c7b6;--accent:#315f7d;--accent-2:#8d3f2f;--panel:#fbf7ef}*{box-sizing:border-box}body{margin:0;background:linear-gradient(120deg,rgba(49,95,125,.14),transparent 38%),var(--paper);color:var(--ink);font-family:Avenir Next,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.page{display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(260px,360px) 1fr;margin:0 auto;max-width:1180px;min-height:100vh;padding:48px clamp(20px,5vw,72px)}.block,.sidebar{background:rgba(251,247,239,.86);border:1px solid var(--line);border-radius:8px}.sidebar{align-self:start;padding:28px;position:-webkit-sticky;position:sticky;top:24px}.contact span,.kicker,.section-label,.timeline span{font-family:Courier New,monospace;letter-spacing:0;text-transform:uppercase}.kicker{color:var(--accent-2);margin:0 0 24px}h1,h2,h3{font-family:Georgia,serif;font-weight:500}h1{font-size:clamp(3rem,7vw,5.4rem);line-height:.9;margin:0}.sidebar>p:not(.kicker){color:var(--muted);line-height:1.65}.contact{display:grid;grid-gap:10px;gap:10px;margin-top:28px}.contact a{border-top:1px solid var(--line);display:grid;grid-gap:5px;gap:5px;padding-top:12px}.contact span,.section-label,.timeline span{color:var(--accent);font-size:.78rem}.contact strong{overflow-wrap:anywhere}.content{display:grid;grid-gap:18px;gap:18px}.block{padding:30px}.intro h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;margin:0}.section-label{margin:0 0 18px}.timeline{display:grid;grid-gap:18px;gap:18px}.timeline article{border-left:3px solid var(--accent-2);padding-left:18px}.skills h3,.timeline h3{font-size:1.55rem;margin:7px 0}.timeline p{color:var(--muted);line-height:1.6;margin:0}.skills{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.skills article{border:1px solid var(--line);border-radius:8px;padding:18px}ul{color:var(--muted);line-height:1.7;margin:0;padding-left:18px}@media (max-width:860px){.page,.skills{grid-template-columns:1fr}.sidebar{position:static}}