﻿@font-face{font-family:"Passion One";src:url("/fonts/passion-one/PassionOne-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans/IBMPlexSans-VariableFont_wdth,wght.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Serif";src:url("/fonts/ibm-plex-serif/IBMPlexSerif-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Serif";src:url("/fonts/ibm-plex-serif/IBMPlexSerif-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"IBM Plex Serif";src:url("/fonts/ibm-plex-serif/IBMPlexSerif-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-teal: #01a88b;--color-scarlet: #fd3a2d;--color-blush: #f2a1c7;--color-frost: #afcaea;--color-gold: #ffcb03;--color-magenta: #f53890;--color-peach: #f8c5a3;--color-lavender: #aaa2d0;--color-apple: #8fc969;--spacing: 1.5rem}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:"Charter","IBM Plex Serif",Georgia,"Times New Roman",serif;font-size:clamp(16px,1rem + .25vw,18px);line-height:1.6;color:#333;background:#fff;padding-block:1.5rem;overflow-x:hidden;max-width:100vw}main{width:100%}.w-content{max-width:60ch;margin-inline:auto;padding-inline:1.5rem}.w-wide{max-width:120ch;margin-inline:auto;padding-inline:1.5rem}.w-full{width:100%}img{max-width:100%;height:auto}h1,h2,h3{font-family:"Charter","IBM Plex Serif",Georgia,"Times New Roman",serif;margin-top:4.125rem;line-height:1.2}h1{font-size:2em;margin-bottom:1.5rem}h2{font-size:1.5em;margin-bottom:1.125rem}h3{font-size:1.15em;margin-bottom:.75rem}:is(p,ul,ol,blockquote,figure,.centered,scroll-ticker,.card,.quote,.timeline,.projects,.pan-image)+:is(p,ul,ol,blockquote,figure,.centered,scroll-ticker,.card,.quote,.timeline,.projects,.pan-image){margin-top:.6rem}ul,ol{margin-left:0;list-style:none}ul li,ol li{padding-left:1.125rem;margin-bottom:.375rem;position:relative}ul li::before,ol li::before{content:"–";position:absolute;left:0}ul li ul,ol li ul{margin-top:.375rem}ol{counter-reset:my-awesome-counter}ol li{counter-increment:my-awesome-counter}ol li:before{content:counter(my-awesome-counter) ". "}hr{margin-bottom:3rem;border-color:#333;border-top:0;background-color:rgba(0,0,0,0)}a{color:#06c;text-decoration:none}a:hover{text-decoration:underline}sup{vertical-align:top;font-size:.75em}pre{overflow-x:auto;padding:1.5rem;background:#f5f5f5;border-radius:4px;margin-bottom:1.5rem}code{font-family:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,monospace;font-size:.8em}details{border-left:2px solid #ddd;padding-left:1.5rem;margin-bottom:.75rem}details summary{cursor:pointer;color:#666;font-size:.9em;user-select:none}details summary:hover{color:#333}details ul{margin-top:.75rem}figcaption{font-family:"Charter","IBM Plex Serif",Georgia,"Times New Roman",serif;font-style:italic;font-size:.85em;text-align:center;margin-top:-.1875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media (max-width: 600px){body{padding-block:1rem}figure{margin-bottom:.75rem}.w-content,.w-wide{padding-inline:1rem}article p{text-indent:0}article figure{padding:0}}header{text-align:center}header .logo{max-width:6rem}header nav{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;display:flex;gap:1.5rem}header nav a{font-weight:500}footer{margin-top:4.5rem;padding-top:1.5rem;text-align:center;font-size:.9rem}footer nav{display:flex;align-items:center;justify-content:center;gap:.75rem}footer .logo{max-width:4.5rem;position:relative;top:7px}.pagination{display:flex;justify-content:space-between;margin-top:3rem}article{margin-bottom:3rem;padding-bottom:1.5rem}article:last-child{border-bottom:none}article header{padding-bottom:1.5rem;margin-bottom:.75rem}article header .back{position:relative;top:-.75rem}article main h1,article header h1{margin-top:2.25rem}article header,article h1,article h2,article h3{text-align:center}article header+p,article h1+p,article h2+p,article h3+p{text-indent:0}article p{text-indent:1.5rem}article figure{padding:0 1.5rem}article figure img{max-width:100%;height:auto;border:1px solid #fff;display:block}article figure img+figcaption{border-width:0 .75rem}article time{display:block;font-size:.5em;font-weight:normal;margin-bottom:.375rem}article.note h2,article.note h3{font-size:1rem;margin-top:.75rem}article footer{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;margin-top:1.5rem}.latest-articles h2,.latest-notes h2{font-size:1em;font-weight:normal;margin-left:1.125rem}.latest-articles-list-item time,.latest-notes-list-item time{display:inline-block;margin-left:.375rem;font-style:italic;font-size:.9em}.footnote-definition{display:flex;font-size:.9em}.footnote-definition sup{flex-shrink:0;display:inline-block;width:1.5rem;font-size:1em;vertical-align:baseline}.footnote-definition sup:after{content:":"}.footnote-definition p{display:inline;text-indent:0;margin-bottom:.75rem}.footnote-definition:first-of-type{border-top:1px solid;margin-top:6rem;padding-top:.75rem}#search-input{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;width:100%;padding:1.125rem;font-size:1rem;border:2px solid #ddd;border-radius:4px;margin-bottom:1.5rem}#search-input:focus{outline:2px solid #06c;outline-offset:2px;border-color:#06c}#search-results article h3{margin-top:.75rem;font-size:1.1rem}#search-results article p{color:#666;font-size:.9rem}#webmentions{margin-top:4.5rem;padding-top:3rem}#webmentions h2{margin-bottom:1.5rem}#webmentions h3{font-size:1rem;margin-top:2.25rem;margin-bottom:.75rem;color:#666}.webmention-likes,.webmention-reposts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.25rem}.webmention-likes a,.webmention-reposts a{display:block}.webmention-likes a img,.webmention-reposts a img{width:48px;height:48px;border-radius:50%;border:2px solid #ddd}.webmention-likes a img:hover,.webmention-reposts a img:hover{border-color:#06c}.webmention-reply{margin-bottom:2.25rem;padding:1.5rem;background:#f9f9f9;border-radius:4px}.webmention-reply .reply-author{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.webmention-reply .reply-author img{width:40px;height:40px;border-radius:50%}.webmention-reply .reply-author a{font-weight:500}.webmention-reply .reply-content{margin-bottom:.75rem;line-height:1.5}.webmention-reply .reply-link{font-size:.85rem;color:#666}.profile{font-size:1.125em}.profile .sticky-section a,.profile .intro-section a,.profile .w-content a{color:#333;font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.9em;font-weight:bold}.profile h4{margin-top:1.5rem}.profile .show-on-mobile-only{display:none}.profile img{border-radius:1rem}@media (max-width: 900px){.profile{font-size:1.05em}.profile .hide-on-mobile{display:none}.profile .show-on-mobile-only{display:block}}.sticky-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:3rem}.sticky-section__sticky{position:sticky;top:0;height:100vh;display:flex;z-index:3}.sticky-section__sticky--center-v{align-items:center}.sticky-section__sticky--center-h{justify-content:center}.sticky-section__sticky--third{height:50vh}.sticky-section__scroll{padding:3rem 0;max-width:500px;margin-left:auto;margin-right:auto}.sticky-section--right .sticky-section__sticky{order:2}.sticky-section--right .sticky-section__scroll{order:1}@media (max-width: 900px){.sticky-section{grid-template-columns:1fr;gap:0}.sticky-section__sticky{position:static;height:auto;padding:.75rem 1rem;margin-inline:-1rem}.sticky-section--stick-mobile .sticky-section__sticky{position:sticky;top:0;background:#fff;transition:box-shadow .2s}.sticky-section--stick-mobile .sticky-section__sticky.is-stuck{box-shadow:0 2px 8px rgba(0,0,0,.1)}.sticky-section__scroll{max-width:unset;padding:1rem 0}.sticky-section--right .sticky-section__sticky,.sticky-section--right .sticky-section__scroll{order:unset}}.section-actions{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem}.section-actions--beside{display:flex;align-items:center;gap:.5rem}.section-actions--beside .section-actions{flex-direction:column;margin-top:0}.profile-header{margin:0 auto;text-align:center}.profile-header .logo img{max-width:min(300px,100vw)}.profile-header .bigtext-title{margin-top:1.5rem}.profile-header .bigtext-title .bigtext-title__row{position:relative;z-index:1}.profile-header .bigtext-title .bigtext-title__row--3{top:-1rem;z-index:2}.profile-header .bigtext-title .bigtext-title__row--4{top:-1.125rem}.profile-header .bigtext-title .bigtext-title__row--5{top:-1.125rem}.profile-header .section-actions{margin-top:.75rem;padding-bottom:3rem}.intro-section{margin-top:6rem;padding-bottom:1.5rem}.intro-section p{margin-top:1.5rem}.bigtext{font-family:"Passion One",Impact,sans-serif;font-weight:700;-webkit-text-stroke:1px #333;line-height:.62;width:100%;overflow-x:clip;padding-right:5px}.bigtext__char{margin-right:-.125em;text-shadow:4px 3px}.bigtext__char:last-child{margin-right:0}.bigtext__space{width:.2em}.bigtext--no-italic figcaption{font-style:normal}.bigtext-figure figcaption{margin-top:.4995rem}.inline-bigtext{margin-bottom:1.5rem}.greeting{font-size:2.75em;margin:0}.greeting-cursor{display:inline-block;margin-left:0em;animation:greeting-blink 1s step-end infinite}@keyframes greeting-blink{50%{opacity:0}}.available{margin-top:-.4995rem;text-align:center;font-style:italic;font-size:.95em}.available--no{color:#ef4444}.image-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:.75rem;margin-bottom:1.5rem}.image-grid figure{margin:0;padding:0}.image-grid figure img{width:100%;height:auto;display:block}@media (max-width: 600px){.image-grid{grid-template-columns:1fr}}.centered{text-align:center}.scroll-sequence{display:block;width:100%;max-width:100%}.scroll-sequence img{border-radius:1rem;width:100%;height:auto;max-height:100%;object-fit:contain;display:block}.scroll-sequence img[hidden]{display:none}.scroll-ticker{display:block;overflow:hidden;max-width:160ch;margin-inline:auto;margin-bottom:1.5rem}.scroll-ticker__row{display:flex;align-items:center;gap:.75rem;white-space:nowrap;will-change:transform;margin-bottom:.75rem}.scroll-ticker__text{font-family:"Passion One",Impact,sans-serif;font-weight:700;font-size:clamp(6rem,20vw,14rem);line-height:.75;letter-spacing:-3px;position:relative;top:6px}.scroll-ticker__image{height:clamp(5.5rem,14vw,10rem);width:auto;display:block;border-radius:.5rem}video{border-radius:1rem}.ornament-box{display:inline-block;padding:.75rem;background:linear-gradient(#333, #333) top left/15px 3px no-repeat,linear-gradient(#333, #333) top left/3px 15px no-repeat,linear-gradient(#333, #333) top right/15px 3px no-repeat,linear-gradient(#333, #333) top right/3px 15px no-repeat,linear-gradient(#333, #333) bottom left/15px 3px no-repeat,linear-gradient(#333, #333) bottom left/3px 15px no-repeat,linear-gradient(#333, #333) bottom right/15px 3px no-repeat,linear-gradient(#333, #333) bottom right/3px 15px no-repeat}.contact{text-align:center;padding:2.25rem 0}.contact__inner{font-size:.9em;position:relative;margin-bottom:1.5rem}.contact__video{margin-bottom:0}.contact__video video{mix-blend-mode:multiply}.contact a{color:#333;font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.9em;font-weight:bold}.contact__mail a::after{content:"";position:absolute;inset:0;z-index:2}.profile-nav{border-radius:1rem;z-index:10;position:fixed;top:50%;left:50%;translate:-50% -50%;max-width:405px;width:calc(100% - 1.5rem);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 0 0 0;background-color:#333;clip-path:inset(50% round 1rem);transition:clip-path .2s ease;pointer-events:none}.profile-nav.is-open{clip-path:inset(0 round 1rem);pointer-events:auto}.profile-nav ul{width:100%}.profile-nav li{text-align:center;padding:0;overflow:hidden}.profile-nav__link{display:block;white-space:nowrap;margin:0 auto;letter-spacing:-4px;text-align:center;padding:0;font-family:"Passion One",Impact,sans-serif;text-transform:uppercase;font-weight:700;-webkit-text-stroke:1px #333;text-shadow:3px 4px;transition:text-shadow .3s;line-height:.67}.profile-nav__link:before{content:""}.profile-nav__link--about-me{color:#ffcb03}.profile-nav__link--focus{color:#fd3a2d}.profile-nav__link--work{color:#01a88b}.profile-nav__link--vita{color:#afcaea}.profile-nav__link--wanted{color:#8fc969}.profile-nav__link--testimonials{color:#f2a1c7}.profile-nav__link--likes-and-dislikes{color:#f53890}.profile-nav__link:hover{text-decoration:none}.profile-nav__actions{display:flex;align-items:center;gap:1.5rem;padding:0 1.5rem 1.5rem 1.5rem}.profile-nav__top,.profile-nav__close{color:#fff;cursor:pointer;filter:drop-shadow(1px 0 0 #333) drop-shadow(-1px 0 0 #333) drop-shadow(0 1px 0 #333) drop-shadow(0 -1px 0 #333) drop-shadow(3px 4px 0 #fff)}.profile-nav-trigger{padding:.5em 1.5em;cursor:pointer}.toc-toggle,.copylink{display:flex;align-items:center;justify-content:center;margin:0;background:none;border:none;border-radius:50%;cursor:pointer;color:#333;width:2.5rem;height:2.5rem;padding:0;text-decoration:none;transition:color .2s,background-color .2s}.toc-toggle:hover,.copylink:hover{background-color:#333;color:#fff}.toc-toggle svg,.copylink svg{display:block;width:72%;height:72%}.copylink{position:relative}.copylink::after{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;content:attr(data-copied-text);position:absolute;top:-75%;font-size:.85rem;background-color:#333;color:#fff;padding:.25em .6em;border-radius:.5rem;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}.copylink--copied::after{opacity:1}a.cv-download{display:flex;align-items:center;justify-content:center;margin:0;background:none;border:none;border-radius:50%;cursor:pointer;width:2.5rem;height:2.5rem;padding:0;text-decoration:none;transition:color .2s,background-color .2s}a.cv-download,a.cv-download:visited{color:#333}a.cv-download:hover{background-color:#333;color:#fff}a.cv-download svg{display:block;width:72%;height:72%}.lang-switcher{display:flex;justify-content:center;align-items:center;gap:.25rem;margin-top:.5rem;font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.85rem;letter-spacing:.05em}.lang-switcher a{color:#333;text-decoration:none;padding:.2em .3em;border-radius:50%;transition:color .2s,background-color .2s}.lang-switcher a:hover{background-color:#333;color:#fff}.lang-switcher__sep{color:#333}.pan-image{aspect-ratio:1/1;overflow:hidden;border-radius:1rem;margin-bottom:.6rem}.pan-image figure{height:100%;margin:0}.pan-image img{width:100%;height:100%;object-fit:cover;object-position:0% 50%}.quote+.quote{margin-top:-.375rem}.quote{padding:0 0 .75rem 0}.quote--padded{padding-left:1.5rem;padding-right:1.5rem}.quote blockquote{font-style:italic;font-size:1.125em;padding:2.25rem 0 0 0}.quote blockquote::before{content:"»"}.quote blockquote::after{content:"«"}.quote cite{display:block;font-style:italic;font-size:1.125em}.quote cite:before{content:"– "}.quote cite:after{content:" –"}.quote figcaption{font-family:"Charter","IBM Plex Serif",Georgia,"Times New Roman",serif;font-style:normal;font-size:.7em;text-align:left;margin:.75rem 0}.card h4{letter-spacing:-.5px;font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;text-transform:uppercase;display:inline-block}.card p{margin-top:.75rem}.card h4+p{margin-top:.15rem}.card__subtitle{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.8em}.timeline__item time{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding-left:1.5rem;position:relative;font-weight:bold;letter-spacing:-.5px;display:block}.timeline__item time:before{content:"⬤";position:absolute;left:0;top:3px;font-size:.75em}.timeline__item h4{margin-left:1.5rem;margin-top:0;font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:normal;font-size:.9em}.timeline__item p{margin:.75rem 0 2.25rem 1.5rem}.dotlist__item{margin-bottom:1.5rem}.dotlist__title{font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:bold;letter-spacing:-.5px;padding-left:1.5rem;position:relative}.dotlist__title:before{content:"⬤";position:absolute;left:0;top:3px;font-size:.75em}.dotlist p{margin:0 0 0 1.5rem}