body.page-id-1875 .jj-intro > .section-content:has(.jj-portfolio-filters) { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); column-gap:clamp(28px,4vw,76px); }
body.page-id-1875 .jj-intro > .section-content > p,
body.page-id-1875 .jj-intro > .section-content > h2 { grid-column:1; }
body.page-id-1875 .jj-portfolio-filters { grid-column:2; grid-row:1 / 4; align-self:center; min-width:0; padding-top:24px; }
body.page-id-1875 .jj-filter-row { display:flex; align-items:baseline; gap:18px; padding:15px 0; border-bottom:1px solid #dce2ec; }
body.page-id-1875 .jj-filter-label { flex:0 0 auto; font-size:13px; font-weight:600; letter-spacing:.12em; color:#334155; }
body.page-id-1875 .jj-filter-options { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
body.page-id-1875 button.jj-filter-button { margin:0; padding:3px 8px; min-height:0; min-width:0; border:1px solid var(--filter-border); border-radius:8px; background:var(--filter-tint); color:var(--filter-text); font:inherit; font-size:13px; font-weight:400; line-height:1.6; letter-spacing:.025em; text-transform:none; box-shadow:none; cursor:pointer; transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s; }
/* Stage lighting palette: electric blue categories and violet tags. */
body.page-id-1875 button.jj-filter-button[data-filter="category"] {
 font-size:14px;
 --filter-border:#bdcfea; --filter-tint:#f0f6ff; --filter-text:#234a78;
 --filter-accent:#075bd8; --filter-end:#00618a; --filter-hover:#deecff; --filter-glow:rgba(7,91,216,.2);
}
body.page-id-1875 button.jj-filter-button[data-filter="tag"] {
 font-size:11px;
 --filter-border:#d5c5ed; --filter-tint:#f7f3ff; --filter-text:#5a3b80;
 --filter-accent:#6434cf; --filter-end:#9430a4; --filter-hover:#ede3fc; --filter-glow:rgba(100,52,207,.2);
}
body.page-id-1875 .jj-filter-row:has([data-filter="category"]) .jj-filter-label { color:#075bd8; }
body.page-id-1875 .jj-filter-row:has([data-filter="tag"]) .jj-filter-label { color:#6434cf; }
body.page-id-1875 button.jj-filter-button:hover { border-color:var(--filter-accent); color:var(--filter-accent); background:var(--filter-hover); }
body.page-id-1875 button.jj-filter-button.is-active {
 color:#fff; border-color:var(--filter-accent); background:linear-gradient(120deg,var(--filter-accent),var(--filter-end));
 box-shadow:0 3px 10px var(--filter-glow); font-weight:600;
}
body.page-id-1875 button.jj-filter-button:focus-visible { outline:2px solid var(--filter-accent); outline-offset:3px; }
body.page-id-1875 .jj-filter-status { margin:12px 0 0; color:#64748b; font-size:12px; letter-spacing:.04em; }
body.page-id-1875 .jj-filter-empty { width:80%; margin:0 auto 56px; padding:48px 24px; text-align:center; color:#686c66; border:1px solid #e3dfd5; background:#fff; }
body.page-id-1875 .jj-case[hidden], body.page-id-1875 .jj-filter-empty[hidden], body.page-id-1875 .jj-pagination[hidden] { display:none !important; }
body.page-id-1875 .jj-case { scroll-margin-top:100px; }
body.page-id-1875 .jj-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; width:80%; margin:24px auto 56px; }
body.page-id-1875 .jj-pagination-top { margin:24px auto 32px; }
body.page-id-1875 .jj-pagination button { margin:0; min-width:44px; min-height:44px; padding:6px 12px; border:1px solid #bdcfea; border-radius:8px; background:#f0f6ff; color:#234a78; font:inherit; font-size:14px; line-height:1.5; letter-spacing:0; text-transform:none; box-shadow:none; }
body.page-id-1875 .jj-pagination button:hover:not(:disabled), body.page-id-1875 .jj-pagination button[aria-current="page"] { background:#075bd8; border-color:#075bd8; color:#fff; }
body.page-id-1875 .jj-pagination button:disabled { opacity:.4; cursor:default; }
body.page-id-1875 .jj-pagination button:focus-visible { outline:2px solid #075bd8; outline-offset:3px; }
body.page-id-1875 .jj-pagination-summary { flex-basis:100%; text-align:center; color:#64748b; font-size:13px; }
@media (max-width:1100px) {
 body.page-id-1875 .jj-intro > .section-content:has(.jj-portfolio-filters) { grid-template-columns:minmax(0,1fr); }
 body.page-id-1875 .jj-portfolio-filters { grid-column:1; grid-row:auto; padding-top:8px; }
}
/* Measure actual wrapped rows; keep the disclosure outside the clipped tag list. */
body.page-id-1875 .jj-tag-content { flex:1; min-width:0; }
body.page-id-1875 .jj-tag-options { align-items:flex-start; align-content:flex-start; }
body.page-id-1875 .jj-tag-options.is-collapsed { overflow:hidden; }
body.page-id-1875 .jj-tag-options .is-clipped { visibility:hidden; pointer-events:none; }
body.page-id-1875 button.jj-tag-toggle {
 display:inline-flex; align-items:center; justify-content:center; gap:6px; width:auto; max-width:100%;
 min-height:0; min-width:0; margin:10px 0 0; padding:3px 8px; border:1px dashed #d5c5ed;
 border-radius:8px; background:#faf7ff; color:#6434cf; box-shadow:none;
 font:inherit; font-size:11px; font-weight:500; line-height:1.6; letter-spacing:.025em;
 text-transform:none; text-align:left; cursor:pointer; transition:background-color .15s,border-color .15s;
}
body.page-id-1875 button.jj-tag-toggle[hidden] { display:none !important; }
body.page-id-1875 button.jj-tag-toggle:hover { background:#ede3fc; border-color:#6434cf; }
body.page-id-1875 button.jj-tag-toggle:focus-visible { outline:2px solid #6434cf; outline-offset:3px; }
body.page-id-1875 .jj-tag-chevron { flex:0 0 7px; width:7px; height:7px; margin:0 3px 3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
body.page-id-1875 .jj-tag-toggle[aria-expanded="true"] .jj-tag-chevron { transform:rotate(225deg); margin-top:5px; }

@media (max-width:549px) {
 body.page-id-1875 .jj-filter-row { gap:12px; }
 body.page-id-1875 .jj-filter-label { font-size:14px; }
 body.page-id-1875 button.jj-filter-button[data-filter="category"] { font-size:15px; }
 body.page-id-1875 button.jj-filter-button[data-filter="tag"],
 body.page-id-1875 button.jj-tag-toggle { font-size:12px; }
 body.page-id-1875 .jj-filter-empty { width:calc(100% - 40px); padding:32px 20px; }
 body.page-id-1875 .jj-pagination { width:calc(100% - 40px); gap:6px; }
 body.page-id-1875 .jj-pagination button { padding:6px 8px; }
}
/* Independent posters survive unsupported codecs and iOS pause/resume. */
body.page-id-1875 .jj-case .jj-video-link.jj-video-managed {
  position: relative;
  display: block;
  margin-bottom: 20px;
  isolation: isolate;
}
body.page-id-1875 .jj-case .jj-video-managed .jj-case-video {
  margin-bottom: 0;
}
body.page-id-1875 .jj-case .jj-video-managed .jj-video-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #171b19;
  pointer-events: none;
  opacity: 1;
}
body.page-id-1875 .jj-case .jj-video-managed.jj-video-playing .jj-video-poster {
  opacity: 0;
}
