@media not (min-width:48rem){.docs-slide>*{box-shadow:inset 0 0 0 1px var(--border);border-width:0;transition:box-shadow .3s}.docs-slide[data-centered]>*{box-shadow:inset 0 0 0 1px var(--accent)}}
.timeline-item{--dot:20px;--dot-y:calc(1.75rem * 1.25 / 2 - var(--dot) / 2);--rail-x:calc(var(--dot) / 2);--blend:96px;padding-bottom:34px;padding-left:35px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-segment{left:calc(var(--rail-x) - 1px);width:2px;top:calc(var(--dot-y) + var(--dot) / 2);bottom:calc(-1 * (var(--dot-y) + var(--dot) / 2));background:linear-gradient(to bottom, var(--c) calc(100% - var(--blend)), var(--c-next));position:absolute}.timeline-item:last-child .timeline-segment{background:linear-gradient(to bottom, var(--c), transparent);bottom:0}.timeline-dot{z-index:1;left:calc(var(--rail-x) - var(--dot) / 2);top:var(--dot-y);width:var(--dot);height:var(--dot);position:absolute}@media (min-width:64rem){.timeline-item{--rail-x:50%;grid-template-columns:1fr 1fr;padding-bottom:20px;padding-left:0;display:grid}.timeline-entry{grid-column:2;max-width:calc(30rem + 40px);padding-left:40px}.timeline-item:nth-child(2n) .timeline-entry{text-align:right;grid-column:1;justify-self:end;padding-left:0;padding-right:40px}.timeline-item:nth-child(2n) .timeline-point,.timeline-item:nth-child(2n) .timeline-meta,.timeline-item:nth-child(2n) .timeline-meta-part{flex-direction:row-reverse}}
.scroll-arrow{--arrow-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 46' fill='none' stroke='%23000' stroke-width='2.5' stroke-linejoin='miter'%3E%3Cpath d='M12 1V42M3 33l9 9 9-9'/%3E%3C/svg%3E")}.scroll-arrow-base,.scroll-arrow-shape{-webkit-mask:var(--arrow-mask) center / contain no-repeat;-webkit-mask:var(--arrow-mask) center / contain no-repeat;mask:var(--arrow-mask) center / contain no-repeat;position:absolute;inset:0}.scroll-arrow-base{background:var(--border);opacity:.7;transition:background-color .2s}.scroll-arrow:hover .scroll-arrow-base{background:var(--accent)}.scroll-arrow-glow{filter:drop-shadow(0 0 4px var(--accent));position:absolute;inset:0}.scroll-arrow-shape{overflow:hidden}.scroll-arrow-pulse{background:linear-gradient(to bottom, transparent, var(--accent) 60%, var(--accent-hover) 80%, transparent);height:50%;position:absolute;inset:0 0 auto;transform:translateY(-100%)}@media (prefers-reduced-motion:no-preference){.scroll-arrow-pulse{animation:1.6s cubic-bezier(.55,0,.75,.6) infinite scroll-pulse}}@keyframes scroll-pulse{0%{transform:translateY(-100%)}70%,to{transform:translateY(200%)}}
.text-type{white-space:pre-wrap;display:inline-block;position:relative}.text-type__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-type__char{position:relative}.text-type__char--selected{background-color:color-mix(in srgb, currentColor 25%, transparent)}.text-type__caret{width:0;display:inline-block}.text-type__cursor{white-space:pre;pointer-events:none;will-change:transform;transition:opacity .2s;position:absolute;top:0;left:0}.text-type__cursor--hidden{opacity:0}.text-type__blink{display:inline-block}.text-type__cursor--character .text-type__blink{margin-left:.25rem}.text-type__shape{background-color:currentColor;margin-left:.06em;display:inline-block}.text-type__cursor--bar .text-type__shape{vertical-align:-.2em;border-radius:1px;width:max(2px,.07em);height:1.1em}.text-type__cursor--block .text-type__shape{vertical-align:-.2em;border-radius:.06em;width:.56em;height:1.1em}.text-type__cursor--underscore .text-type__shape{vertical-align:-.12em;border-radius:1px;width:.56em;height:max(2px,.075em)}
.project-overlay{opacity:0;transition:opacity .3s}.project-card:hover .project-overlay,.project-card:focus-visible .project-overlay{opacity:1}.project-title{text-box:trim-both cap alphabetic}@supports not (text-box:trim-both cap alphabetic){.project-title{margin-block:-.326em}}.project-card:after{content:"";z-index:20;border:2px solid var(--border);pointer-events:none;transition:border-color .4s;position:absolute;inset:0}.project-card:hover:after,.project-card:focus-visible:after{border-color:var(--accent)}.projects-grid[data-hover=lift]{--plate-a:70%}.projects-grid[data-hover=lift] :is(.project-overlay,.project-stack){--plate-fade:color-mix(in srgb, var(--bg) 0%, transparent) 0px, color-mix(in srgb, var(--bg) calc(var(--plate-a) * .043), transparent) calc(var(--fade-len) * .125), color-mix(in srgb, var(--bg) calc(var(--plate-a) * .156), transparent) calc(var(--fade-len) * .25), color-mix(in srgb, var(--bg) calc(var(--plate-a) * .316), transparent) calc(var(--fade-len) * .375), color-mix(in srgb, var(--bg) calc(var(--plate-a) * .5), transparent) calc(var(--fade-len) * .5), color-mix(in srgb, var(--bg) calc(var(--plate-a) * .684), transparent) calc(var(--fade-len) * .625), color-mix(in srgb, var(--bg) calc(var(--plate-a) * .844), transparent) calc(var(--fade-len) * .75), color-mix(in srgb, var(--bg) calc(var(--plate-a) * .957), transparent) calc(var(--fade-len) * .875), color-mix(in srgb, var(--bg) var(--plate-a), transparent) var(--fade-len)}.projects-grid[data-hover=lift] .project-overlay{--fade-len:40px;background-image:linear-gradient(to bottom, var(--plate-fade))}.projects-grid[data-hover=lift] .project-stack{--fade-len:55px;background-image:linear-gradient(to top, var(--plate-fade))}.project-stack{opacity:0;transition:opacity .4s}.projects-grid[data-hover=zoom] .project-stack{transition-duration:.6s}.project-card:hover .project-stack,.project-card:focus-visible .project-stack{opacity:1}.project-label{text-box:trim-both cap alphabetic;transition:opacity .3s}@supports not (text-box:trim-both cap alphabetic){.project-label{margin-top:-.394em;margin-bottom:-.456em}}@media (min-width:48rem){.projects-grid>li:has(.project-card:hover,.project-card:focus-visible) .project-label{opacity:0}.projects-grid[data-hover=lift]:has(.project-card:hover,.project-card:focus-visible) .project-label{opacity:0}}@media (prefers-reduced-motion:no-preference){.project-label-clip{clip-path:inset(0 -50px -50px)}.project-label{transition:opacity .3s,transform .2s .2s}@media (min-width:48rem){.projects-grid[data-hover]>li:has(.project-card:hover,.project-card:focus-visible) .project-label{opacity:1;transition:opacity .3s,transform .2s;transform:translateY(calc(-100% - .75rem - .25em))}}.project-overlay{opacity:1;transition:transform .4s;transform:translateY(100%)}.project-card:hover .project-overlay,.project-card:focus-visible .project-overlay{transform:none}.projects-grid[data-hover=lift] .project-card{transition:transform .6s,filter .6s}@media (min-width:48rem){.projects-grid[data-hover=lift] .project-card:hover,.projects-grid[data-hover=lift] .project-card:focus-visible{z-index:1;position:relative;transform:translateY(-10px)scale(1.05)}}@media (hover:hover) and (min-width:769px){.projects-grid[data-hover=lift]:has(.project-card:hover) .project-card:not(:hover){filter:grayscale(100%) blur(1px) brightness(calc(.9 * var(--cover-dim,1)));transform:scale(.95)}}.projects-grid[data-hover=lift]{--hover-blur:0px}.projects-grid[data-hover=lift] .project-card>:first-child{transition:filter .4s ease-in-out}.projects-grid[data-hover=lift] .project-card:hover>:first-child,.projects-grid[data-hover=lift] .project-card:focus-visible>:first-child{filter:blur(var(--hover-blur)) brightness(calc(.8 * var(--cover-dim,1))) grayscale(40%)}.projects-grid[data-hover=zoom] .project-card>:first-child{transition:transform .6s,filter .6s}.projects-grid[data-hover=zoom] .project-overlay{transition-duration:.6s}.projects-grid[data-hover=zoom] .project-card:hover>:first-child,.projects-grid[data-hover=zoom] .project-card:focus-visible>:first-child{filter:brightness(calc(.5 * var(--cover-dim,1)));transform:scale(1.05)}}.project-card{--title-k:1}@media not (min-width:48rem){.project-card{--title-k:.9}}.project-cover-title>span{text-box:trim-both cap alphabetic}@supports not (text-box:trim-both cap alphabetic){.project-cover-title>span{margin-block:-.1385em}.project-cover-title>span+span{margin-top:calc(2.85cqw * var(--title-k) - .1385em)}}.project-cover-shade{--shade-a:50%;--shade-flat:calc(15px + 12.23cqw * var(--title-k));--shade-fade:15cqw;height:calc(var(--shade-flat) + var(--shade-fade));background-image:linear-gradient(to bottom, color-mix(in srgb, var(--bg) var(--shade-a), transparent) 0px, color-mix(in srgb, var(--bg) var(--shade-a), transparent) var(--shade-flat), color-mix(in srgb, var(--bg) calc(var(--shade-a) * .957), transparent) calc(var(--shade-flat) + var(--shade-fade) * .125), color-mix(in srgb, var(--bg) calc(var(--shade-a) * .844), transparent) calc(var(--shade-flat) + var(--shade-fade) * .25), color-mix(in srgb, var(--bg) calc(var(--shade-a) * .684), transparent) calc(var(--shade-flat) + var(--shade-fade) * .375), color-mix(in srgb, var(--bg) calc(var(--shade-a) * .5), transparent) calc(var(--shade-flat) + var(--shade-fade) * .5), color-mix(in srgb, var(--bg) calc(var(--shade-a) * .316), transparent) calc(var(--shade-flat) + var(--shade-fade) * .625), color-mix(in srgb, var(--bg) calc(var(--shade-a) * .156), transparent) calc(var(--shade-flat) + var(--shade-fade) * .75), color-mix(in srgb, var(--bg) calc(var(--shade-a) * .043), transparent) calc(var(--shade-flat) + var(--shade-fade) * .875), color-mix(in srgb, var(--bg) 0%, transparent) calc(var(--shade-flat) + var(--shade-fade)))}.project-plate-kind{display:none}@media not (min-width:48rem){.project-card:after{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 80%, transparent);border:0}.project-overlay,.project-stack{opacity:1;transform:none}.projects-grid[data-hover=lift] .project-card>:first-child{filter:brightness(var(--cover-dim,1)) grayscale(40%)}.project-plate-role{display:none}.project-plate-kind{display:block}.project-label-clip{display:none}}
