.resume-page{--sheet-w:210mm;--sheet-h:297mm;--sheet-pad:13mm;--r-ink:#12161c;--r-muted:#4c5563;--r-faint:#838d9b;--r-accent:#124e80;--r-rule:#cbd2dc;--r-rule-soft:#e2e6ec;--r-panel:#f5f7fa;padding:118px 0 90px}.resume-toolbar{width:var(--shell);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin:0 auto 38px;padding-bottom:26px;display:grid}.resume-toolbar h1{margin:0 0 10px;font-size:clamp(30px,3.8vw,48px);font-weight:500}.resume-toolbar p{max-width:52ch;color:var(--muted);margin:0;font-size:15px;line-height:1.7}.resume-toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.resume-stack{flex-direction:column;align-items:center;gap:34px;display:flex}.resume-sheet{width:var(--sheet-w);min-height:var(--sheet-h);padding:var(--sheet-pad) var(--sheet-pad) 15mm;color:var(--r-ink);box-shadow:var(--lift-3);font-family:var(--sans);background:#fff;font-size:8.4pt;line-height:1.42;position:relative}.resume-masthead{border-bottom:1.6pt solid var(--r-ink);grid-template-columns:minmax(0,1fr) 24mm;align-items:stretch;gap:8mm;margin-bottom:4mm;padding-bottom:4mm;display:grid}.resume-masthead h2{font-family:var(--display);font-variation-settings:"SOFT" 18, "WONK" 0;letter-spacing:-.02em;margin:0;padding-bottom:.06em;font-size:25pt;font-weight:600;line-height:1.1}.masthead-title{color:var(--r-accent);letter-spacing:.005em;margin:1.4mm 0 0;font-size:10.4pt;font-weight:600}.masthead-specialisms{color:var(--r-muted);font-family:var(--mono);letter-spacing:.02em;margin:.8mm 0 0;font-size:7.4pt}.masthead-contact{color:var(--r-muted);flex-wrap:wrap;gap:0 3.6mm;margin:2.6mm 0 0;padding:0;font-size:7.8pt;list-style:none;display:flex}.masthead-contact li{position:relative}.masthead-contact li+li:before{content:"";background:var(--r-rule);width:1px;height:8pt;margin-top:-4pt;position:absolute;top:50%;left:-2mm}.masthead-portrait{min-height:26mm;margin:0}.masthead-portrait img{object-fit:cover;object-position:center 15%;border:1px solid var(--r-rule);width:100%;height:100%;min-height:26mm}.resume-block{margin-bottom:2.2mm}.resume-block>h3{border-bottom:.7pt solid var(--r-rule);color:var(--r-ink);font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:0 0 2mm;padding-bottom:1.1mm;font-size:7.6pt;font-weight:700}.resume-block>h3.block-lead{font-family:var(--display);font-variation-settings:"SOFT" 18, "WONK" 0;letter-spacing:-.015em;text-transform:none;border-bottom:0;margin-bottom:1mm;font-size:13.5pt;font-weight:600}.block-note{border-bottom:1.2pt solid var(--r-ink);color:var(--r-muted);margin:0 0 2.2mm;padding-bottom:1.3mm;font-size:8pt}.resume-summary{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:0}.skills-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.skill-row{border-bottom:.5pt solid var(--r-rule-soft);grid-template-columns:21mm 1fr;gap:2.4mm;padding:1.5mm 3mm 1.5mm 0;display:grid}.skill-row:nth-child(odd){border-right:.5pt solid var(--r-rule-soft)}.skill-row:nth-child(2n){padding-left:3mm}.skill-row:nth-last-child(-n+2){border-bottom:0}.skill-row strong{color:var(--r-accent);letter-spacing:.04em;text-transform:uppercase;font-size:7.4pt;font-weight:700}.skill-row span{color:var(--r-muted);font-size:7.8pt;line-height:1.38}.resume-role{break-inside:avoid;margin-bottom:3mm}.resume-role:last-child{margin-bottom:0}.resume-role>header{justify-content:space-between;align-items:baseline;gap:4mm;margin-bottom:1mm;display:flex}.resume-role header strong{font-family:var(--display);font-variation-settings:"SOFT" 18, "WONK" 0;letter-spacing:-.012em;font-size:11pt;font-weight:600}.resume-role header span{color:var(--r-muted);font-size:7.8pt;font-weight:600;display:block}.resume-role header time{color:var(--r-accent);font-family:var(--mono);white-space:nowrap;flex:none;font-size:7.6pt;font-weight:500}.resume-role>p{color:var(--r-ink);margin:0 0 1.2mm}.resume-role ul,.resume-system ul{margin:0;padding:0;list-style:none}.resume-role li,.resume-system li{color:var(--r-muted);margin-bottom:.9mm;padding-left:3.4mm;font-size:8.1pt;line-height:1.4;position:relative}.resume-system li{margin-bottom:.6mm;font-size:7.45pt;line-height:1.32}.resume-system>p{margin-bottom:.8mm;font-size:7.75pt}.resume-role li:before,.resume-system li:before{content:"";background:var(--r-accent);width:1.8mm;height:.8pt;position:absolute;top:4.2pt;left:0}.resume-strengths ul{grid-template-columns:1fr 1fr;gap:.6mm 6mm;margin:0;padding:0;list-style:none;display:grid}.resume-strengths li{color:var(--r-muted);padding-left:3.4mm;font-size:7.9pt;position:relative}.resume-strengths li:before{content:"+";color:var(--r-accent);font-weight:700;position:absolute;top:0;left:0}.system-grid{grid-template-columns:1fr 1fr;gap:2mm 6mm;display:grid}.resume-system{break-inside:avoid}.system-grid>.resume-system:nth-child(odd){border-right:.5pt solid var(--r-rule-soft);margin-right:-3mm;padding-right:6mm}.system-grid>.resume-system:nth-child(-n+2){border-bottom:.5pt solid var(--r-rule-soft);padding-bottom:3mm}.resume-system>strong{font-family:var(--display);font-variation-settings:"SOFT" 18, "WONK" 0;letter-spacing:-.012em;font-size:10pt;font-weight:600;display:block}.system-meta{color:var(--r-accent);font-family:var(--mono);letter-spacing:.02em;margin:.5mm 0 1.2mm;font-size:7pt;display:block}.resume-system>p{margin:0 0 1.2mm}.system-stack{color:var(--r-faint);font-family:var(--mono);font-size:6.4pt;line-height:1.32;margin:.9mm 0 0!important}.product-grid{grid-template-columns:repeat(3,1fr);gap:2.6mm;display:grid}.product-grid article{border:.5pt solid var(--r-rule);background:var(--r-panel);break-inside:avoid;padding:1.9mm 2.2mm}.product-grid strong{font-size:8.6pt;font-weight:700;display:block}.product-grid>article>span{color:var(--r-accent);font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;margin:.4mm 0 1.2mm;font-size:6.6pt;display:block}.product-grid p{color:var(--r-muted);margin:0;font-size:7pt;line-height:1.28}.additional-grid{grid-template-columns:1fr 1fr;gap:1mm 6mm;display:grid}.additional-grid p{color:var(--r-muted);margin:0;font-size:7.6pt;line-height:1.36}.additional-grid strong{color:var(--r-ink);font-size:7.8pt;font-weight:700}.additional-grid strong:after{content:" — ";color:var(--r-faint);font-weight:400}.sheet-runner{border-bottom:1.6pt solid var(--r-ink);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:6mm;margin-bottom:3mm;padding-bottom:1.6mm;font-size:7.6pt;font-weight:700;display:flex}.sheet-runner span:last-child{color:var(--r-faint);font-weight:600}.sheet-foot{right:var(--sheet-pad);bottom:5.5mm;left:var(--sheet-pad);border-top:.5pt solid var(--r-rule);color:var(--r-faint);font-family:var(--mono);letter-spacing:.02em;align-items:center;gap:4mm;padding-top:2mm;font-size:6.6pt;display:flex;position:absolute}.sheet-page{margin-left:auto}@media screen and (max-width:880px){.resume-page{padding-top:96px}.resume-toolbar{grid-template-columns:1fr}.resume-stack{width:var(--shell);align-items:stretch;gap:22px;margin-inline:auto}.resume-sheet{border:1px solid var(--rule);width:100%;min-height:0;box-shadow:var(--lift-1);border-radius:4px;padding:26px 20px 30px;font-size:15px;line-height:1.6}.resume-masthead{grid-template-columns:minmax(0,1fr) 78px;gap:18px;margin-bottom:18px;padding-bottom:18px}.resume-masthead h2{font-size:30px}.masthead-title{margin-top:5px;font-size:15px}.masthead-specialisms{margin-top:4px;font-size:11px}.masthead-contact{gap:2px 14px;margin-top:12px;font-size:13px}.masthead-contact li+li:before{display:none}.masthead-portrait,.masthead-portrait img{min-height:92px}.resume-summary{text-align:left;-webkit-hyphens:none;hyphens:none}.resume-block{margin-bottom:26px}.resume-block>h3{margin-bottom:14px;padding-bottom:8px;font-size:12px}.resume-block>h3.block-lead{font-size:25px}.block-note{margin-bottom:16px;padding-bottom:10px;font-size:14px}.skills-grid{grid-template-columns:1fr}.skill-row{grid-template-columns:1fr;gap:4px;padding:11px 0}.skill-row:nth-child(odd){border-right:0}.skill-row:nth-child(2n){padding-left:0}.skill-row:nth-last-child(-n+2){border-bottom:.5pt solid var(--r-rule-soft)}.skill-row:last-child{border-bottom:0}.skill-row strong{font-size:12px}.skill-row span{font-size:14px;line-height:1.55}.resume-role{margin-bottom:24px}.resume-role>header{flex-direction:column;align-items:flex-start;gap:3px}.resume-role header strong{font-size:19px}.resume-role header span,.resume-role header time{font-size:13px}.resume-role li,.resume-system li{margin-bottom:7px;padding-left:15px;font-size:14px;line-height:1.55}.resume-role li:before,.resume-system li:before{width:8px;top:10px}.resume-strengths ul{grid-template-columns:1fr;gap:8px}.resume-strengths li{padding-left:15px;font-size:14px}.system-grid{grid-template-columns:1fr;gap:0}.system-grid>.resume-system:nth-child(odd){border-right:0;margin-right:0;padding-right:0}.system-grid>.resume-system{border-bottom:.5pt solid var(--r-rule-soft);margin-bottom:20px;padding-bottom:20px}.system-grid>.resume-system:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.resume-system>strong{font-size:19px}.system-meta{margin:5px 0 9px;font-size:12px}.resume-system>p{font-size:14.5px}.system-stack{font-size:12px;line-height:1.5}.product-grid{grid-template-columns:1fr;gap:12px}.product-grid article{padding:16px}.product-grid strong{font-size:16px}.product-grid>article>span{margin:5px 0 8px;font-size:11px}.product-grid p{font-size:14px;line-height:1.55}.additional-grid{grid-template-columns:1fr;gap:14px}.additional-grid p{font-size:14px;line-height:1.55}.additional-grid strong{font-size:14.5px}.sheet-runner{margin-bottom:20px;font-size:12px}.sheet-foot{flex-wrap:wrap;gap:6px 14px;margin-top:24px;font-size:11px;position:static}.sheet-page{margin-left:auto}}@page{size:A4;margin:0}@media print{html,body{background:#fff}.site-header,.mobile-menu,.scroll-progress,.site-footer,.ask-launcher,.ask-panel,.paper-grain,.backdrop,.skip-link,.analytics-consent,.resume-toolbar{display:none!important}.resume-page{padding:0}.resume-stack{gap:0;display:block}.resume-sheet{width:210mm;height:297mm;min-height:297mm;box-shadow:none;break-after:page;page-break-after:always;margin:0;transform:none}.resume-sheet:last-child{break-after:auto;page-break-after:auto}.product-grid article{background:var(--r-panel);-webkit-print-color-adjust:exact;print-color-adjust:exact}}
