/* Home showcase (band #showcase, under the S film): finder + two-slide rotator. Role tokens only (site.css :root). */
.show { background: var(--c-surface); border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.show__grid { display: grid; gap: var(--sp-48); align-items: center; padding-top: var(--sp-64); padding-bottom: var(--sp-64); }
@media (min-width: 960px) {
  .show__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .show__car { grid-column: 1 / 8; grid-row: 1; }
  .show__find { grid-column: 9 / 13; grid-row: 1; }
}

/* rotator */
.show__car { display: grid; gap: var(--sp-16); min-width: 0; }
.show__ctl { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-8); order: 2; }
.show__ctl button { min-height: 44px; min-width: 44px; padding: 0 var(--sp-12); border: 1px solid var(--c-control-border);
  border-radius: var(--radius); background: var(--c-surface); color: var(--c-text); font: inherit; font-size: .875rem; cursor: pointer; }
.show__ctl button:hover { border-color: var(--c-text); }
.show__ctl button:focus-visible, .find__box input:focus-visible { outline: var(--ring) solid var(--c-focus); outline-offset: var(--ring-offset); }
.show__ctl [hidden] { display: none; }
.show__dots { display: flex; gap: 0; margin-left: auto; }
.show__ctl .show__dot { border: 0; background: transparent; padding: 0; display: grid; place-items: center; }
.show__dot i { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--c-border); }
.show__dot[aria-current="true"] i { background: var(--c-primary); width: 20px; border-radius: 4px; }
.show__slides { display: grid; gap: var(--sp-32); }
.show__slide { display: grid; gap: var(--sp-24); min-width: 0; }
.show__slide[hidden] { display: none; }
.show__slide.is-in { animation: show-in 240ms ease-out both; }
@keyframes show-in { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .show__slide.is-in { animation: none; } }
.show__demo { min-width: 0; }
.show__txt h3 { margin: 0 0 var(--sp-8); font-size: 1.375rem; line-height: 1.25; }
.show__txt p { margin: 0 0 var(--sp-12); color: var(--c-muted); max-width: 40rem; }
/* tap target: the control height (WCAG 2.5.8 floor 24px; DESIGN.md control 44px) */
.show__more { display: inline-flex; align-items: center; min-height: var(--control); font-weight: 600; color: var(--c-primary); text-underline-offset: 3px; }
.show__more:hover { color: var(--c-link-hover); }

/* finder */
.show__find { min-width: 0; }
.find[hidden] { display: none; }
.find__label { display: block; font-size: 1.5rem; font-weight: 650; line-height: 1.2; color: var(--c-text); margin-bottom: var(--sp-8); }
.find__hint { margin: 0 0 var(--sp-16); color: var(--c-muted); }
.find__box { position: relative; }
.find__box input { box-sizing: border-box; width: 100%; min-height: 56px; padding: 0 var(--sp-16); font: inherit; font-size: 1.125rem;
  color: var(--c-text); background: var(--c-background); border: 1px solid var(--c-control-border); border-radius: var(--radius); }
.find__box input::placeholder { color: var(--c-muted); }
.find__list { position: absolute; z-index: var(--z-dropdown); left: 0; right: 0; top: calc(100% + var(--sp-4)); margin: 0; padding: var(--sp-4); list-style: none;
  background: var(--c-surface); border: 1px solid var(--c-control-border); border-radius: var(--radius); }
.find__list[hidden], .find__opt[hidden] { display: none; }
.find__opt { max-width: none; width: auto; min-height: 44px; display: flex; align-items: center; padding: 0 var(--sp-12); border-left: 2px solid transparent;
  border-radius: 4px; cursor: pointer; color: var(--c-text); }
.find__opt:hover, .find__opt.is-active { background: var(--c-selected); border-left-color: var(--c-primary); }
.find__none { margin: var(--sp-12) 0 0; color: var(--c-text); }
.find__none[hidden] { display: none; }
.find__links { display: flex; flex-wrap: wrap; gap: var(--sp-16); margin: 0; }
.find__links a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 600; }
