/*47: one action per card and one native dialog lifecycle. Owner images intact. */
.visual-card__inner, .card:has(> .card-detail), .editorial-card:has(> .card-detail) { border-radius: var(--sx-radius-lg); }
.card:has(> .card-detail), .editorial-card:has(> .card-detail) { display: flex; flex-direction: column; }
[data-card-interactive="detail"] { cursor: pointer; }
[data-card-navigation] { color: inherit; text-decoration: none; }
.project-proof-rail .visual-card-rail__track { align-items: stretch; }
.project-proof-rail .visual-card { display: flex; }
.project-proof-rail .visual-card__inner { display: flex; width: 100%; height: 100%; min-height: 0; overflow: hidden; }
.project-proof-rail .visual-card__copy { display: flex; flex: 1; flex-direction: column; }
.project-proof-rail .visual-card__copy h3 { color: var(--sx-text); }
.project-proof-rail .project-media { width: 100%; margin: 0; aspect-ratio: 16 / 9; background: #f5f5f7; flex: 0 0 auto; }
.project-proof-rail .project-media img { display: block; width: 100%; height: 100%; border-radius: 0; object-fit: contain; }
.project-proof-cta { display: inline-flex; margin-top: auto; padding-top: 1rem; align-self: flex-start; }
.project-proof-fallback { margin-block: 2rem; scroll-margin-top: var(--sx-anchor-offset); }
.proof-gallery {
  width: min(1120px, calc(100% - 2rem)); max-width: none; max-height: calc(100svh - 2rem);
  padding: 0; border: 1px solid var(--sx-border); border-radius: var(--sx-radius-lg);
  color: var(--sx-text); background: var(--sx-bg-elevated); box-shadow: var(--sx-shadow-lg);
  overflow: auto; overscroll-behavior: contain;
  --quote-surface: var(--sx-bg-elevated);
}
.proof-gallery[open] { animation: proof-dialog-in 160ms ease-out; }
.proof-gallery::backdrop { background: #000a; }
@supports (backdrop-filter: blur(8px)) {
  .proof-gallery::backdrop { background: #0006; backdrop-filter: blur(8px); }
}
.proof-gallery__header { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem 1.5rem .75rem; background: var(--sx-bg-elevated); }
.proof-gallery__header h3 { margin: 0; flex: 1; min-width: 0; font-size: clamp(1.6rem, 2.5vw, 2.5rem); line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere; }
.proof-gallery__close, .proof-gallery__navigation button { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--sx-border); border-radius: 50%; color: var(--sx-text); background: var(--sx-bg); cursor: pointer; }
.proof-gallery__close svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.proof-gallery__body { padding: 1rem 1.25rem; }
.proof-gallery__body--project { display: grid; grid-template-columns: minmax(0, 1fr) 15.5rem; align-items: center; gap: 1.25rem; }
.proof-gallery__stage, .proof-gallery__information { min-width: 0; }
.proof-gallery__information > p { margin: 0 0 .75rem; }
.proof-gallery__subtitle { font-weight: 700; line-height: 1.4; }
.proof-gallery__note, .proof-gallery figcaption { color: var(--sx-text-muted); font-size: .875rem; }
.proof-gallery figure { margin: 0; }
.proof-gallery figure[hidden] { display: none; }
.proof-gallery__media { width: 100%; aspect-ratio: 16 / 9; background: #f5f5f7; }
.proof-gallery figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
.proof-gallery figcaption { margin-top: .5rem; line-height: 1.45; }
.proof-gallery__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.25rem; padding: .25rem 1.25rem 1rem; }
.proof-gallery__navigation { display: flex; gap: .75rem; align-items: center; justify-content: center; margin: 0; }
.proof-gallery__navigation svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.proof-gallery__large { display: inline-flex; align-items: center; min-height: 44px; gap: .5rem; color: var(--sx-blue-deep); font-size: .9375rem; }
.proof-gallery__cta, .card-detail__cta { display: flex; justify-content: center; text-align: center; }
.proof-gallery__cta { padding: .25rem 1.5rem 1.5rem; }
.proof-gallery__cta > .button, .card-detail__cta > .button { max-width: 100%; white-space: normal; }
.card__main-link { text-decoration: none; color: inherit; }
.card__main-link .card__arrow { display: block; }
.card-detail { min-width: 0; padding-top: 1rem; margin-top: auto; align-self: flex-end; }
.card-detail > summary { display: grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border-radius: 50%; cursor: pointer; list-style: none; }
.card-detail > summary::-webkit-details-marker { display: none; }
.card-detail__plus { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: light-dark(#e8e8ed, #38383b); color: light-dark(#6e6e73, #d2d2d7); }
.card-detail__plus svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; }
.card-detail[open] { width: 100%; align-self: stretch; }
.card-detail__content { padding-block: .5rem; font-size: 1rem; line-height: 1.65; }
.card-detail__content > p { margin: 0 0 1.65em; color: var(--sx-text); }
.card-detail__cta { margin-top: 1.5rem; }
.card-detail-dialog { width: min(800px, calc(100% - 2rem)); }
.card-detail-dialog .proof-gallery__header { padding: 2rem 2rem .75rem; }
.card-detail-dialog .proof-gallery__body { padding: .75rem 2rem 2rem; }
.card-detail-dialog .card-detail__content { padding: 0; }
.visual-card__copy .card-detail { margin-top: 0; align-self: flex-start; }
.visual-card--text .visual-card__copy { display: flex; flex: 1; flex-direction: column; }
.visual-card--text .card-detail { margin-top: auto; align-self: flex-end; }
.visual-card--original .card-detail__plus { background: #e8e8ed; color: #6e6e73; }
.visual-card .card-detail[open] .card-detail__content { padding: 1rem; background: var(--sx-bg-elevated); color: var(--sx-text); border-radius: .5rem; }
.visual-card__inner:has(.card-detail[open]) { height: auto; overflow: visible; }
.proof-gallery :is(button, a):focus-visible, .card-detail > summary:focus-visible, [data-card-navigation]:focus-visible { outline: 3px solid var(--sx-blue-deep); outline-offset: 3px; }
.visual-card--image:not(.visual-card--original) summary:focus-visible { outline-color: #fff; }
@keyframes proof-dialog-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 820px) {
  .proof-gallery__body--project { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .proof-gallery__information { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; align-items: start; }
  .proof-gallery__information > p { margin: 0; }
  .proof-gallery__subtitle { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
  .visual-card__inner, .card[data-card-navigation], .card:has(> .card-detail), .editorial-card:has(> .card-detail), .visual-card-rail--landscape .visual-card__inner { border-radius: 1.5rem; }
  .proof-gallery { width: calc(100% - 1rem); max-height: calc(100svh - 1rem); border-radius: 1.5rem; }
  .proof-gallery__header, .card-detail-dialog .proof-gallery__header { padding: 1.25rem 1rem .75rem; gap: .75rem; }
  .proof-gallery__body, .card-detail-dialog .proof-gallery__body { padding: .75rem 1rem 1.25rem; }
  .proof-gallery__information { display: block; }
  .proof-gallery__information > p { margin-bottom: .5rem; }
  .proof-gallery__cta { padding: .25rem 1rem 1.25rem; }
  .proof-gallery__footer { padding: .25rem .75rem .75rem; justify-content: center; gap: .25rem; }
  .proof-gallery__large { justify-content: center; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .proof-gallery[open] { animation: none; } }
@media (forced-colors: active) {
  .proof-gallery, .proof-gallery__close, .proof-gallery__navigation button { border-color: ButtonText; }
  .card-detail > summary, .proof-gallery__large { color: LinkText; }
}
