.cv-sheet{--ink:#1f2430;--muted:#5d6472;--line:#e3e5ea;--accent-soft:color-mix(in srgb,var(--accent) 9%,white);--accent-mid:color-mix(in srgb,var(--accent) 22%,white);--accent-deep:color-mix(in srgb,var(--accent) 82%,black);--gap:calc(1rem * var(--sp));position:relative;width:210mm;min-height:297mm;background:#fff;color:var(--ink);font-family:var(--fb),system-ui,sans-serif;font-size:var(--fs);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden;font-weight:400;font-style:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;text-align:left;text-indent:0;white-space:normal}.cv-doc{display:flex;flex-direction:column}.cv-doc>*{flex:1 0 auto}.cv-sheet *,.cv-sheet :after,.cv-sheet :before{box-sizing:border-box}.cv-sheet h1,.cv-sheet h3,.cv-sheet h4,.cv-sheet p,.cv-sheet ul{margin:0;padding:0}.cv-sheet ul{list-style:none}.cv-pad{padding:calc(15mm * var(--sp)) 15mm}.cv-name{font-family:var(--fh),serif;font-size:2.55em;line-height:1.08;font-weight:700;letter-spacing:-.015em}.cv-title{margin-top:.35em!important;font-size:1.15em;color:var(--accent);font-weight:600;letter-spacing:.01em}.cv-section{margin-top:calc(var(--gap) * 1.35)}.cv-h{font-family:var(--fh),sans-serif;font-size:.82em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(var(--gap) * .6)!important}.cv-rich p+p,.cv-rich p+ul,.cv-rich ul+p{margin-top:.4em}.cv-rich ul li{position:relative;padding-left:1.1em;margin-top:.22em}.cv-rich ul li:before{content:"";position:absolute;left:.2em;top:.68em;width:.32em;height:.32em;border-radius:50%;background:var(--accent)}.cv-summary{font-size:1.04em;color:#2c3240}.cv-entries{display:flex;flex-direction:column;gap:calc(var(--gap) * .95)}.cv-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:1em}.cv-entry-title{font-family:var(--fh),sans-serif;font-size:1.08em;font-weight:700}.cv-entry-date{flex:none;font-size:.88em;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.cv-entry-sub{color:var(--accent-deep);font-weight:500;margin:.1em 0 .35em}.cv-entries--aside .cv-entry{display:grid;grid-template-columns:24mm 1fr;gap:0 5mm}.cv-entries--aside .cv-entry-date{padding-top:.2em}.cv-entries--timeline{gap:0}.cv-entries--timeline .cv-entry{position:relative;padding:0 0 calc(var(--gap) * 1.05) 7mm;border-left:1.5px solid var(--accent-mid);margin-left:1.5mm}.cv-entries--timeline .cv-entry:before{content:"";position:absolute;left:-2.1mm;top:.35em;width:3.4mm;height:3.4mm;border-radius:50%;background:#fff;border:2px solid var(--accent)}.cv-entries--timeline .cv-entry:last-child{padding-bottom:0}.cv-contact li{display:flex;align-items:center;gap:.6em;margin-top:.4em;overflow-wrap:anywhere}.cv-contact li:first-child{margin-top:0}.cv-icon{width:1.05em;height:1.05em;flex:none;color:var(--accent);stroke-width:2}.cv-contact.is-inline{display:flex;flex-wrap:wrap;gap:.35em 1.4em}.cv-contact.is-inline li{margin-top:0}.cv-contact.is-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45em 1.4em}.cv-contact.is-grid li{margin-top:0}.cv-contact.is-plain .cv-icon{display:none}.cv-skills--list li{padding:.28em 0;border-bottom:1px solid var(--line)}.cv-skills--list li:last-child{border-bottom:0}.cv-skills--pills{display:flex;flex-wrap:wrap;gap:.4em}.cv-skills--pills li{padding:.22em .75em;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-weight:500;font-size:.92em}.cv-skills-inline{line-height:1.7}.cv-pairs li{display:flex;justify-content:space-between;gap:1em;padding:.22em 0}.cv-pair-key{font-weight:600}.cv-pair-val{color:var(--muted)}.cv-certs li,.cv-refs li{display:flex;flex-direction:column;margin-top:.5em}.cv-certs li:first-child,.cv-refs li:first-child{margin-top:0}.cv-cert-name,.cv-ref-name{font-weight:600}.cv-cert-meta,.cv-muted,.cv-ref-contact,.cv-ref-role{color:var(--muted);font-size:.92em}.cv-photo{display:block;object-fit:cover}.cv-photo.is-round{border-radius:50%}.cv-photo.is-square{border-radius:6px}.cv-photo.is-blob{border-radius:42% 58% 55% 45%/48% 42% 58% 52%}.cv-columns{display:flex;min-height:297mm}.cv-columns.is-right{flex-direction:row}.cv-side{position:relative;flex:none;width:70mm}.cv-main{flex:1;min-width:0}.cv-side-bg{position:absolute;inset:0;z-index:0}.cv-side .cv-contact{font-size:.93em}.cv-side>:not(.cv-side-bg){position:relative;z-index:1}.t-stockholm .cv-side{color:#f3f5f8}.t-stockholm .cv-side-bg{background:var(--accent-deep)}.t-stockholm .cv-side .cv-h{color:#fff;opacity:.9;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:.45em}.t-stockholm .cv-side .cv-icon{color:#fff;opacity:.85}.t-stockholm .cv-side .cv-skills--list li{border-color:rgba(255,255,255,.14)}.t-stockholm .cv-side .cv-cert-meta,.t-stockholm .cv-side .cv-muted,.t-stockholm .cv-side .cv-pair-val,.t-stockholm .cv-side .cv-ref-contact,.t-stockholm .cv-side .cv-ref-role{color:rgba(255,255,255,.72)}.t-stockholm .cv-side .cv-section:first-of-type{margin-top:calc(var(--gap) * 1.4)}.t-stockholm .cv-photo{width:38mm;height:38mm;margin:0 auto calc(var(--gap) * .4);border:3px solid rgba(255,255,255,.85)}.t-stockholm .cv-main .cv-name-block{padding-bottom:calc(var(--gap) * .9);border-bottom:3px solid var(--accent)}.t-stockholm .cv-main .cv-h{display:flex;align-items:center;gap:.7em}.t-stockholm .cv-main .cv-h:after{content:"";flex:1;height:1px;background:var(--line)}.t-goteborg{--line:#ddd6cf}.t-goteborg .cv-header{text-align:center;padding-bottom:calc(var(--gap) * 1.1);border-bottom:1px solid var(--ink)}.t-goteborg .cv-photo{width:30mm;height:30mm;margin:0 auto calc(var(--gap) * .8)}.t-goteborg .cv-name{font-size:2.7em;font-weight:600;letter-spacing:.01em}.t-goteborg .cv-title{color:var(--muted);font-weight:500;font-style:italic}.t-goteborg .cv-contact{justify-content:center;margin-top:calc(var(--gap) * .7);color:var(--muted)}.t-goteborg .cv-h{text-align:center;color:var(--ink);letter-spacing:.28em;font-weight:600;display:flex;align-items:center;gap:1em}.t-goteborg .cv-h:after,.t-goteborg .cv-h:before{content:"";flex:1;height:1px;background:var(--line)}.t-goteborg .cv-entry-sub{color:var(--accent);font-style:italic}.t-goteborg .cv-skills-inline{text-align:center}.t-malmo .cv-header{display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;padding-bottom:calc(var(--gap) * 1.2);border-bottom:1.5px solid var(--ink)}.t-malmo .cv-name{font-size:3em;font-weight:800;letter-spacing:-.035em}.t-malmo .cv-title{color:var(--accent)}.t-malmo .cv-header-right{display:flex;align-items:flex-end;gap:5mm;text-align:right}.t-malmo .cv-header-right .cv-contact li{justify-content:flex-end}.t-malmo .cv-photo{width:24mm;height:28mm}.t-malmo .cv-gutter{position:relative;padding-left:44mm}.t-malmo .cv-gutter>.cv-h{position:absolute;left:0;top:0;width:38mm;hyphens:auto;overflow-wrap:anywhere}.t-malmo .cv-h{color:var(--ink);letter-spacing:.05em;font-size:.74em;padding-top:.25em}.t-malmo .cv-h:before{content:"";display:block;width:6mm;height:2px;background:var(--accent);margin-bottom:.6em}.t-malmo .cv-rich ul li:before{border-radius:0;width:.5em;height:1.5px;top:.75em}.t-uppsala .cv-band{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"photo name" "photo contact";align-items:center;gap:2mm 8mm;padding:13mm 15mm 11mm;background:var(--accent-deep);color:#fff}.t-uppsala .cv-band .cv-photo{grid-area:photo;width:32mm;height:32mm;border:3px solid rgba(255,255,255,.8)}.t-uppsala .cv-band .cv-name-block{grid-area:name}.t-uppsala .cv-band .cv-contact{grid-area:contact;color:rgba(255,255,255,.88)}.t-uppsala .cv-band .cv-icon{color:#fff;opacity:.85}.t-uppsala .cv-band .cv-title{color:rgba(255,255,255,.86)}.t-uppsala{display:flex;flex-direction:column}.t-uppsala>.cv-columns{flex:1 0 auto;min-height:calc(297mm - 50mm)}.t-uppsala .cv-side{width:64mm}.t-uppsala .cv-side-bg{background:var(--accent-soft)}.t-uppsala .cv-h{color:var(--accent-deep);border-bottom:2px solid var(--accent);padding-bottom:.35em;display:inline-block}.t-uppsala .cv-main .cv-section:first-child,.t-uppsala .cv-side .cv-section:first-of-type{margin-top:0}.t-lund{position:relative;padding-left:24mm}.t-lund .cv-stripe{position:absolute;left:0;top:0;bottom:0;width:9mm;background:var(--accent)}.t-lund .cv-header{display:flex;justify-content:space-between;align-items:center;gap:8mm}.t-lund .cv-name{font-size:3.1em;font-weight:800;letter-spacing:-.03em;line-height:1}.t-lund .cv-name-block{margin-bottom:calc(var(--gap) * .8)}.t-lund .cv-title{display:inline-block;background:var(--accent);color:#fff;padding:.2em .6em;border-radius:4px;font-size:1em}.t-lund .cv-photo{width:36mm;height:36mm;flex:none}.t-lund .cv-h{color:var(--ink);font-size:1.05em;letter-spacing:.04em;text-transform:none}.t-lund .cv-h span{background:linear-gradient(transparent 58%,var(--accent-mid) 58%);padding:0 .15em}.t-visby .cv-header{padding-bottom:calc(var(--gap) * .9);border-bottom:2px solid var(--accent)}.t-visby .cv-name{font-size:2.2em}.t-visby .cv-contact{margin-top:.6em;color:var(--muted)}.t-visby .cv-contact.is-inline li+li:before{content:"|";margin-right:1.4em;margin-left:-.7em;color:var(--line)}.t-visby .cv-h{letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:.3em}.t-visby .cv-entry-sub{color:var(--ink);font-weight:600}.t-visby .cv-rich ul li:before{background:var(--ink)}.t-kiruna .cv-band{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"photo name" "photo contact";align-items:center;gap:4mm 9mm;padding:14mm 15mm 12mm;background:var(--accent-soft);border-bottom:3px solid var(--accent)}.t-kiruna .cv-band .cv-photo{grid-area:photo;width:34mm;height:34mm;box-shadow:0 0 0 4px #fff,0 0 0 5.5px var(--accent-mid)}.t-kiruna .cv-band .cv-name-block{grid-area:name}.t-kiruna .cv-band .cv-contact{grid-area:contact}.t-kiruna .cv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 10mm}.t-kiruna .cv-h{display:flex;align-items:center;gap:.6em}.t-kiruna .cv-h:before{content:"";width:.55em;height:.55em;border-radius:2px;background:var(--accent);transform:rotate(45deg)}.t-orebro .cv-side-bg{background:#f4f5f7}.t-orebro .cv-side{width:66mm}.t-orebro .cv-photo{width:100%;height:44mm;margin-bottom:calc(var(--gap) * .4)}.t-orebro .cv-main .cv-name-block{margin-bottom:calc(var(--gap) * .2)}.t-orebro .cv-h{color:var(--ink);position:relative;padding-bottom:.45em}.t-orebro .cv-h:after{content:"";position:absolute;left:0;bottom:0;width:9mm;height:2.5px;background:var(--accent)}.t-orebro .cv-side .cv-section:first-of-type{margin-top:calc(var(--gap) * .6)}@page{size:A4;margin:0}