@font-face{font-family:Big Shoulders Display;src:url(../Fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Big Shoulders Display;src:url(../Fonts/big-shoulders-display-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(../Fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(../Fonts/atkinson-hyperlegible-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(../Fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}:root{--signal: #ffc815;--charcoal: #292929;--charcoal-deep: #1d1d1d;--paper: #ffffff;--mist: #f1f2f4;--text: #292929;--slate: #545a63;--rule: #d9dce1;--link: #8a5a00;--on-dark: #f4f4f2;--on-dark-muted: #b8bbc0;--display: "Big Shoulders Display", "Arial Narrow", sans-serif;--body: "Atkinson Hyperlegible", system-ui, sans-serif;--step--1: .875rem;--step-0: 1.0625rem;--step-1: 1.3125rem;--step-2: 1.75rem;--step-3: clamp(2.75rem, 1.9rem + 3vw, 4.75rem);--step-hero: clamp(3rem, .75rem + 8.2vw, 9.5rem);--gutter: clamp(1.25rem, .5rem + 3vw, 4rem);--bar: 3.75rem;--ease-out: cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme: dark){:root{--paper: #1f2022;--mist: #2a2c2f;--text: #eceef1;--slate: #b3b8c0;--rule: #3a3d42;--link: #ffc815}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--bar);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--body);font-size:var(--step-0);line-height:1.6;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:var(--link);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:20;padding:.6rem 1rem;background:var(--signal);color:var(--charcoal);font-weight:700}.skip-link:focus{top:1rem}.button{display:inline-block;padding:.85rem 1.4rem;font-weight:700;text-decoration:none;border:2px solid var(--signal);transition:background-color .2s,color .2s,transform .2s var(--ease-out)}.button:hover{transform:translateY(-2px)}.button--signal{background:var(--signal);color:var(--charcoal)}.button--signal:hover{background:var(--on-dark);border-color:var(--on-dark)}.button--ghost{color:var(--on-dark)}.button--ghost:hover{background:var(--signal);color:var(--charcoal)}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr auto;min-height:100svh;background:var(--charcoal);color:var(--on-dark);overflow:hidden}.hero__photo{grid-column:2;grid-row:1 / 3;position:relative;background:var(--signal);overflow:hidden}.hero__photo picture{display:contents}.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:55% 18%;filter:grayscale(1) contrast(1.15) brightness(1.05);mix-blend-mode:multiply}.hero__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--charcoal) 0,transparent 22%)}.hero__text{grid-column:1;grid-row:1;align-self:center;position:relative;z-index:1;padding:calc(var(--gutter) * 1.5) var(--gutter) 2rem}.hero__name{margin:0;text-wrap:balance;font-family:var(--display);font-weight:800;font-size:var(--step-hero);line-height:.86;letter-spacing:-.005em}.hero__line{display:block}.hero__line+.hero__line{color:var(--signal)}.hero__role{margin:2rem 0 0;font-size:var(--step-2);line-height:1.2}.hero__role a{color:inherit;text-decoration-color:var(--signal);text-decoration-thickness:3px}.hero__intro{max-width:34ch;margin:.75rem 0 0;font-size:var(--step-1);color:var(--on-dark-muted)}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 0}.versions{grid-column:1;grid-row:2;position:relative;z-index:1;padding:0 var(--gutter) var(--gutter)}.versions__label{margin:0 0 .75rem;font-size:var(--step--1);color:var(--on-dark-muted)}.versions__list{position:relative;display:flex;justify-content:space-between;gap:.5rem;margin:0;padding:0 0 .9rem;list-style:none;font-family:var(--display);font-weight:600;font-size:var(--step-1)}.versions__list:before,.versions__list:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#4a4c50}.versions__list:after{background:var(--signal);transform-origin:left}.versions__list li{color:var(--on-dark)}.versions__list .versions__now{position:relative;padding:0 .35rem;background:var(--signal);color:var(--charcoal)}.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.5rem;height:var(--bar);padding:0 var(--gutter);background:color-mix(in srgb,var(--charcoal) 92%,transparent);backdrop-filter:blur(8px);color:var(--on-dark)}.bar__brand{flex:none;color:var(--on-dark);font-family:var(--display);font-weight:800;font-size:var(--step-1);text-decoration:none}.bar__links{display:flex;gap:1.5rem;margin:0 0 0 auto;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.bar__links a{position:relative;display:block;padding:.35rem 0;color:var(--on-dark);font-family:var(--display);font-weight:600;font-size:var(--step-1);letter-spacing:.02em;text-decoration:none;white-space:nowrap}.bar__links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.bar__links a:hover:after,.bar__links a[aria-current=true]:after{transform:scaleX(1)}.section{padding:clamp(4rem,2.5rem + 6vw,8rem) var(--gutter)}.section+.section{border-top:1px solid var(--rule)}.section__inner{display:grid;grid-template-columns:minmax(12rem,18rem) minmax(0,46rem);gap:1rem clamp(2rem,1rem + 4vw,6rem);max-width:76rem;margin:0 auto}.section__head{align-self:start;position:sticky;top:calc(var(--bar) + 2rem)}.section__title{margin:0;font-family:var(--display);font-weight:800;font-size:var(--step-3);line-height:.95}.section__title:after{content:"";display:block;width:4rem;height:.4rem;margin-top:.85rem;background:var(--signal);transform-origin:left}.section__body h3{margin:2rem 0 .5rem;font-size:var(--step-1);line-height:1.3}.section__body .frame>:first-child{margin-top:0}.section__body p,.section__body li{max-width:68ch}.lead{font-size:var(--step-1);line-height:1.45}.motto{margin:2.5rem 0;padding:.25rem 0 .25rem 1.5rem;border-left:5px solid var(--signal);font-family:var(--display);font-weight:600;font-size:var(--step-2);line-height:1.15}.motto p{margin:0}.principles{margin:0;padding:0;list-style:none}.principles li{position:relative;padding:.75rem 0 .75rem 1.5rem;border-bottom:1px solid var(--rule)}.principles li:before{content:"";position:absolute;left:0;top:1.35rem;width:.6rem;height:.6rem;background:var(--signal)}.facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:2rem 0 0}.facts dt{font-weight:700}.facts dd{margin:0}.certs{margin:3rem 0 0;padding:1.75rem;background:var(--mist)}.certs h3{margin-top:0}.badges{display:grid;gap:1.5rem;margin:0;padding:0;list-style:none;perspective:600px}.badges li{display:grid;grid-template-columns:9.75rem minmax(0,1fr);align-items:center;gap:1.25rem}.badges img{justify-self:center;max-height:6.25rem;width:auto;transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .4s var(--ease-out)}.badges__expired img{filter:grayscale(1);opacity:.4}.badges__expired span{color:var(--slate)}.timeline{--when: 8.5rem;--gap: 1.75rem;--fill: 0;position:relative;margin:0;padding:0;list-style:none}.timeline:before,.timeline:after{content:"";position:absolute;top:.6rem;bottom:0;left:calc(var(--when) + var(--gap));width:3px;margin-left:-1px;background:var(--rule)}.timeline:after{background:var(--signal);transform:scaleY(var(--fill));transform-origin:top}.timeline__item{display:grid;grid-template-columns:var(--when) minmax(0,1fr);column-gap:var(--gap)}.timeline__when{margin:0;padding-top:.1rem;text-align:right;font-family:var(--display);font-weight:800;font-size:var(--step-2);line-height:1;color:var(--slate);transition:color .4s}.timeline__when small{display:block;margin-top:.4rem;font-family:var(--body);font-weight:400;font-size:var(--step--1);line-height:1.3}.timeline__body{position:relative;z-index:1;padding:0 0 3rem 1.75rem}.timeline__item:last-child .timeline__body{padding-bottom:0}.timeline__body:before{content:"";position:absolute;left:-8px;top:.45rem;width:15px;height:15px;border-radius:50%;background:var(--paper);border:3px solid var(--rule);transition:background-color .3s,border-color .3s}.timeline__item.is-passed .timeline__body:before,.timeline__item--current .timeline__body:before{background:var(--signal);border-color:var(--signal)}.timeline__item.is-passed .timeline__when,.timeline__item--current .timeline__when{color:var(--text)}.timeline__item--current .timeline__body:before{box-shadow:0 0 0 6px color-mix(in srgb,var(--signal) 35%,transparent)}.timeline__role{margin:0;font-size:var(--step-1);line-height:1.3}.timeline__org{margin:.15rem 0 0;color:var(--slate)}.timeline__steps{margin:.75rem 0 0;padding:0;list-style:none;font-size:var(--step--1);color:var(--slate)}.timeline details{margin-top:.75rem}.timeline summary{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-weight:700;color:var(--link);list-style:none}.timeline summary::-webkit-details-marker{display:none}.timeline summary:before{content:"";width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .25s var(--ease-out)}.timeline details[open] summary:before{transform:rotate(45deg)}.timeline details ul{margin:.75rem 0 0;padding-left:1.1rem}.timeline details li+li{margin-top:.25rem}.offer{display:grid;gap:1.25rem;margin:0;padding:0;list-style:none}.offer li{position:relative;padding:1.5rem 1.5rem 1.5rem 1.75rem;background:var(--mist);transition:transform .3s var(--ease-out)}.offer li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--signal);transform:scaleY(.35);transform-origin:top;transition:transform .35s var(--ease-out)}.offer li:hover{transform:translate(6px)}.offer li:hover:before{transform:scaleY(1)}.offer h3{margin:0 0 .35rem}.offer p{margin:0}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem}.skills h3{margin:0 0 .75rem;font-family:var(--display);font-weight:800;font-size:var(--step-2);line-height:1}.skills ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.skills li{padding:.3rem .7rem;border:2px solid var(--rule);font-size:var(--step--1);font-weight:700;transition:border-color .2s,background-color .2s,color .2s}.skills li:hover{border-color:var(--signal);background:var(--signal);color:var(--charcoal)}.oss-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;margin:2rem 0 .5rem}.oss-stats div{padding:1.25rem 1.25rem 1rem;border-top:5px solid var(--signal);background:var(--mist)}.oss-stats dt{font-family:var(--display);font-weight:800;font-size:var(--step-3);line-height:.9}.oss-stats dd{margin:.5rem 0 0;font-size:var(--step--1);color:var(--slate)}.oss-note{margin:0;font-size:var(--step--1);color:var(--slate)}.oss-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:0;list-style:none}.oss-list a{display:block;padding:.3rem .7rem;border:2px solid var(--rule);color:var(--text);font-family:var(--mono, ui-monospace, monospace);font-size:var(--step--1);text-decoration:none;transition:border-color .2s,background-color .2s,color .2s}.oss-list a:hover{border-color:var(--signal);background:var(--signal);color:var(--charcoal)}.oss-projects{margin:0;padding:0;list-style:none}.oss-projects li{padding:.85rem 0;border-bottom:1px solid var(--rule)}.oss-projects a{font-weight:700}.section.section--contact{background:var(--charcoal);color:var(--on-dark);border-top:0}.section--contact a{color:var(--signal)}.contact-lines{margin:0 0 2.5rem;padding:0;list-style:none}.contact-lines li{padding:.15rem 0}#contact-form{max-width:36rem}#contact-form .form-element{margin:0 0 1.25rem}#contact-form .form-label{display:block;margin-bottom:.35rem;font-weight:700}#contact-form .required{color:var(--on-dark-muted);font-weight:400}#contact-form input[type=text],#contact-form input[type=email],#contact-form textarea{width:100%;padding:.8rem .9rem;border:2px solid #55585d;border-radius:0;background:var(--charcoal-deep);color:var(--on-dark);font:inherit;transition:border-color .2s}#contact-form input:focus,#contact-form textarea:focus{border-color:var(--signal);outline:none}#contact-form textarea{min-height:10rem;resize:vertical}#contact-form .form-navigation{margin-top:.5rem}#contact-form button[type=submit]{padding:.9rem 1.6rem;border:2px solid var(--signal);background:var(--signal);color:var(--charcoal);font:inherit;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,transform .2s var(--ease-out)}#contact-form button[type=submit]:hover{background:transparent;color:var(--signal);transform:translateY(-2px)}#contact-form .error.help-block,#contact-form .invalid-feedback{display:block;margin-top:.35rem;color:#ff9a8f;font-size:var(--step--1)}.section--text{padding-top:clamp(3rem,2rem + 4vw,6rem)}.section--text .section__title{font-size:clamp(2.5rem,1.8rem + 2.5vw,4rem);overflow-wrap:anywhere}.legal h2{margin:2.5rem 0 .5rem;font-size:var(--step-1);line-height:1.3}.legal h3{margin:1.75rem 0 .4rem;font-size:var(--step-0)}.legal .placeholder{padding:0 .3em;background:var(--signal);color:var(--charcoal);font-weight:700}.legal address{font-style:normal}.footer{padding:0 var(--gutter);background:var(--charcoal-deep);color:var(--on-dark-muted);font-size:var(--step--1)}.footer__inner{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:2.5rem clamp(1.5rem,1rem + 3vw,4rem);max-width:76rem;margin:0 auto;padding:clamp(3rem,2rem + 3vw,5rem) 0 3rem}.footer__name{margin:0 0 .75rem;color:var(--on-dark);font-family:var(--display);font-weight:800;font-size:var(--step-2);line-height:1}.footer__intro p{max-width:36ch}.footer__cta{display:inline-block;margin-top:.75rem;padding:.6rem 1rem;border:2px solid var(--signal);color:var(--signal)!important;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s}.footer__cta:hover{background:var(--signal);color:var(--charcoal)!important}.footer__title{margin:0 0 1rem;color:var(--on-dark);font-family:var(--display);font-weight:600;font-size:var(--step-1);letter-spacing:.02em}.footer__col ul{margin:0;padding:0;list-style:none}.footer__col li+li{margin-top:.45rem}.footer a{color:var(--on-dark);text-decoration-color:color-mix(in srgb,var(--on-dark) 35%,transparent)}.footer a:hover{color:var(--signal);text-decoration-color:var(--signal)}.footer__certs{margin:1.25rem 0 0;line-height:1.5}.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;max-width:76rem;margin:0 auto;padding:1.25rem 0 2rem;border-top:1px solid #34363a}.footer__base p{margin:0}.footer__legal{display:flex;gap:1.5rem;margin:0;padding:0;list-style:none}@media (max-width: 60rem){.footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__intro{grid-column:1 / -1}}@media (prefers-reduced-motion: no-preference){.hero__line{animation:rise .9s var(--ease-out) both}.hero__line+.hero__line{animation-delay:.12s}.hero__role,.hero__intro,.hero__actions{animation:fade-up .8s .35s var(--ease-out) both}.hero__photo{animation:wipe-in 1.1s .1s var(--ease-out) both}.hero__photo img{animation:settle 2.4s var(--ease-out) both}.versions__list:after{animation:grow 2.6s .6s cubic-bezier(.65,0,.35,1) both}.versions__list li{animation:light .4s both}.versions__list li:nth-child(1){animation-delay:.65s}.versions__list li:nth-child(2){animation-delay:.9s}.versions__list li:nth-child(3){animation-delay:1.15s}.versions__list li:nth-child(4){animation-delay:1.4s}.versions__list li:nth-child(5){animation-delay:1.65s}.versions__list li:nth-child(6){animation-delay:1.9s}.versions__list li:nth-child(7){animation-delay:2.15s}.versions__list li:nth-child(8){animation-delay:2.4s}.versions__list li:nth-child(9){animation-delay:2.65s}.versions__list li.versions__now{animation:land .7s 2.9s var(--ease-out) both}.js [data-reveal]{opacity:0;transform:translateY(1.5rem);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.js [data-reveal].is-visible{opacity:1;transform:none}.js .section__title:after{transform:scaleX(0);transition:transform .7s .3s var(--ease-out)}.js .section__title.is-visible:after{transform:scaleX(1)}.js .timeline__item[data-reveal]{transform:translate(-1.5rem)}.js .timeline__item[data-reveal].is-visible{transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(.35em)}}@keyframes fade-up{0%{opacity:0;transform:translateY(1rem)}}@keyframes wipe-in{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}@keyframes settle{0%{transform:scale(1.12)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes light{0%{color:#6f7277}}@keyframes land{0%{background:transparent;color:#6f7277;transform:scale(1)}45%{background:var(--signal);color:var(--charcoal);transform:scale(1.3)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}@media (max-width: 60rem){.hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;min-height:0}.hero__photo{grid-column:1;grid-row:1;height:min(78vw,30rem)}.hero__photo:after{background:linear-gradient(to top,var(--charcoal) 8%,transparent 55%)}.hero__text{grid-row:2;margin-top:-3rem;padding-top:0}.versions{grid-row:3}.versions__list{gap:.25rem;font-size:clamp(.8rem,3.6vw,1.1rem)}.bar__brand{display:none}.bar__links{margin:0;gap:1.25rem}.section__inner{grid-template-columns:minmax(0,1fr)}.section__head{position:static;margin-bottom:1rem}.timeline{--when: 0rem;--gap: 0rem}.timeline__item{grid-template-columns:minmax(0,1fr)}.timeline__when{text-align:left;padding:0 0 .5rem 1.75rem}.timeline__body:before{top:-2.25rem}.timeline:before,.timeline:after{top:0}.badges li{grid-template-columns:5.5rem minmax(0,1fr)}.badges img{max-height:4.5rem}}@media (max-width: 30rem){.facts{grid-template-columns:minmax(0,1fr);gap:0}.facts dd{margin-bottom:.75rem}}.oss-projects h3{display:inline;margin:0;font-size:inherit;line-height:inherit}.oss-projects h3:after{content:": "}.oss-projects p{display:inline;margin:0}.motto__source{margin-top:.5rem;font-family:var(--body);font-weight:400;font-size:var(--step--1)}.button-row{margin:1.5rem 0 0}
