.shot__img{width:100%;height:auto;aspect-ratio:var(--ratio,4 / 3);object-fit:cover}.shot__img--tall{width:auto;max-width:100%;max-height:85vh;margin-inline:auto;display:block}.shot__img--empty{padding:var(--space-md);background-color:var(--color-placeholder);font-family:var(--font-mono);font-size:var(--font-size-15);color:var(--color-muted);text-align:center;text-wrap:balance;place-items:center;display:grid}.shot__caption{margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-15);color:var(--color-muted)}.project-hero{gap:var(--space-lg);padding:var(--space-md) var(--gutter) var(--space-xl);display:grid}.project-hero__text{flex-direction:column;align-items:start;display:flex}.project-hero__title{font-family:var(--font-display);font-size:calc(2.5rem + 1.5 * var(--fluid));letter-spacing:var(--tracking-tight);text-wrap:balance;font-weight:500;line-height:1.06}.project-hero__course{background-color:var(--color-label-strong);color:var(--color-bg);font-family:var(--font-mono);text-wrap:balance;margin-top:.625rem;padding:.3125rem .625rem;font-size:.875rem;line-height:1.6}.project-hero__summary{max-width:22.5rem;margin-top:var(--space-md);font-size:calc(1.125rem + .25 * var(--fluid));line-height:1.6}.project-hero__award{align-items:center;gap:var(--space-xs);max-width:22.5rem;margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--font-size-16);font-weight:500;display:flex}.project-hero__actions{margin-top:var(--space-md)}.project-hero__award-category{color:var(--color-muted);font-weight:400}.project-hero__star{flex-shrink:0;width:2rem;height:auto}.project-hero__cover .shot__img{width:auto;max-width:100%;max-height:min(36rem,70vh);margin-inline:auto;display:block}.project-hero__cover .shot__img--empty{border:.5rem solid var(--color-text);background-color:var(--color-accent);width:100%;color:var(--color-text)}.project-hero__facts{column-gap:var(--space-md);padding-top:var(--space-xs);border-top:2px solid var(--color-text);grid-template-columns:auto minmax(0,1fr);display:grid}.project-hero__fact{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;display:grid}.project-hero__fact-label{padding-top:var(--space-sm);font-family:var(--font-mono);color:var(--color-muted);font-size:.875rem}.project-hero__fact-value{font-size:1rem;line-height:1.4}.project-hero__fact--tools{grid-column:1/-1}.project-hero__tools{gap:var(--space-xs);flex-wrap:wrap;display:flex}.project-hero__tool{border:1px solid var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-15);padding:.125rem .5rem;line-height:calc(1.625rem - 2px)}@media screen and (width>=40em){.project-hero__course{font-size:calc(1rem + .25 * var(--fluid))}.project-hero__facts{row-gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr))}.project-hero__fact{grid-area:span 2;grid-template-columns:none;grid-template-rows:subgrid;align-items:normal}.project-hero__fact--tools{grid-column:1/-1}.project-hero__fact-label{grid-area:1/1}.project-hero__fact dd{grid-area:2/1;align-self:center}.project-hero__fact-value{font-size:calc(1.125rem + .125 * var(--fluid))}}@media screen and (width>=50em){.project-hero{align-items:start;column-gap:calc(var(--space-lg) + 2 * var(--fluid));padding-top:calc(var(--space-lg) + 1.5 * var(--fluid));grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr)}.project-hero__text{padding-top:1rem}.project-hero--wide{column-gap:var(--space-md);grid-template-columns:minmax(22.5rem,min-content) minmax(0,1fr)}.project-hero--wide .project-hero__text{z-index:1}.project-hero--wide .project-hero__course{white-space:nowrap}.project-hero--wide .project-hero__cover{margin-left:-4rem;margin-right:calc(3.125rem - var(--gutter))}.project-hero--wide .project-hero__cover .shot__img{max-height:none;margin-inline:0}.project-hero__facts{--facts-gap:calc(3rem + 1 * var(--fluid));column-gap:var(--facts-gap);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.75fr)}.project-hero__fact-value{line-height:2rem}.project-hero__fact--tools{grid-column:auto}.project-hero__fact+.project-hero__fact:before{--star:1.75rem;content:"";width:var(--star);aspect-ratio:46/43;margin-left:calc(-.5 * (var(--facts-gap) + var(--star)));background:url(/images/star.svg) 50%/contain no-repeat;grid-area:1/1/-1/2;place-self:center start}@media (prefers-reduced-motion:no-preference){.project-hero__fact+.project-hero__fact:before{animation:24s linear infinite star-spin}}}.story{padding:0 var(--gutter) var(--space-xl);flex-direction:column;display:flex}.story__rail,.story__track{display:contents}.story__anchor{order:calc(var(--i) * 3);scroll-margin-top:var(--header-h,6rem)}.chapter{order:calc(var(--i) * 3 + 1);padding-top:var(--space-lg)}.chapter__title{font-family:var(--font-display);font-size:calc(2.5rem + 1.5 * var(--fluid));letter-spacing:var(--tracking-tight);font-weight:500;line-height:1.06}.chapter__anchor-link{text-decoration:none}.chapter__progress{height:.125rem;margin-top:var(--space-xs);background-color:var(--color-placeholder);display:none}.chapter__progress:after{content:"";background-color:var(--color-accent-dark);transform-origin:0;height:100%;scale:var(--progress,0) 1;display:block}.chapter__body{grid-template-rows:1fr;display:grid}.chapter__inner{gap:var(--space-sm);flex-direction:column;max-width:33.3125rem;min-height:0;display:flex;overflow:hidden}.chapter__inner>:first-child{margin-top:var(--title-gap)}.chapter__text{font-size:calc(1rem + .25 * var(--fluid));line-height:1.45}.chapter__block{gap:var(--space-xs);margin-top:var(--space-xs);flex-direction:column;display:flex}.chapter__subtitle{font-family:var(--font-mono);font-size:calc(1.25rem + .25 * var(--fluid));font-weight:500;line-height:normal}.chapter__links{gap:var(--space-sm) var(--space-sm);flex-wrap:wrap;display:flex}.chapter__link{align-items:center;gap:var(--space-lg);background-color:var(--color-accent-dark);font-family:var(--font-display);font-size:calc(1.5rem + .5 * var(--fluid));letter-spacing:var(--tracking-tight);padding:.3125rem .625rem;font-weight:500;line-height:normal;text-decoration:none;transition:background-color .2s;display:flex}.chapter__arrow{width:1.4375em;height:auto;transition:translate .2s}.chapter__link:hover,.chapter__link:focus-visible{background-color:var(--color-accent-darker)}.chapter__link:hover .chapter__arrow,.chapter__link:focus-visible .chapter__arrow{translate:6% -6%}.story__gallery{order:calc(var(--i) * 3 + 2);gap:var(--space-sm);margin:var(--space-md) calc(-1 * var(--gutter)) 0;padding-inline:var(--gutter);scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;display:flex;overflow-x:auto}.story__shot{scroll-snap-align:start;flex:0 0 85%}@media screen and (width>=50em){.story{align-items:start;column-gap:calc(var(--space-lg) + 3 * var(--fluid));grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.story__rail{top:var(--header-space,0px);gap:var(--space-md);padding-block:var(--space-md) var(--space-lg);transition:top .35s var(--ease-in-out);flex-direction:column;display:flex;position:sticky}.story__track{padding-top:var(--space-md);display:block}.story__gallery{grid-template-columns:repeat(var(--columns,1), minmax(0, 1fr));gap:var(--space-lg);margin:0;padding:0;display:grid;overflow:visible}.story__gallery:not(:last-child){margin-bottom:var(--space-xl)}.chapter{padding-top:0}.chapter__progress{display:block}.chapter__title{color:var(--color-muted);transition:color .4s}.chapter--active .chapter__title,.chapter__title:hover{color:var(--color-text)}.chapter__body{opacity:0;transition:grid-template-rows .6s var(--ease-in-out), opacity .3s;grid-template-rows:0fr}:is(.chapter--active .chapter__body,.chapter:has(:focus-visible) .chapter__body){opacity:1;transition:grid-template-rows .6s var(--ease-in-out), opacity .4s .25s;grid-template-rows:1fr}}@media screen and (width>=64em){.story{padding-bottom:calc(var(--space-xl) + 15.876 * var(--desktop-rem))}}.project{--gutter:1.25rem}.project__main{max-width:var(--max-width);margin-inline:auto}@media screen and (width>=40em){.project{--gutter:3.125rem}}
