.project-card{--carousel-card-width:var(--width-project-card-mobile);--project-card-aspect-ratio:var(--aspect-project-card-tall);width:var(--carousel-card-width);aspect-ratio:var(--project-card-aspect-ratio);flex:0 0 var(--carousel-card-width);border-radius:var(--radius-project-card);background:var(--color-project-card-background);color:var(--color-project-card-text);scroll-snap-align:start;isolation:isolate;position:relative;overflow:hidden}.project-card:last-child:not(:first-child){scroll-snap-align:end}.project-card__media,.project-card__media img,.project-card__media video,.project-card__media>.web-media,.project-card__placeholder,.project-card__shade{width:100%;height:100%;display:block}.project-card__media,.project-card__media img,.project-card__placeholder,.project-card__shade{position:absolute;inset:0}.project-card__media{z-index:0}.project-card__media img,.project-card__media video{object-fit:cover}.project-card__placeholder{align-content:center;justify-items:center;gap:var(--space-sm);padding:var(--space-sm);background:radial-gradient(circle at 76% 18%, #ffffff2e, transparent 38%), linear-gradient(145deg, var(--neutral-800), var(--neutral-950));display:grid}.project-card--leather .project-card__placeholder{background:radial-gradient(circle at 74% 20%, #ffffff24, transparent 38%), linear-gradient(145deg, var(--neutral-700), var(--neutral-950))}.project-card--sand .project-card__placeholder{background:radial-gradient(circle at 76% 18%, #ffffff3d, transparent 38%), linear-gradient(145deg, var(--neutral-600), var(--neutral-900))}.project-card__placeholder-word{color:#fffc;font-family:var(--font-brand);letter-spacing:var(--tracking-zero);font-size:clamp(2rem,8vw,4.5rem);line-height:.9;transform:rotate(-7deg)}.project-card__placeholder-word--small{font-family:var(--font-heading);font-size:var(--type-label-size);letter-spacing:var(--tracking-brand);text-transform:uppercase;align-self:end;transform:none}.project-card__placeholder-line{width:38%;height:var(--border-width-strong);opacity:.7;background:currentColor}.project-card__shade{z-index:1;pointer-events:none;background:linear-gradient(135deg,#000000c7,#0000 56%),linear-gradient(315deg,#0000008a,#0000 48%),linear-gradient(#0000 38%,#0000002e)}.project-card__content{z-index:2;width:100%;padding:var(--space-sm);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.project-card__heading{max-width:var(--project-card-heading-max-width);gap:var(--space-project-card-heading-gap);display:grid}.project-card__title{color:var(--color-project-card-text);font-size:var(--type-h3-size);text-wrap:balance}.project-card__tags{gap:var(--space-project-card-tag-gap);flex-wrap:wrap;list-style:none;display:flex}.project-card__tags li{padding:var(--space-project-card-tag-block) var(--space-project-card-tag-inline);border:var(--border-width-hairline) solid var(--color-project-tag-border);border-radius:var(--radius-project-tag);background:var(--color-project-tag-background);color:var(--color-project-card-copy);font-size:var(--type-meta-size);font-weight:var(--font-weight-medium);line-height:var(--leading-tight);backdrop-filter:blur(var(--blur-project-tag))}.project-card__action{color:var(--color-project-card-text);white-space:nowrap;backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));background:0 0;border-color:#ffffff94;align-self:flex-end;margin-block-start:var(--space-3xs)}.project-card__action:hover,.project-card__action:focus-visible{border-color:var(--color-project-card-text);color:var(--color-project-card-text);background:0 0}@media (width<=47.98rem){.project-card__content{padding:var(--space-sm)}.project-card__heading{max-width:var(--project-card-heading-max-width-mobile)}.project-card__tags li{font-size:var(--type-control-sm-size)}.project-card:not(:first-child):not(:last-child){scroll-snap-align:center}.project-card:last-child:not(:first-child){scroll-snap-align:end}}@media (width>=48rem){.project-card{--carousel-card-width:var(--width-project-card-tablet)}}@media (width>=75rem){.project-card{--carousel-card-width:var(--width-project-card-desktop);--project-card-aspect-ratio:var(--aspect-project-card-landscape)}}@media (prefers-reduced-motion:reduce){.project-card__action{transition-duration:0s}}.carousel{gap:var(--space-lg);display:grid}.carousel--full-width{gap:0}.carousel__header{justify-content:space-between;align-items:end;gap:var(--space-sm);display:flex}.carousel__header h2{max-width:16ch}.carousel__description{max-width:48ch;color:var(--color-text-muted);margin-block-start:var(--space-sm)}.carousel__header-tools{align-items:center;gap:var(--space-sm);flex:none;display:flex}.carousel__header-action{margin-inline-start:auto}.carousel__footer-action{display:none}.carousel__counter{align-items:baseline;gap:var(--space-3xs);color:var(--color-text-muted);font-size:var(--type-control-size);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-caps);display:flex}.carousel__counter [data-carousel-current]{color:var(--color-text);font-weight:var(--font-weight-semibold)}.carousel__controls{gap:var(--space-2xs);display:flex}.carousel__control{width:var(--size-control-sm);height:var(--size-control-sm);border:var(--border-width-hairline) solid var(--color-circular-control-border);border-radius:var(--radius-control);background:var(--color-circular-control-background);color:var(--color-circular-control-text);cursor:pointer;transition:background-color var(--transition-interactive), border-color var(--transition-interactive), color var(--transition-interactive), transform var(--transition-interactive);place-items:center;display:inline-grid}.carousel__control svg{width:var(--size-icon-sm);height:var(--size-icon-sm);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--border-width-strong)}.carousel__control:hover,.carousel__control:focus-visible{border-color:var(--color-circular-control-hover-border);background:var(--color-circular-control-hover-background);color:var(--color-circular-control-hover-text);transform:scale(var(--scale-interactive-hover))}.carousel__control:active:not(:disabled){transform:scale(var(--scale-interactive-pressed))}.carousel__control:disabled{border-color:var(--color-border);cursor:not-allowed;opacity:var(--opacity-disabled);transform:none}.carousel__track{gap:var(--space-sm);overscroll-behavior-inline:contain;min-width:0;padding:var(--space-2xs) var(--space-2xs) var(--space-sm);scroll-padding-inline:var(--space-2xs);scroll-snap-type:inline mandatory;scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin;cursor:grab;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;overflow-x:auto}.carousel__track[data-carousel-reveal-track=true]{opacity:0;transform:translateX(var(--distance-feature-rail-enter));transition:opacity var(--duration-slow) var(--ease-enter), transform var(--duration-page) var(--ease-enter);transition-delay:var(--duration-slow)}.carousel__track[data-carousel-reveal-track=true].is-visible{opacity:1;transform:translate(0)}.carousel__track.is-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none;scroll-behavior:auto}.carousel__track img{user-select:none;-webkit-user-drag:none}.carousel__track>*{flex:0 0 var(--carousel-card-width,min(82vw, 30rem));scroll-snap-align:start;min-width:0}.carousel--full-width .carousel__track{width:100vw;max-width:100vw;padding-inline:var(--inset-page-content);padding-block:calc(var(--space-feature-scroll-hit-area) + var(--space-lg)) calc(var(--space-feature-scroll-hit-area) + var(--space-sm));margin-inline-start:calc(50% - 50vw);margin-block:calc(0rem - var(--space-feature-scroll-hit-area)) calc(0rem - var(--space-feature-scroll-hit-area));scroll-padding-inline:var(--inset-page-content);scrollbar-width:none;-ms-overflow-style:none}.carousel--full-width .carousel__track::-webkit-scrollbar{display:none}@media (width<=35rem){.carousel__header{flex-direction:column;align-items:start}.carousel__header-tools{justify-content:space-between;width:100%}.carousel--full-width .carousel__header-tools--action{display:none}.carousel--full-width .carousel__footer-action{justify-self:center;margin-block-start:var(--space-sm);display:inline-flex}.carousel__track{padding-inline:0;scroll-padding-inline:0}.carousel__track>*{flex-basis:var(--carousel-card-width,min(82vw, 24rem))}}@media (prefers-reduced-motion:reduce){.carousel__track[data-carousel-reveal-track=true],.carousel__track[data-carousel-reveal-track=true].is-visible{opacity:1;transition:none;transform:none}}
