/* A compact, connected edit: artwork keeps its own shape and identity. */
.selected-work-section{padding:16px 0 36px;isolation:isolate}
.selected-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}
.selected-heading .section-kicker{color:#aaaab5;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.selected-heading .collection-title{margin:10px 0 0}
.selected-heading p{margin:0;color:#aeb0b9;font-size:13px;line-height:1.65}
.selected-constellation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 18px;width:min(100%,900px);margin:30px auto 22px;align-items:start;position:relative}
.selected-constellation::before{content:'';position:absolute;inset:9% 2% 12%;z-index:-1;background:radial-gradient(ellipse at 42% 45%,#8c618017,transparent 68%);pointer-events:none}
.selected-piece{display:block;min-width:0;width:100%;padding:0;grid-column:span 2;position:relative;text-align:center;touch-action:manipulation;border-radius:20%;-webkit-tap-highlight-color:transparent}
.selected-piece.piece-1{grid-column:2/span 2;grid-row:1}.selected-piece.piece-2{grid-column:4/span 2;grid-row:1}
.selected-piece.piece-3{grid-column:1/span 2;grid-row:2}.selected-piece.piece-4{grid-column:3/span 2;grid-row:2}.selected-piece.piece-5{grid-column:5/span 2;grid-row:2}
.selected-piece.piece-6{grid-column:2/span 2;grid-row:3}.selected-piece.piece-7{grid-column:4/span 2;grid-row:3}
.selected-piece .selected-image{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:auto;aspect-ratio:1;overflow:hidden;border-radius:24%;padding:7%;background:#0b0c0e;border:1px solid #ffffff19;box-shadow:0 8px 18px #0003;transition:transform 420ms cubic-bezier(.2,.8,.2,1),border-color 250ms;transform:translateZ(0)}
.selected-piece .selected-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:4%;transform:none!important}
.selected-piece .selected-photo{padding:0}.selected-piece .selected-photo img{object-fit:cover;border-radius:0}
.selected-piece.piece-4 .selected-image{background:radial-gradient(ellipse at center,#4a37141c,#08090b 75%);border-color:#d4ac6a40}
.selected-label{display:block;padding:12px 2px 20px;min-width:0}
.selected-label strong{display:block;font-size:16px;line-height:1.2;letter-spacing:-.025em;font-weight:500}
.selected-label small{display:block;margin-top:6px;color:#9497a2;font-size:10px;line-height:1.3}
.selected-all{display:flex;width:max-content;gap:20px;margin:8px auto 0;align-items:center;min-height:44px;font-size:12px;color:#c6c7d0;border-bottom:1px solid #ffffff30}
.selected-piece:focus-visible{outline:none}.selected-piece:focus-visible .selected-image{outline:2px solid #e5c5a0;outline-offset:4px;transform:scale(1.04)}
@media(hover:hover) and (pointer:fine){.selected-piece:hover{z-index:2}.selected-piece:hover .selected-image{transform:translateY(-4px) scale(1.045);border-color:#ffffff65}.selected-piece:active .selected-image{transform:scale(.98)}}
.selected-piece:active .selected-image{transition-duration:110ms;transform:scale(.98)}
/* The photo strip stays tightly spaced, with visible neighbours on phones. */
.home-photography .photo-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.home-photography .collection-title{margin:0 0 12px}.home-photography .photo-intro{font-size:13px;line-height:1.5;color:#aeb0b9;margin:0}
.photo-step-controls{display:flex;gap:8px;flex:none}.photo-step-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff25;border-radius:50%;font-size:19px;background:#ffffff06}.photo-step-controls button:disabled{opacity:.3;cursor:default}
.long-home .home-photography .photo-ribbon{display:flex;position:relative;overflow-x:auto;overflow-y:hidden;align-items:start;gap:10px;grid-template-columns:none;margin:0 -14px;padding:10px 14px 14px;scroll-padding-inline:14px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}
.home-photography .photo-ribbon::-webkit-scrollbar{display:none}
.long-home .home-photography .photo-ribbon>.project-card{flex:0 0 clamp(230px,28vw,340px);width:auto;min-width:0;grid-column:auto;scroll-snap-align:start;scroll-snap-stop:normal;padding:0}
.long-home .home-photography .photo-ribbon .project-card .image{--photo-rim:5px;height:auto!important;aspect-ratio:4/5;padding:5px!important;border-radius:14px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:transform 380ms cubic-bezier(.2,.8,.2,1);transform:scale(var(--portrait-scale,1));transform-origin:50% 60%}
.long-home .home-photography .photo-ribbon .project-card .image img{position:absolute!important;inset:5px!important;display:block;width:calc(100% - 10px)!important;height:calc(100% - 10px)!important;aspect-ratio:auto;object-fit:cover!important;border-radius:9px!important;margin:0!important;padding:0!important}
.home-photography .photo-ribbon .tile-caption{padding:11px 3px 0;min-height:0;gap:5px}.home-photography .photo-ribbon .tile-caption strong{font-size:17px}.home-photography .photo-ribbon .tile-caption small{font-size:10px}
.photo-position{display:flex;align-items:center;gap:16px;font-size:10px;color:#aeb0b9;margin-top:8px}.photo-position-count{font-variant-numeric:tabular-nums;min-width:43px}.photo-position-track{height:2px;flex:1;max-width:150px;background:#ffffff19;overflow:hidden}.photo-position-track>span{display:block;height:100%;width:20%;background:#d9d8de;transform:translateX(var(--portrait-progress,0%));transition:transform 120ms linear}.photo-position a{margin-left:auto;min-height:44px;display:flex;align-items:center}
#lightbox .controls .selected-project-link{font-size:12px;border-bottom:1px solid #ffffff50}
@media(max-width:800px){
 .selected-work-section{padding-top:4px;padding-bottom:20px}.selected-heading{display:block;margin-bottom:10px}.selected-heading .collection-title{margin-top:9px}.selected-heading p{font-size:12px;margin-top:14px}.selected-heading p br{display:none}
 .selected-constellation{gap:3px 9px;margin:24px auto 8px;width:min(100%,580px)}.selected-piece .selected-image{padding:5%;border-radius:23%;box-shadow:0 5px 12px #0003}.selected-piece .selected-photo{padding:0}.selected-label{padding:9px 0 15px}.selected-label strong{font-size:clamp(10px,3.1vw,15px);line-height:1.25}.selected-label small{font-size:8px;margin-top:4px}.selected-all{font-size:11px;margin-top:10px}
 .home-photography .photo-heading{align-items:center;gap:8px}.home-photography .photo-intro{font-size:11px;max-width:25ch}.photo-step-controls{gap:5px}.photo-step-controls button{width:44px;height:44px}
 .long-home .home-photography .photo-ribbon{gap:9px;margin-inline:-14px;padding-inline:14px;scroll-padding-inline:14px}
 .long-home .home-photography .photo-ribbon>.project-card{flex-basis:74%;min-width:0}
 .long-home .home-photography .photo-ribbon .project-card .image{border-radius:12px!important}
 .home-photography .photo-ribbon .tile-caption strong{font-size:18px}.photo-position{gap:12px}.photo-position-track{max-width:90px}
}
@media(prefers-reduced-motion:reduce){.selected-piece .selected-image,.home-photography .photo-ribbon .image,.photo-position-track>span{transition:none!important;transform:none!important}.selected-piece:active .selected-image{transform:none!important}.home-photography .photo-ribbon{scroll-behavior:auto!important}}
@media(prefers-contrast:more){.selected-piece .selected-image,.photo-step-controls button{border-color:#b7bac5}.selected-label small,.selected-heading p,.photo-intro,.photo-position{color:#ddd}}
@media(min-width:801px){.selected-constellation{width:min(100%,560px);gap:3px 14px;margin-block:24px 12px}.selected-label{padding:10px 0 12px}.selected-label strong{font-size:14px}.selected-label small{font-size:9px;margin-top:4px}}
/* The inner artwork edge is the single keyboard focus indicator. */
.selected-piece:focus-visible{outline:0!important;box-shadow:none!important}
/* Circular artwork, gently breathing only while this collection is visible. */
.selected-note{display:flex;align-items:end;gap:22px}.selected-motion-toggle{font-size:11px;line-height:1.3;min-height:44px;min-width:90px;color:#b9bac3;border-bottom:1px solid #ffffff30;padding:10px 0;white-space:nowrap}.selected-motion-toggle:disabled{opacity:.7;cursor:default}
.selected-constellation{width:min(100%,620px);gap:0 10px;margin:46px auto 30px;align-items:center;grid-auto-rows:auto}
.selected-piece{aspect-ratio:1;border-radius:50%;touch-action:manipulation}
.selected-piece:nth-child(n+3){margin-top:-10%}
.selected-orbit{display:block;width:100%;height:100%;border-radius:50%;animation:orbit-breathe var(--orbit-duration,7s) ease-in-out infinite;animation-delay:var(--orbit-delay,0s);animation-play-state:paused;transform-origin:50% 50%}
.selected-constellation.is-moving .selected-orbit{animation-play-state:running;will-change:transform}
.selected-piece .selected-image,.selected-piece .selected-photo{height:100%;width:100%;padding:0!important;border-radius:50%!important;border:1px solid #ffffff22;background:#101115;box-shadow:none!important;transform:scale(var(--circle-size,1));transition:transform 420ms cubic-bezier(.22,.7,.2,1);overflow:hidden}
.selected-piece .selected-image img{width:100%;height:100%;object-fit:cover;border-radius:0;transform:scale(var(--art-scale,1))!important;object-position:var(--art-position,50% 50%)}
.selected-piece.piece-1{--orbit-duration:7.8s;--orbit-delay:-2s;--orbit-x:-2px;--orbit-y:2px;--circle-size:.96;--art-scale:1.08}
.selected-piece.piece-2{--orbit-duration:8.4s;--orbit-delay:-5s;--orbit-x:2px;--orbit-y:-2px;--circle-size:.98}
.selected-piece.piece-3{--orbit-duration:7.4s;--orbit-delay:-3.5s;--orbit-x:-2px;--orbit-y:-1px;--circle-size:.96}
.selected-piece.piece-4{--orbit-duration:9s;--orbit-delay:-1s;--orbit-x:0px;--orbit-y:2px;--circle-size:1.05;--art-scale:1.42}
.selected-piece.piece-5{--orbit-duration:8.2s;--orbit-delay:-6s;--orbit-x:2px;--orbit-y:1px;--circle-size:.97;--art-scale:1.06}
.selected-piece.piece-6{--orbit-duration:9.4s;--orbit-delay:-4s;--orbit-x:-1px;--orbit-y:2px;--circle-size:.96}
.selected-piece.piece-7{--orbit-duration:7.6s;--orbit-delay:-.5s;--orbit-x:2px;--orbit-y:1px;--circle-size:.96}
.selected-piece .selected-label{position:absolute;left:50%;top:100%;width:max-content;max-width:170%;padding:8px 10px;margin-top:5px;min-height:0;border:1px solid #ffffff1c;border-radius:9px;background:#18191ef5;opacity:0;pointer-events:none;transform:translateX(-50%);z-index:5;transition:opacity 240ms;clip-path:none}
.selected-label strong{font-size:12px!important}.selected-label small{font-size:9px!important;margin-top:4px}
.selected-piece:focus-visible .selected-label{opacity:1}.selected-piece:focus-visible{z-index:3}.selected-piece:focus-visible .selected-image{transform:scale(calc(var(--circle-size,1)*1.03));outline:2px solid #e5c5a0;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.selected-piece:hover .selected-label{opacity:1}.selected-piece:hover .selected-image{transform:scale(calc(var(--circle-size,1)*1.04))}.selected-piece:hover .selected-orbit{animation-play-state:paused}}
.selected-piece:active .selected-image{transform:scale(calc(var(--circle-size,1)*.97))}
@keyframes orbit-breathe{0%,100%{transform:translate3d(0,0,0) scale(.994)}50%{transform:translate3d(var(--orbit-x,2px),var(--orbit-y,-2px),0) scale(1.006)}}
@media(max-width:800px){.selected-note{display:block}.selected-motion-toggle{margin-top:5px;font-size:10px;min-width:0}.selected-constellation{width:min(100%,480px);gap:0 7px;margin:30px auto 24px}.selected-heading p{max-width:34ch}.selected-piece .selected-label{max-width:180%;padding:6px 8px}.selected-label strong{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.selected-orbit{animation:none!important;will-change:auto!important}.selected-piece .selected-image,.selected-piece:active .selected-image,.selected-piece:hover .selected-image{transform:scale(var(--circle-size,1))!important}.selected-piece .selected-image img{transform:scale(var(--art-scale,1))!important}.selected-label{transition:none!important}}
/* The strip itself follows native momentum; individual photos never chase it. */
.long-home .home-photography .photo-ribbon .project-card .image{transform:none!important;transition:none!important}

.selected-piece:focus-visible .selected-orbit{animation-play-state:paused!important}

/* A varied, compact collection. Glass is a static edge treatment, never a blur. */
.selected-constellation{display:block;width:min(100%,640px);margin:38px auto 24px}
.selected-row{display:flex;align-items:center;justify-content:center;gap:2%;position:relative}
.selected-row+.selected-row{margin-top:-3.5%}
.selected-constellation .selected-piece{flex:0 0 var(--piece-size);width:var(--piece-size);min-width:44px;margin:0!important;aspect-ratio:1;transition:none!important;background:transparent!important;border:0!important;box-shadow:none!important}
.selected-orbit{position:relative;isolation:isolate}
.selected-orbit::before{content:'';position:absolute;inset:-3px;border-radius:50%;pointer-events:none;border:1px solid #ffffff30;background:linear-gradient(135deg,#ffffff26,transparent 30%,transparent 65%,#bed9f51a);box-shadow:0 5px 12px #0004,inset 0 1px 1px #ffffff38;z-index:-1}
.selected-piece .selected-image{border:1px solid #ffffff38!important;background:#13181b!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.selected-piece .selected-image::before{display:none!important}
.selected-piece .selected-image::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff16 0%,#ffffff05 18%,transparent 38%,transparent 72%,#b9d7f108 100%);box-shadow:inset 0 1px 2px #ffffff66,inset 0 -2px 3px #0005;opacity:1;transform:none;transition:none}
.selected-piece .selected-label{z-index:5}
@media(max-width:800px){.selected-constellation{width:100%;margin:34px auto 28px}.selected-row{gap:2.5%}.selected-row+.selected-row{margin-top:-2.5%}.selected-orbit::before{inset:-2px;box-shadow:0 3px 7px #0003,inset 0 1px 1px #ffffff38}.selected-piece .selected-label{max-width:190%}}
@media(prefers-reduced-transparency:reduce){.selected-orbit::before,.selected-piece .selected-image::after{display:none!important}.selected-piece .selected-image{border:2px solid #a6acb4!important}}
@media(prefers-contrast:more){.selected-orbit::before,.selected-piece .selected-image::after{display:none!important}.selected-piece .selected-image{border:2px solid #d4d7dc!important}}
/* Space for the outer rim and breathing movement, including the smallest screens. */
.selected-row{gap:3%}.selected-row+.selected-row{margin-top:1%}
@media(max-width:800px){.selected-row{gap:3%}.selected-row+.selected-row{margin-top:1%}}
@media(min-width:801px){.selected-constellation{width:min(100%,560px)}}

/* Wide screens get their own broader composition; portrait phones keep the 13-piece edit. */
.selected-landscape-more,.selected-count-wide{display:none}
@media(min-width:801px),(orientation:landscape) and (min-width:600px){
 .selected-count-portrait{display:none}.selected-count-wide{display:inline}
 .selected-constellation{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));width:min(100%,1040px);gap:10px 12px;align-items:center;justify-items:center;margin:38px auto 24px}
 .selected-constellation .selected-row{display:contents}
 .selected-constellation .selected-piece{grid-column:var(--landscape-column)/span 2;grid-row:var(--landscape-row);width:var(--landscape-size);flex:none;justify-self:center;align-self:center}
}
/* The central SFTS is the original cutout mark, without a circular container. */
.selected-piece[data-selected-project="sfts"] .selected-orbit::before,
.selected-piece[data-selected-project="sfts"] .selected-image::before,
.selected-piece[data-selected-project="sfts"] .selected-image::after{display:none!important}
.selected-piece[data-selected-project="sfts"] .selected-image{border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;box-shadow:none!important}
.selected-piece[data-selected-project="sfts"] .selected-image img{object-fit:contain;border-radius:0}
.selected-piece[data-selected-project="sfts"]:focus-visible .selected-image{outline:0!important}
.selected-piece[data-selected-project="sfts"]:focus-visible{outline:2px solid #e5c5a0!important;outline-offset:4px!important;border-radius:14px}
.selected-piece[data-selected-project="sfts"] .selected-image{--art-scale:1.8}
