@import url(https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap);.svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;-moz-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;-moz-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);-moz-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;-moz-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);-moz-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;-moz-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);-moz-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;-moz-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);-moz-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;-moz-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);-moz-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);-moz-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);-moz-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);-moz-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}:root{--color-paper:oklch(97% 0.005 130);--color-paper-2:oklch(93% 0.008 130);--color-paper-3:oklch(88% 0.010 130);--color-rule:oklch(82% 0.010 130);--color-neutral:oklch(55% 0.008 130);--color-muted:oklch(38% 0.008 120);--color-ink:oklch(18% 0.010 110);--color-accent:oklch(52% 0.17 145);--color-accent-soft:oklch(65% 0.12 145);--color-focus:oklch(60% 0.19 145);--color-success:oklch(55% 0.16 150);--color-error:oklch(50% 0.19 25);--font-display:"Archivo",ui-sans-serif,system-ui,sans-serif;--font-body:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--font-outlier:"JetBrains Mono","Geist Mono",ui-monospace,monospace;--text-xs:0.64rem;--text-sm:0.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-4xl:3.8147rem;--text-display:clamp(2.75rem,5vw + 1rem,5.25rem);--space-3xs:0.125rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--page-gutter:clamp(1rem,4vw,2.5rem);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:120ms;--dur-short:220ms;--dur-long:420ms;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--rule-hairline:0.5px;--rule-thin:1px;--rule-thick:2px;--bg-primary:var(--color-paper);--bg-secondary:var(--color-paper-2);--bg-card:var(--color-paper-2);--bg-card-hover:var(--color-paper-3);--text-primary:var(--color-ink);--text-secondary:var(--color-muted);--primary-accent:var(--color-accent);--secondary-accent:var(--color-accent-soft);--border-color:var(--color-rule);--shadow-color:transparent;--gradient-primary:var(--color-accent);--gradient-text:var(--color-accent);--gradient-glass:transparent;--nav-bg:var(--color-paper);--font-heading:var(--font-display);--font-main:var(--font-body);--dot-color:var(--color-rule);--color-overlay:oklch(0% 0 0/0.3);--color-selection:oklch(62% 0.10 145/0.2);--shadow-whisper:0 1px 2px oklch(20% 0.01 130/0.05);--shadow-hairline:0 0 0 1px oklch(30% 0.01 130/0.06)}[data-theme=dark]{--color-paper:oklch(14% 0.008 130);--color-paper-2:oklch(18% 0.010 130);--color-paper-3:oklch(24% 0.010 130);--color-rule:oklch(30% 0.008 130);--color-neutral:oklch(55% 0.008 130);--color-muted:oklch(68% 0.006 120);--color-ink:oklch(93% 0.006 110);--color-accent:oklch(62% 0.15 145);--color-accent-soft:oklch(52% 0.10 145);--color-focus:oklch(68% 0.17 145);--color-success:oklch(60% 0.14 150);--color-error:oklch(58% 0.17 25);--color-overlay:oklch(0% 0 0/0.5);--color-selection:oklch(52% 0.10 145/0.25);--shadow-whisper:0 1px 2px oklch(10% 0.01 130/0.12);--shadow-hairline:0 0 0 1px oklch(50% 0.01 130/0.08)}*,:after,:before{padding:0;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-tap-highlight-color:transparent}body,html{overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:350;line-height:1.6;color:var(--color-ink);background-color:var(--color-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}main{position:relative;z-index:var(--z-base)}.dotted-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-moz-calc(var(--z-base) - 1);z-index:calc(var(--z-base) - 1);opacity:.3;background-image:-webkit-radial-gradient(circle,var(--color-rule) 1px,transparent 1px);background-image:-moz-radial-gradient(circle,var(--color-rule) 1px,transparent 1px);background-image:radial-gradient(circle,var(--color-rule) 1px,transparent 1px);background-size:16px 16px}.skip-link{position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);z-index:var(--z-toast);padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-sm);-webkit-transform:translateY(-160%);-moz-transform:translateY(-160%);transform:translateY(-160%);-webkit-transition:-webkit-transform var(--dur-short) var(--ease-out);transition:-webkit-transform var(--dur-short) var(--ease-out);-moz-transition:transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out)}.skip-link:focus{-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;font-style:normal;letter-spacing:-.015em;color:var(--color-ink);line-height:1.15;text-wrap:balance}dd,figcaption,li,p{max-width:65ch;line-height:1.6;text-wrap:pretty}a{color:inherit;text-decoration:none;-webkit-transition:color var(--dur-short) var(--ease-out);-moz-transition:color var(--dur-short) var(--ease-out);transition:color var(--dur-short) var(--ease-out)}a:hover{color:var(--color-accent)}::-moz-selection{background:var(--color-selection);color:var(--color-ink)}::selection{background:var(--color-selection);color:var(--color-ink)}:focus-visible{outline:var(--rule-thick) solid var(--color-focus);outline-offset:3px}.containerCont{width:100%;max-width:72rem;padding-inline:var(--page-gutter);margin:0 auto}.sectionCont{padding-block:var(--space-4xl) var(--space-3xl)}@media (max-width:40rem){.sectionCont{padding-block:var(--space-2xl)}}.sectionCont h2{font-family:var(--font-display);font-size:clamp(var(--text-2xl),4vw,var(--text-3xl));font-weight:600;margin-bottom:var(--space-xl);display:block;line-height:1.05;letter-spacing:-.035em}.sectionCont h2:after{content:"";display:block;width:2.5rem;height:var(--rule-thin);margin-top:var(--space-sm);background:var(--color-accent)}.hallmark-nav{display:grid;grid-template-columns:auto 1fr auto;grid-gap:var(--space-xl);gap:var(--space-xl);-moz-box-align:center;align-items:center;min-height:4.75rem;padding:var(--space-md) var(--page-gutter);position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in oklch,var(--color-paper) 88%,transparent);border-bottom:var(--rule-hairline) solid var(--color-rule);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hallmark-nav__wordmark{font-family:var(--font-outlier);font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;color:var(--color-ink);white-space:nowrap}.hallmark-nav__links{display:-moz-box;display:flex;-moz-box-align:center;align-items:center;-moz-box-pack:center;justify-content:center;grid-gap:clamp(var(--space-md),2.5vw,var(--space-xl));gap:clamp(var(--space-md),2.5vw,var(--space-xl))}.hallmark-nav__links a{position:relative;padding-block:var(--space-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-muted)}.hallmark-nav__links a:after{content:"";position:absolute;inset-inline:0;inset-block-end:0;height:1px;background:var(--color-accent);-webkit-transform:scaleX(0);-moz-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;-moz-transform-origin:left;transform-origin:left;-webkit-transition:-webkit-transform var(--dur-short) var(--ease-out);transition:-webkit-transform var(--dur-short) var(--ease-out);-moz-transition:transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out)}.hallmark-nav__links a:hover,.hallmark-nav__links a[aria-current=location]{color:var(--color-ink)}.hallmark-nav__links a:hover:after,.hallmark-nav__links a[aria-current=location]:after{-webkit-transform:scaleX(1);-moz-transform:scaleX(1);transform:scaleX(1)}.hallmark-nav__actions{grid-gap:var(--space-sm);gap:var(--space-sm)}.hallmark-nav__actions,.hallmark-nav__toggle{display:-moz-box;display:flex;-moz-box-align:center;align-items:center}.hallmark-nav__toggle{background:none;border:var(--rule-hairline) solid var(--color-rule);color:var(--color-muted);cursor:pointer;width:2.75rem;height:2.75rem;border-radius:var(--radius-full);-moz-box-pack:center;justify-content:center;font-size:var(--text-md);-webkit-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);-moz-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.hallmark-nav__menu-toggle{display:none}@media (hover:hover){.hallmark-nav__toggle:hover{color:var(--color-accent);border-color:var(--color-accent)}}.hero-split{min-height:-moz-calc(100dvh - 4.75rem);min-height:calc(100dvh - 4.75rem);display:-moz-box;display:flex;padding:var(--space-2xl) var(--page-gutter) var(--space-3xl)}.hero-split,.hero-split__grid{-moz-box-align:center;align-items:center}.hero-split__grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:var(--space-3xl);gap:var(--space-3xl);width:100%;max-width:72rem;margin:0 auto}.hero-split__text{display:-moz-box;display:flex;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;grid-gap:var(--space-md);gap:var(--space-md)}.availability{display:-moz-inline-box;display:inline-flex;-moz-box-align:center;align-items:center;align-self:flex-start;grid-gap:var(--space-xs);gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-full);font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-muted);background:var(--color-paper-2)}.availability span{width:.5rem;height:.5rem;border-radius:var(--radius-full);background:var(--color-success);-webkit-box-shadow:0 0 0 4px color-mix(in oklch,var(--color-success) 15%,transparent);box-shadow:0 0 0 4px color-mix(in oklch,var(--color-success) 15%,transparent)}.hero-split__kicker{font-family:var(--font-outlier);font-size:var(--text-sm);font-weight:500;color:var(--color-accent);letter-spacing:.06em;text-transform:uppercase}.hero-split__name{font-family:var(--font-display);font-size:clamp(2.75rem,6vw,5rem);font-weight:700;line-height:1.05;letter-spacing:-.025em;color:var(--color-ink);overflow-wrap:anywhere;min-width:0}.hero-split__role{font-family:var(--font-body);font-size:var(--text-lg);font-weight:400;color:var(--color-muted);line-height:1.4;max-width:48ch}.hero-split__credential{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.04em}.hero-split__contacts{display:-moz-box;display:flex;flex-wrap:wrap;grid-gap:var(--space-sm) var(--space-xl);gap:var(--space-sm) var(--space-xl);font-family:var(--font-body);font-size:var(--text-sm)}.hero-split__contacts,.hero-split__contacts a{color:var(--color-muted)}.hero-split__contacts a:hover{color:var(--color-accent)}.hero-split__actions{display:-moz-box;display:flex;grid-gap:var(--space-md);gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-sm)}.hero-split__actions,.hero-split__cta{-moz-box-align:center;align-items:center}.hero-split__cta{display:-moz-inline-box;display:inline-flex;grid-gap:var(--space-xs);gap:var(--space-xs);padding:var(--space-sm) var(--space-xl);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-paper);background:var(--color-ink);border:none;border-radius:var(--radius-full);cursor:pointer;text-decoration:none;white-space:nowrap;-webkit-transition:background var(--dur-short) var(--ease-out),-webkit-transform .1s var(--ease-out);transition:background var(--dur-short) var(--ease-out),-webkit-transform .1s var(--ease-out);-moz-transition:background var(--dur-short) var(--ease-out),transform .1s var(--ease-out),-moz-transform .1s var(--ease-out);transition:background var(--dur-short) var(--ease-out),transform .1s var(--ease-out);transition:background var(--dur-short) var(--ease-out),transform .1s var(--ease-out),-webkit-transform .1s var(--ease-out),-moz-transform .1s var(--ease-out)}@media (hover:hover){.hero-split__cta:hover{background:var(--color-accent);color:var(--color-paper);-webkit-transform:translateY(-1px);-moz-transform:translateY(-1px);transform:translateY(-1px)}}.hero-split__cta:active{-webkit-transform:translateY(1px);-moz-transform:translateY(1px);transform:translateY(1px)}.hero-split__secondary{display:-moz-inline-box;display:inline-flex;-moz-box-align:center;align-items:center;grid-gap:var(--space-xs);gap:var(--space-xs);padding:var(--space-sm) 0;font-size:var(--text-sm);font-weight:500;border-bottom:var(--rule-thin) solid var(--color-rule)}.hero-split__visual{position:relative;display:-moz-box;display:flex;-moz-box-pack:center;justify-content:center;min-height:31rem}.hero-constellation{position:absolute;inset:-3.5rem -3rem;z-index:0;pointer-events:none;opacity:.92}.hero-constellation:before{content:"";position:absolute;inset:18% 16%;border:var(--rule-hairline) solid color-mix(in oklch,var(--color-accent) 20%,transparent);border-radius:50%;-webkit-transform:rotate(-12deg) scaleY(.68);-moz-transform:rotate(-12deg) scaleY(.68);transform:rotate(-12deg) scaleY(.68)}.hero-constellation canvas{display:block;width:100%;height:100%}.hero-constellation[data-webgl-fallback=true]:after{content:"";position:absolute;inset:28% 24%;border-radius:50%;background:-webkit-radial-gradient(circle,color-mix(in oklch,var(--color-accent) 16%,transparent),transparent 68%);background:-moz-radial-gradient(circle,color-mix(in oklch,var(--color-accent) 16%,transparent),transparent 68%);background:radial-gradient(circle,color-mix(in oklch,var(--color-accent) 16%,transparent),transparent 68%)}.hero-split__portrait{position:relative;width:min(100%,23rem);padding:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-lg);background:color-mix(in oklch,var(--color-paper-2) 88%,transparent);-webkit-transform:rotate(1.5deg);-moz-transform:rotate(1.5deg);transform:rotate(1.5deg);-webkit-box-shadow:1.5rem 1.5rem 0 color-mix(in oklch,var(--color-accent) 10%,transparent);box-shadow:1.5rem 1.5rem 0 color-mix(in oklch,var(--color-accent) 10%,transparent);z-index:1}.hero-split__portrait:before{content:"";position:absolute;width:5rem;height:5rem;inset-block-start:-1.5rem;inset-inline-end:-1.5rem;-webkit-border-before:var(--rule-thin) solid var(--color-accent);border-block-start:var(--rule-thin) solid var(--color-accent);-webkit-border-end:var(--rule-thin) solid var(--color-accent);-moz-border-end:var(--rule-thin) solid var(--color-accent);border-inline-end:var(--rule-thin) solid var(--color-accent)}.hero-split__portrait-index{display:block;padding:var(--space-xs) var(--space-xs) var(--space-sm);font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.08em}.hero-split__photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:var(--radius-md);-webkit-filter:saturate(.86) contrast(1.03);filter:saturate(.86) contrast(1.03)}.social-icon-link{display:-moz-box;display:flex;-moz-box-align:center;align-items:center;-moz-box-pack:center;justify-content:center;width:2.75rem;height:2.75rem;border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-full);color:var(--color-muted);-webkit-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);-moz-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}@media (hover:hover){.social-icon-link:hover{color:var(--color-accent);border-color:var(--color-accent)}}.card{background:var(--color-paper-2);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-lg);-webkit-transition:border-color var(--dur-short) var(--ease-out);-moz-transition:border-color var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out)}@media (hover:hover){.card:hover{border-color:var(--color-accent)}}.sectionContAbout header h3{max-width:36rem;color:var(--color-muted);font-size:var(--text-md);font-weight:400}.about-panel{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(15rem,.7fr);grid-gap:var(--space-3xl);gap:var(--space-3xl);-moz-box-align:end;align-items:end;padding-block:var(--space-xl);border-block:var(--rule-hairline) solid var(--color-rule)}.about-panel__copy{display:grid;grid-gap:var(--space-md);gap:var(--space-md);font-size:var(--text-md)}.about-panel__copy strong{font-weight:600;color:var(--color-ink)}.about-panel__links{display:-moz-box;display:flex;-moz-box-pack:end;justify-content:flex-end;grid-gap:var(--space-sm);gap:var(--space-sm);flex-wrap:wrap}.sectionContExperience{max-width:64rem}.timeline{position:relative;-webkit-padding-start:var(--space-2xl);-moz-padding-start:var(--space-2xl);padding-inline-start:var(--space-2xl);-webkit-border-start:var(--rule-thin) solid var(--color-rule);-moz-border-start:var(--rule-thin) solid var(--color-rule);border-inline-start:var(--rule-thin) solid var(--color-rule)}.timeline-item{position:relative;margin-bottom:var(--space-xl)}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;inset-inline-start:-moz-calc(-1 * var(--space-2xl) - .38rem);inset-inline-start:calc(-1 * var(--space-2xl) - .38rem);top:var(--space-xl);width:.75rem;height:.75rem;background:var(--color-accent);border:3px solid var(--color-paper);border-radius:var(--radius-full);-webkit-box-shadow:0 0 0 1px var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.timeline-content{padding:var(--space-xl);background:color-mix(in oklch,var(--color-paper-2) 82%,transparent);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-lg)}.timeline-header{display:-moz-box;display:flex;-moz-box-pack:justify;justify-content:space-between;-moz-box-align:start;align-items:flex-start;margin-bottom:var(--space-md);flex-wrap:wrap;grid-gap:var(--space-md);gap:var(--space-md)}.timeline-title h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2xs)}.timeline-company{display:-moz-box;display:flex;-moz-box-align:center;align-items:center;grid-gap:var(--space-xs);gap:var(--space-xs);color:var(--color-muted);font-family:var(--font-body)}.timeline-company,.timeline-date{font-size:var(--text-sm);font-weight:500}.timeline-date{color:var(--color-accent);background:var(--color-paper);border:var(--rule-hairline) solid var(--color-rule);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-full);white-space:nowrap;font-family:var(--font-outlier);-webkit-font-feature-settings:"tnum";-moz-font-feature-settings:"tnum";font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-date svg{-webkit-margin-end:var(--space-xs);-moz-margin-end:var(--space-xs);margin-inline-end:var(--space-xs)}.timeline-details{list-style:none;margin-top:var(--space-md)}.timeline-details li{position:relative;-webkit-padding-start:var(--space-lg);-moz-padding-start:var(--space-lg);padding-inline-start:var(--space-lg);margin-bottom:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.timeline-details li:before{content:"\2014";position:absolute;inset-inline-start:0;color:var(--color-accent)}.timeline-details-toggle{display:none;width:100%;-moz-box-align:center;align-items:center;-moz-box-pack:justify;justify-content:space-between;margin-top:var(--space-md);padding:var(--space-sm) 0 0;color:var(--color-ink);background:none;border:0;border-top:var(--rule-hairline) solid var(--color-rule);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.timeline-details-toggle span{font-family:var(--font-outlier);color:var(--color-accent);font-size:var(--text-md)}.sectionContEducation{max-width:64rem}.education-card{padding:var(--space-xl);background:var(--color-ink);border-radius:var(--radius-lg)}.education-card,.education-card h3,.education-card h4{color:var(--color-paper)}.education-card h3{margin-block:var(--space-md) var(--space-xs)}.education-card h4{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;opacity:.72}.education-card ul{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);margin-top:var(--space-lg);-webkit-padding-start:var(--space-lg);-moz-padding-start:var(--space-lg);padding-inline-start:var(--space-lg)}.education-card li{color:var(--color-paper);opacity:.78;font-size:var(--text-sm)}.education-date{font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-accent-soft)}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:var(--rule-hairline) solid var(--color-rule)}.skill-group{padding:var(--space-xl);-webkit-border-after:var(--rule-hairline) solid var(--color-rule);border-block-end:var(--rule-hairline) solid var(--color-rule)}.skill-group:nth-child(odd){-webkit-border-end:var(--rule-hairline) solid var(--color-rule);-moz-border-end:var(--rule-hairline) solid var(--color-rule);border-inline-end:var(--rule-hairline) solid var(--color-rule);-webkit-padding-start:0;-moz-padding-start:0;padding-inline-start:0}.skill-group:nth-child(2n){-webkit-padding-end:0;-moz-padding-end:0;padding-inline-end:0}.skill-group:nth-last-child(-n+2){-webkit-border-after:0;border-block-end:0}.skill-group h3{display:-moz-box;display:flex;-moz-box-align:center;align-items:center;grid-gap:var(--space-sm);gap:var(--space-sm);margin-bottom:var(--space-lg);font-size:var(--text-md)}.skill-group h3 svg{color:var(--color-accent);font-size:var(--text-base)}.skill-group__tags{display:-moz-box;display:flex;flex-wrap:wrap;grid-gap:var(--space-xs);gap:var(--space-xs)}.projects-heading{display:-moz-box;display:flex;-moz-box-align:end;align-items:flex-end;-moz-box-pack:justify;justify-content:space-between;grid-gap:var(--space-xl);gap:var(--space-xl);margin-bottom:var(--space-xl)}.projects-heading h2{margin-bottom:var(--space-sm)}.projects-heading h2:after{display:none}.projects-heading p{color:var(--color-muted)}.projects-heading__aside{display:grid;justify-items:end;grid-gap:var(--space-sm);gap:var(--space-sm);-moz-box-flex:0;flex:0 0 auto;text-align:end}.projects-count{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-muted)}.projects-store-link{display:-moz-inline-box;display:inline-flex;-moz-box-align:center;align-items:center;grid-gap:var(--space-xs);gap:var(--space-xs);padding-bottom:var(--space-2xs);border-bottom:var(--rule-thin) solid var(--color-rule);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.projects-store-link svg{color:var(--color-accent);font-size:var(--text-sm)}.project-filters{display:-moz-box;display:flex;flex-wrap:wrap;grid-gap:var(--space-xs);gap:var(--space-xs);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:var(--rule-hairline) solid var(--color-rule)}.project-filter{padding:var(--space-xs) var(--space-md);color:var(--color-muted);background:transparent;border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-full);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;-webkit-transition:color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),-webkit-transform var(--dur-micro) var(--ease-out);transition:color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),-webkit-transform var(--dur-micro) var(--ease-out);-moz-transition:color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),-moz-transform var(--dur-micro) var(--ease-out);transition:color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out);transition:color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),-webkit-transform var(--dur-micro) var(--ease-out),-moz-transform var(--dur-micro) var(--ease-out)}.project-filter:hover{color:var(--color-ink);border-color:var(--color-accent)}.project-filter:active{-webkit-transform:scale(.98);-moz-transform:scale(.98);transform:scale(.98)}.project-filter--active{background:var(--color-ink)}.project-filter--active,.project-filter--active:hover{color:var(--color-paper);border-color:var(--color-ink)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-md);gap:var(--space-md)}.project-card{position:relative;min-height:24rem;padding:var(--space-xl);display:-moz-box;display:flex;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;background:color-mix(in oklch,var(--color-paper-2) 88%,transparent);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-lg);overflow:hidden;-webkit-transition:border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out);-moz-transition:transform var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out)}@media (hover:hover){.project-card:hover{-webkit-transform:translateY(-4px);-moz-transform:translateY(-4px);transform:translateY(-4px);border-color:var(--color-accent);background:var(--color-paper-2)}}.project-header{display:-moz-box;display:flex;-moz-box-pack:justify;justify-content:space-between;-moz-box-align:center;align-items:center;margin-bottom:var(--space-lg)}.project-index{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.08em}.project-header .icon-box{font-size:var(--text-2xl);color:var(--color-accent)}.project-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-sm)}.project-card p{color:var(--color-muted);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-lg);-moz-box-flex:1;flex-grow:1}.project-tags{display:-moz-box;display:flex;flex-wrap:wrap;grid-gap:var(--space-xs);gap:var(--space-xs);font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-muted)}.project-tags span{background:var(--color-paper);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-accent)}.project-proof{display:-moz-inline-box;display:inline-flex;-moz-box-align:center;align-items:center;grid-gap:var(--space-xs);gap:var(--space-xs);margin-top:var(--space-md);color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);-webkit-font-feature-settings:"tnum";-moz-font-feature-settings:"tnum";font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-proof svg{color:var(--color-accent)}.project-card__link{align-self:flex-start;display:-moz-inline-box;display:inline-flex;-moz-box-align:center;align-items:center;grid-gap:var(--space-xs);gap:var(--space-xs);margin-top:var(--space-xl);padding-bottom:var(--space-2xs);border-bottom:var(--rule-thin) solid var(--color-rule);font-size:var(--text-sm);font-weight:600}.project-card__link svg{font-size:var(--text-xs);-webkit-transition:-webkit-transform var(--dur-short) var(--ease-out);transition:-webkit-transform var(--dur-short) var(--ease-out);-moz-transition:transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out);transition:transform var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out)}.project-card__link:hover svg{-webkit-transform:translate(2px,-2px);-moz-transform:translate(2px,-2px);transform:translate(2px,-2px)}.certificate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:var(--space-md);gap:var(--space-md)}.cert-card{width:100%;color:var(--color-ink);background:color-mix(in oklch,var(--color-paper-2) 86%,transparent);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-md);overflow:hidden;text-align:start;font:inherit;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in;-webkit-transition:border-color var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out);-moz-transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out)}@media (hover:hover){.cert-card:hover{border-color:var(--color-accent);-webkit-transform:translateY(-3px);-moz-transform:translateY(-3px);transform:translateY(-3px)}}.cert-img-wrapper{width:100%;aspect-ratio:3/2;position:relative;background:var(--color-paper-3);border-bottom:var(--rule-hairline) solid var(--color-rule)}.cert-img-wrapper img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cert-preview-label{position:absolute;inset-inline-end:var(--space-sm);inset-block-end:var(--space-sm);padding:var(--space-2xs) var(--space-sm);color:var(--color-paper);background:color-mix(in oklch,var(--color-ink) 88%,transparent);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;opacity:0;-webkit-transform:translateY(.25rem);-moz-transform:translateY(.25rem);transform:translateY(.25rem);-webkit-transition:opacity var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out);transition:opacity var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out);-moz-transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),-webkit-transform var(--dur-short) var(--ease-out),-moz-transform var(--dur-short) var(--ease-out)}.cert-card:focus-visible .cert-preview-label,.cert-card:hover .cert-preview-label{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}.cert-info{padding:var(--space-md)}.cert-info h3{font-size:var(--text-base);font-weight:600}.certificate-dialog{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--page-gutter);background:color-mix(in oklch,var(--color-ink) 72%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-animation:dialog-fade var(--dur-short) var(--ease-out) both;animation:dialog-fade var(--dur-short) var(--ease-out) both}.certificate-dialog__panel{width:min(100%,68rem);max-height:-moz-calc(100dvh - 2 * var(--page-gutter));max-height:calc(100dvh - 2 * var(--page-gutter));display:-moz-box;display:flex;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;padding:var(--space-lg);background:var(--color-paper);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-lg);-webkit-box-shadow:0 2rem 5rem color-mix(in oklch,var(--color-ink) 30%,transparent);box-shadow:0 2rem 5rem color-mix(in oklch,var(--color-ink) 30%,transparent);-webkit-animation:dialog-rise var(--dur-long) var(--ease-out) both;animation:dialog-rise var(--dur-long) var(--ease-out) both}.certificate-dialog__header{display:-moz-box;display:flex;-moz-box-align:start;align-items:flex-start;-moz-box-pack:justify;justify-content:space-between;grid-gap:var(--space-lg);gap:var(--space-lg);margin-bottom:var(--space-md)}.certificate-dialog__header span{display:block;margin-bottom:var(--space-2xs);font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em}.certificate-dialog__header h2{font-size:var(--text-lg)}.certificate-dialog__close{-moz-box-flex:0;flex:0 0 auto;display:grid;place-items:center;width:2.75rem;height:2.75rem;color:var(--color-ink);background:var(--color-paper-2);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-full);font:inherit;font-size:var(--text-lg);cursor:pointer;-webkit-transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),-webkit-transform var(--dur-micro) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),-webkit-transform var(--dur-micro) var(--ease-out);-moz-transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),-moz-transform var(--dur-micro) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),-webkit-transform var(--dur-micro) var(--ease-out),-moz-transform var(--dur-micro) var(--ease-out)}.certificate-dialog__close:hover{color:var(--color-accent);border-color:var(--color-accent)}.certificate-dialog__close:active{-webkit-transform:scale(.96);-moz-transform:scale(.96);transform:scale(.96)}.certificate-dialog__image{min-height:0;-moz-box-flex:1;flex:1 1;display:grid;place-items:center;overflow:auto;background:var(--color-paper-2);border-radius:var(--radius-md)}.certificate-dialog__image img{display:block;max-width:100%;max-height:-moz-calc(100dvh - 13rem);max-height:calc(100dvh - 13rem);object-fit:contain}.certificate-dialog__original{align-self:flex-start;display:-moz-inline-box;display:inline-flex;grid-gap:var(--space-xs);gap:var(--space-xs);margin-top:var(--space-md);padding-bottom:var(--space-2xs);border-bottom:var(--rule-thin) solid var(--color-rule);font-size:var(--text-sm);font-weight:600}@-webkit-keyframes dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}@-webkit-keyframes dialog-rise{0%{opacity:0;-webkit-transform:translateY(1rem) scale(.985);transform:translateY(1rem) scale(.985)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes dialog-rise{0%{opacity:0;-webkit-transform:translateY(1rem) scale(.985);-moz-transform:translateY(1rem) scale(.985);transform:translateY(1rem) scale(.985)}to{opacity:1;-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}.skill-tag{background:var(--color-paper-2);color:var(--color-ink);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);border:var(--rule-hairline) solid var(--color-rule);font-size:var(--text-sm);font-weight:400;display:inline-block;-webkit-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),-webkit-transform .1s var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),-webkit-transform .1s var(--ease-out);-moz-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out),-moz-transform .1s var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out),-webkit-transform .1s var(--ease-out),-moz-transform .1s var(--ease-out)}@media (hover:hover){.skill-tag:hover{color:var(--color-accent);border-color:var(--color-accent);-webkit-transform:translateY(-1px);-moz-transform:translateY(-1px);transform:translateY(-1px)}}.badge-btn{display:-moz-inline-box;display:inline-flex;-moz-box-align:center;align-items:center;grid-gap:var(--space-xs);gap:var(--space-xs);padding:var(--space-xs) var(--space-lg);background:var(--color-paper-2);color:var(--color-ink);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;-webkit-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),-webkit-transform .1s var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),-webkit-transform .1s var(--ease-out);-moz-transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out),-moz-transform .1s var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out),-webkit-transform .1s var(--ease-out),-moz-transform .1s var(--ease-out)}@media (hover:hover){.badge-btn:hover{color:var(--color-accent);border-color:var(--color-accent);-webkit-transform:translateY(-1px);-moz-transform:translateY(-1px);transform:translateY(-1px)}}.contact-layout{display:grid;grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr);grid-gap:var(--space-3xl);gap:var(--space-3xl);-moz-box-align:start;align-items:start}.contact-intro{position:sticky;top:7rem}.contact-intro>p{font-size:var(--text-md);color:var(--color-muted);line-height:1.65}.contact-intro__meta{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);margin-block:var(--space-xl);padding-block:var(--space-lg);border-block:var(--rule-hairline) solid var(--color-rule);font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-muted)}.contact-intro__meta span:before{content:"—";-webkit-margin-end:var(--space-xs);-moz-margin-end:var(--space-xs);margin-inline-end:var(--space-xs);color:var(--color-accent)}.contact-socials{display:-moz-box;display:flex;flex-wrap:wrap;grid-gap:var(--space-sm);gap:var(--space-sm)}.contact-form{padding:var(--space-xl);background:color-mix(in oklch,var(--color-paper-2) 90%,transparent);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-whisper);box-shadow:var(--shadow-whisper)}.contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-md);gap:var(--space-md)}.contact-form__field{margin-bottom:var(--space-lg)}.contact-form__field label{display:block;margin-bottom:var(--space-xs);font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.contact-form__optional{color:var(--color-muted);font-weight:400}.contact-form input,.contact-form textarea{width:100%;padding:var(--space-sm) var(--space-md);font:inherit;font-size:var(--text-sm);color:var(--color-ink);background:var(--color-paper);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);outline:none;-webkit-transition:border-color var(--dur-short) var(--ease-out),-webkit-box-shadow var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),-webkit-box-shadow var(--dur-short) var(--ease-out);-moz-transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),-webkit-box-shadow var(--dur-short) var(--ease-out)}.contact-form textarea{resize:vertical;min-height:9rem}.contact-form input::-webkit-input-placeholder,.contact-form textarea::-webkit-input-placeholder{color:var(--color-neutral)}.contact-form input:-ms-input-placeholder,.contact-form textarea:-ms-input-placeholder{color:var(--color-neutral)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-neutral)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-focus);-webkit-box-shadow:0 0 0 3px color-mix(in oklch,var(--color-focus) 14%,transparent);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-focus) 14%,transparent)}.contact-form input:disabled,.contact-form textarea:disabled{cursor:not-allowed;opacity:.6}.contact-form__honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-form__error{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);color:var(--color-error);background:color-mix(in oklch,var(--color-error) 8%,transparent);-webkit-border-start:2px solid var(--color-error);-moz-border-start:2px solid var(--color-error);border-inline-start:2px solid var(--color-error);font-size:var(--text-sm)}.contact-form__submit{width:100%;-moz-box-pack:center;justify-content:center}.contact-form__submit:disabled{cursor:wait;opacity:.6}.contact-form--success{min-height:28rem;display:-moz-box;display:flex;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;-moz-box-align:center;align-items:center;-moz-box-pack:center;justify-content:center;text-align:center}.contact-form__success-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-bottom:var(--space-lg);color:var(--color-paper);background:var(--color-success);border-radius:var(--radius-full);font-size:var(--text-lg)}.contact-form__success-title{margin-bottom:var(--space-xs);font-family:var(--font-display);font-size:var(--text-xl)}.contact-form--success>p:not(.contact-form__success-title){margin-bottom:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm)}.hallmark-footer{padding:var(--space-4xl) var(--page-gutter) var(--space-2xl)}.hallmark-footer__inner{max-width:60ch;margin:0 auto;text-align:center}.hallmark-footer__close{font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;line-height:1.4;color:var(--color-ink)}.hallmark-footer__sign{font-style:normal;font-weight:600}.hallmark-footer__ps{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-md);font-family:var(--font-body)}.hallmark-footer__ps a{color:var(--color-accent)}.target{height:5rem;margin-top:-5rem;visibility:hidden}.colorBlue,.colorRed{display:none}.rowFlexRes{display:-moz-box;display:flex;-moz-box-pack:justify;justify-content:space-between;grid-gap:var(--space-2xl);gap:var(--space-2xl);flex-wrap:wrap}.sectionContEducation,.sectionContExperience{min-width:min(100%,300px)}.reveal-enabled [data-reveal]{opacity:0;-webkit-transform:translateY(1.5rem);-moz-transform:translateY(1.5rem);transform:translateY(1.5rem);-webkit-transition:opacity .7s var(--ease-out),-webkit-transform .7s var(--ease-out);transition:opacity .7s var(--ease-out),-webkit-transform .7s var(--ease-out);-moz-transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),-moz-transform .7s var(--ease-out);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),-webkit-transform .7s var(--ease-out),-moz-transform .7s var(--ease-out)}.reveal-enabled [data-reveal].is-visible{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-paper)}::-webkit-scrollbar-thumb{background:var(--color-neutral);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:.01ms!important;-moz-transition-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}[data-reveal]{opacity:1!important;-webkit-transform:none!important;-moz-transform:none!important;transform:none!important}}@media (max-width:60rem){.hallmark-nav{grid-template-columns:1fr auto}.hallmark-nav__links{display:none}.hallmark-nav__menu-toggle{display:-moz-box;display:flex}.hero-split__grid{grid-template-columns:1fr;grid-gap:var(--space-2xl);gap:var(--space-2xl);text-align:center}.hero-split__text{-moz-box-align:center;align-items:center;-moz-box-ordinal-group:3;order:2}.hero-split__visual{-moz-box-ordinal-group:2;order:1;min-height:25rem}.hero-constellation{inset:-2.5rem -2rem}.hero-split__portrait{width:min(70vw,18rem)}.hero-split__name{font-size:clamp(2.25rem,8vw,3.5rem)}.hero-split__actions,.hero-split__contacts{-moz-box-pack:center;justify-content:center}.availability{align-self:center}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{grid-template-columns:1fr;grid-gap:var(--space-xl);gap:var(--space-xl)}.contact-intro{position:static}}@media (max-width:40rem){:root{--page-gutter:clamp(0.875rem,4vw,1.25rem)}.hero-split{min-height:auto;padding-block:var(--space-3xl)}.hero-split__grid{grid-gap:var(--space-xl);gap:var(--space-xl)}.hero-split__portrait{width:min(76vw,16rem);-webkit-box-shadow:.75rem .75rem 0 color-mix(in oklch,var(--color-accent) 10%,transparent);box-shadow:.75rem .75rem 0 color-mix(in oklch,var(--color-accent) 10%,transparent)}.hero-split__visual{min-height:22rem}.hero-constellation{inset:-2rem -1.25rem;opacity:.72}.hero-split__name{font-size:clamp(2rem,9vw,2.75rem)}.hero-split__role{font-size:var(--text-md)}.hero-split__actions{grid-gap:var(--space-sm) var(--space-md);gap:var(--space-sm) var(--space-md)}.hero-split__cta{padding-inline:var(--space-lg)}.about-panel{grid-template-columns:1fr;grid-gap:var(--space-xl);gap:var(--space-xl)}.about-panel__copy{font-size:var(--text-base)}.about-panel__links{-moz-box-pack:start;justify-content:flex-start}.timeline{-webkit-padding-start:var(--space-lg);-moz-padding-start:var(--space-lg);padding-inline-start:var(--space-lg)}.timeline-marker{inset-inline-start:-moz-calc(-1 * var(--space-lg) - .38rem);inset-inline-start:calc(-1 * var(--space-lg) - .38rem)}.timeline-content{padding:var(--space-lg)}.timeline-date{white-space:normal}.timeline-details-toggle{display:-moz-box;display:flex}.timeline-details{display:none}.timeline-details--expanded{display:block;-webkit-animation:details-reveal var(--dur-long) var(--ease-out) both;animation:details-reveal var(--dur-long) var(--ease-out) both}.skills-grid{grid-template-columns:1fr}.skill-group,.skill-group:nth-child(2n),.skill-group:nth-child(odd){padding:var(--space-lg) 0;border-inline:0;-webkit-border-after:var(--rule-hairline) solid var(--color-rule);border-block-end:var(--rule-hairline) solid var(--color-rule)}.skill-group:last-child{-webkit-border-after:0;border-block-end:0}.project-grid{grid-template-columns:1fr}.project-card{min-height:21rem}.projects-heading{-moz-box-align:start;align-items:flex-start}.projects-heading__aside{justify-items:start;text-align:start}.project-filters{flex-wrap:nowrap;margin-inline:-moz-calc(-1 * var(--page-gutter));margin-inline:calc(-1 * var(--page-gutter));padding-inline:var(--page-gutter);padding-bottom:var(--space-md);overflow-x:auto;scrollbar-width:none}.project-filters::-webkit-scrollbar{display:none}.project-filter{-moz-box-flex:0;flex:0 0 auto}.certificate-dialog{padding:var(--space-sm)}.certificate-dialog__panel{max-height:-moz-calc(100dvh - 2 * var(--space-sm));max-height:calc(100dvh - 2 * var(--space-sm));padding:var(--space-md)}.certificate-dialog__image img{max-height:-moz-calc(100dvh - 12rem);max-height:calc(100dvh - 12rem)}.contact-form{padding:var(--space-lg)}.contact-form__row{grid-template-columns:1fr;grid-gap:0;gap:0}.rowFlexRes{-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;grid-gap:var(--space-xl);gap:var(--space-xl)}.sectionContEducation,.sectionContExperience{min-width:100%}.sectionCont h2{font-size:var(--text-2xl)}.certificate-grid,.project-grid{grid-template-columns:1fr}.hallmark-nav{padding:var(--space-sm) var(--page-gutter)}.hallmark-nav__wordmark{font-size:var(--text-base)}.hallmark-footer{padding:var(--space-2xl) var(--page-gutter) var(--space-xl)}}@-webkit-keyframes details-reveal{0%{opacity:0;-webkit-transform:translateY(-.35rem);transform:translateY(-.35rem)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes details-reveal{0%{opacity:0;-webkit-transform:translateY(-.35rem);-moz-transform:translateY(-.35rem);transform:translateY(-.35rem)}to{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}