.sparkly-text{position:relative}svg.sparkle{opacity:0;z-index:-1;transform-origin:50%;pointer-events:none;width:1em;height:1em;top:calc(var(--top) - 1em / 2);left:calc(var(--left) - 1em / 2);animation:1.5s linear infinite sparkle-spawn;animation-delay:calc(var(--spawn-delay) + 2s);color:var(--text-primary);position:absolute}@keyframes sparkle-spawn{0%{opacity:0;rotate:0deg;scale:0}50%{opacity:1;scale:1}to{opacity:0;rotate:180deg;scale:0}}@media screen and (prefers-reduced-motion:reduce){svg.sparkle{animation:none}}.home-sheet{--sheet-max-h:min(70svh, 44rem);align-items:flex-end;gap:var(--space-fluid-l);margin-bottom:var(--space-fluid-2xl);display:flex}.sheet-media{flex:0 1 calc(var(--sheet-max-h) * var(--aspect) / .9);min-width:0;position:relative}.sheet-media>.play-pause{z-index:2;position:absolute;inset-block-end:var(--space-m);inset-inline-end:var(--space-m)}.sheet-frame{background:var(--work-image-bg);border:var(--border-width-hairline) solid var(--border-primary);padding:5% 5% 7.5%;display:block;position:relative}.sheet-frame img,.sheet-frame video{width:100%;height:auto;display:block}.sheet-caption{gap:var(--space-s);flex-direction:column;flex:0 0 clamp(16rem,26%,24rem);display:flex}.sheet-kicker{align-items:center;gap:var(--space-2xs);font-size:var(--fs-xs);font-weight:var(--font-weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin:0;display:flex}.sheet-title{font-family:var(--ff-serif);font-size:var(--fs-lg);font-weight:var(--font-weight-regular);text-wrap:balance;letter-spacing:0;margin:0;font-style:italic;line-height:1.2}.sheet-title a{color:var(--text-primary);text-decoration:none;text-decoration-thickness:var(--border-width-hairline);text-underline-offset:.12em}.sheet-lede{font-size:var(--fs-sm);color:var(--text-secondary);text-wrap:pretty;margin:0;line-height:1.45}.sheet-meta{align-items:baseline;gap:var(--space-2xs);font-family:var(--ff-mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--text-tertiary);flex-wrap:wrap;margin:0;display:flex}.print-turn-canvas{z-index:1;pointer-events:none;visibility:hidden;position:absolute}.print-turn-grip{z-index:2;touch-action:none;cursor:grab;position:absolute}.print-turn-grip:active{cursor:grabbing}html.fancy-cursor-on.fancy-cursor-native .print-turn-grip{cursor:grab!important}html.fancy-cursor-on.fancy-cursor-native .print-turn-grip:active{cursor:grabbing!important}.print-chop{pointer-events:none;width:240px;height:240px;position:absolute}@media screen and (hover:hover){.sheet-title a:hover{text-decoration-line:underline}.sheet-frame{transition:border-color var(--transition-base)}.sheet-frame:hover{border-color:var(--border-secondary)}}@media screen and (width<=1024px){.home-sheet{align-items:flex-start;gap:var(--space-m);flex-direction:column}.sheet-media{width:min(100%, calc(var(--sheet-max-h) * var(--aspect) / .9));flex:none}.sheet-caption{flex:none;max-width:44rem}}@media screen and (width<=600px){.sheet-media{width:min(100%, calc(var(--sheet-max-h) * var(--aspect)))}.sheet-frame{background:0 0;border:none;padding:0}.print-chop{display:none}}.page-title-deck>p+p{margin-top:.75em}.section-divider{background-color:var(--border-primary);width:100%;height:1px;margin-inline:0;margin-top:var(--space-fluid-2xl);border:none;margin-bottom:0}.works-block{margin-top:var(--space-fluid-s);gap:var(--space-fluid-l);flex-direction:column;display:flex}.works-block h2{font-size:var(--fs-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.09em;color:var(--text-tertiary);margin-bottom:0;font-style:normal}.works-block .recent-works-header{justify-content:space-between;align-items:baseline;gap:var(--space-fluid-s);flex-wrap:wrap;display:flex}.see-all-works{font-size:var(--fs-sm);font-weight:var(--font-weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;text-decoration:none}.see-all-works:after{content:"→";margin-left:.5ex;font-size:.95em}.works-grid.recent-works{margin-block:0}@media screen and (width<=900px){.recent-works>.work-item:nth-child(n+3){display:none}}
