html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.scroll-progress{z-index:30;pointer-events:none;background:var(--accent);transform-origin:top;width:3px;height:100dvh;position:fixed;top:0;right:0;transform:scaleY(0)}.archive-hero{isolation:isolate;border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;height:100vh;min-height:0;padding-top:clamp(5rem,12vw,9rem);padding-bottom:clamp(4rem,9vw,7rem);display:flex;position:relative}.archive-hero:before{z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);opacity:.18;background-size:5.5rem 5.5rem;position:absolute;inset:0 clamp(1.25rem,5vw,5rem);-webkit-mask-image:linear-gradient(#0000,#000 20%,#0000 86%);mask-image:linear-gradient(#0000,#000 20%,#0000 86%)}.archive-hero h1,.archive-heading h2{letter-spacing:-.065em;margin:0}.archive-hero h1{max-width:850px;font-size:clamp(3.1rem,7vw,6.5rem);line-height:.98}.archive-hero>p:not(.eyebrow){max-width:570px;color:var(--muted);margin:1.5rem 0 0;font-size:1.05rem}.archive-browser{padding-top:clamp(4.5rem,8vw,7rem)}.archive-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.75rem;display:flex}.archive-heading h2{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1}.archive-heading>p{max-width:19rem;color:var(--muted);font:400 .9rem/1.65 var(--body-font);text-align:right;margin:0}.archive-filters{border-bottom:1px solid var(--line);gap:.5rem;margin-bottom:clamp(3rem,5vw,4.5rem);padding-bottom:1.35rem;display:flex;overflow-x:auto}.archive-filter{border:1px solid var(--line);min-height:2.35rem;color:var(--muted);font:500 .63rem var(--mono);text-transform:uppercase;letter-spacing:.05em;background:0 0;flex:none;padding:.45rem .7rem;transition:background-color .22s,border-color .22s,color .22s}.archive-filter:hover,.archive-filter[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.archive-section{margin-bottom:clamp(5rem,9vw,8rem)}.archive-section__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.35rem;padding-bottom:1rem;display:flex}.archive-section__heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(1.65rem,3vw,2.45rem)}.archive-section__heading p{color:var(--muted);font:.64rem var(--mono);text-transform:uppercase;letter-spacing:.07em;margin:0}.archive-section__heading p span{color:var(--accent)}.archive-section__intro{max-width:41rem;color:var(--muted);margin:-.5rem 0 1.5rem}.archive-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.archive-card-grid--highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;min-width:0;padding:1rem;transition:border-color .22s,background-color .22s;display:flex}.archive-card:hover{border-color:var(--accent);background:var(--surface-2)}.archive-card__media{aspect-ratio:16/9;background:var(--surface-2);place-items:center;margin-bottom:1rem;display:grid;overflow:hidden}.archive-card__media img{object-fit:cover;width:100%;height:100%}.archive-card__placeholder{color:var(--muted);font:.61rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.archive-card__meta{color:var(--muted);font:.62rem var(--mono);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;gap:.45rem;margin:0 0 .55rem;display:flex}.archive-card__meta span+span:before{color:var(--accent);content:"/";margin-right:.45rem}.archive-card h3{letter-spacing:-.04em;margin:0;font-size:1.2rem}.archive-card__description{color:var(--muted);margin:.55rem 0 0;font-size:.84rem}.archive-section__intro--notice{border-left:2px solid var(--accent);background:var(--surface-2);max-width:52rem;color:var(--text);font:.76rem/1.65 var(--mono);padding:.85rem 1rem}.archive-card__technologies{flex-wrap:wrap;gap:.35rem;margin:auto 0 0;padding:0;list-style:none;display:flex}.archive-card__technologies:has(+.archive-card__actions){padding-top:1rem}.archive-card__technologies li{border:1px solid var(--line);color:var(--muted);font:.58rem var(--mono);padding:.23rem .38rem}.archive-card__actions{flex-wrap:wrap;gap:.8rem;padding-top:1rem;display:flex}.archive-card__actions a{border:1px solid var(--line);min-height:2rem;color:var(--text);font:500 .63rem var(--mono);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:.35rem .55rem;transition:background-color .22s,border-color .22s,color .22s;display:inline-flex}.archive-card__actions a:hover,.archive-card__actions a:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.archive-card__actions i{color:var(--accent);margin-left:.18rem;transition:color .22s}.archive-card__actions a:hover i,.archive-card__actions a:focus-visible i{color:currentColor}.archive-card__tutorial{color:var(--muted);font:.6rem var(--mono);margin:.8rem 0 0}.archive-card__tutorial a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.archive-origin{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.archive-origin__card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:19rem;padding:clamp(1.25rem,3vw,2.5rem);transition:background-color .22s;display:flex}.archive-origin__card:hover{background:var(--surface-2)}.archive-origin h3{letter-spacing:-.05em;margin:0;font-size:clamp(1.65rem,3vw,2.35rem)}.archive-origin p{max-width:28rem;color:var(--muted);margin:.75rem 0 0}.portfolio-timeline{border-left:1px solid var(--line);gap:0;display:grid;position:relative}.portfolio-timeline__item{padding:0 0 1.5rem 2rem;position:relative}.portfolio-timeline__item:before{border:2px solid var(--bg);background:var(--accent);content:"";border-radius:50%;width:.7rem;height:.7rem;position:absolute;top:.3rem;left:-.38rem}.portfolio-timeline h3{letter-spacing:-.035em;margin:0;font-size:1.2rem}.portfolio-timeline p{color:var(--muted);margin:.2rem 0 0;font-size:.82rem}.portfolio-timeline__description{max-width:42rem;font-size:.84rem!important}.portfolio-timeline__current{color:var(--accent);font:.61rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.archive-component-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.archive-component{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:12rem;padding:1rem;transition:background-color .22s;display:flex}.archive-component:hover{background:var(--surface-2)}.archive-component h3{letter-spacing:-.035em;margin:0;font-size:1.2rem}.archive-component p{color:var(--muted);font:.58rem var(--mono);margin:auto 0 0}.archive-component__description{font:.84rem/1.55 var(--body-font)!important;margin:.55rem 0 0!important}.motion-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.motion-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:13rem;padding:1rem;transition:background-color .22s,border-color .22s;display:flex}.motion-card:hover{border-color:var(--accent);background:var(--surface-2)}.motion-card__mark{border:1px solid var(--line);width:2.15rem;height:2.15rem;color:var(--muted);place-items:center;margin-bottom:1.6rem;font-size:1rem;transition:border-color .22s,color .22s;display:grid}.motion-card:hover .motion-card__mark{border-color:var(--accent);color:var(--accent)}.motion-card h3{letter-spacing:-.03em;margin:0;font-size:1.2rem;line-height:1.25}.motion-card p{color:var(--muted);font:.57rem var(--mono);margin:.35rem 0 0}.motion-card__description{font:.84rem/1.5 var(--body-font)!important}.archive-compact-technologies{padding-top:.9rem}.archive-compact-actions{flex-wrap:wrap;gap:.65rem;margin-top:.75rem;display:flex}.archive-compact-actions a{border:1px solid var(--line);min-height:2rem;color:var(--text);font:500 .63rem var(--mono);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:.35rem .55rem;transition:background-color .22s,border-color .22s,color .22s;display:inline-flex}.archive-compact-actions a:hover,.archive-compact-actions a:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.archive-compact-actions i{color:var(--accent);margin-left:.15rem;transition:color .22s}.archive-compact-actions a:hover i,.archive-compact-actions a:focus-visible i{color:currentColor}.archive-filtered-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.archive-more{border:1px dashed var(--line);background:var(--surface);grid-template-columns:9rem minmax(0,1fr);gap:1.25rem;margin-top:1rem;padding:1.25rem;transition:background-color .22s,border-color .22s;display:grid}.archive-more:hover{border-color:var(--accent)}#archive-content>.archive-section:last-child{margin-bottom:clamp(2rem,4vw,3.25rem)}.archive-more__mark{background:var(--surface-2);min-height:7rem;color:var(--accent);place-items:center;font-size:1.9rem;display:grid}.archive-more__eyebrow{color:var(--muted);font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .35rem}.archive-more h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.2rem,2vw,1.55rem)}.archive-more p:last-child{max-width:42rem;color:var(--muted);margin:.45rem 0 0;font-size:.86rem}.archive-featured-cta{justify-content:space-between;align-items:center;gap:2rem;margin-top:clamp(3.5rem,7vw,6rem);padding-top:0;padding-bottom:clamp(5rem,9vw,8rem);display:flex}.archive-featured-cta p{max-width:34rem;color:var(--muted);margin:0}.archive-featured-cta strong{color:var(--text)}@media (max-width:980px){.archive-card-grid,.archive-filtered-grid,.archive-component-grid,.motion-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.archive-hero{height:100svh}.archive-heading,.archive-featured-cta{flex-direction:column;align-items:flex-start}.archive-heading>p{text-align:left}.archive-card-grid,.archive-card-grid--highlights,.archive-filtered-grid,.archive-origin,.archive-more{grid-template-columns:1fr}.archive-more__mark{min-height:5rem}.archive-component-grid,.motion-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-origin__card{min-height:0}}@media (max-width:430px){.archive-component-grid,.motion-gallery{grid-template-columns:1fr}}