.page-content{min-height:100svh;overflow-x:clip}.site-header,.content-shell{position:relative;z-index:2}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem;width:min(100% - 3rem,76rem);margin-inline:auto;padding-block:clamp(1.5rem,4vw,2.75rem)1rem}.site-brand{color:var(--amber);font-family:var(--display);font-size:clamp(2rem,5vw,3.35rem);font-style:italic;font-weight:800;letter-spacing:-.075em;line-height:1;text-decoration:none;text-shadow:-2px 2px 0 var(--red);transform:rotate(-4deg);transform-origin:center;transition:transform 150ms cubic-bezier(.2,.8,.3,1),text-shadow 150ms ease-out}.site-brand span{color:var(--red)}@keyframes brand-impact{0%{transform:rotate(-4deg)scale(1)}18%{transform:translateY(.12rem)rotate(-8deg)scale(.88,.82)}42%{transform:translateY(-.38rem)rotate(3deg)scale(1.34,1.24)}66%{transform:translateY(-.18rem)rotate(-7deg)scale(1.04,1.12)}82%{transform:translateY(-.28rem)rotate(-2deg)scale(1.2,1.14)}100%{transform:translateY(-.24rem)rotate(-4deg)scale(1.15)}}@keyframes brand-return{from{transform:translateY(-.24rem)rotate(-4deg)scale(1.15)}to{transform:rotate(-4deg)scale(1)}}.site-brand:is(:hover,:focus-visible):not(:active){animation:brand-impact 420ms cubic-bezier(.2,.7,.25,1)both;text-shadow:-3px 3px 0 var(--red)}.site-brand:active{animation:none;transform:translateY(.12rem)rotate(-8deg)scale(.88,.82)}.site-brand.is-returning:not(:hover):not(:focus-visible){animation:brand-return 150ms cubic-bezier(.2,.8,.3,1)both}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem 1.2rem;font-size:.8125rem}.site-nav a{color:var(--muted-ink);text-decoration:none;text-underline-offset:.35em}.site-nav a:is(:hover,:focus-visible),.site-nav a[aria-current=page]{color:var(--ink);text-decoration:underline}.site-nav a:focus-visible,.site-brand:focus-visible,.breadcrumbs a:focus-visible,.project-card:focus-visible,.project-links a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.content-shell{width:min(100% - 3rem,76rem);min-height:calc(100svh - 12rem);margin-inline:auto;padding-block:clamp(1rem,4vw,3rem)clamp(4rem,9vw,7rem)}.content-panel{--panel:color-mix(in srgb, var(--paper) 96%, #000);position:relative;width:min(100%,72ch);margin-inline:auto;padding:clamp(1.35rem,5vw,3.5rem);border:1px solid color-mix(in srgb,var(--faint) 55%,transparent);background-color:var(--panel);background-image:radial-gradient(color-mix(in srgb,var(--ink) 7%,transparent) .65px,transparent .8px);background-size:5px 5px;box-shadow:.75rem .75rem color-mix(in srgb,var(--section-accent,var(--amber)) 18%,transparent)}.content-panel--section{--section-accent:var(--amber)}.content-panel--accent-blue{--section-accent:var(--blue)}.content-panel--accent-red{--section-accent:var(--red)}.content-panel--accent-amber{--section-accent:var(--amber)}.content-panel--about{--section-accent:var(--hub-paper)}.breadcrumbs{margin-bottom:clamp(2rem,5vw,3.5rem);font-size:.75rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.5rem;color:var(--faint)}.breadcrumbs a{color:var(--muted-ink)}.breadcrumbs [aria-current=page]{color:var(--ink)}.content-heading{margin-bottom:2.5rem}.content-kicker{margin:0 0 .55rem;color:var(--section-accent,var(--amber));font-size:.75rem;letter-spacing:.08em;text-transform:lowercase}.content-heading h1{max-width:18ch;margin:0;font-family:var(--display);font-size:clamp(2.6rem,8vw,5.4rem);font-style:italic;font-weight:800;letter-spacing:-.055em;line-height:.98;overflow-wrap:anywhere}.content-description{max-width:58ch;margin:1.35rem 0 0;color:var(--muted-ink);line-height:1.75}.content-tags,.project-card__tags{color:var(--faint);font-size:.75rem}.prose{font-size:1rem;line-height:1.85}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2,.prose h3{margin-block:2.4em .75em;font-family:var(--display);font-style:italic;letter-spacing:-.025em;line-height:1.15}.prose h2{font-size:clamp(1.65rem,4vw,2.2rem)}.prose h3{font-size:1.35rem}.prose a{color:var(--ink);text-decoration-color:var(--section-accent,var(--amber));text-decoration-thickness:2px;text-underline-offset:.22em}.prose img,.project-cover{display:block;max-width:100%;height:auto}.prose pre{overflow-x:auto;padding:1rem;border:1px solid color-mix(in srgb,var(--faint) 45%,transparent);background:color-mix(in srgb,var(--cable) 45%,transparent)}.prose :not(pre)>code{padding:.12em .3em;background:color-mix(in srgb,var(--cable) 38%,transparent)}.prose blockquote{margin-inline:0;padding-left:1rem;border-left:3px solid var(--section-accent,var(--amber));color:var(--muted-ink)}.project-cover{margin-bottom:2.5rem}.project-list{margin-top:clamp(3rem,7vw,5rem);padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--faint) 45%,transparent)}.project-list h2{margin:0 0 1.25rem;font-family:var(--display);font-style:italic}.project-grid{display:grid;gap:1rem}.project-card{display:grid;gap:.55rem;padding:1.1rem 1.2rem;border:1px solid color-mix(in srgb,var(--section-accent,var(--amber)) 50%,transparent);color:inherit;text-decoration:none;transition:transform 160ms ease,background-color 160ms ease}.project-card:is(:hover,:focus-visible){background:color-mix(in srgb,var(--section-accent,var(--amber)) 9%,transparent);transform:translate(-2px,-2px)}.project-card__title{font-weight:700}.project-card__description{color:var(--muted-ink);font-size:.875rem;line-height:1.65}.empty-state{margin:3rem 0 0;padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--faint) 45%,transparent);color:var(--muted-ink)}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}.project-links a{padding:.65rem .8rem;border:1px solid var(--faint);color:var(--ink);text-decoration:none}@media(max-width:44rem){.site-header{align-items:flex-start}.site-nav{max-width:100%;gap:.6rem .9rem}.content-shell{width:min(100% - 2rem,76rem)}.content-panel{padding:1.35rem;box-shadow:.45rem .45rem color-mix(in srgb,var(--section-accent,var(--amber)) 18%,transparent)}}@media(prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:is(:hover,:focus-visible){transform:none}.site-brand,.site-brand.is-returning:not(:hover):not(:focus-visible),.site-brand:is(:hover,:focus-visible,:active){animation:none;transform:rotate(-4deg);transition:none}.site-brand:is(:hover,:focus-visible){text-decoration:underline}}@media(forced-colors:active){.content-panel,.project-card{background:Canvas;box-shadow:none}.site-brand{text-shadow:none}}