:root{--ink:#102923;--paper:#faf9f5;--blue:#426b83;--muted:#62716c;--line:#cbd1cb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.skip{position:absolute;left:15px;top:-100px}.skip:focus{top:10px}.cv-header,.cv-footer{max-width:1200px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:18px}.cv-header>a,.cv-footer>a{text-decoration:none;font-size:14px}.cv-brand{display:flex;align-items:center;gap:18px;font-size:30px!important;font-family:Georgia,serif}.cv-brand span{font:14px Arial,sans-serif}main{max-width:1120px;margin:45px auto 80px;padding:0 5%}.eyebrow{font:10px/1.5 'Courier New',monospace;letter-spacing:2px;color:var(--muted)}h1{font:clamp(45px,6vw,78px)/1.08 Georgia,serif;letter-spacing:-3px;margin:24px 0}h2{font:34px/1.2 Georgia,serif;letter-spacing:-1px;margin:0 0 30px}h3{font-size:18px;line-height:1.4;margin:0 0 8px}p{margin:0 0 15px}.cv-title{font-size:23px;color:var(--blue);margin-bottom:3px}.cv-specialism{color:var(--muted)}.cv-contact{font-size:14px;margin:22px 0}.cv-summary{max-width:770px;font-size:18px;line-height:1.8;margin:28px 0}.cv-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 12px}.cv-actions a,.cv-actions button{padding:10px 16px;font-size:13px;border:1px solid var(--line);background:transparent;text-decoration:none}.cv-actions .cv-download{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cv-note{font-size:12px;color:var(--muted);line-height:1.6}.cv-layout{display:grid;grid-template-columns:180px 1fr;gap:45px;margin-top:65px}.cv-nav{position:sticky;top:30px;align-self:start;display:flex;flex-direction:column;gap:16px;border-left:1px solid var(--line);padding-left:17px}.cv-nav a{font-size:13px;text-decoration:none;color:var(--muted)}.cv-nav a[aria-current]{color:var(--ink);font-weight:bold}.cv-section{border-top:1px solid var(--line);padding:30px 0 45px;scroll-margin-top:30px}.cv-role{margin-bottom:34px}.cv-date{font:11px/1.7 'Courier New',monospace;color:var(--muted);margin-bottom:9px}.cv-date span{margin-left:15px}.cv-role-name{color:var(--blue);font-size:14px;margin-bottom:12px}.cv-detail summary{font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;margin:15px 0}.cv-detail ul{padding-left:20px}.cv-detail li{margin-bottom:10px}.cv-skills article,.cv-work,.cv-education{margin-bottom:25px}.cv-licences{margin:0}.cv-licences div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.cv-licences dd{margin:0;white-space:nowrap;color:var(--muted)}.cv-licences+.cv-note{margin-top:15px}.cv-footer{border-top:1px solid var(--line)}@media(max-width:700px){main{margin-top:30px;padding:0 6%}h1{letter-spacing:-2px}.cv-header{padding:24px 6%}.cv-brand{gap:10px}.cv-brand span{font-size:12px}.cv-summary{font-size:16px}.cv-layout{display:block;margin-top:35px}.cv-nav{position:static;flex-direction:row;flex-wrap:wrap;border:0;padding:0;gap:12px 20px;margin-bottom:30px}.cv-licences div{display:block}.cv-licences dd{margin-top:5px}.cv-date span{display:block;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{@page{size:A4;margin:16mm}body{background:white;font-size:10pt;line-height:1.45}.cv-header,.cv-footer,.cv-nav,.cv-actions,.skip,.cv-intro>.cv-note,.cv-detail summary{display:none!important}main{max-width:none;margin:0;padding:0}.cv-layout{display:block;margin-top:20px}h1{font-size:29pt;letter-spacing:-1px;margin:0 0 12px}h2{font-size:17pt;margin-bottom:15px;break-after:avoid}h3{font-size:12pt;break-after:avoid}.cv-title{font-size:14pt}.cv-summary{font-size:10pt;line-height:1.5}.cv-contact{margin:12px 0}.cv-section{padding:18px 0 12px}.cv-role,.cv-education,.cv-skills article,.cv-work{break-inside:avoid;margin-bottom:18px}.cv-detail::details-content{display:block!important;content-visibility:visible!important}.cv-detail>*:not(summary){display:block!important}.cv-detail ul{display:block!important}a{text-decoration:none}.cv-note{font-size:8pt}.eyebrow{font-size:8pt}}
