.cv-module__M8P7-G__page{padding:2rem .75rem 4rem}.cv-module__M8P7-G__actions{justify-content:space-between;align-items:center;gap:1rem;max-width:210mm;margin:0 auto 1.5rem;display:flex}.cv-module__M8P7-G__export{text-align:right}.cv-module__M8P7-G__export p{font-family:var(--font-geist-mono);color:var(--muted);margin-top:.5rem;font-size:.65rem}.cv-module__M8P7-G__documents{gap:2rem;max-width:210mm;margin:auto;display:grid}.cv-module__M8P7-G__sheet{min-height:297mm;color:var(--ink);background:#fff;flex-direction:column;padding:15mm 16mm 9mm;font-size:.85rem;line-height:1.5;display:flex;box-shadow:0 4px 28px #11110f14}.cv-module__M8P7-G__sheet a{text-decoration:none}.cv-module__M8P7-G__sheet a:hover{text-underline-offset:3px;text-decoration:underline}.cv-module__M8P7-G__sheet a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.cv-module__M8P7-G__header{border-bottom:3px solid var(--ink);background:var(--paper);margin:-15mm -16mm 0;padding:8mm 16mm 5mm}.cv-module__M8P7-G__brandline{font-family:var(--font-geist-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.6rem;font-weight:600;display:flex}.cv-module__M8P7-G__brandline img{flex-shrink:0}.cv-module__M8P7-G__documentLabel{color:var(--muted);margin-left:auto}.cv-module__M8P7-G__identity{grid-template-columns:30mm minmax(0,1fr) auto;align-items:center;gap:5mm;margin-top:6mm;display:grid}.cv-module__M8P7-G__portrait{isolation:isolate;aspect-ratio:4/5;width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 74%,#0000 98%);mask-image:linear-gradient(#000 74%,#0000 98%)}.cv-module__M8P7-G__portrait:before{content:"";z-index:-1;background:radial-gradient(circle at 65% 30%, var(--signal-soft), transparent 70%);border:1px solid #d7ddbc;border-radius:50%;position:absolute;inset:15% 0 5%}.cv-module__M8P7-G__portrait img{object-fit:contain;object-position:bottom;filter:grayscale(.12);transform-origin:50% 0;width:100%;height:100%;display:block;transform:scale(1.8)}.cv-module__M8P7-G__identity h1{letter-spacing:-.06em;font-size:3.7rem;font-weight:650;line-height:.92}.cv-module__M8P7-G__identity h1>span,.cv-module__M8P7-G__workHeader h2>span{color:#8d9e11}.cv-module__M8P7-G__role{letter-spacing:-.015em;margin-top:.9rem;font-size:.8rem;font-weight:500}.cv-module__M8P7-G__contacts{overflow-wrap:anywhere;gap:.35rem;padding-bottom:.1rem;font-size:.7rem;font-style:normal;line-height:1.5;display:grid}.cv-module__M8P7-G__location{margin-bottom:.25rem;font-weight:650}.cv-module__M8P7-G__summary{max-width:38rem;margin-top:4mm;font-size:.86rem;line-height:1.55}.cv-module__M8P7-G__section{margin-top:5mm}.cv-module__M8P7-G__sectionHeading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1mm;display:flex}.cv-module__M8P7-G__sectionHeading :is(h2,h3){font-family:var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.65rem;font-weight:650;line-height:1.4;display:flex}.cv-module__M8P7-G__sectionHeading :is(h2,h3)>span{background:var(--signal);letter-spacing:0;place-items:center;min-width:1.6rem;min-height:1.6rem;display:inline-grid}.cv-module__M8P7-G__sectionHeading>p{color:var(--muted);font-size:.65rem}.cv-module__M8P7-G__currentJob,.cv-module__M8P7-G__previousJob{break-inside:avoid;border-bottom:1px solid #deddd6;padding-block:2.75mm}.cv-module__M8P7-G__currentJob:last-child,.cv-module__M8P7-G__previousJob:last-child{border-bottom:0;padding-bottom:0}.cv-module__M8P7-G__jobHeading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.3rem 1rem;display:grid}.cv-module__M8P7-G__jobMeta{justify-items:end;gap:.25rem;display:grid}.cv-module__M8P7-G__region{font-family:var(--font-geist-mono);font-size:.6rem;font-weight:600}.cv-module__M8P7-G__jobHeading h3{letter-spacing:-.025em;font-size:1.1rem;font-weight:650;line-height:1.2}.cv-module__M8P7-G__period{font-family:var(--font-geist-mono);color:var(--muted);white-space:nowrap;font-size:.6rem}.cv-module__M8P7-G__jobRole{margin-top:.25rem;font-size:.75rem;font-weight:550}.cv-module__M8P7-G__jobSummary{color:#4e4e47;margin-top:.45rem;font-size:.84rem;line-height:1.5}.cv-module__M8P7-G__previous{margin-top:4mm}.cv-module__M8P7-G__previousJob{padding-block:2mm}.cv-module__M8P7-G__previousJob .cv-module__M8P7-G__jobHeading h3{font-size:.95rem}.cv-module__M8P7-G__previousJob .cv-module__M8P7-G__jobSummary{font-size:.78rem}.cv-module__M8P7-G__sheetFooter{font-family:var(--font-geist-mono);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:3mm;font-size:.6rem;display:flex}.cv-module__M8P7-G__pageDivider{color:#aaa89e;padding-inline:.3rem}.cv-module__M8P7-G__workHeader{margin-bottom:5mm}.cv-module__M8P7-G__workHeader h2{letter-spacing:-.055em;margin-top:4mm;font-size:2.7rem;font-weight:650;line-height:.98}.cv-module__M8P7-G__workHeader>p{color:var(--muted);margin-top:.75rem;font-size:.78rem}.cv-module__M8P7-G__workLayout{gap:5mm;display:grid}.cv-module__M8P7-G__products{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:6mm;display:grid}.cv-module__M8P7-G__product{break-inside:avoid;border-bottom:1px solid #deddd6;padding-block:2.5mm}.cv-module__M8P7-G__product h4{letter-spacing:-.02em;font-size:.95rem;font-weight:650}.cv-module__M8P7-G__product h4 span{font-size:.75rem;font-weight:400}.cv-module__M8P7-G__product p{color:#4e4e47;margin-top:.3rem;font-size:.8rem;line-height:1.5}.cv-module__M8P7-G__clientList{flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:3mm;font-size:.78rem;font-weight:550;display:flex}.cv-module__M8P7-G__toolkit{background:var(--paper);border-top:3px solid var(--ink);padding:5mm 4mm}.cv-module__M8P7-G__toolkit .cv-module__M8P7-G__sectionHeading{margin-bottom:0}.cv-module__M8P7-G__toolkitGroups{grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm 5mm;margin-top:4mm;display:grid}.cv-module__M8P7-G__toolkitGroups>section{break-inside:avoid}.cv-module__M8P7-G__toolkit h4{font-size:.69rem;font-weight:650;line-height:1.4}.cv-module__M8P7-G__toolkit section p{color:#5d5d55;margin-top:.35rem;font-size:.72rem;line-height:1.65}.cv-module__M8P7-G__fullStackLink{border-top:1px solid #ceccc0;margin-top:4mm;padding-top:3mm;font-size:.68rem;font-weight:600;line-height:1.5;display:block}@media (max-width:639px){.cv-module__M8P7-G__page{padding-inline:.5rem}.cv-module__M8P7-G__sheet{min-height:0;padding:1.5rem}.cv-module__M8P7-G__header{margin:-1.5rem -1.5rem 0;padding:1.5rem}.cv-module__M8P7-G__identity{grid-template-columns:4.25rem minmax(0,1fr);gap:1.25rem .75rem}.cv-module__M8P7-G__identity h1{font-size:clamp(2.05rem,8vw,3.3rem)}.cv-module__M8P7-G__contacts{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}.cv-module__M8P7-G__contacts a[href^=mailto\:],.cv-module__M8P7-G__location{grid-column:1/-1}.cv-module__M8P7-G__documentLabel{display:none}.cv-module__M8P7-G__sectionHeading{flex-wrap:wrap;gap:.35rem}.cv-module__M8P7-G__workLayout,.cv-module__M8P7-G__products,.cv-module__M8P7-G__toolkitGroups{grid-template-columns:1fr}.cv-module__M8P7-G__workHeader h2{font-size:2.3rem}.cv-module__M8P7-G__toolkit{margin-top:1rem;padding:1.25rem}.cv-module__M8P7-G__sheetFooter{margin-top:2rem}}@page{size:A4;margin:0}@media print{.cv-module__M8P7-G__page{padding:0}.cv-module__M8P7-G__actions{display:none!important}.cv-module__M8P7-G__documents{max-width:none;display:block}.cv-module__M8P7-G__sheet{width:210mm;min-height:296.5mm;box-shadow:none;break-after:page;padding:15mm 16mm 9mm}.cv-module__M8P7-G__sheet:last-child{break-after:auto}.cv-module__M8P7-G__header{margin:-15mm -16mm 0;padding:8mm 16mm 5mm}.cv-module__M8P7-G__identity{grid-template-columns:30mm minmax(0,1fr) auto;gap:5mm}.cv-module__M8P7-G__identity h1{font-size:3.7rem}.cv-module__M8P7-G__contacts{grid-column:auto;grid-template-columns:1fr;display:grid}.cv-module__M8P7-G__documentLabel{display:block}.cv-module__M8P7-G__workLayout{grid-template-columns:1fr}.cv-module__M8P7-G__products{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-module__M8P7-G__toolkitGroups{grid-template-columns:repeat(3,minmax(0,1fr))}.cv-module__M8P7-G__workHeader h2{font-size:2.7rem}.cv-module__M8P7-G__toolkit{margin-top:0;padding:5mm 4mm}.cv-module__M8P7-G__sheetFooter{margin-top:auto}}
