/* A single photographic arc is the homepage's model selector. */
.collection{--arc-card:min(40vw,260px);position:relative;isolation:isolate;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;padding:34px 0 40px;background:#f5f5f7;--rotor-top:20px;--arc-ratio:1.7778}
.collection-heading{position:relative;padding:0 20px;margin-bottom:14px}
.collection-heading .eyebrow{margin-bottom:10px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#6e6e73}
.collection-heading h1{font:600 clamp(34px,9vw,60px)/1.05 var(--sans);letter-spacing:-.025em;color:#1d1d1f}
.arc-gallery{width:100%;margin:0;position:relative;scroll-margin-top:16px}
.arc-stage{position:relative;width:100%;min-height:240px;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;outline-offset:-6px!important}
.arc-rotor{display:flex;justify-content:center;gap:12px;padding:10px 14px}
.arc-card{display:block;flex:0 0 var(--arc-card);width:var(--arc-card);text-decoration:none;position:relative;touch-action:pan-y pinch-zoom;outline-offset:4px!important}
.arc-photo{display:block;position:relative;aspect-ratio:9/16;background:#e8e8ed;box-shadow:0 22px 44px -18px #0000003d,0 2px 6px #0000000f;overflow:hidden;transition:box-shadow .18s}
.arc-photo>img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.arc-preview,.arc-still{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:inherit;pointer-events:none}
.arc-preview{opacity:0}
.arc-preview.is-playing{opacity:1}
.arc-card-caption{z-index:1}
.arc-video-toggle{position:absolute;z-index:2;top:calc(var(--rotor-top) + var(--arc-card)*var(--arc-ratio) - 50px);left:calc(50% + var(--arc-card)*.5 - 50px);width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#1d1d1f8c;color:#fff;font-size:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;display:grid;place-items:center}
.arc-video-toggle:before{content:"";width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.arc-video-toggle[data-state="paused"]:before{width:0;height:0;border-style:solid;border-color:transparent;border-width:6px 0 6px 10px;border-left-color:currentColor;border-right:0;margin-left:3px}
.arc-video-toggle:after{content:"";position:absolute;inset:-4px}
.arc-video-toggle:active{background:#1d1d1fb3}
.arc-card-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:29px 6px 10px;color:#fff;background:linear-gradient(transparent,#1d1d1fb8)}
.arc-ready .arc-card-caption{display:none}
.arc-card-caption strong{font:400 clamp(21px,5.5vw,31px)/1.1 var(--serif);letter-spacing:.4px}
.arc-card-caption svg{width:23px;height:19px;stroke-width:1.1}
.arc-ready .arc-stage{height:calc(var(--arc-card)*var(--arc-ratio) + 64px);perspective:1050px;perspective-origin:50% 42%;cursor:grab}
.arc-ready .arc-rotor{position:absolute;top:var(--rotor-top);left:50%;width:0;height:calc(var(--arc-card)*var(--arc-ratio));padding:0;display:block;transform-style:preserve-3d}
.arc-ready .arc-card{position:absolute;top:0;left:calc(var(--arc-card)*-.5);height:calc(var(--arc-card)*var(--arc-ratio));visibility:hidden}
.arc-ready .arc-card[data-visible="true"]{visibility:visible;will-change:transform}
.arc-ready .arc-photo{border-radius:50% / 4%;}
.arc-reflection{position:absolute;top:calc(100% + 7px);left:0;width:100%;height:48px;overflow:hidden;pointer-events:none;opacity:.15;mask-image:linear-gradient(#000,transparent);-webkit-mask-image:linear-gradient(#000,transparent)}
.arc-reflection img{position:absolute;top:0;width:100%;height:calc(var(--arc-card)*var(--arc-ratio));object-fit:contain;transform:scaleY(-1)}
.arc-stage.is-dragging{cursor:grabbing}
.arc-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 20px;margin:0 auto 26px;width:100%;max-width:440px}
.arc-arrow{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;color:#1d1d1f;display:grid;place-items:center;background:#e8e8ed;transition:background .2s,transform .2s}
@media(hover:hover) and (pointer:fine){.arc-arrow:hover{background:#dcdce1}}
.arc-card:focus-visible .arc-photo{box-shadow:0 0 0 3px #1d1d1f,0 22px 44px -18px #0000003d}
@media(hover:hover) and (pointer:fine){.arc-stage:not(.is-dragging) .arc-card[data-front="true"]:hover .arc-photo{box-shadow:0 26px 50px -18px #0000004d,0 2px 6px #00000014}}
.arc-arrow:active{background:#d2d2d7;transform:scale(.96)}
.arc-current{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:#1d1d1f}
.arc-current-category{font:600 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#6e6e73}
.arc-current-name{font:400 clamp(32px,9vw,40px)/1.1 var(--serif);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.arc-current-link{font:500 13px/1.4 var(--sans);color:#6e6e73;margin-top:2px}
.arc-current-link:after{content:" ›"}
.collection:not(.arc-ready) .arc-current{display:none}
.arc-arrow svg{width:20px;height:20px}
.arc-arrow.previous svg{transform:rotate(180deg)}
.collection-contact{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 24px;border:0;border-radius:999px;text-decoration:none;color:#fff;background:#1d1d1f;position:relative;margin:0 auto;transition:background .2s}
.collection-contact:hover{background:#343437}
.collection-contact:active{background:#000}
.collection-contact>svg:first-child{width:20px;height:20px}
.collection-contact>svg:last-child{display:none}
.collection-contact span{font:500 15px/1.2 var(--sans)}
@media(min-width:761px){
 .collection{--arc-card:clamp(170px,min(20vw,29svh),300px);min-height:calc(100svh - 103px);padding:36px 0 40px;--rotor-top:30px}
 .collection-heading{margin-bottom:18px}
 .arc-gallery{margin:auto 0}
 .arc-ready .arc-stage{height:calc(var(--arc-card)*var(--arc-ratio) + 80px);perspective:1500px;perspective-origin:50% 43%}
 .arc-reflection{height:62px}
 .arc-navigation{max-width:520px;margin-bottom:30px}
 .arc-current-name{font-size:46px}
}
@media(max-width:760px) and (max-height:700px){.collection{--arc-card:min(38vw,190px);padding-top:12px;padding-bottom:22px}.collection-heading{margin-bottom:8px}.collection-heading h1{font-size:32px}.arc-navigation{margin-bottom:18px}.arc-current-name{font-size:30px}}
/* Category filter, view switch and the alternative grid. */
.catalog-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 4px;padding:0 16px}
.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#e8e8ed}
.segmented button{min-height:36px;padding:6px 15px;border-radius:999px;font:500 13px/1.2 var(--sans);color:#1d1d1f;white-space:nowrap;transition:background .2s,box-shadow .2s}
.segmented button[aria-pressed="true"]{background:#fff;box-shadow:0 1px 3px #0000001f,0 1px 1px #0000000a}
@media(hover:hover) and (pointer:fine){.segmented button[aria-pressed="false"]:hover{background:#dcdce1}}
.view-toggle{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#e8e8ed;color:#1d1d1f;display:grid;place-items:center;transition:background .2s}
.view-toggle svg{width:20px;height:20px;grid-area:1/1}
.view-toggle svg:last-child,.view-toggle[aria-pressed="true"] svg:first-child{display:none}
.view-toggle[aria-pressed="true"] svg:last-child{display:block}
@media(hover:hover) and (pointer:fine){.view-toggle:hover{background:#dcdce1}}
.view-toggle:active{background:#d2d2d7}
.model-grid{width:100%;max-width:1120px;margin:18px auto 34px;padding:0 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px;text-align:left}
.model-grid[data-count="1"]{grid-template-columns:minmax(0,300px);justify-content:center}
.grid-card{display:block;text-decoration:none;color:#1d1d1f;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.25,1);transition-delay:calc(var(--i,0)*35ms)}
.model-grid.is-entering .grid-card{opacity:0;transform:translateY(12px);transition:none}
.grid-photo{display:block;aspect-ratio:2/3;border-radius:16px;overflow:hidden;background:#e8e8ed;box-shadow:0 12px 30px -16px #00000040}
.grid-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.25,1)}
@media(hover:hover) and (pointer:fine){.grid-card:hover .grid-photo img{transform:scale(1.03)}}
.grid-card:focus-visible .grid-photo{box-shadow:0 0 0 3px #1d1d1f}
.grid-meta{display:flex;flex-direction:column;gap:1px;padding:12px 4px 0}
.grid-meta small{font:600 10px/1.4 var(--sans);letter-spacing:.18em;color:#6e6e73}
.grid-meta strong{font:400 26px/1.15 var(--serif);letter-spacing:-.01em}
@media(min-width:761px){.catalog-controls{margin-bottom:8px}.model-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 22px;padding:0 32px;margin-top:26px}.grid-meta strong{font-size:30px}}
@media(min-width:1100px){.model-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.grid-card,.grid-photo img{transition:none}}
/* Original links remain fully visible and usable when scripting is unavailable. */
.collection:not(.arc-ready) .arc-rotor{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));max-width:780px;margin:auto;padding:10px 20px;gap:20px}
.collection:not(.arc-ready) .arc-card{width:100%;max-width:260px;justify-self:center}
@media(max-width:359px){.collection-heading{padding-left:10px;padding-right:10px}.arc-navigation{gap:10px;padding-left:13px;padding-right:13px}.arc-arrow{width:40px;height:40px;flex-basis:40px}.arc-current-name{font-size:26px}}
@media(prefers-reduced-motion:reduce){.arc-arrow:hover,.arc-arrow:active{transform:none}.arc-reflection{display:none}}
