@font-face{font-family:Boyrun;src:url(/fonts/Boyrun.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:400}:root{--paper:#fff;--paper-deep:#e8e1d6;--ink:#202126;--muted:#65625d;--card:#fff;--line:2px solid var(--ink);--radius:.45rem;--content:72rem;--hand:"Boyrun", "Bradley Hand", "Comic Sans MS", "Segoe Print", cursive;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.55;overflow-x:clip}button,a{font:inherit}a,button{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.content-width,.site-header,.section,.footer,.hero{width:min(calc(100% - 2.5rem), var(--content));margin-inline:auto}.site-header{padding-block:1.4rem}.site-nav{justify-content:space-between;font-size:.9rem;font-weight:800;display:flex}.site-nav a{text-decoration:none}.site-nav a:hover{text-underline-offset:5px;text-decoration:underline 2px}.hero{text-align:center;place-content:center;justify-items:center;min-height:42rem;display:grid}.hero__name{width:min(92vw,51rem);margin:.5rem 0 1rem}.hero__name svg{width:100%;display:block;overflow:visible}.hero__name text{fill:var(--ink);fill-opacity:0;stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1100;font:400 66px var(--hand);letter-spacing:4px}html[data-motion=reduced] .hero__name text{fill-opacity:1;stroke-dashoffset:0}.hero__role{max-width:34rem;margin:0;font-size:clamp(1rem,2vw,1.25rem)}.hero__actions{gap:.75rem;margin-top:1.75rem;display:flex}.button{border:var(--line);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem 1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.button--dark{background:var(--ink);color:var(--paper)}.button--light{color:var(--ink);background:0 0}.button:hover{transform:translateY(-2px)rotate(-1deg)}.section{padding-block:clamp(4rem,10vw,8rem)}.section--wide{width:100%}.section-heading h2{font:400 clamp(1.8rem, 4vw, 3.1rem)/1 var(--hand);text-transform:uppercase;letter-spacing:.04em;margin:0}.section-heading-row{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.text-button{cursor:pointer;background:0 0;border:0;border-bottom:2px solid;padding:.2rem 0;font-size:.8rem;font-weight:800}.project-list{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:1rem;padding:.5rem .15rem 1rem;display:grid;position:relative}.projects.is-enhanced:not(.is-expanded) .project-list{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:minmax(17rem,33%);grid-auto-flow:column;overflow-x:auto}.project-card{scroll-snap-align:start;background:var(--card);border:var(--line);border-radius:var(--radius);min-height:15rem;overflow:hidden}.project-card__button{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;width:100%;min-height:15rem;padding:1.15rem;display:flex}.project-card__index{font:400 .75rem var(--hand);align-self:end}.project-card__title{margin-top:auto;font-size:1.15rem;font-weight:900}.project-card__summary{max-width:32ch;margin-top:.35rem;font-size:.78rem;line-height:1.35}.tag-list{flex-wrap:wrap;gap:.3rem;margin-top:.9rem;display:flex}.tag-list span{background:var(--ink);color:var(--paper);border-radius:999px;padding:.2rem .55rem;font-size:.62rem}.projects__more{margin:1.5rem auto 0}.project-dialog{width:min(100% - 2rem,38rem);max-height:min(82vh,45rem);color:var(--ink);background:0 0;border:0;border-radius:.75rem;padding:0}.project-dialog::backdrop{backdrop-filter:blur(4px);background:#1717179e}.project-dialog__paper{background:var(--paper);border:var(--line);border-radius:.75rem;padding:clamp(1.5rem,5vw,3rem);position:relative;overflow-y:auto;box-shadow:10px 12px #0003}.project-dialog__paper h2{font:400 clamp(2rem, 6vw, 3.5rem)/1 var(--hand);margin:.3rem 0 1rem}.project-dialog__close{border:var(--line);cursor:pointer;background:0 0;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.4rem;position:absolute;top:.8rem;right:.9rem}.project-dialog__links{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.about__layout{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.8fr);align-items:center;gap:clamp(2rem,6vw,5rem);margin-top:1.5rem;display:grid}.paper-card{background:var(--card);border:var(--line);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.5rem)}.about__copy{font-size:clamp(1rem,2vw,1.25rem)}.about__facts{gap:.45rem;padding:0;font-size:.9rem;list-style:none;display:grid}.about__facts li{align-items:center;gap:.5rem;display:flex}.about__fact-icon{stroke-width:1.8px;flex:none;width:1.05rem;height:1.05rem}.about__links{flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.85rem;font-weight:700;display:flex}.about__art{min-height:28rem;position:relative;overflow:clip}.about__art img{filter:drop-shadow(0 10px 9px #00000024);width:min(68%,15rem);position:absolute}.about__art img:first-child{top:0;left:3%;transform:rotate(-8deg)}.about__art img:nth-child(2){top:8%;right:0;transform:rotate(5deg)}.about__art img:nth-child(3){bottom:7%;left:0;transform:rotate(4deg)}.about__art img:nth-child(4){bottom:0;right:4%;transform:rotate(10deg)}.timeline-grid{grid-template-columns:minmax(0,1fr) 3rem minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);display:grid}.timeline-column .section-heading{margin-bottom:2.25rem}.timeline-entry{margin-bottom:2.75rem;position:relative}.timeline-entry h3{margin:0 0 .25rem;font-size:1rem}.timeline-entry p,.timeline-entry li{font-size:.8rem}.timeline-entry__place{font-weight:800}.timeline-line{background:color-mix(in srgb, var(--ink) 18%, transparent);width:2px;margin-inline:auto;position:relative}.timeline-line span{background:var(--ink);transform-origin:top;height:100%;position:absolute;inset:0 0 auto}.timeline-character{width:min(100%,28rem);margin-top:2rem}.honors .section-heading{margin-bottom:1.5rem}.honors__rows{grid-template-columns:minmax(0,1fr);gap:1rem;width:100%;min-width:0;display:grid;overflow:hidden}.honors__viewport{contain:inline-size;min-width:0;overflow:hidden}.honors__viewport::-webkit-scrollbar{display:none}.honors__track{will-change:transform;gap:1rem;width:max-content;animation:34s linear infinite honors-forward;display:flex}.honors__group{flex:none;gap:1rem;min-width:100vw;display:flex}.honors__track--reverse{animation-name:honors-reverse}.honors__viewport:hover .honors__track,.honors__viewport:focus-within .honors__track,.honors__viewport.is-paused .honors__track{animation-play-state:paused}.honor-card{background:var(--card);border:var(--line);border-radius:var(--radius);flex-direction:column;width:17rem;min-height:11rem;padding:1.25rem;font-size:.78rem;display:flex}.honor-card strong{margin-top:auto;font-size:1rem}@keyframes honors-forward{0%{transform:translate(0,0)}to{transform:translate(calc(-50% - .5rem))}}@keyframes honors-reverse{0%{transform:translate(calc(-50% - .5rem))}to{transform:translate(0,0)}}.writings .section-heading{margin-bottom:1.5rem}.writing-rail{scroll-snap-type:x mandatory;grid-auto-columns:minmax(18rem,32%);grid-auto-flow:column;gap:1rem;padding:.5rem 0 1rem;display:grid;overflow-x:auto}.writing-card{background:var(--card);border:var(--line);border-radius:var(--radius);scroll-snap-align:start;flex-direction:column;min-height:16rem;padding:1.4rem;text-decoration:none;display:flex}.writing-card h3{margin-top:auto}.empty-state{max-width:38rem}.footer{grid-template-columns:minmax(16rem,.8fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);min-height:40rem;padding-block:6rem 2rem;display:grid}.footer__characters{width:100%}.footer__content h2{max-width:12ch;font:400 clamp(2.7rem, 7vw, 6.5rem)/.9 var(--hand);margin:.25rem 0 1.5rem}.social-links{flex-wrap:wrap;gap:1rem;margin-top:2rem;font-size:.8rem;font-weight:800;display:flex}@media (width<=760px){.content-width,.site-header,.section,.footer,.hero{width:min(calc(100% - 1.5rem), var(--content))}.hero{min-height:36rem}.project-list{grid-template-columns:1fr}.projects.is-enhanced:not(.is-expanded) .project-list{grid-auto-columns:85%}.about__layout,.footer{grid-template-columns:1fr}.about__art{min-height:23rem}.timeline-grid{grid-template-columns:1.5rem minmax(0,1fr)}.timeline-column--education,.timeline-column--work{grid-column:2}.timeline-column--education{grid-row:1}.timeline-column--work{grid-row:2}.timeline-line{grid-area:1/1/span 2}.footer__characters{max-width:24rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.honors__track{animation:none!important}}
