/* Page-only styles; typography, navigation, buttons and footer remain shared. */
.references-page { padding-top: clamp(140px, 13vw, 200px); padding-bottom: clamp(60px, 7vw, 112px); }
.references-intro { max-width: 62ch; margin-top: 28px; color: var(--muted); font-size: clamp(13px, 1.1vw, 16px); line-height: 1.9; }
.references-topline { padding-top: 28px; padding-bottom: 26px; border-top: 1px solid var(--line); }
.references-topline .eyebrow { color: var(--muted); }
.partner-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.partner-item { min-width: 0; }
.partner-card { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; border: 1px solid rgba(0, 0, 0, .06); border-radius: 16px; }
.partner-card img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 19%; object-fit: contain; object-position: center; }
.logos-stack { position: relative; isolation: isolate; }
.logos-mono img { filter: grayscale(100%); opacity: .55; }
.logos-color { position: absolute; inset: 0; pointer-events: none; opacity: 0; }
.logos-stack[data-light-mode="pointer"] .logos-color {
  -webkit-mask-image: radial-gradient(circle 220px at var(--mx, -440px) var(--my, -440px), black 0%, black 55%, transparent 100%);
  mask-image: radial-gradient(circle 220px at var(--mx, -440px) var(--my, -440px), black 0%, black 55%, transparent 100%);
  will-change: mask-image;
  transition: opacity .4s ease;
}
.logos-stack[data-light-mode="pointer"].is-lit .logos-color,
.logos-stack[data-light-mode="scroll"] .logos-color { opacity: 1; }
.logos-stack[data-light-mode="scroll"] .logos-color .partner-card { opacity: var(--reveal, 0); }
.references-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: clamp(48px, 6vw, 88px); padding-top: clamp(32px, 4vw, 56px); border-top: 1px solid var(--line); }
.references-cta h2 { font-family: var(--display-font); font-size: clamp(32px, 3.2vw, 48px); font-weight: 600; letter-spacing: -.02em; }
.references-cta h2 span { color: var(--wood, #d4a24e); }
.references-cta .button { flex-shrink: 0; }

@media (max-width: 1050px) {
  .partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .references-page { padding-top: 140px; }
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .references-topline { gap: 12px; flex-wrap: wrap; }
  .references-cta { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-item { opacity: 1 !important; transform: none !important; }
  .logos-mono img { filter: none; opacity: 1; }
  .logos-stack .logos-color { display: none; will-change: auto; }
}
