:root{color-scheme:light dark;--color-bg: light-dark(#fff, #000);--color-surface1: light-dark(#f5f5f4, #53504e);--color-surface2: light-dark(#ececeb, #605d5b);--color-surface3: light-dark(#e3e3e2, #6d6a68);--color-border: light-dark(#e3e3e2, #6d6a68);--color-btn: light-dark(#f5f5f4, #222);--color-fields: light-dark(#f5f5f4, #222);--color-field-text: light-dark(#000, #fff);--color-neutral-text: light-dark(#828282, #9f9c9a);--color-neutral-main: light-dark(#a2a2a2, #888482);--color-neutral-soft-text: light-dark(#a2a2a2, #888482);--color-neutral-strong: light-dark(#696969, #b6b3b2);--color-primary-text: light-dark(#5896da, #35a3ec);--color-primary-main: light-dark(#5896da, #35a3ec);--color-primary-soft: light-dark(#76a9e1, #1a8cd8);--color-primary-contrast: #fff;--color-contrast-true: light-dark(#000, #fff);--color-contrast-strong: light-dark(#777, #999);--color-contrast-soft: light-dark(#ddd, #222);--color-contrast-false: light-dark(#fff, #000);--color-error-main: light-dark(#eb573e, #dd391d);--color-error-strong: light-dark(#dd391d, #eb573e);--color-error-soft: light-dark(#f99e8e, #ba250b);--color-error-bg: light-dark(#ffe9e5, #8f1602);--color-success-main: light-dark(#18a729, #1ebb31);--color-success-strong: light-dark(#129222, #29df3f);--color-success-soft: light-dark(#4fe862, #129222);--color-success-bg: light-dark(#c9facf, #0a6615);--color-warning-main: light-dark(#ed9302, #ed9302);--color-warning-strong: light-dark(#c67601, #feb72a);--color-warning-soft: light-dark(#fcd87e, #ad6203);--color-warning-bg: light-dark(#fbf4da, #7e4107);@import"https://fonts.googleapis.com/css2?family=Kantumruy+Pro:wght@100;200;300;400;500;600&family=DM+Serif+Display&JetBrains+Mono:wght@100&display=swap";--font-heading: 'DM Serif Display', Georgia, serif;--font-body: 'Kantumruy Pro', arial, sans-serif;--font-code: 'JetBrains Mono', 'Fira Code', monospace;--text-xs: 0.75rem;--text-sm: 0.875rem;--text-base: 16px;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--space-05: 2px;--space-1: 4px;--space-15: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--space-9: 64px;--breakpoint-viewport-min: 300px;--breakpoint-viewport-xs: 470px;--breakpoint-viewport-sm: 600px;--breakpoint-viewport-md: 900px;--breakpoint-viewport-lg: 1600px;--breakpoint-viewport-xl: 2400px;--container-width-xs: 280px;--container-width-sm: 440px;--container-width-md: 600px;--container-width-lg: 760px;--container-width-xl: 980px;--container-width-max: 1200px;--page-max-width: 1200px;--gutter: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-circle: 999px;--transition-fast: 150ms ease;--transition-base: 300ms ease;--transition-slow: 750ms ease;--responsive-transition: 600ms ease;--icon-size-xs: 12px;--icon-size-sm: 18px;--icon-size-md: 24px;--icon-size-lg: 32px;--icon-size-xl: 48px}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100dvh}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeSpeed;line-height:1.35}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.35;letter-spacing:2%;color:var(--color-neutral-text);background-color:var(--color-bg)}p,li{margin-bottom:var(--space-3)}h1,h2,h3,h4,*.h1,*.h2,*.h3,*.h4{font-family:var(--font-heading);letter-spacing:1%}h1,*.h1{font-size:var(--text-4xl);line-height:1.2}h2,*.h2{font-size:var(--text-3xl);line-height:1.25}h3,*.h3{font-size:var(--text-2xl);line-height:1.3}h4,*.h4{font-size:var(--text-xl);line-height:1.3}h5,*.h5{font-size:var(--text-base);line-height:1.3}h6,*.h6{font-size:var(--text-sm)}pre,code,*.code-font{font-family:var(--font-code);font-size:var(--text-base);font-weight:100;line-height:1.25}pre{display:inline-block;margin:0;padding:0}ul{list-style:none}img,picture,canvas,iframe,embed,object,video,audio{max-width:100%;display:block}fieldset{border-color:rgba(0,0,0,0)}a,button{line-height:1.3;text-decoration:none;text-decoration-skip-ink:auto;color:var(--color-primary-main);transition:color var(--transition-fast)}a:not([disabled],.disabled),button:not([disabled],.disabled){cursor:pointer}a:hover,a:focus,button:hover,button:focus{color:var(--color-primary-text)}a[href]:not([disabled]),button[type]:not([disabled]){cursor:pointer}a[href].disabled,a[href][disabled],button[type].disabled,button[type][disabled]{opacity:.6}*:target{scroll-behavior:smooth}.disabled,*[disabled]{pointer-events:none;cursor:auto}:focus-visible{outline:2px solid var(--color-primary-main);outline-offset:3px}@media(prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}.seo-meta-only,.media-print-only{position:absolute;overflow:hidden;clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;white-space:nowrap;border-width:0;border:0}.hover-cursor--not-allowed{cursor:not-allowed}.hover-cursor--help{cursor:help}h1,h2,h3,h4{font-weight:400}h1{color:var(--color-primary-text)}svg{aspect-ratio:auto}.svg-icon,.svg-alert-icon{aspect-ratio:1/1}.btn{display:flex;align-items:center;gap:var(--space-2);opacity:1;min-height:2.5rem;padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;border:1px solid rgba(0,0,0,0);border-right-width:0;border-left-width:0;border-radius:var(--radius-md);background-color:var(--color-btn);cursor:pointer;transition:opacity var(--transition-fast)}.btn:hover,.btn:focus,.btn[aria-current=true],.btn[aria-current=page]{border-top-color:var(--color-border)}.btn svg{width:var(--icon-size-md);aspect-ratio:1/1}.btn--icon{padding-block:var(--space-1);line-height:1}.btn.txt-icon,.btn.txt-icon--left{padding-left:var(--space-3)}.btn.txt-icon--right{padding-right:var(--space-3)}.btn--primary{background-color:var(--color-primary-main)}.btn--primary:hover,.btn--primary:focus{border-top-color:var(--color-primary-contrast)}.btn--primary,.btn--primary:hover,.btn--primary:focus{color:light-dark(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.7))}[data-theme=light] .btn{box-shadow:0 2px 6px var(--color-contrast-soft),3px 7px 7px var(--color-contrast-false)}[data-theme=light] .btn:hover,[data-theme=light] .btn:focus,[data-theme=light] .btn[aria-current=true],[data-theme=light] .btn[aria-current=page]{border-top-color:rgba(0,0,0,0);box-shadow:1px 1px 3px var(--color-surface2)}[data-theme=light] .btn:hover[aria-current=false],[data-theme=light] .btn:focus[aria-current=false]{box-shadow:3px 2px 2px var(--color-surface2)}[data-theme=dark] .btn{border-top-color:hsla(0,0%,100%,.15);box-shadow:0 2px 6px rgba(0,0,0,.5)}[data-theme=dark] .btn:hover,[data-theme=dark] .btn:focus,[data-theme=dark] .btn[aria-current=true],[data-theme=dark] .btn[aria-current=page]{border-top-color:rgba(0,0,0,0);box-shadow:none}.btn:hover{opacity:.9}.btn[aria-current=true],.btn[aria-current=page]{pointer-events:none;cursor:auto}#toggle-site-menu-btn{color:var(--color-neutral-main);background-color:var(--color-primary-main)}form label{font-size:var(--text-md);font-weight:500;color:var(--color-neutral-soft-text)}form input,form textarea{width:100%;padding:var(--space-3) var(--space-4);color:var(--color-field-text);font-family:var(--font-body);font-size:var(--text-base);background-color:var(--color-fields);background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05) 3px, var(--color-fields) 10px);border:1px solid var(--color-border);border-bottom-color:hsla(0,0%,100%,.15);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}form input:focus,form textarea:focus{outline:none;border-color:var(--color-primary-soft)}form input::placeholder,form textarea::placeholder{color:var(--color-neutral-soft-text);opacity:.5}form textarea{resize:vertical;min-height:140px}form .btn{padding:var(--space-3) var(--space-6)}.toggle-btn-group{display:flex;align-items:center;gap:1px}.toggle-btn-group .btn{margin:0;transition:color var(--transition-fast),border-color var(--transition-fast)}.toggle-btn-group .btn.toggle{padding-inline:var(--space-3);border-radius:0}.toggle-btn-group .btn.toggle--first{padding-left:var(--space-4);border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.toggle-btn-group .btn.toggle--last{padding-right:var(--space-4);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.event-alert,.static-alert{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-2);color:var(--color-neutral-text);border:1px solid var(--color-border);background-color:var(--color-surface1);transition:opacity var(--responsive-transition)}.event-alert .svg-alert-icon,.event-alert .alert-tile,.static-alert .svg-alert-icon,.static-alert .alert-tile{transition:opacity var(--responsive-transition)}.event-alert .svg-alert-icon,.static-alert .svg-alert-icon{width:15%;min-width:var(--icon-size-md);max-width:var(--icon-size-xl);margin-top:.5%}.event-alert .alert-tile,.static-alert .alert-tile{font-size:var(--text-base)}.event-alert p.txt,.event-alert .txt>p:last-child,.static-alert p.txt,.static-alert .txt>p:last-child{margin-bottom:0;color:var(--color-neutral-strong)}.event-alert.severity--error,.static-alert.severity--error{border-color:var(--color-error-soft);background-color:color-mix(in srgb, var(--color-error-bg) 30%, var(--color-contrast-false))}.event-alert.severity--error .svg-alert-icon,.static-alert.severity--error .svg-alert-icon{color:var(--color-error-main)}.event-alert.severity--error .alert-title,.static-alert.severity--error .alert-title{color:var(--color-error-strong)}.event-alert.severity--success,.static-alert.severity--success{border-color:var(--color-success-soft);background-color:color-mix(in srgb, var(--color-success-bg) 40%, var(--color-contrast-false))}.event-alert.severity--success .svg-alert-icon,.static-alert.severity--success .svg-alert-icon{color:var(--color-success-main)}.event-alert.severity--success .alert-title,.static-alert.severity--success .alert-title{color:var(--color-success-strong)}.event-alert.severity--warning,.static-alert.severity--warning{border-color:var(--color-warning-soft);background-color:light-dark(var(--color-warning-bg), color-mix(in srgb, var(--color-warning-bg) 40%, var(--color-contrast-false)))}.event-alert.severity--warning .svg-alert-icon,.static-alert.severity--warning .svg-alert-icon{color:var(--color-warning-main)}.event-alert.severity--warning .alert-title,.static-alert.severity--warning .alert-title{color:var(--color-warning-strong)}.static-alert{max-width:500px;margin:var(--space-4) auto var(--space-7);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg)}dialog{display:none;opacity:0;position:fixed;inset:0;flex-direction:column;gap:0;margin:auto;border:1px solid var(--color-surface1);border-top-color:var(--color-surface3);border-left-color:var(--color-surface2);border-right-color:var(--color-surface2);border-radius:var(--radius-lg)}[data-theme=light] dialog{background-color:#fff;box-shadow:3px 2px 5px rgba(0,0,0,.6),3px 4px 12px rgba(0,0,0,.5),3px 8px 20px rgba(0,0,0,.4)}[data-theme=dark] dialog{background-color:var(--color-surface1);box-shadow:3px 20px 30px #000}dialog:popover-open{display:flex;opacity:1}@starting-style{dialog:popover-open{display:flex;opacity:0}}dialog::backdrop{backdrop-filter:blur(2px);background-color:rgba(0,0,0,.5)}dialog.modal{width:80dvw;min-width:var(--container-width-xs);max-width:var(--container-width-max);height:90dvh}dialog.event-alert{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:5;opacity:1;width:80dvw;min-width:var(--container-width-xs);max-width:var(--container-width-sm);margin-block:0 var(--space-6);padding:var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-md)}dialog.event-alert .svg-alert-icon{max-width:var(--icon-size-xl)}[data-theme=light] dialog.event-alert{box-shadow:1px 0 2px rgba(0,0,0,.5),1px 2px 8px rgba(0,0,0,.3),2px 4px 10px rgba(0,0,0,.1)}[data-theme=dark] dialog.event-alert{box-shadow:2px 4px 10px #000}@media(min-width: 440px){.event-alert{align-items:center}}@media(min-width: 600px){.static-alert .svg-alert-icon{margin-top:-2%}.static-alert .alert-tile{font-size:var(--text-xl)}}.site-header,.site-footer{background-color:color-mix(in srgb, var(--color-bg) 85%, transparent);backdrop-filter:blur(12px)}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--gutter);transition:opacity var(--responsive-transition)}.site-header .txt,.site-header .btn[aria-current=false]{color:var(--color-neutral-soft-text)}.site-header .txt:hover,.site-header.txt:focus,.site-header .btn[aria-current=true]{color:var(--color-primary-main)}[data-theme=light] .site-header{border-bottom:1px solid var(--color-border);box-shadow:0 3px 3px var(--color-surface2),0 7px 7px var(--color-surface1)}[data-theme=dark] .site-header{border-top:1px solid var(--color-border);border-bottom:1px solid #000;box-shadow:0 3px 7px #000,0 9px 100px var(--color-surface1)}.site-header__logo{text-decoration:none}.site-header__name{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-primary-text)}.site-header .user-preferences{display:flex;justify-content:flex-end;align-items:center;flex:1 1 auto;gap:var(--space-4)}.site-header .nav-row,.site-header .nav-list,.site-header .nav-list--inline{display:flex}.site-header .nav-list--inline{flex-wrap:wrap;align-items:center;gap:var(--space-2)}.site-header .nav-list--inline li{margin-bottom:0}.site-header .nav-list__link{white-space:nowrap;padding:var(--space-2) var(--space-4);transition:opacity var(--responsive-transition)}@media(max-width: 600px){.site-header .nav-list__link{padding:var(--space-1) var(--space-2)}}.site-header #toggle-site-menu-btn{display:none;position:absolute;top:var(--space-2) !important;right:var(--space-1);top:0;aspect-ratio:1/1;padding:var(--space-2);border-radius:var(--radius-circle)}.site-header #toggle-site-menu-btn .svg-icon{width:var(--icon-size-lg)}.site-header #toggle-site-menu-btn use{opacity:0;transition:opacity var(--transition-fast)}.site-header #toggle-site-menu-btn[data-state=opened] .svg-icon use.opened{opacity:1}.site-header #toggle-site-menu-btn[data-state=opened]:hover .svg-icon use.closed{opacity:1}.site-header #toggle-site-menu-btn[data-state=opened]:hover .svg-icon use.opened{opacity:0}.site-header #toggle-site-menu-btn[data-state=closed] .svg-icon use.closed{opacity:1}.site-header #toggle-site-menu-btn[data-state=closed]:hover .svg-icon use.closed{opacity:0}.site-header #toggle-site-menu-btn[data-state=closed]:hover .svg-icon use.opened{opacity:1}.page-content{z-index:0;max-width:var(--page-max-width);margin:0 auto;padding-inline:var(--gutter);padding-bottom:96px}.page-content .ui-chips-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.page-content .ui-chips-list .chip-item{display:flex;align-items:center;gap:var(--space-1);margin-bottom:0;padding:0 var(--space-2);font-size:var(--text-xs);color:var(--color-neutral-soft-text);background-color:var(--color-btn);border:1px solid var(--color-border);border-radius:var(--radius-circle);transition:opacity var(--responsive-transition)}.page-content .ui-chips-list .chip-item .tool__svg-logo{width:var(--icon-size-xs);aspect-ratio:1/1;color:var(--color-neutral-main);transition:opacity var(--responsive-transition)}.page-content .ui-chips-list .chip-item .tool__label{color:var(--color-neutral-text)}@media(min-width: 600px){.page-content .ui-chips-list .chip-item{gap:var(--space-2);padding:var(--space-1) var(--space-3)}.page-content .ui-chips-list .chip-item .tool__svg-logo{width:var(--icon-size-md)}}.site-footer{z-index:0;width:100%;min-height:48px;border-top:1px solid var(--color-surface1);padding:var(--space-3) var(--gutter);text-align:center;color:var(--color-neutral-soft-text);font-size:var(--text-sm)}@media(max-width: 900px){.site-header{flex-wrap:wrap;gap:var(--space-3)}main.site{padding:var(--space-7) var(--gutter)}}@media(max-width: 600px){.nav-list__link{font-size:var(--text-sm);padding-inline:var(--space-2)}}.page-content{container:c_mainPageContent/inline-size}.page-content .hero{padding-top:8dvh}.page-about .page-content .hero{position:absolute;overflow:hidden;clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;white-space:nowrap;border-width:0;border:0}.page-about #svg-hero-artwork{width:100%;max-width:800px;height:auto}.page-about #svg-martinDube-sketch2021{z-index:-1;min-width:100px;min-height:100px;margin-top:-9%;margin-left:7.5dvw;padding-inline:2.5dvw;border-radius:var(--radius-circle)}[data-theme=dark] .page-about #svg-martinDube-sketch2021{color:rgba(0,0,0,.7);background-color:hsla(0,0%,100%,.5)}.page-about .svg-typo--wrapper{display:flex;flex-direction:column;align-items:center;width:auto;transition:opacity var(--responsive-transition)}.page-about .svg-typo--graphicWords{z-index:1;width:100%;max-height:130px;height:auto;color:var(--color-primary-main);transition:opacity var(--responsive-transition)}[data-theme=light] .page-about .svg-typo--graphicWords path{filter:drop-shadow(0 0 2px white)}[data-theme=dark] .page-about .svg-typo--graphicWords path{filter:drop-shadow(0 0 1px rgba(0, 0, 0, 0.7))}.page-about .about-me{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);transition:opacity var(--responsive-transition)}.page-about .about-me.webpro{margin-bottom:var(--space-7)}.page-about .about-me.amateur{margin-top:var(--space-7)}.page-about .about-me.amateur .svg-typo--wrapper{align-items:flex-start}.page-about .about-me.amateur .svg-typo--graphicWords{max-height:90px}.page-about .about-me{container:c_wikiGithub/inline-size}.page-about .about-me #wikiGithub{display:block;margin-top:var(--space-6);padding:var(--space-3) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-primary-main)}.page-about .about-me #wikiGithub .speach{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-neutral-text)}.page-about .about-me #wikiGithub .speach .github-icon{display:block;width:20%;max-width:var(--icon-size-lg);aspect-ratio:1/1;margin-top:var(--space-1);border-radius:var(--radius-circle);background:light-dark(transparent, currentColor) url(https://raw.githubusercontent.com/1idweb/svg-icons/main/icon-brand-box24/gitHub_box24.svg) center center no-repeat;background-size:100%}.page-about .about-me #wikiGithub .btn{display:block;text-align:center;color:var(--color-primary-contrast)}.page-about .about-me #wikiGithub .btn::before{display:inline;content:"https://";padding-right:.1em;font-size:.7em;opacity:.7}.page-about .about-me #wikiGithub:hover .speach,.page-about .about-me #wikiGithub:focus .speach{color:var(--color-primary-main)}.page-about .about-me #wikiGithub:hover .btn,.page-about .about-me #wikiGithub:focus .btn{opacity:.9}@container c_wikiGithub (width > 760px){.page-about .about-me #wikiGithub{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4)}.page-about .about-me #wikiGithub .btn{padding:var(--space-4)}}@container c_wikiGithub (width > 980px){.page-about .about-me #wikiGithub .btn{padding-inline:var(--space-8);font-size:var(--text-xl)}}.page-about .about-social-grid__heading{font-size:var(--text-lg);font-family:var(--font-body);font-weight:500;color:var(--color-neutral-soft-text);margin-bottom:var(--space-6);text-transform:uppercase;letter-spacing:.1em}.page-about .about-social-grid__cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:var(--space-6)}@container c_mainPageContent (width < calc(760px - 1px)){.page-about .page-content .hero{padding-top:0}.page-about .hero-artwork{margin-bottom:-0.5rem;transition:opacity var(--responsive-transition)}}@container c_mainPageContent (width > 600px){.page-about .about-me.amateur .svg-typo--graphicWords{margin-top:-1.5rem}}@container c_mainPageContent (width > 760px){.page-about{flex-direction:row;gap:var(--space-7)}.page-about .hero-artwork{margin-bottom:.5rem;transition:opacity var(--responsive-transition)}.page-about .about-me{flex-direction:row;gap:var(--space-7)}.page-about .about-me>.txt{max-width:70%}.page-about .about-me .svg-typo--wrapper{width:100%;justify-content:center}.page-about .about-me.amateur .svg-typo--wrapper{min-width:500px}.page-about .about-me.amateur .svg-typo--graphicWords{margin-top:-1.5rem}.page-about .about-me #svg-martinDube-sketch2021{width:auto;height:60%;margin-left:6%;padding-inline:3rem}}.portfolio-group{container:c_portfolioGroup/inline-size;margin-bottom:var(--space-9)}.portfolio-group:last-child{margin-bottom:0}.portfolio-group .scroll-wrapper{display:flex;flex-direction:row;gap:var(--space-3);align-items:flex-start}.portfolio-group .scroll-wrapper .scroll__sticky{display:flex;flex-direction:column;align-items:center;width:76px;color:var(--color-neutral-main)}.portfolio-group .scroll-wrapper .scroll__sticky .brand-logo{width:var(--icon-size-xl);aspect-ratio:1/1}.portfolio-group .scroll-wrapper .scroll__sticky .svg-icon{display:none;width:var(--icon-size-md)}.portfolio-group .scroll-wrapper .scroll__sticky:hover,.portfolio-group .scroll-wrapper .scroll__sticky:focus{color:var(--color-primary-main)}.portfolio-group__heading,.portfolio-group__heading .col{display:flex;flex-direction:column}.portfolio-group__heading .col{justify-content:flex-start;margin-bottom:var(--space-1)}.portfolio-group__heading .col:first-child{width:100%;max-width:500px}.portfolio-group__heading .title,.portfolio-group__heading .sub-title{margin-bottom:var(--space-1)}.portfolio-group__heading .title{font-size:var(--text-xl)}.portfolio-group__heading .sub-title{color:var(--color-neutral-soft-text)}@container c_portfolioGroup (width > 760px){.portfolio-group .scroll-wrapper{gap:var(--space-4)}.portfolio-group .scroll-wrapper .scroll__sticky .svg-icon{display:block}.portfolio-group__heading{flex-direction:row}.portfolio-group__heading .col{margin-bottom:var(--space-3)}.portfolio-group__heading .ui-chips-list{flex-direction:row;justify-content:flex-end}}.portfolio-item{margin-top:var(--space-4);padding:var(--space-4);background-color:var(--color-surface1);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.portfolio-item:first-child{margin-top:0}.portfolio-item__figure{margin-bottom:var(--space-3)}.portfolio-item__content{width:100%}.portfolio-item__heading .title{margin-bottom:0;font-size:var(--text-xl);color:var(--color-primary-text)}.portfolio-item__heading .txt{color:var(--color-neutral-soft-text)}.portfolio-item__heading .txt.dates{margin-bottom:0;font-size:var(--text-sm)}@container c_portfolioGroup (width > 760px){.portfolio-item{display:flex;gap:var(--space-9);flex-direction:row;padding:var(--space-9)}.portfolio-item__figure{max-width:400px;margin-bottom:0}.portfolio-item__heading{min-width:250px;max-width:70%}.portfolio-item__heading .txt.description{margin-bottom:0}.portfolio-item__content .slides_list{gap:var(--space-4)}}.modal__heading{display:flex;padding:var(--space-2) var(--space-4) 0;color:var(--color-primary-text)}.modal__heading .title{font-size:var(--text-xl)}.modal__heading .right-slot{display:flex;flex-grow:1;flex-direction:row-reverse}.modal__close-btn{position:absolute;top:0;right:0;display:inline-block;width:auto;padding:var(--space-1);padding-bottom:0;color:var(--color-contrast-false);border-bottom-left-radius:var(--radius-circle);background-color:var(--color-neutral-main)}.modal__close-btn:hover{color:var(--color-contrast-false);background-color:var(--color-primary-main)}.modal__close-btn .svg-icon{width:var(--icon-size-md);height:var(--icon-size-md)}.modal__content{overflow-y:scroll;scroll-behavior:smooth;display:flex;width:100%;height:100%;padding-block:0}@container c_portfolioGroup (width < 440px){.modal__heading .title .page-name{display:block;font-size:var(--text-sm);line-height:1}}@container c_portfolioGroup (width > 760px){.modal__heading .title{font-size:var(--text-2xl)}}.hero{margin-bottom:var(--space-7);transition:opacity var(--responsive-transition)}.hero__page-title,.hero__tagline{margin-bottom:0}.hero__page-title{font-weight:normal}@media screen{.hero #svg-martinDube-sketch2021{display:none}}.social-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-7);background-color:var(--color-surface1);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;transition:background-color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}.social-card:hover{background-color:var(--color-surface2);border-color:var(--color-primary-main);transform:translateY(-2px)}[data-theme=light] .social-card{box-shadow:3px 3px 3px var(--color-surface2),3px 7px 7px var(--color-surface1)}[data-theme=light] .social-card:hover,[data-theme=light] .social-card:focus{box-shadow:3px 2px 2px var(--color-surface2)}.social-card__text{display:flex;flex-direction:column;gap:0;min-width:0}.social-card__logo.icon{width:var(--icon-size-xl);height:var(--icon-size-xl)}.social-card__title{margin-bottom:0;font-family:var(--font-body);font-weight:400;font-size:var(--text-sm);line-height:normal}.social-card__account{margin-bottom:0;color:var(--color-neutral-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-neutral-text)}.cv-card{padding:var(--space-7) 0;border-bottom:1px solid var(--color-border)}.cv-card:last-child{border-bottom:none}.cv-card__header{margin-bottom:var(--space-3)}.cv-card__meta{display:flex;gap:var(--space-4);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-soft-text)}.cv-card__date{font-variant-numeric:tabular-nums}.cv-card__title{margin-bottom:0;font-size:var(--text-2xl);color:var(--color-primary-text)}.cv-card__subtitle .svg-icon,.cv-card__links .svg-icon{width:var(--icon-size-sm)}.cv-card__subtitle{display:inline-block;font-weight:400}.cv-card__subtitle *:not(.brand){font-family:var(--font-body);font-size:var(--text-base)}.cv-card__subtitle .brand{padding-right:.15rem;transition:opacity var(--responsive-transition)}.cv-card__subtitle .job-location,.cv-card__subtitle .job-status{font-size:var(--text-sm);white-space:nowrap;color:var(--color-neutral-soft-text);transition:opacity var(--responsive-transition)}.cv-card__subtitle .svg-icon{margin-right:var(--space-1);margin-bottom:calc(var(--space-1)*-1)}.cv-card__job-status{color:var(--color-neutral-soft-text);font-weight:400}.cv-card__clients{display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-4) 0;padding-left:var(--space-6);border-left:2px solid var(--color-border)}.cv-card__client-name{font-size:var(--text-base);font-weight:600;color:var(--color-neutral-text);margin-bottom:var(--space-1)}.cv-card__client-description{color:var(--color-neutral-soft-text);line-height:1.65;margin-bottom:var(--space-2)}.cv-card__responsibilities,.cv-card__links,.cv-card__tools{margin-block:var(--space-1)}.cv-card__responsibilities{margin-top:var(--space-4);color:var(--color-neutral-soft-text);line-height:1.7}.cv-card__links{display:flex;gap:var(--space-1);flex-wrap:wrap;font-size:var(--text-sm);transition:opacity var(--responsive-transition)}.cv-card__links .link-item{display:flex;align-items:center;margin-bottom:0;transition:opacity var(--responsive-transition)}.cv-card__links .link-item .svg-icon{margin-right:var(--space-1);color:var(--color-neutral-main)}.cv-card__links .link-item a{border-bottom:1px solid var(--color-primary-soft)}.cv-card__links .link-item a .svg-target-icon{display:inline-block;width:var(--icon-size-xs);height:var(--icon-size-xs)}.cv-card__portfolio-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:rgba(0,0,0,0);border:1px solid var(--color-primary-soft);border-radius:var(--radius-sm);color:var(--color-primary-text);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.cv-card__portfolio-cta:hover{background-color:color-mix(in srgb, var(--color-primary-main) 10%, transparent);border-color:var(--color-primary-main)}@media(max-width: 600px){.cv-card .brand,.cv-card .job-location,.cv-card .job-status{display:block}.cv-card .brand{margin-bottom:var(--space-1)}.cv-card__links .link-item{margin-right:var(--space-3)}}@media(min-width: 600px){.cv-card__subtitle .job-location,.cv-card__subtitle .job-status{padding-left:var(--space-3)}.cv-card__links{gap:var(--space-4)}}.modal .slides{container:c_modalSlides/inline-size}.slides__list{container:c_slidesList/inline-size}.slides{position:relative}.slides,.slides__list,.slides__item,.slides__anchor{display:flex;flex-wrap:wrap;align-items:center;flex:1 1 auto}.slides__list{justify-content:flex-start;gap:var(--space-1);width:auto;padding:var(--space-1);transition:opacity var(--responsive-transition)}.slides__prototype-app{position:relative;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0)}.slides__prototype-app.watermark{color:hsla(0,0%,100%,.9)}.slides__prototype-app.watermark .svg-watermark{aspect-ratio:1/1;position:absolute;z-index:1;top:0;right:0;width:40%}.slides__prototype-app.watermark .svg-watermark use{filter:drop-shadow(0 0 2px rgba(0, 0, 0, 0.7))}.slides__teaser{width:100%;object-fit:cover;object-position:center;background-color:var(--color-primary-soft)}.slides__teaser .img-ratio-53,.slides__teaser .img-ratio-5323,.slides__teaser .img-ratio-responsive{transition:opacity var(--responsive-transition)}.img-ratio-53 .slides__teaser{aspect-ratio:5/3}.img-ratio-5323 .slides__teaser{aspect-ratio:53/23}.img-ratio-responsive .slides__teaser{aspect-ratio:1/1}.slides__anchor{overflow:hidden;width:auto;height:auto;background-color:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-base),background-color var(--transition-base)}.slides__anchor:hover{background-color:var(--color-primary-soft);border-color:var(--color-primary-main)}.slides__anchor:hover img{opacity:.9}.slides__item{width:100%;margin-bottom:0;transition:opacity var(--responsive-transition)}.img-ratio-53 .slides__item{width:100px}.img-ratio-responsive .slides__item{width:24px}@container c_portfolioGroup (width > 280px){.img-ratio-53 .slides__item{width:120px}}@container c_portfolioGroup (width > 440px){.img-ratio-53 .slides__item{width:150px}}@container c_portfolioGroup (width > 760px){.slides__list{justify-content:flex-end}.slides__list.img-ratio-53{align-self:flex-start}}.message-form{position:relative;z-index:0;display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--container-width-md);margin-inline:auto}.message-form fieldset{opacity:1;transition:opacity var(--transition-slow)}.message-form fieldset.is-submitted{opacity:.4}.message-form .actions{display:flex;justify-content:center;gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field--hp0t{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.field-error{display:inline-block;min-height:1.2em;font-size:var(--text-sm);color:var(--color-error-main)}
