@layer sections {
  .testimonies { position: relative; isolation: isolate; overflow: clip; padding-block: clamp(4.5rem, 9vw, 8rem) clamp(4rem, 8vw, 7rem); }
  .testimonies__ground { background-image: image-set(url('/assets/img/testimonies-tall.avif') type('image/avif'), url('/assets/img/testimonies-tall.webp') type('image/webp')); background-position: 54% 46%; }
  :root[data-theme='dark'] .testimonies__ground { opacity: .22; }
  .testimonies__head { text-align: center; display: grid; justify-items: center; padding-inline: var(--gutter); }
  .testimonies__kicker { display: flex; align-items: center; gap: 1rem; font: .68rem/1.5 var(--font-mono); letter-spacing: .26em; text-transform: uppercase; color: var(--brass-ink); }
  .testimonies__kicker::before, .testimonies__kicker::after { content: ''; width: clamp(1.3rem, 4vw, 3rem); height: 1px; background: var(--line-strong); }
  .testimonies__title { font: 300 clamp(2.8rem, 5.2vw, 4.8rem)/1.03 var(--font-display); letter-spacing: -.04em; margin-block-start: 1.25rem; }
  .testimonies__title em { color: var(--brass-ink); font-weight: 300; font-variation-settings: 'SOFT' 40, 'WONK' 1; }
  .testimonies__subtitle { font: 400 clamp(1.05rem, 1.4vw, 1.3rem)/1.6 var(--font-read); color: var(--ink-2); margin-block-start: 1.3rem; }
  .testimonies__gallery { position: relative; height: clamp(330px, 30vw, 380px); margin-block-start: .6rem; outline: none; touch-action: auto; cursor: grab; }
  /* Decide before contact: the live strip owns a one-finger swipe. Page
     scrolling remains native outside it; pinch zoom remains available inside. */
  .testimonies__gallery[data-gallery-ready='true'] { touch-action: pinch-zoom; }
  .testimonies__gallery canvas { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: pinch-zoom; user-select: none; -webkit-user-select: none; mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
  .testimonies__gallery.is-over-card { cursor: pointer; }
  .testimonies__gallery.is-dragging { cursor: grabbing; }
  .testimonies__gallery:focus-visible { outline: 1px solid var(--brass); outline-offset: -12px; }
  .testimonies__fallback { display: flex; gap: clamp(1.2rem, 3vw, 2.5rem); align-items: center; height: 100%; padding-inline: var(--gutter); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--brass) transparent; }
  .testimonies__fallback .testimony-card { width: min(76vw, 360px); flex: 0 0 auto; scroll-snap-align: center; }
  [data-gallery-ready='true'] > .testimonies__fallback { display: none; }
  .testimonies__navigation { display: flex; align-items: center; justify-content: center; gap: 1rem; padding-inline: var(--gutter); min-height: 48px; }
  .testimonies__arrow { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line-strong); border-radius: 50%; font: 1.1rem/1 var(--font-ui); color: var(--ink-1); transition: border-color 180ms, color 180ms; }
  .testimonies__arrow:hover { border-color: var(--brass); color: var(--brass-ink); }
  .testimonies__position { min-width: 24ch; text-align: center; color: var(--ink-2); font: .65rem/1.7 var(--font-mono); letter-spacing: .04em; }
  .testimonies__watch { display: block; margin: .9rem auto 0; min-height: 44px; padding: .5rem .75rem; color: var(--ink-1); font: .8rem/1.5 var(--font-ui); text-decoration: underline; text-underline-offset: .35em; }
  .testimonies__watch:hover { color: var(--brass-ink); }
  .testimonies__foot { display: grid; justify-items: center; text-align: center; gap: 1.35rem; padding-inline: var(--gutter); margin-block-start: 1.1rem; }
  .testimonies__hint { color: var(--ink-3); font: .61rem/1.6 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
  .testimonies__note { max-width: 48ch; color: var(--ink-3); font: italic .95rem/1.6 var(--font-read); }
  .testimonies [hidden], .testimony-dialog [hidden] { display: none !important; }
  .testimonies :is(button,a):focus-visible, .testimony-dialog :is(button,a):focus-visible { outline: 2px solid var(--brass); outline-offset: 5px; }
  @media (min-width: 64rem) { .testimonies__ground { background-image: image-set(url('/assets/img/testimonies-wide.avif') type('image/avif'),url('/assets/img/testimonies-wide.webp') type('image/webp')); background-position: 58% 43%; } }
  @media (max-width: 40rem) {
    .testimonies__gallery { height: 300px; margin-block-start: .8rem; }
    .testimonies__navigation { gap: .55rem; }
    .testimonies__position { min-width: 0; flex: 1; max-width: 30ch; font-size: .6rem; }
    .testimonies__foot { margin-block-start: 1rem; }
    .testimonies__watch { margin-block-start: .5rem; }
  }
}

/* Native dialogs; only the video dialog creates a YouTube frame. */
.testimony-dialog { position: fixed; inset: 0; margin: auto; padding: 0; border: 1px solid var(--line-strong); border-radius: 3px; background: var(--paper-0); color: var(--ink-0); box-shadow: 0 30px 100px #0008; max-width: none; max-height: none; overflow: hidden; }
.testimony-dialog:not([open]) { display: none; }
.testimony-dialog[open] { display: flex; flex-direction: column; }
.testimony-dialog::backdrop { background: #070604e8; backdrop-filter: blur(8px); }
.testimony-dialog__head { display: flex; flex: 0 0 auto; justify-content: space-between; align-items: flex-start; gap: 1.5rem; padding: clamp(1.3rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line-soft); }
.testimony-dialog__eyebrow { color: var(--brass-ink); font: .62rem/1.6 var(--font-mono); letter-spacing: .17em; text-transform: uppercase; }
.testimony-dialog__title { font: 300 clamp(1.8rem, 3.5vw, 3.2rem)/1.12 var(--font-display); letter-spacing: -.035em; margin-block-start: .7rem; }
.testimony-dialog__title em { color: var(--brass-ink); font-weight: 300; }
.testimony-dialog__close { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-width: 44px; min-height: 44px; padding-inline: .3rem; flex: 0 0 auto; font: .75rem/1.4 var(--font-ui); color: var(--ink-2); }
.testimony-dialog__close:hover { color: var(--ink-0); }
.testimony-dialog__close span[aria-hidden] { font: 300 1.6rem/1 var(--font-ui); }
.testimony-collection { width: min(74rem, calc(100% - 3rem)); height: min(59rem, 92dvh); }
.testimony-collection__toolbar { flex: 0 0 auto; min-width: 0; padding: 1rem clamp(1.3rem, 3vw, 2.5rem) 0; }
.testimony-categories { display: flex; gap: .5rem; max-width: 100%; overflow-x: auto; padding: .3rem .15rem .9rem; scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; overscroll-behavior-x: contain; }
.testimony-tab { display: block; flex: 0 0 auto; min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--line); border-radius: 2px; font: .73rem/1.5 var(--font-ui); color: var(--ink-2); white-space: nowrap; }
.testimony-tab[aria-selected='true'] { color: var(--ivory-ink); background: var(--ivory); border-color: var(--ivory); }
.testimony-tab:hover:not([aria-selected='true']) { border-color: var(--brass); color: var(--ink-0); }
.testimony-collection__count { color: var(--ink-3); font: .6rem/1.6 var(--font-mono); letter-spacing: .07em; margin: .3rem 0 .9rem; }
.testimony-collection__scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: .7rem clamp(1.3rem, 3vw, 2.5rem) 2.5rem; }
.testimony-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.1rem 1.4rem; }
.testimony-card { min-width: 0; text-align: start; }
.testimony-card__open { display: block; width: 100%; text-align: start; text-decoration: none; }
.testimony-card__image { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--paper-2); border: 1px solid var(--line-soft); }
.testimony-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 400ms var(--ease-out); }
.testimony-card__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 55%, #0004); pointer-events: none; }
.testimony-card__play { position: absolute; z-index: 1; inset-inline-end: .7rem; bottom: .7rem; display: grid; place-items: center; width: 36px; height: 36px; padding-inline-start: 2px; border: 1px solid #f0e9da8c; border-radius: 50%; background: #11100d9c; color: #f0e9da; font-size: .7rem; }
.testimony-card__name { display: block; margin-block-start: 1rem; color: var(--brass-ink); font: .57rem/1.6 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.testimony-card__title { display: block; margin-block-start: .35rem; font: 400 clamp(1.15rem, 1.5vw, 1.45rem)/1.3 var(--font-read); color: var(--ink-0); }
.testimony-card__credit { color: var(--ink-3); font: .65rem/1.5 var(--font-ui); margin-block-start: .55rem; }
.testimony-card__open:hover img { transform: scale(1.035); }
.testimony-card__open:hover .testimony-card__title { color: var(--brass-ink); }
.testimony-collection__error { padding-block: 2rem; color: var(--ink-2); font: 1rem/1.6 var(--font-read); }
.testimony-collection__error button { min-height: 44px; margin-top: 1rem; text-decoration: underline; color: var(--brass-ink); }
.testimony-player { width: min(65rem, calc(100% - 3rem), calc((94dvh - 15rem) * 16 / 9)); max-height: 94dvh; overflow-y: auto; overscroll-behavior: contain; }
.testimony-player .testimony-dialog__head { padding: 1.2rem 1.6rem; }
.testimony-player .testimony-dialog__title { font-size: clamp(1.4rem, 2.5vw, 2.1rem); margin-top: .4rem; }
.testimony-player__frame { background: #000; width: 100%; aspect-ratio: 16 / 9; flex: 0 0 auto; }
.testimony-player__frame iframe { display: block; border: 0; width: 100%; height: 100%; }
.testimony-player__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.1rem 2rem; padding: 1.1rem 1.6rem 1.4rem; }
.testimony-player__details { flex: 1 1 24rem; }
.testimony-player__source { font: .69rem/1.5 var(--font-ui); color: var(--brass-ink); text-decoration: none; }
.testimony-player__original { max-width: 64ch; margin-top: .35rem; color: var(--ink-3); font: .75rem/1.5 var(--font-read); }
.testimony-player__external { display: inline-flex; gap: 1rem; align-items: center; min-height: 44px; font: .75rem/1.5 var(--font-ui); text-underline-offset: .3em; color: var(--ink-1); }
.testimony-player__fallback { flex-basis: 100%; color: var(--ink-3); font: .65rem/1.5 var(--font-ui); }
@media (max-width: 60rem) { .testimony-results { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) {
  .testimony-collection { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .testimony-dialog__head { padding-top: max(1.25rem, env(safe-area-inset-top)); gap: .8rem; }
  .testimony-collection .testimony-dialog__title { max-width: 14ch; font-size: 2rem; }
  .testimony-dialog__close { font-size: .68rem; gap: .4rem; }
  .testimony-results { grid-template-columns: minmax(0,1fr); gap: 1.8rem; }
  .testimony-collection__scroll { padding-bottom: max(2rem, env(safe-area-inset-bottom)); }
  .testimony-card__title { font-size: 1.3rem; }
  .testimony-player { width: calc(100% - 1rem); }
  .testimony-player .testimony-dialog__head { padding: 1rem; }
  .testimony-player__foot { padding: 1rem; gap: .6rem; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .testimony-player { width: min(48rem, calc(100% - 2rem)); }
  .testimony-player__frame { width: min(100%, calc((100dvh - 7rem) * 16 / 9)); align-self: center; }
  .testimony-player__original, .testimony-player__fallback { display: none; }
  .testimony-player .testimony-dialog__head { padding-block: .55rem; }
  .testimony-player__foot { padding-block: .4rem; }
}
@media (prefers-reduced-motion: reduce) { .testimonies *, .testimony-dialog * { animation: none !important; transition: none !important; } }
@media print { .testimonies, .testimony-dialog { display: none !important; } }
