/* PPM-Valet — page-specific layout on top of organic.css (design system). */
body { margin: 0; }

.pv-wrap { max-width: 1040px; padding: 0 120px 0 64px; }
.pv-circle { border-radius: 50%; }
.pv-grid2 { display: grid; grid-template-columns: repeat(2, 1fr); }
.pv-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); }
.pv-cta { display: flex; gap: var(--space-2); flex-wrap: wrap; align-items: center; }
.pv-table-wrap { overflow-x: auto; }
.pv-consent { font-size: 12px; color: color-mix(in srgb, var(--color-text) 65%, transparent); display: flex; gap: 6px; align-items: flex-start; flex-basis: 100%; }
.pv-consent input { margin-top: 3px; }

.pv-period.is-active { background: var(--color-accent); color: var(--color-bg); }

#positions-card.is-locked { filter: blur(7px); }
#positions-gate { display: none; }
#positions-gate.is-visible { display: flex; }

@media (max-width: 900px) {
  .pv-wrap { padding: 0 24px; }
  .nav { flex-wrap: wrap; gap: var(--space-2); }
  h1 { font-size: 32px; }
  h2 { font-size: 26px; }
  .pv-grid2, .pv-grid4 { grid-template-columns: 1fr 1fr; }
  .pv-cta { flex-direction: column; align-items: stretch; }
  .pv-cta .btn { width: 100%; }
}
@media (max-width: 480px) {
  .pv-grid2, .pv-grid4 { grid-template-columns: 1fr; }
}
