/* Styles shared by the home page full-range / trust bands and the catalogue family pages (tools/build-catalogue.py). */
.p-others { padding: 140px 0; }
.p-others-head { margin-bottom: 48px; }
.p-other-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.p-other { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 16px; padding: 20px 28px 28px; border-radius: 28px; background: var(--stage); transition: background-color var(--t-slow) var(--ease); }
.p-other:hover { background: #e3e7e4; }
.p-other-thumb { grid-column: 1 / -1; aspect-ratio: 1.6; overflow: hidden; }
.p-other-thumb img { width: 100%; height: 100%; object-fit: contain; transition: transform var(--t-scene) var(--ease); }
.p-other:hover .p-other-thumb img { transform: scale(1.05) translateY(-6px); }
.p-other-meta { display: grid; gap: 6px; }
.p-other-meta .eyebrow { margin: 0; }
.p-other-meta b { font-size: 30px; font-weight: 500; letter-spacing: -.03em; }
.p-other > .i { width: 22px; height: 22px; margin-bottom: 8px; transition: transform var(--t-base) var(--ease); }
.p-other:hover > .i { transform: translateX(4px); }
.p-other-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p-other-grid.cols-3 .p-other-meta b { font-size: 24px; }
.p-other-grid.cols-3 .p-other-thumb { aspect-ratio: 1.4; }
.p-other-grid.cols-3 .p-other-thumb img { object-fit: contain; padding: 6%; }
.p-other-count { font-size: 13px; color: var(--muted); }
@media (max-width: 760px) {
  .p-other-grid { grid-template-columns: 1fr; }
  .p-other { padding: 16px 20px 22px; }
  .p-other-meta b { font-size: 24px; }
  .p-others { padding: 96px 0; }
}
/* Catalogue family pages v2, products index grid and home full-range / trust bands */
.cat-hero .cat-display { font-size: clamp(34px, 4.6vw, 64px); }
.cat-intro { padding-top: 0; }
.cat-intro .pl-row { padding-top: 16px; }
.cat-stage img { object-fit: contain; padding: 6%; transform: none; }
.cat-stage:hover img { transform: scale(1.04) translateY(-6px); }
.cat-rep { margin: 4px 0 0; font-size: 14.5px; color: var(--muted); }
.cat-rep b { font-weight: 500; color: var(--ink); }
.cat-specs li span { color: var(--muted); }
.cat-specs li b { font-weight: 500; color: var(--ink); margin-left: 6px; }
.cat-facts { padding: 8px 0 56px; }
.cat-facts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.cat-fact { padding: 22px 24px; border-radius: 20px; background: var(--stage); display: grid; gap: 6px; }
.cat-fact b { font-size: 26px; font-weight: 500; letter-spacing: -.03em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.cat-fact span { font-size: 13px; color: var(--muted); }
.cat-subhead { font-size: 15px; font-weight: 600; margin: 8px 0 10px; }
.p-photo-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p-photo-grid.cols-3 img { aspect-ratio: 1.2; object-fit: contain; padding: 4%; }
.p-other-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p-other-grid.cols-3 .p-other-meta b { font-size: 24px; }
.p-other-grid.cols-3 .p-other-thumb { aspect-ratio: 1.4; }
.p-other-grid.cols-3 .p-other-thumb img { object-fit: contain; padding: 6%; }
.p-other-count { font-size: 13px; color: var(--muted); }
.cat-families .cat-group { margin-top: 56px; }
.cat-families .cat-group:first-of-type { margin-top: 0; }
.cat-families .p-others-head { margin-bottom: 24px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; }
.cat-families .p-others-head .eyebrow { width: 100%; }
.cat-families .p-others-head h3 { font-size: 28px; font-weight: 500; letter-spacing: -.03em; }
.cat-group-count { font-size: 13px; color: var(--muted); }
.cat-home { padding: 120px 0; }
.cat-home .p-others-head p:not(.eyebrow) { max-width: 640px; margin-top: 16px; color: var(--muted); }
.cat-home > .wrap > p { margin-top: 40px; }
.cat-trust { padding: 120px 0; background: #15241f; color: #fff; }
.cat-trust .eyebrow { color: #9fd3b3; }
.cat-trust h2 { color: #fff; }
.cat-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-bottom: 32px; }
.cat-trust-item { display: grid; gap: 12px; padding: 28px; border-radius: 24px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); }
.cat-trust-item b { font-size: 30px; font-weight: 500; letter-spacing: -.03em; line-height: 1; }
.cat-trust-item b sup { font-size: 12px; vertical-align: top; }
.cat-trust-item span { font-size: 14px; line-height: 1.6; opacity: .78; }
.cat-trust .fine-print { opacity: .6; }
@media (max-width: 960px) {
  .cat-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p-other-grid.cols-3, .p-photo-grid.cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .cat-trust-grid, .p-other-grid.cols-3 { grid-template-columns: 1fr; }
  .p-photo-grid.cols-3 { grid-template-columns: 1fr; }
  .cat-home, .cat-trust { padding: 80px 0; }
  .cat-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
