/* Policy Library (landing + archive). Shared pattern with Box Commons and Bedrock. */
.pl-header { padding: 120px 0 32px; }
.pl-header h1 { font-size: 2.4rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 12px; }
.pl-header p { font-size: 1rem; color: rgba(26, 26, 46, 0.7); max-width: 720px; }
.pl-crumb { font-size: 0.75rem; color: rgba(26, 26, 46, 0.5); margin-bottom: 12px; }
.pl-crumb a { text-decoration: underline; text-underline-offset: 2px; }

/* Where our work landed */
.pl-band { background: linear-gradient(135deg, #1A1A2E 0%, #2B2B4A 100%); color: #FFFFFF; padding: 48px 0 44px; }
.pl-eyebrow { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #D4A841; margin-bottom: 10px; }
.pl-band h2 { font-size: 1.55rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; }
.pl-band-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; margin-top: 28px; }
.pl-band-card { display: block; border-radius: 16px; padding: 22px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.14); transition: border-color 0.2s; }
.pl-band-card:hover { border-color: rgba(255, 255, 255, 0.35); }
.pl-band-card.gold { background: rgba(212, 168, 65, 0.1); border-color: rgba(212, 168, 65, 0.45); }
.pl-band-card .k { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #D4A841; margin-bottom: 10px; }
.pl-band-card .big { font-size: 2.6rem; font-weight: 700; line-height: 1; }
.pl-band-card p { font-size: 0.75rem; line-height: 1.6; color: rgba(255, 255, 255, 0.75); margin-top: 10px; }
.pl-band-card .lead { font-size: 0.95rem; line-height: 1.45; color: #FFFFFF; margin-top: 0; }
.pl-ladder { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; font-size: 0.7rem; color: rgba(255, 255, 255, 0.7); }
.pl-ladder span.r { padding: 3px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.28); }
.pl-ladder span.r.top { background: #D4A841; border-color: #D4A841; color: #1A1A2E; font-weight: 600; }

/* Browse row + sections */
.pl-browse { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 40px; padding-bottom: 16px; border-bottom: 1px solid rgba(26, 26, 46, 0.08); font-size: 0.75rem; color: rgba(26, 26, 46, 0.6); }
.pl-chip { font-size: 0.7rem; font-weight: 500; padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(26, 26, 46, 0.14); color: rgba(26, 26, 46, 0.75); background: #FFFFFF; cursor: pointer; font-family: inherit; }
.pl-chip:hover { background: #F5F5F7; }
.pl-chip.on { background: #1A1A2E; border-color: #1A1A2E; color: #FFFFFF; }
.pl-more { margin-left: auto; font-weight: 600; color: #1A1A2E; }
.pl-more:hover, .pl-sec-head a:hover { color: #B8902E; }
.pl-sec { margin-top: 44px; }
.pl-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.pl-sec-head h2 { font-size: 1.2rem; font-weight: 700; letter-spacing: -0.01em; }
.pl-sec-head a { font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
.pl-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pl-card { display: block; padding: 22px; border-radius: 12px; border: 1px solid rgba(26, 26, 46, 0.08); background: #FFFFFF; transition: border-color 0.2s, box-shadow 0.2s; }
.pl-card:hover { border-color: #D4A841; box-shadow: 0 2px 12px rgba(212, 168, 65, 0.15); }
.pl-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; margin-bottom: 10px; }
.pl-ag { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #B8902E; }
.pl-new { font-size: 0.55rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: #1A1A2E; color: #FFFFFF; margin-left: 6px; }
.pl-card h3 { font-family: 'Inter', sans-serif; font-size: 0.85rem; font-weight: 600; line-height: 1.4; margin-bottom: 8px; }
.pl-card p { font-size: 0.72rem; line-height: 1.6; color: rgba(26, 26, 46, 0.65); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pl-date { font-size: 0.65rem; color: rgba(26, 26, 46, 0.45); margin-top: 12px; }

/* Status badges (4 public rungs) */
.pl-badge { font-size: 0.55rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; white-space: nowrap; background: #EEF2FF; color: #1D4ED8; }
.pl-badge.under-review { background: #F1F5F9; color: #94A3B8; }
.pl-badge.agency-acted { background: #FFEDD5; color: #9A3412; }
.pl-badge.cited-adopted { background: #FFFBEB; color: #B45309; box-shadow: 0 0 0 1px #FDE68A; }

/* Archive */
.pl-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(26, 26, 46, 0.08); }
.pl-filters select, .pl-filters input { font-family: inherit; font-size: 0.72rem; padding: 8px 12px; border-radius: 8px; border: 1px solid rgba(26, 26, 46, 0.14); background: #FFFFFF; color: #1A1A2E; }
.pl-filters input { flex: 1; min-width: 200px; outline: none; }
.pl-filters input:focus { border-color: #D4A841; }
.pl-clear { font-family: inherit; font-size: 0.7rem; font-weight: 500; color: #B8902E; background: none; border: none; cursor: pointer; }
.pl-count { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 0; font-size: 0.72rem; color: rgba(26, 26, 46, 0.55); }
.pl-group-by { display: flex; align-items: center; gap: 6px; }
.pl-row, .pl-thead { display: grid; grid-template-columns: 130px 140px 1fr 140px; gap: 16px; padding: 10px 10px; }
.pl-thead { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #94A3B8; border-bottom: 1px solid rgba(26, 26, 46, 0.14); }
.pl-row { font-size: 0.75rem; border-bottom: 1px solid rgba(26, 26, 46, 0.06); }
a.pl-row:hover { background: #FBF6EA; }
.pl-row .d { color: rgba(26, 26, 46, 0.5); }
.pl-row .a { font-weight: 600; color: #8A6A1F; }
.pl-row .t small { display: block; font-size: 0.65rem; color: rgba(26, 26, 46, 0.45); margin-top: 2px; }
.pl-group { font-size: 0.8rem; font-weight: 700; padding: 22px 10px 6px; }
.pl-empty { text-align: center; padding: 60px 0; color: rgba(26, 26, 46, 0.45); }
.pl-showmore { display: block; margin: 24px auto 0; }
.pl-archive-wrap { padding-bottom: 80px; }

@media (max-width: 900px) {
  .pl-band-grid, .pl-cards { grid-template-columns: 1fr; }
  .pl-thead { display: none; }
  .pl-row { grid-template-columns: 1fr; gap: 2px; }
  .pl-header h1 { font-size: 1.8rem; }
}
@media (min-width: 1100px) {
  .pl-band h2 { white-space: nowrap; }
}
