.hero>*{animation:rise var(--dur-enter) var(--ease-out) backwards}.hero>:first-child{animation-delay:0s}.hero>:nth-child(2){animation-delay:60ms}.hero>:nth-child(3){animation-delay:.12s}.hero>:nth-child(4){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.hero>*{animation:none}}.hero>.portrait-drawing{margin-bottom:calc(-1 * var(--sp-3));animation:none}.hero{align-items:flex-start;gap:var(--sp-6);flex-direction:column;display:flex}.hero__row{align-items:center;gap:var(--sp-5);width:100%;display:flex}.hero__name{font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);flex:1}.hero__socials{margin:0 calc(-1 * var(--sp-2));align-self:flex-start;gap:0;display:flex}.hero__bio{gap:var(--sp-3);font-size:var(--text-body);line-height:var(--lh-body);color:var(--ink-soft);flex-direction:column;max-width:56ch;display:flex}@media (max-width:600px){.hero__actions.action-row{flex-direction:row}.hero__actions.action-row .btn{flex:auto;width:auto}}
.portrait-drawing{width:clamp(136px,36vw,168px);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;position:relative}.portrait-drawing__art{aspect-ratio:var(--crop-aspect);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 72%,#0000 98%);mask-image:linear-gradient(#000 72%,#0000 98%)}.portrait-drawing__frame{left:var(--frame-x);top:var(--frame-y);width:var(--frame-w);aspect-ratio:1122/1402;background:currentColor;position:absolute;-webkit-mask:url(/portrait/portrait.svg) 50%/100% 100% no-repeat;mask:url(/portrait/portrait.svg) 50%/100% 100% no-repeat}.portrait-drawing__canvas{opacity:0;width:100%;height:100%;position:absolute;inset:0}.portrait-drawing[data-live] .portrait-drawing__canvas{opacity:1}.portrait-drawing[data-live] .portrait-drawing__frame{visibility:hidden}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (min-width:768px){:root[data-portrait-draw] .portrait-drawing:not([data-live]):not([data-fallback]) .portrait-drawing__frame{opacity:.13;animation:1ms 3s forwards portrait-fallback}}@keyframes portrait-fallback{to{opacity:1}}.portrait-drawing__hint{left:calc(100% + var(--sp-2));align-items:flex-start;gap:var(--sp-1);font-family:var(--font-hand);color:var(--pen);white-space:nowrap;pointer-events:none;opacity:0;width:max-content;transition:opacity var(--dur-hover) ease;font-size:1.25rem;line-height:1;display:flex;position:absolute;top:34%}.portrait-drawing[data-cleared]:not([data-started]) .portrait-drawing__hint{opacity:1}.portrait-drawing__hint .portrait-drawing__hint-arrow{flex:none;width:36px;height:20px;margin-top:.35em;position:static}.portrait-drawing__hint-arrow path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.portrait-drawing[data-cursor=pen],.portrait-drawing[data-cursor=pen] *{cursor:none}.portrait-drawing__pen{pointer-events:none;opacity:0;width:28px;height:28px;transition:opacity var(--dur-hover) ease;will-change:transform;position:absolute;top:0;left:0}.portrait-drawing__pen[data-on]{opacity:1}.portrait-drawing__pen svg{display:block;overflow:visible}
.work-gallery{gap:var(--sp-20);flex-direction:column;display:flex}.work-gallery__empty{color:var(--muted);font-style:italic;font-family:var(--font-serif)}.work-entry{flex-direction:column;display:flex;position:relative}.work-entry__head{gap:var(--sp-2);flex-direction:column;display:flex}.work-entry__title{font-size:var(--text-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3)}.work-entry__cover{z-index:0;position:absolute;inset:0}.work-entry__desc{margin-top:var(--sp-3);max-width:60ch;color:var(--ink-soft)}.work-entry__reel{z-index:1;margin-top:var(--sp-6);position:relative}.work-entry__reel .focus-reel{--reel-gap:var(--sp-4);--reel-peek:var(--gutter);grid-template-columns:minmax(0,1fr);display:grid}.work-entry__reel .focus-reel__viewport{margin-inline:calc(-1 * var(--gutter));grid-column:1}.work-entry__reel .focus-reel__track{--slide-w:calc(100cqi - 2 * var(--gutter))}@media (max-width:759px){.work-entry__reel .focus-reel{--reel-gap:var(--sp-2)}}@media (max-width:768px){.work-gallery{gap:var(--sp-16)}}
