/* Digital collection catalogue. All layout changes are scoped to this page. */
.cat-page { background:#0b0e10; color:var(--v5-ivory-200); }
.cat-container { max-width:1800px; padding:54px clamp(24px,4vw,76px) 64px; margin:auto; }
.cat-page h1,.cat-page h2,.cat-page p { margin:0; }
.cat-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding-bottom:34px; border-bottom:1px solid #b5a18230; }
.cat-eyebrow { color:#bca67f; font:11px/1.6 var(--v5-ff-mono); letter-spacing:.17em; }
.cat-heading h1 { margin:14px 0 12px; font:400 clamp(40px,3.8vw,64px)/1.2 var(--v5-ff-display); letter-spacing:.08em; }
.cat-subtitle { font:11px/1.6 var(--v5-ff-mono); letter-spacing:.16em; color:#8c9699; }
.cat-intro { max-width:410px; color:#a1a7a6; font-size:14px; line-height:1.9; }
.cat-intro .cat-count { display:flex; align-items:baseline; gap:12px; margin-top:18px; font:10px/1.5 var(--v5-ff-mono); letter-spacing:.1em; color:#8e9595; }
.cat-count strong { font:italic 26px/1 var(--v5-ff-display); color:#cdbb99; }
.cat-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(16px,1.65vw,30px); margin-top:30px; }
.cat-page .cat-work { display:block; min-width:0; padding:0; border:0; border-radius:0; background:none; color:inherit; text-decoration:none; box-shadow:none; transform:none; }
.cat-image { aspect-ratio:4/5; overflow:hidden; position:relative; background:#11171c; }
.cat-page .v5-series-thumb { display:block; width:100%; height:100%; object-fit:contain; border-radius:0; transition:transform .38s ease; }
.cat-label { padding-top:18px; border-bottom:1px solid #9d8f702c; transition:border-color .25s; }
.cat-number { display:flex; justify-content:space-between; color:#b49d78; font:10px/1.6 var(--v5-ff-mono); letter-spacing:.12em; }
.cat-number>span { color:#657173; font-size:8px; }
.cat-page .cat-name { font:400 clamp(19px,1.6vw,26px)/1.6 var(--v5-ff-display); margin-top:9px; white-space:nowrap; }
.cat-role { color:#808d91; font:10px/1.6 var(--v5-ff-mono); letter-spacing:.08em; margin-top:2px!important; }
.cat-feature { color:#9fa6a6; font-size:12px; line-height:1.8; margin-top:14px!important; }
.cat-link { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#c8b28e; font-size:13px; line-height:1.5; padding:18px 0; }
.cat-link>span { transition:transform .25s; font-size:16px; }
.cat-work:hover .v5-series-thumb,.cat-work:focus-visible .v5-series-thumb { transform:scale(1.018); }
.cat-work:hover .cat-label,.cat-work:focus-visible .cat-label { border-color:#c8b28e; }
.cat-work:hover .cat-link>span,.cat-work:focus-visible .cat-link>span { transform:translate(2px,-2px); }
.cat-page a:focus-visible { outline:2px solid #d6c19a; outline-offset:6px; }
.cat-studio { display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px 40px; padding:32px 0 0; margin-top:48px; }
.cat-studio>.cat-eyebrow { grid-column:1/-1; }
.cat-studio h2 { font:400 clamp(23px,2vw,30px)/1.5 var(--v5-ff-display); }
.cat-studio-copy>p { color:#889395; font-size:13px; line-height:1.9; margin-top:8px; }
.cat-studio-link { display:flex; align-items:center; gap:44px; padding:13px 0; border-bottom:1px solid #9d8f7055; color:#c8b28e; text-decoration:none; font-size:13px; }
.cat-studio-link>span { transition:transform .25s; }
.cat-studio-link:hover>span { transform:translateX(4px); }
@media(min-width:1200px) and (max-height:800px) {
  .cat-container { padding-top:38px; }
  .cat-heading { padding-bottom:24px; }
  .cat-grid { margin-top:24px; }
}
@media(max-width:1199px) {
  .cat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
  .cat-heading h1 { font-size:46px; }
}
@media(max-width:767px) {
  .cat-container { padding:32px 24px 48px; }
  .cat-heading { display:block; padding-bottom:26px; }
  .cat-heading h1 { font-size:42px; }
  .cat-subtitle { font-size:10px; letter-spacing:.09em; }
  .cat-intro { margin-top:24px; font-size:13px; }
  .cat-intro .cat-count { margin-top:14px; }
  .cat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
  .cat-page .cat-name { font-size:19px; }
  .cat-role { font-size:10px; letter-spacing:0; }
  .cat-feature { font-size:12px; }
  .cat-studio { grid-template-columns:1fr; gap:14px; padding-top:20px; margin-top:30px; }
  .cat-studio-link { justify-self:start; margin-top:8px; gap:36px; }
}
@media(max-width:479px) {
  .cat-grid { grid-template-columns:1fr; gap:36px; }
  .cat-image { aspect-ratio:4/5; }
  .cat-page .cat-name { font-size:26px; }
  .cat-number,.cat-role { font-size:10px; }
  .cat-feature { font-size:13px; }
  .cat-link { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .cat-page * { transition:none!important; }
  .cat-work:hover .v5-series-thumb,.cat-work:focus-visible .v5-series-thumb,.cat-work:hover .cat-link>span,.cat-studio-link:hover>span { transform:none; }
}
