/* Shared by project photos and the homepage project selection. */
.project-preview-controls { display:flex; align-items:center; gap:1rem; margin-top:1rem; }
.project-preview-controls button { width:44px; height:44px; border:1px solid var(--rule); background:transparent; color:inherit; font:inherit; cursor:pointer; }
.project-preview-controls button:disabled { opacity:.3; cursor:default; }
.project-preview-controls button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.project-preview-controls span { font-size:.875rem; font-variant-numeric:tabular-nums; }
/* controls: three ticks, a quiet counter, borderless arrows */
.project-preview-controls { display:flex; align-items:center; gap:1.25rem; margin-top:.5rem; }
.project-preview-ticks { order:0; flex:1; display:flex; gap:.5rem; }
.project-preview-ticks button { position:relative; flex:1; height:44px; padding:0; border:0; background:none; cursor:pointer; color:inherit; }
.project-preview-ticks button::before,
.project-preview-ticks button::after { content:""; position:absolute; left:0; right:0; top:50%; height:1px; }
.project-preview-ticks button::before { background:var(--rule); }
.project-preview-ticks button::after { height:2px; margin-top:-.5px; background:var(--fg); transform:scaleX(0); transform-origin:left; transition:transform var(--duration-fast) var(--ease); }
.project-preview-ticks button[aria-current="true"]::after { transform:none; }
.project-preview-ticks button:focus-visible { outline:2px solid currentColor; outline-offset:-4px; }
.project-preview-controls [data-preview-count] { order:1; font-size:.8125rem; letter-spacing:.04em; color:var(--fg-muted); font-variant-numeric:tabular-nums; }
.project-preview-controls button[data-preview-prev],
.project-preview-controls button[data-preview-next] { order:2; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:none; font-size:1.25rem; line-height:1; transition:transform .35s var(--ease), opacity .3s; }
@media (hover:hover) {
  .project-preview-controls button[data-preview-prev]:not(:disabled):hover { transform:translateX(-3px); }
  .project-preview-controls button[data-preview-next]:not(:disabled):hover { transform:translateX(3px); }
}
.project-preview-controls button[data-preview-prev] { margin-right:-.75rem; }

/* An opaque next photo sits beneath this decorative outgoing layer. */
.project-preview-outgoing { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.project-preview-outgoing img { display:block; width:100%; height:100%; object-fit:cover; }
/* The source rendering contains a dark bottom edge; crop it within the frame. */
[data-project-preview] img[src*="/hilton-vladimir/5c5569aa75de"] { scale:1.012; }

.project-preview-controls[hidden] { display:none; }
@media(max-width:699px) { .project-preview-controls { gap:.75rem; } }
@media(prefers-reduced-motion:reduce) { .project-preview-controls *, .project-preview-controls *::after { transition:none; } }
