/* CasinoOpsAI route-scoped page-family design. Internal.
   Loaded only for the matching visual family; the protected homepage loads none. */
body[data-page-family='portfolio'] {
  --family-accent: #475569;
  --family-accent-dark: #1f2937;
  --family-accent-soft: #eef2f6;
  --family-border: #b8c3cf;
  --family-surface: #f4f6f8;
  --family-radius: 12px;
  --family-shadow: 0 11px 25px rgba(31, 41, 55, 0.09);
}

/* Portfolio pages: catalog and comparison structure. */
body[data-page-family='portfolio'] .hero,
body[data-page-family='portfolio'] .page-header {
  background:
    linear-gradient(120deg, rgba(255,255,255,.04) 0 1px, transparent 1px 100%) 0 0 / 34px 34px,
    linear-gradient(140deg, #111b27 0%, #263748 65%, #3c4b59 100%) !important;
  border-bottom: 4px solid #8fa2b4;
}

body[data-page-family='portfolio'] :is(.cards-grid, .grid-3, .grid-4, .app-grid) {
  align-items: stretch;
}

body[data-page-family='portfolio'] .card {
  border-top: 0;
}

body[data-page-family='portfolio'] .card::before {
  width: 5px;
  height: 100%;
  inset: 0 auto 0 0;
}
