/* The existing Portfolio grid and card styling apply unchanged. */
.client-art {
  display: grid; flex: 1; min-height: 185px; aspect-ratio: 1000 / 667;
  place-items: center; background: radial-gradient(ellipse, #27675c, #0c2b26 72%);
}
.client-art svg { width: 28%; max-width: 110px; height: auto; fill: #18d6bd; }
.client-featured .client-note { border-bottom-color: transparent; padding-block: 10px 6px; }
@media (max-width: 650px) { .client-art { min-height: 190px; } }
/* Reserve the original two-line slots at the narrowest viewport. */
@media (max-width: 335px) {
  .qc-portfolio:has(.client-featured) .poolroom-card .card-caption h2 { min-height: 2lh; }
  .client-featured .camera-status { min-height: calc(2lh + 23px); }
}

.showcase-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 24px; }
.showcase-jump a, .showcase-visit {
  display: inline-flex; min-height: 44px; align-items: center; gap: 10px; padding: 8px 16px;
  border: 1px solid #6a9388; border-radius: 24px 8px; color: #0c2b26;
  background: #e9eee3; text-decoration: none; font-weight: 600;
}
.showcase-section-title { margin-block: 28px 20px; }
.personal-products [id] { scroll-margin-top: 24px; }
.showcase-partner { padding: 24px 0 52px; border-top: 1px solid #cbd5c9; }
.showcase-app {
  padding: clamp(20px, 4vw, 44px); margin-block: 24px; border: 1px solid #cbd5c9;
  background: #fcfaf5; border-radius: 12px; min-width: 0;
}
.showcase-app h3 { font: 400 clamp(32px, 4vw, 48px)/1.1 Georgia, serif; margin: 10px 0 24px; }
.showcase-app h4 { font: 400 23px/1.2 Georgia, serif; margin: 25px 0 12px; }
.showcase-copy { max-width: 74ch; }
.showcase-copy .drop-app-status { color: #5a377e; }
.showcase-copy li + li { margin-top: 5px; }
.showcase-credits {
  display: flex; flex-wrap: wrap; gap: 14px 32px; padding: 18px 0;
  margin-block: 22px; border-top: 1px solid #cbd5c9;
}
.showcase-credits dt { font-weight: 650; }
.showcase-credits dd { margin: 4px 0 0; }
.showcase-screens { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 105px), 1fr)); gap: 14px; }
.showcase-screens figure, .website-showcase figure { margin: 0; min-width: 0; }
.showcase-screens a { display: block; border-radius: 10px; background: #102521; }
.showcase-screens img { width: 100%; aspect-ratio: 1 / 2.05; object-fit: contain; display: block; border-radius: inherit; }
.showcase-screens figcaption, .website-showcase figcaption { margin-top: 8px; color: #425c53; font-size: 14px; }
.website-showcase {
  display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center; gap: 32px; padding: clamp(22px, 4vw, 44px);
  margin-bottom: 55px; border: 1px solid #cbd5c9; border-radius: 12px; background: #fcfaf5;
}
.website-showcase img { display: block; width: 100%; height: auto; border: 1px solid #cbd5c9; border-radius: 8px; }
.website-showcase .showcase-visit { background: #0c2b26; color: #f8f5ee; }

.partner-page .gallery-screen { cursor: default; pointer-events: none; }
.partner-page .partner-app-link {
  display: inline-flex; align-items: center; gap: .6em; margin-top: .8em;
  color: #9cf1df; font-weight: 650; text-underline-offset: .25em;
}
.partner-page.background-study .gallery-controls { visibility: visible; }
.partner-page.original-fit .drop-phone-column .gallery-controls {
  left: auto; right: 12px; bottom: 12px; width: auto; max-width: 50%; justify-content: end;
}
.partner-page.original-fit .gallery-controls button { min-width: 44px; min-height: 44px; }
.gallery-counter { font-variant-numeric: tabular-nums; }

@media (max-width: 700px) {
  .website-showcase { grid-template-columns: minmax(0, 1fr); gap: 25px; }
}
@media (max-width: 850px) {
  .partner-page.original-fit .drop-app-grid { display: flex; flex-direction: column; }
  .partner-page.original-fit .drop-phone-column,
  .partner-page.original-fit .drop-app-grid:has(.drop-app-copy[hidden]) .drop-phone-column {
    display: block; order: -1; position: static; max-width: none; margin: 0; width: 100%;
  }
  .partner-page.original-fit.background-study .drop-phone-column .anonymous-stage { height: auto; aspect-ratio: 1; }
  .partner-page.background-study .drop-phone-column #gallery-caption {
    display: block !important; position: static; visibility: visible; width: auto; font-size: 14px; padding: 8px 12px;
  }
  .partner-page.original-fit.background-study .drop-phone-column .gallery-controls {
    display: flex !important; position: static; width: auto; max-width: none; justify-content: center; padding: 4px 10px 14px;
  }
  .partner-page.original-fit .gallery-controls button, .partner-page.original-fit .gallery-counter { font-size: 14px; }
  .partner-page.background-study.full-copy-fit .drop-app-grid .drop-app-copy {
    position: static; width: auto; padding: 24px 20px; border-top: 1px solid #ffffff25;
    font-size: 16px; line-height: 1.55; order: 1;
  }
  .partner-page.background-study.full-copy-fit .drop-app-grid .drop-app-copy :is(p, li, .drop-app-byline, .drop-app-status) {
    font-size: 1em; line-height: 1.55;
  }
  .partner-page .partner-app-link { min-height: 44px; }
}
