:root { --ink:#171a19; --paper:#f3efe7; --rust:#b95d37; --line:#c9c2b6; --serif:Georgia,'Times New Roman',serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:#d9d4ca; color:var(--ink); font-family:var(--sans); line-height:1.45; }
a { color:inherit; }
.no-js .js-only { display:none; }
.skip-link { position:fixed; top:.75rem; left:.75rem; z-index:100; padding:.7rem 1rem; color:var(--ink); background:#d5e56f; transform:translateY(-180%); transition:transform .2s; }
.skip-link:focus { transform:translateY(0); }
.cv-toolbar { position:sticky; top:0; z-index:10; padding:.8rem max(1rem,calc((100vw - 980px)/2)); display:flex; justify-content:space-between; background:rgba(23,26,25,.94); color:white; backdrop-filter:blur(12px); }
.cv-toolbar a,.cv-toolbar button { padding:.65rem 1rem; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:inherit; background:transparent; text-decoration:none; font:700 .72rem var(--sans); text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.cv-toolbar button:hover,.cv-toolbar a:hover,.cv-toolbar button:focus-visible,.cv-toolbar a:focus-visible { background:white; color:var(--ink); }
.cv-toolbar noscript span { align-self:center; max-width:22rem; font-size:.72rem; }
:focus-visible { outline:3px solid #fffdf8; outline-offset:3px; box-shadow:0 0 0 6px var(--ink); }
.cv-page { width:min(100% - 2rem,980px); margin:2rem auto; padding:4.5rem 4.7rem; background:#fffdf8; box-shadow:0 1.5rem 5rem rgba(0,0,0,.12); }
.cv-header { display:grid; grid-template-columns:1.3fr .7fr; gap:3rem; align-items:end; padding-bottom:2.2rem; border-bottom:3px solid var(--ink); }
.cv-kicker { margin:0 0 1rem; color:var(--rust); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
h1 { margin:0; font-size:4.6rem; line-height:.83; letter-spacing:-.06em; }
address { display:flex; flex-direction:column; gap:.35rem; font-style:normal; font-size:.8rem; }
address a { overflow-wrap:anywhere; text-underline-offset:3px; }
h2 { margin:0 0 1rem; font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; }
.cv-summary { display:grid; grid-template-columns:1fr 4fr; gap:2rem; padding:2rem 0; border-bottom:1px solid var(--line); }
.cv-summary p { margin:0; font-family:var(--serif); font-size:1.25rem; line-height:1.35; }
.cv-impact { padding:2rem 0; border-bottom:1px solid var(--line); }
.impact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.impact-grid div { padding-top:.7rem; border-top:1px solid var(--line); }
.impact-grid strong,.impact-grid span { display:block; }
.impact-grid strong { font:italic 2rem var(--serif); }
.impact-grid span { color:#626864; font-size:.67rem; }
.cv-section { padding-top:2rem; }
.cv-role { display:grid; grid-template-columns:1fr 3fr; gap:2rem; padding:1.55rem 0; border-top:1px solid var(--line); break-inside:avoid; }
.role-meta time,.role-meta span { display:block; }
.role-meta time { color:var(--rust); font-size:.7rem; font-weight:800; }
.role-meta span { margin-top:.3rem; color:#6d736f; font-size:.7rem; }
.role-copy h3 { margin:0; font-size:1.25rem; letter-spacing:-.025em; }
.role-company { margin:.1rem 0 .7rem; color:#5b625e; font-size:.78rem; }
.role-copy ul { margin:0; padding-left:1.1rem; }
.role-copy li { margin:.28rem 0; font-size:.78rem; }
.cv-two-column { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding-top:2rem; border-top:3px solid var(--ink); break-inside:avoid; }
.plain-list { columns:2; margin:0; padding-left:1rem; }
.plain-list li,.cv-two-column p { margin:.35rem 0; font-size:.76rem; }
.cv-two-column h2:not(:first-child) { margin-top:1.5rem; }
@media (max-width:820px) { .cv-page{width:100%;margin:0;padding:2rem 1.25rem}.cv-header,.cv-summary,.cv-role,.cv-two-column{grid-template-columns:1fr}.cv-header{gap:1.5rem}h1{font-size:3.4rem}.impact-grid{grid-template-columns:1fr 1fr}.plain-list{columns:1}.cv-toolbar{position:relative} }
@media print { @page{size:A4;margin:10mm} *{-webkit-print-color-adjust:exact;print-color-adjust:exact} body{background:white}.skip-link,.cv-toolbar{display:none}.cv-page{width:auto;margin:0;padding:0;box-shadow:none}.cv-header{grid-template-columns:1.3fr .7fr;gap:3rem;padding-bottom:1rem}.cv-summary{grid-template-columns:1fr 4fr;padding:1rem 0}.cv-role{grid-template-columns:1fr 3fr}.cv-two-column{grid-template-columns:1fr 1fr}h1{font-size:3.35rem}.cv-summary p{font-size:.95rem}.cv-impact{padding:1rem 0}.impact-grid{grid-template-columns:repeat(4,1fr)}.impact-grid strong{font-size:1.45rem}.cv-section{padding-top:1rem}.cv-section>h2,.cv-two-column h2{break-after:avoid;page-break-after:avoid}.cv-role{padding:.72rem 0;gap:1rem;break-inside:avoid;page-break-inside:avoid}.role-copy h3{font-size:.96rem}.role-copy li,.role-company,.role-meta time,.role-meta span{font-size:.62rem}.cv-two-column{padding-top:1rem;gap:1.5rem;break-inside:avoid;page-break-inside:avoid}.plain-list{columns:1}.plain-list li{break-inside:avoid;page-break-inside:avoid}.plain-list li,.cv-two-column p{font-size:.62rem} }
