@media screen{:root{--glass-panel: linear-gradient( 135deg, rgba(255, 255, 255, .79), rgba(241, 250, 237, .62) );--glass-edge: rgba(255, 255, 255, .76);--glass-shadow: 0 12px 34px rgba(27, 68, 40, .065), inset 0 1px 0 rgba(255, 255, 255, .9);--page-gradient: radial-gradient( ellipse at 4% 5%, rgba(116, 195, 101, .2), transparent 40% ), radial-gradient( ellipse at 95% 35%, rgba(102, 255, 0, .075), transparent 36% ), linear-gradient(135deg, #f6faf2, #eaf3e4 55%, #f0f8f2);--header-glass: linear-gradient( 115deg, rgba(32, 76, 66, .94), rgba(45, 102, 79, .89) );--swiss-glass: linear-gradient( 118deg, rgba(207, 232, 219, .92), rgba(228, 240, 208, .84) );--swiss-text: #193f31;--swiss-muted: #355b45;--tag-systems: linear-gradient( 135deg, rgba(181, 225, 210, .85), rgba(216, 241, 229, .72) );--tag-automation: linear-gradient( 135deg, rgba(220, 232, 175, .88), rgba(235, 242, 212, .75) );--tag-development: linear-gradient( 135deg, rgba(197, 237, 167, .86), rgba(225, 248, 205, .72) )}html[data-theme=dark]{--glass-panel: linear-gradient( 135deg, rgba(36, 61, 43, .88), rgba(24, 43, 32, .78) );--glass-edge: rgba(202, 241, 203, .16);--glass-shadow: 0 12px 36px rgba(0, 14, 7, .18), inset 0 1px 0 rgba(225, 255, 228, .085);--page-gradient: radial-gradient( ellipse at 5% 3%, rgba(73, 128, 86, .15), transparent 42% ), radial-gradient( ellipse at 94% 34%, rgba(86, 130, 3, .1), transparent 40% ), linear-gradient(140deg, #0f1c15, #15251a 58%, #10211a);--header-glass: linear-gradient( 115deg, rgba(27, 57, 49, .91), rgba(38, 81, 63, .86) );--swiss-glass: linear-gradient( 118deg, rgba(35, 77, 63, .95), rgba(54, 82, 49, .87) );--swiss-text: #ecfff0;--swiss-muted: #c3dbc5;--tag-systems: linear-gradient(135deg, #25483f, #203c35);--tag-automation: linear-gradient(135deg, #424b28, #343e22);--tag-development: linear-gradient(135deg, #35512c, #293f25)}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--glass-panel: linear-gradient( 135deg, rgba(36, 61, 43, .88), rgba(24, 43, 32, .78) );--glass-edge: rgba(202, 241, 203, .16);--glass-shadow: 0 12px 36px rgba(0, 14, 7, .18), inset 0 1px 0 rgba(225, 255, 228, .085);--page-gradient: radial-gradient( ellipse at 5% 3%, rgba(73, 128, 86, .15), transparent 42% ), radial-gradient( ellipse at 94% 34%, rgba(86, 130, 3, .1), transparent 40% ), linear-gradient(140deg, #0f1c15, #15251a 58%, #10211a);--header-glass: linear-gradient( 115deg, rgba(27, 57, 49, .91), rgba(38, 81, 63, .86) );--swiss-glass: linear-gradient( 118deg, rgba(35, 77, 63, .95), rgba(54, 82, 49, .87) );--swiss-text: #ecfff0;--swiss-muted: #c3dbc5;--tag-systems: linear-gradient(135deg, #25483f, #203c35);--tag-automation: linear-gradient(135deg, #424b28, #343e22);--tag-development: linear-gradient(135deg, #35512c, #293f25)}}body{background:var(--page-gradient);background-attachment:fixed}.site-header{top:12px;width:calc(100% - 28px);max-width:1440px;margin:12px auto 0;border:1px solid rgba(227,255,235,.32);border-radius:18px;background:var(--header-glass);backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%);box-shadow:0 10px 30px #0c342224,inset 0 1px #f5fff73d;color:#f4fff4}.site-header .header-inner{width:calc(100% - 48px);height:74px}.site-header .nav-cv{border-color:#daf6db47}.hero{padding-top:24px}.hero .eyebrow{border-left:0;padding-left:0}.portrait-playful>img{box-shadow:0 12px 28px #1e3f2626,0 0 0 1px var(--glass-edge)}.portrait-notes>span{border:1px solid var(--glass-edge);border-radius:10px;box-shadow:inset 0 1px #ffffff73,0 4px 14px #1d3f2209;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.portrait-notes>span:nth-child(1){background:var(--tag-systems);color:#174c3c}.portrait-notes>span:nth-child(2){background:var(--tag-automation);color:#405615}.portrait-notes>span:nth-child(3){background:var(--tag-development);color:#2b5315}html[data-theme=dark] .portrait-notes>span{color:#edf9df}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .portrait-notes>span{color:#edf9df}}.company-logos a,.company-logos a:hover{border-bottom:0}.career-section{background:transparent}.career-card,.tech-grid li,#contact-form,.gallery-image{background:var(--glass-panel);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}.career-card{border-radius:18px}.is-current .career-card{border-color:var(--glass-edge)}.is-current .career-card-header{background:var(--swiss-glass);color:var(--swiss-text)}.is-current .career-company{color:var(--swiss-text)}.is-current .career-employer{color:var(--swiss-muted)}.career-brand,.career-employer img,.portrait .portrait-company-logo{box-shadow:inset 0 1px #ffffffb3,0 3px 14px #133a230b}.career-jump a{background:var(--glass-panel);border-color:var(--glass-edge);box-shadow:inset 0 1px #ffffff40;border-radius:9px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.career-tools>span{border:1px solid var(--glass-edge);background:var(--glass-panel);border-radius:7px}.button,.filter.active{background:linear-gradient(130deg,#b8f879,#86ee38 55%,#6f0);border-color:#e7ffd2b3;border-radius:9px;box-shadow:inset 0 1px #ffffffa6,0 4px 14px #4172151a}.button:hover{background:linear-gradient(130deg,#cafc94,#9bef61);border-color:#d5fbb6}.lab-feature{border-top:0;background:linear-gradient(125deg,#1e4d37f5,#3a653ff0)}.project-image{border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:12px}.tech-grid li{border-left:1px solid var(--glass-edge);border-radius:10px}.tech-grid li:hover{background:var(--tag-development)}.hobby-grid .line-icon{border-bottom:0;padding-bottom:0}.contact-section{background:linear-gradient(125deg,#1f4c3af7,#376241f0);border-top:1px solid var(--glass-edge)}#contact-form{border-top:1px solid var(--glass-edge);background:var(--card)}.form-field input,.form-field textarea,.lab-sidebar input{border-radius:9px;background:var(--glass-panel);border-color:var(--line)}@media(max-width:767px){.site-header{top:8px;margin-top:8px;width:calc(100% - 16px);border-radius:15px}.site-header .header-inner{height:64px;width:calc(100% - 28px)}.site-header #navigation{top:72px;left:-1px;right:-1px;border-radius:15px;border:1px solid rgba(227,255,235,.24);background:var(--header-glass);backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%);box-shadow:var(--glass-shadow)}.hero{padding-top:20px}.portrait-playful>img{box-shadow:0 9px 23px #1e3f2624,0 0 0 1px var(--glass-edge)}}@supports not (backdrop-filter: blur(1px)){.site-header,.site-header #navigation{background:#285c49}.career-card,.tech-grid li,.career-jump a,.gallery-image{background:var(--card)}}@media(prefers-reduced-transparency:reduce){.site-header,.site-header #navigation{background:#285c49;backdrop-filter:none;-webkit-backdrop-filter:none}.career-card,.tech-grid li,.career-jump a,.gallery-image,#contact-form{background:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none}.portrait-notes>span{backdrop-filter:none;-webkit-backdrop-filter:none}}}@media screen{.site-header a:hover,.site-header a[aria-current=page]{color:#dcffc6}.tech-grid li,.gallery-image{backdrop-filter:none;-webkit-backdrop-filter:none}}@media screen and (max-width:767px){.site-header:has(#navigation.open){backdrop-filter:none;-webkit-backdrop-filter:none}}@media screen{body{background-attachment:scroll}.site-header,.site-header #navigation,.portrait-notes>span,.career-card,.career-jump a,.tech-grid li,.gallery-image,#contact-form{backdrop-filter:none;-webkit-backdrop-filter:none}.career-card,.project-image,.gallery-image,.tech-grid li,#contact-form{box-shadow:inset 0 1px #e2f7de47}.site-header,.site-header #navigation{background:var(--header-glass);color:#f4fff4;border-color:#e3ffeb52;box-shadow:0 3px 12px #13371b12}.site-header a,.site-header a:hover,.site-header a[aria-current=page],.site-header .utility{color:#f4fff4;font-weight:800;text-shadow:none}.site-header a:hover{text-decoration:underline;text-underline-offset:6px}.site-header .nav-cv{border-color:#e3ffeb52}.site-header :focus-visible{outline-color:#568203}.hero h1 .muted{color:#568203}}@media screen and (min-width:768px){.site-header #navigation{background:transparent;box-shadow:none;border:0}}@media screen{.portrait-playful figcaption .portrait-employment{color:#000}}@media screen{html[data-theme=dark] .career-card{background:#1b2627;border-color:#4b685b}html[data-theme=dark] .career-card-header{background:linear-gradient(115deg,#31574c,#28433e);color:#f0f7ef}html[data-theme=dark] .career-company{color:#c0e7b5}html[data-theme=dark] .is-current .career-card{border-color:#89b29c}html[data-theme=dark] .is-current .career-card-header{background:linear-gradient(115deg,#96c2af,#bdd1a7);color:#183b2e}html[data-theme=dark] .is-current .career-company{color:#214b36}html[data-theme=dark] .is-current .career-employer{color:#315642}html[data-theme=dark] .career-context{background:#28433e;color:#c5d6cc}html[data-theme=dark] .career-current-body{background:#111d1f;padding-top:18px;padding-bottom:18px}html[data-theme=dark] .career-current-facts{margin-top:0;color:#c5d6cc}html[data-theme=dark] .career-responsibilities{background:#1b2627;border-color:#435e53}html[data-theme=dark] .career-responsibilities h4{color:#f0f7ef}html[data-theme=dark] .career-responsibilities li{color:#c6d5cc}html[data-theme=dark] .career-tools{background:#293d36;border-color:#496456}html[data-theme=dark] .career-tools>span{background:#40594b;border-color:#5c7565;color:#f0f6e9}}@media screen and (prefers-color-scheme:dark){html:not([data-theme=light]) .career-card{background:#1b2627;border-color:#4b685b}html:not([data-theme=light]) .career-card-header{background:linear-gradient(115deg,#31574c,#28433e);color:#f0f7ef}html:not([data-theme=light]) .career-company{color:#c0e7b5}html:not([data-theme=light]) .is-current .career-card{border-color:#89b29c}html:not([data-theme=light]) .is-current .career-card-header{background:linear-gradient(115deg,#96c2af,#bdd1a7);color:#183b2e}html:not([data-theme=light]) .is-current .career-company{color:#214b36}html:not([data-theme=light]) .is-current .career-employer{color:#315642}html:not([data-theme=light]) .career-context{background:#28433e;color:#c5d6cc}html:not([data-theme=light]) .career-current-body{background:#111d1f;padding-top:18px;padding-bottom:18px}html:not([data-theme=light]) .career-current-facts{margin-top:0;color:#c5d6cc}html:not([data-theme=light]) .career-responsibilities{background:#1b2627;border-color:#435e53}html:not([data-theme=light]) .career-responsibilities h4{color:#f0f7ef}html:not([data-theme=light]) .career-responsibilities li{color:#c6d5cc}html:not([data-theme=light]) .career-tools{background:#293d36;border-color:#496456}html:not([data-theme=light]) .career-tools>span{background:#40594b;border-color:#5c7565;color:#f0f6e9}}@media screen{html[data-theme=dark] .portrait-playful figcaption .portrait-employment{color:#d9eadc}}@media screen and (prefers-color-scheme:dark){html:not([data-theme=light]) .portrait-playful figcaption .portrait-employment{color:#d9eadc}}.career-meta-label{display:none}@media screen{html[data-theme=dark] .career-company{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#c7f2b5}html[data-theme=dark] .career-title h3{font-weight:800;letter-spacing:-.025em;color:#f5fbf4}html[data-theme=dark] .is-current .career-company{color:#28513b}html[data-theme=dark] .is-current .career-title h3{color:#10392e}html[data-theme=dark] .career-employer{font-size:11px;color:#bbd0c8}html[data-theme=dark] .is-current .career-employer{color:#325443}html[data-theme=dark] .career-current-facts>span{align-items:center;gap:10px}html[data-theme=dark] .career-meta-copy{display:inline-flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;line-height:1.5;color:#e1f1e8}html[data-theme=dark] .career-meta-label{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#9cb9ab}html[data-theme=dark] .career-current-facts>span:nth-child(2) .career-meta-copy{color:#e5d9be}html[data-theme=dark] .career-context{font-size:11px;color:#b7cbc2}html[data-theme=dark] .career-responsibilities h4{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#b9df9c}html[data-theme=dark] .career-responsibilities li{color:#c4d0ca;line-height:1.85}}@media screen and (prefers-color-scheme:dark){html:not([data-theme=light]) .career-company{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#c7f2b5}html:not([data-theme=light]) .career-title h3{font-weight:800;letter-spacing:-.025em;color:#f5fbf4}html:not([data-theme=light]) .is-current .career-company{color:#28513b}html:not([data-theme=light]) .is-current .career-title h3{color:#10392e}html:not([data-theme=light]) .career-employer{font-size:11px;color:#bbd0c8}html:not([data-theme=light]) .is-current .career-employer{color:#325443}html:not([data-theme=light]) .career-current-facts>span{align-items:center;gap:10px}html:not([data-theme=light]) .career-meta-copy{display:inline-flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;line-height:1.5;color:#e1f1e8}html:not([data-theme=light]) .career-meta-label{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#9cb9ab}html:not([data-theme=light]) .career-current-facts>span:nth-child(2) .career-meta-copy{color:#e5d9be}html:not([data-theme=light]) .career-context{font-size:11px;color:#b7cbc2}html:not([data-theme=light]) .career-responsibilities h4{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#b9df9c}html:not([data-theme=light]) .career-responsibilities li{color:#c4d0ca;line-height:1.85}}.career-current-facts img.line-icon{filter:none}.career-brand--freelance{background:var(--surface-strong)}.career-brand--freelance img{width:42px;height:42px}.career-summary{font-size:14px;line-height:1.8;color:var(--muted);padding:22px 34px;margin:0}.career-tools .career-project-link{margin-left:auto;align-self:center;font-size:11px}.career-stop.is-ongoing:before{background:var(--accent)}@media(max-width:1100px){.career-summary{padding-inline:25px}}@media(max-width:767px){.career-summary{padding:22px}.career-tools .career-project-link{margin-left:0;padding:8px 0}}@media print{.career-summary{font-size:9pt;padding:12px 14px}.career-tools .career-project-link{display:none}}.hero-statement--profile{font-size:clamp(18px,1.6vw,22px);line-height:1.55;max-width:620px}@media(max-width:767px){.hero-statement--profile{font-size:18px;line-height:1.6}}.hero-profile{max-width:600px;margin-top:6px}.hero-profile-title{font-size:clamp(23px,2.2vw,31px);font-weight:600;line-height:1.25;letter-spacing:-.035em;margin:0 0 10px}.hero-profile-role{font-size:17px;font-weight:600;color:var(--accent);margin:0 0 23px}.hero-profile-stack{font-size:14px;color:var(--muted);line-height:1.9;max-width:490px;margin:0 0 12px}.hero-profile-focus{font-size:13px;font-weight:600;color:var(--text);margin:0}@media(max-width:767px){.hero-profile-role{font-size:16px;margin-bottom:18px}.hero-profile-stack{font-size:13px}.hero-profile-focus{font-size:12px}}.career-brand--helpia{background:#fff;gap:9px}.career-brand--helpia img{width:42px;height:48px;max-height:none;filter:none}.helpia-brand-name{font-size:23px;font-weight:800;letter-spacing:-.8px;line-height:1;color:#142d3d}@media(max-width:767px){.career-brand--helpia{gap:8px}.career-brand--helpia img{width:34px;height:40px}.helpia-brand-name{font-size:20px}}@media screen{.site-header,.site-header #navigation{background:#285c49;background-image:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;border-color:#5d8370}.site-header .header-inner{justify-content:center;gap:24px}.site-header #navigation,.site-header .header-actions{margin-left:0}.site-header .menu-button{align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border:1px solid #7d9f8d;border-radius:8px}.menu-icon{width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1)}.menu-icon--close,#menu[aria-expanded=true] .menu-icon--open{display:none}#menu[aria-expanded=true] .menu-icon--close{display:block}@media(max-width:767px){.site-header .header-inner{justify-content:center;gap:0}.site-header .header-actions{margin-left:0;gap:12px;justify-content:center}.site-header .menu-button{display:inline-flex}.site-header #navigation{text-align:center;align-items:stretch}.site-header #navigation a{justify-content:center}.site-header .nav-cv{border:0}}}@media screen{:root{--navigation-icon-filter: brightness(0)}html[data-theme=dark]{--navigation-icon-filter: brightness(0) invert(1)}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--navigation-icon-filter: brightness(0) invert(1)}}.site-header.site-header--minimal{position:relative;top:0;width:100%;max-width:none;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text);backdrop-filter:none;-webkit-backdrop-filter:none}.site-header--minimal .header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:calc(100% - 48px);max-width:none;height:76px;gap:24px}.site-header--minimal #navigation{grid-column:2;margin:0;background:transparent;color:var(--text);border:0;box-shadow:none;gap:30px}.site-header--minimal .header-actions{grid-column:3;justify-self:end;margin:0;gap:8px}.site-header--minimal a,.site-header--minimal .utility{color:var(--text);font-weight:600;text-shadow:none}.site-header--minimal a:hover,.site-header--minimal a[aria-current=page]{color:var(--accent)}.site-header--minimal .nav-cv{border:0;padding-left:0}.site-header--minimal .utility{border:0;border-radius:8px;background:transparent;min-width:44px;min-height:44px;padding:8px}.site-header--minimal .utility:hover{background:var(--surface)}.site-header--minimal .menu-icon{filter:var(--navigation-icon-filter)}.site-header--minimal :focus-visible{outline-color:var(--accent)}@media(max-width:767px){.site-header--minimal .header-inner{height:64px;width:calc(100% - 32px);gap:12px}.site-header--minimal #menu{grid-column:1;justify-self:start}.site-header--minimal .header-actions{grid-column:3;justify-self:end;gap:4px}.site-header--minimal #navigation{top:64px;left:16px;right:auto;width:min(260px,calc(100% - 32px));margin:0;padding:12px;text-align:left;gap:0;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 18px #0014081a}.site-header--minimal #navigation a{padding:14px;justify-content:flex-start}}}@media screen{.hero{align-items:start}.portrait-playful{align-self:start;width:min(100%,360px);margin-top:6px}.hero-copy .hero-profile-role{margin-bottom:0}.hero-copy .actions{margin-top:28px}.portrait-profile{margin-top:20px;text-align:center}.portrait-profile .hero-profile-stack{max-width:360px;margin:0 auto 12px;font-size:12px;line-height:1.85;color:#485e48}.portrait-profile .hero-profile-focus{font-size:13px;font-weight:800;line-height:1.65;color:#285137;margin:0}html[data-theme=dark] .hero h1 .muted{color:#b3d36c}html[data-theme=dark] .hero-profile-role{color:#b9e39f}html[data-theme=dark] .portrait-profile .hero-profile-stack{color:#c1d1ca}html[data-theme=dark] .portrait-profile .hero-profile-focus{color:#bfe3b2}html[data-theme=dark] .portrait-playful figcaption .portrait-employment{color:#e0eae4}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .hero h1 .muted{color:#b3d36c}html:not([data-theme=light]) .hero-profile-role{color:#b9e39f}html:not([data-theme=light]) .portrait-profile .hero-profile-stack{color:#c1d1ca}html:not([data-theme=light]) .portrait-profile .hero-profile-focus{color:#bfe3b2}html:not([data-theme=light]) .portrait-playful figcaption .portrait-employment{color:#e0eae4}}@media(max-width:767px){.portrait-profile{margin-top:18px}.portrait-profile .hero-profile-stack,.portrait-profile .hero-profile-focus{font-size:12px}}}@media screen{:root{--portrait-blue: #1f5e95;--portrait-green: #0b6623;--portrait-moss: #52691b;--portrait-teal: #14686c;--portrait-amber: #925715;--portrait-berry: #8b3d59;--portrait-context: #53624c}html[data-theme=dark]{--portrait-blue: #8cc8ff;--portrait-green: #b9e58e;--portrait-moss: #d8df9a;--portrait-teal: #8bd9cb;--portrait-amber: #e6bd83;--portrait-berry: #d8aed0;--portrait-context: #bdc9c3}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--portrait-blue: #8cc8ff;--portrait-green: #b9e58e;--portrait-moss: #d8df9a;--portrait-teal: #8bd9cb;--portrait-amber: #e6bd83;--portrait-berry: #d8aed0;--portrait-context: #bdc9c3}}.portrait-colour-blue{color:var(--portrait-blue)}.portrait-colour-green{color:var(--portrait-green)}.portrait-colour-moss{color:var(--portrait-moss)}.portrait-colour-teal{color:var(--portrait-teal)}.portrait-colour-amber{color:var(--portrait-amber)}.portrait-colour-berry{color:var(--portrait-berry)}.portrait-employment>span:not(.portrait-separator){font-weight:800}.portrait-profile .hero-profile-stack{font-size:13px;line-height:1.95;font-weight:600;text-wrap:balance}.portrait-profile .hero-profile-stack>span:not(.portrait-separator){white-space:nowrap}.portrait-separator{color:var(--portrait-context);font-weight:400}.portrait-profile .hero-profile-focus{font-size:13px;line-height:1.8}.portrait-focus-lead{color:var(--portrait-context);font-size:11px;font-weight:400}}
