.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.work-carousel{scroll-margin-top:24px;--card-width:clamp(240px,28vw,400px);--card-height:clamp(430px,43vw,590px);--orbit-radius:clamp(220px,45vw,660px)}
.work-carousel.is-ready .carousel-viewport{perspective:2400px;perspective-origin:50% 50%;overflow:hidden;padding:24px 0;margin:-24px 0;touch-action:pan-y pinch-zoom}
.work-carousel.is-ready .work-grid{position:relative;display:block;width:100%;height:var(--card-height);pointer-events:none;transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--orbit-radius))) rotateY(var(--rotation,0deg));transition:transform 1s cubic-bezier(.4,0,.2,1);outline-offset:-3px}
.work-carousel.is-ready .work-card{position:absolute;inset:0 auto auto 50%;width:var(--card-width);height:var(--card-height);margin-left:calc(var(--card-width) / -2);padding:0;border-radius:6px;color:var(--paper);background:var(--ink);overflow:hidden;cursor:pointer;pointer-events:auto;backface-visibility:hidden;transform:rotateY(var(--angle)) translateZ(var(--orbit-radius)) rotateY(var(--counter-rotation));filter:blur(2px) brightness(.72);transition:transform 1s cubic-bezier(.4,0,.2,1),filter .3s ease,box-shadow .3s ease;box-shadow:0 22px 44px rgba(17,27,25,.12)}
.work-carousel.is-ready .work-card.is-front{filter:blur(0) brightness(1);box-shadow:0 22px 44px rgba(17,27,25,.2)}
.work-carousel.is-initializing .work-grid,.work-carousel.is-initializing .work-card{transition:none}
.work-carousel.is-ready.has-preview .work-card:not(.is-preview){filter:blur(2.6px) brightness(.62)}
.work-carousel.is-ready.has-preview .work-card.is-preview{filter:blur(0) brightness(1)}
.work-carousel.is-ready .work-card .art{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.work-carousel.is-ready .work-card .art:after{opacity:1;background:linear-gradient(0deg,rgba(8,15,12,.96),rgba(8,15,12,.82) 24%,rgba(8,15,12,.24) 57%,rgba(8,15,12,.1))}
.work-carousel.is-ready .work-card img{user-select:none;-webkit-user-drag:none}
.work-carousel.is-ready .art-index{top:20px;left:20px;z-index:2}
.work-carousel.is-ready .art-label{top:66px;bottom:auto;left:20px;max-width:calc(100% - 40px);font-size:9px;z-index:2;background:rgba(255,255,255,.9)}
.work-carousel.is-ready .carousel-card-copy{position:absolute;bottom:26px;left:26px;right:26px;z-index:3}
.work-carousel.is-ready .experience-dates{padding:0;margin:0 0 12px;color:#d7e2da;font-size:10px}
.work-carousel.is-ready .work-meta{display:block;padding:0}
.work-carousel.is-ready .work-card h3{font-size:clamp(25px,2.5vw,36px);line-height:1.08;letter-spacing:-.045em;color:var(--paper);margin:0 0 12px}
.work-carousel.is-ready .work-card p{font-size:14px;line-height:1.65;color:#e0e7e2;margin:0}
.work-carousel.is-ready .card-open{margin-top:18px;width:42px;height:42px;border-color:rgba(255,255,255,.6);color:var(--paper);font-size:24px}
.work-carousel.is-ready .card-open:hover,.work-carousel.is-ready .card-open:focus-visible{background:var(--lime);color:var(--ink)}
.carousel-controls{display:flex;align-items:center;gap:24px;margin-top:34px}
.carousel-controls[hidden]{display:none}
.carousel-arrows{display:flex;gap:12px}
.carousel-arrows button{display:grid;place-items:center;width:48px;height:48px;background:transparent;border:1px solid #96a39b;border-radius:50%;color:var(--ink);font-size:24px;transition:background .2s,color .2s}
.carousel-arrows button:hover{background:var(--ink);color:var(--lime)}
.carousel-count{font-size:11px;font-weight:800;letter-spacing:.12em;white-space:nowrap;color:#53645b}
.carousel-progress{height:2px;flex:1;background:var(--line);overflow:hidden}
.carousel-progress span{display:block;width:33.333333%;height:100%;background:var(--rust);transition:transform 1s cubic-bezier(.4,0,.2,1)}
@media(max-width:800px){.work-carousel.is-ready .carousel-card-copy{left:20px;right:20px;bottom:22px}.work-carousel.is-ready .work-card p{font-size:13px}.work-carousel.is-ready .work-card h3{font-size:26px}}
@media(max-width:600px){.work-carousel{scroll-margin-top:24px;--card-width:clamp(166px,52vw,230px);--card-height:430px;--orbit-radius:clamp(120px,35vw,210px)}.work-carousel.is-ready .carousel-viewport{perspective:900px}.work-carousel.is-ready .carousel-card-copy{left:16px;right:16px;bottom:18px}.work-carousel.is-ready .art-index{left:16px;top:16px;font-size:9px;padding:8px 10px}.work-carousel.is-ready .art-label{left:16px;top:56px;max-width:calc(100% - 32px);font-size:8px;padding:8px}.work-carousel.is-ready .work-card h3{font-size:23px;margin-bottom:10px}.work-carousel.is-ready .work-card p{font-size:12px;line-height:1.55}.work-carousel.is-ready .experience-dates{font-size:8px;letter-spacing:.07em;margin-bottom:10px}.work-carousel.is-ready .card-open{width:36px;height:36px;margin-top:12px;font-size:22px}.carousel-controls{gap:16px;margin-top:26px}.carousel-arrows{gap:10px}.carousel-arrows button{width:44px;height:44px}.carousel-count{font-size:10px}.work-carousel.is-ready .work-card{filter:blur(1.4px) brightness(.7)}.work-carousel.is-ready .work-card.is-front{filter:blur(0) brightness(1)}}
@media(prefers-reduced-motion:reduce){.work-carousel.is-ready .work-grid,.work-carousel.is-ready .work-card,.carousel-progress span,.carousel-arrows button{transition:none}}
