.page-policies { --policies-accent:#a95000; --policies-dark:#743600; --policies-soft:#fff4e8; --policies-blue:#075184; }
.page-policies .bit-tag { width:fit-content; max-width:100%; justify-self:start; }

.policies-search-button { display:inline-grid; width:46px; min-width:46px; padding:0; color:#fff; background:var(--policies-accent); border-color:var(--policies-accent); place-items:center; }
.policies-search-button:hover,.policies-search-button:focus-visible { color:#fff; background:var(--policies-dark); border-color:var(--policies-dark); filter:none; }
.policies-primary-button { color:#fff; background:var(--policies-accent); border-color:var(--policies-accent); }
.policies-primary-button:hover { color:#fff; background:var(--policies-dark); border-color:var(--policies-dark); }

.policies-overview { display:grid; grid-template-columns:minmax(360px,1.05fr) minmax(0,.95fr); overflow:hidden; background:#fff; border:1px solid var(--bit-border); border-radius:var(--bit-radius-lg); box-shadow:var(--bit-shadow-sm); }
.policies-overview__media,.policies-overview__media img { display:block; width:100%; height:100%; }
.policies-overview__media img { min-height:430px; object-fit:cover; }
.policies-overview__body { display:grid; padding:clamp(1.5rem,4vw,3rem); align-content:center; gap:1rem; }
.policies-overview__number,.policies-detail-number { margin:0; color:var(--policies-accent); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.88rem; font-weight:800; letter-spacing:.04em; }
.policies-overview h2 { margin:0; font-size:clamp(1.55rem,3vw,2.2rem); }
.policies-overview h2 a { color:var(--bit-text); text-decoration:none; }
.policies-overview h2 a:hover { color:var(--policies-accent); }
.policies-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.policies-metrics div { padding:.85rem; background:var(--policies-soft); border-radius:.75rem; }
.policies-metrics strong,.policies-metrics span { display:block; }
.policies-metrics strong { color:var(--policies-accent); font-size:1.35rem; }
.policies-metrics span { color:var(--bit-text-muted); font-size:.76rem; }

.policies-layout,.policies-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,340px); gap:clamp(2rem,5vw,4rem); align-items:start; }
.policies-feed-head { display:grid; margin-bottom:1.5rem; gap:1.1rem; }
.policies-tabs,.policies-filter-bar,.policies-state-samples { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.policies-tabs button,.policies-filter-bar a,.policies-filter-bar span { padding:.5rem .78rem; color:var(--bit-text-muted); background:#fff; border:1px solid var(--bit-border); border-radius:999px; font-size:.84rem; text-decoration:none; }
.policies-tabs button:hover,.policies-tabs button[aria-selected="true"],.policies-filter-bar a:hover,.policies-filter-bar a[aria-current="page"] { color:#fff; background:var(--policies-accent); border-color:var(--policies-accent); }
.policies-feed { display:grid; gap:1rem; }

.policies-entry { display:grid; overflow:hidden; background:#fff; border:1px solid var(--bit-border); border-left:4px solid var(--policies-accent); border-radius:var(--bit-radius); transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.policies-entry:hover { border-color:rgba(169,80,0,.38); box-shadow:var(--bit-shadow-sm); transform:translateY(-2px); }
.policies-entry--visual { grid-template-columns:210px minmax(0,1fr); border-left-width:1px; }
.policies-entry__visual,.policies-entry__visual img { display:block; width:100%; height:100%; }
.policies-entry__visual img { min-height:240px; object-fit:cover; }
.policies-entry__body { min-width:0; padding:1.2rem 1.3rem; }
.policies-entry__top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; }
.policies-document-number { color:var(--policies-dark); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.84rem; font-weight:850; }
.policies-status { display:inline-flex; width:fit-content; padding:.3rem .62rem; color:#7c3b03; background:#fff0df; border:1px solid #efc18f; border-radius:999px; font-size:.76rem; font-weight:750; }
.policies-status[data-status="draft"] { color:#795400; background:#fff9d9; border-color:#eadb82; }
.policies-status[data-status="revised"] { color:#5c467a; background:#f4effb; border-color:#d8cae8; }
.policies-entry h3 { margin:.7rem 0 .5rem; font-size:1.16rem; line-height:1.45; }
.policies-entry h3 a { color:var(--bit-text); text-decoration:none; }
.policies-entry h3 a:hover { color:var(--policies-accent); }
.policies-entry p { margin-bottom:.75rem; color:var(--bit-text-muted); font-size:.9rem; }
.policies-entry__meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-top:.75rem; margin:0; border-top:1px dashed var(--bit-border); gap:.65rem; }
.policies-entry__meta div { min-width:0; }
.policies-entry__meta dt { color:var(--bit-text-muted); font-size:.7rem; font-weight:650; }
.policies-entry__meta dd { margin:.12rem 0 0; font-size:.78rem; overflow-wrap:anywhere; }

.policies-side { position:sticky; top:90px; display:grid; gap:1rem; }
.policies-side-card { padding:1.25rem; background:#fff; border:1px solid var(--bit-border); border-radius:var(--bit-radius); }
.policies-side-card__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; gap:1rem; }
.policies-side-card h2 { margin:0; font-size:1.08rem; }
.policies-category-links,.policies-ranking { display:grid; padding:0; margin:0; gap:.35rem; list-style:none; }
.policies-category-links a { display:flex; padding:.62rem .7rem; color:var(--bit-text); border-radius:.55rem; text-decoration:none; }
.policies-category-links a:hover,.policies-category-links a[aria-current="page"] { color:var(--policies-dark); background:var(--policies-soft); font-weight:700; }
.policies-ranking { counter-reset:policy-ranking; }
.policies-ranking li { display:grid; grid-template-columns:1.6rem minmax(0,1fr); gap:.35rem; counter-increment:policy-ranking; }
.policies-ranking li::before { color:var(--policies-accent); content:counter(policy-ranking,decimal-leading-zero); font-weight:850; }
.policies-ranking a { padding-bottom:.65rem; color:var(--bit-text); border-bottom:1px dashed var(--bit-border); text-decoration:none; }
.policies-ranking a:hover { color:var(--policies-accent); }
.policies-swap-button { padding:0; color:var(--policies-accent); background:transparent; border:0; font-size:.8rem; }
.policies-mini-feature { display:grid; color:var(--bit-text); gap:.75rem; text-decoration:none; }
.policies-mini-feature img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:.65rem; }
.policies-mini-feature span,.policies-mini-feature small { display:grid; gap:.25rem; }
.policies-mini-feature small { color:var(--bit-text-muted); }
.policies-side-card--service { color:#fff; background:linear-gradient(145deg,var(--policies-dark),var(--policies-accent)); border:0; }
.policies-side-card--service h2,.policies-side-card--service p { color:#fff; }
.policies-side-card--service p { color:rgba(255,255,255,.8); }
.policies-side-secondary { display:block; margin-top:.9rem; color:#fff; text-align:center; }

.policies-load-state { display:grid; min-height:58px; padding:1rem; margin-top:1.25rem; color:var(--bit-text-muted); border:1px dashed var(--bit-border); border-radius:var(--bit-radius-sm); place-items:center; }
.policies-load-state>span { display:none; align-items:center; gap:.55rem; }
.policies-load-state[data-state="idle"] .policies-load-state__idle,.policies-load-state[data-state="empty"] .policies-load-state__idle,.policies-load-state[data-state="loading"] .policies-load-state__loading,.policies-load-state[data-state="end"] .policies-load-state__end { display:inline-flex; }
.policies-noscript { margin-top:1rem; color:var(--bit-text-muted); text-align:center; }

.policies-year-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); overflow:hidden; background:#fff; border:1px solid var(--bit-border); border-radius:var(--bit-radius-lg); }
.policies-year-card { padding:clamp(1.5rem,4vw,2.75rem); }
.policies-year-card ol { display:grid; padding:0 0 0 1rem; margin:1.5rem 0 0; gap:.8rem; border-left:3px solid #efc18f; list-style:none; }
.policies-year-card li { display:grid; padding:.8rem 1rem; background:var(--policies-soft); border-radius:.65rem; gap:.2rem; }
.policies-year-card li span { color:var(--bit-text-muted); font-size:.84rem; }
.policies-year-visual img { width:100%; height:100%; min-height:330px; object-fit:cover; }

.policies-category-hero { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); overflow:hidden; background:#fff; border:1px solid var(--bit-border); border-radius:var(--bit-radius-lg); box-shadow:var(--bit-shadow-sm); }
.policies-category-hero img { width:100%; height:100%; min-height:300px; object-fit:cover; }
.policies-category-hero>div:last-child { display:grid; padding:clamp(1.5rem,4vw,2.75rem); align-content:center; gap:1rem; }
.policies-category-hero h2,.policies-category-hero p { margin:0; }
.policies-category-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.policies-application-band { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); padding:clamp(1.5rem,4vw,2.5rem); color:#fff; background:linear-gradient(120deg,var(--policies-dark),var(--policies-accent)); border-radius:var(--bit-radius-lg); gap:2rem; }
.policies-application-band h2,.policies-application-band p { color:#fff; }
.policies-application-band p { margin:0; color:rgba(255,255,255,.8); }
.policies-application-band>div:last-child { display:grid; gap:.65rem; }
.policies-application-band a { padding:.8rem 1rem; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:.65rem; text-decoration:none; }

.policies-filter-bar { padding:.9rem; margin-bottom:1.5rem; background:var(--policies-soft); border-radius:var(--bit-radius-sm); }
.policies-filter-bar strong { margin-right:.25rem; }
.policies-list-intro { margin-bottom:1.25rem; }
.policies-state-samples { justify-content:center; padding-top:1rem; margin-top:1.25rem; color:var(--bit-text-muted); border-top:1px dashed var(--bit-border); }
.policies-state-samples span { display:inline-flex; align-items:center; gap:.4rem; }

.policies-article-header { background:linear-gradient(180deg,#fff,var(--policies-soft)); }
.policies-article-heading { max-width:980px; }
.policies-detail-number { margin-bottom:.7rem; font-size:1rem; }
.policies-article { min-width:0; padding:clamp(1.25rem,3vw,2.5rem); background:#fff; border:1px solid var(--bit-border); border-radius:var(--bit-radius-lg); }
.policies-notice { padding:1.25rem; background:var(--policies-soft); border-left:4px solid var(--policies-accent); border-radius:var(--bit-radius-sm); }
.policies-fact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:1.5rem 0 0; border:1px solid var(--bit-border); border-radius:var(--bit-radius); }
.policies-fact-grid div { padding:1rem; border-bottom:1px solid var(--bit-border); }
.policies-fact-grid div:nth-child(odd) { border-right:1px solid var(--bit-border); }
.policies-fact-grid dt { color:var(--bit-text-muted); font-size:.78rem; }
.policies-fact-grid dd { margin:.25rem 0 0; font-weight:700; }
.policies-article__figure { margin:2rem 0; }
.policies-article__figure img { width:100%; height:auto; border-radius:var(--bit-radius); }
.policies-article__figure figcaption { margin-top:.65rem; color:var(--bit-text-muted); font-size:.82rem; }
.policies-article>section>h2 { margin-top:2.2em; font-size:1.5rem; }
.policies-section-label { display:inline-flex; width:fit-content; padding:.3rem .62rem; color:#fff; background:var(--policies-accent); border-radius:999px; font-size:.76rem; font-weight:750; }
.policies-section-label--analysis { background:var(--policies-blue); }
.policies-key-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.policies-key-points span { display:grid; padding:1rem; background:var(--policies-soft); border-radius:.65rem; gap:.25rem; }
.policies-key-points strong { color:var(--policies-dark); }
.policies-action-list { display:grid; padding:0; gap:.75rem; list-style:none; counter-reset:action; }
.policies-action-list li { display:grid; grid-template-columns:2rem minmax(0,1fr); padding:1rem; background:var(--bit-page); border-radius:.65rem; gap:.1rem .7rem; counter-increment:action; }
.policies-action-list li::before { grid-row:1/3; display:grid; width:2rem; height:2rem; color:#fff; background:var(--policies-accent); border-radius:50%; content:counter(action); place-items:center; font-weight:800; }
.policies-action-list span { color:var(--bit-text-muted); font-size:.85rem; }
.policies-source-box,.policies-disclaimer { padding:1.25rem; margin-top:2rem; border-radius:var(--bit-radius-sm); }
.policies-source-box { background:var(--policies-soft); }
.policies-disclaimer { background:#fff8ed; border-left:4px solid var(--policies-accent); }
.policies-source-box h2,.policies-disclaimer h2 { margin:0 0 .7rem; font-size:1.2rem; }
.policies-related { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--bit-border); }
.policies-section-title { margin-bottom:1.25rem; }

@media (max-width:991.98px) {
  .policies-overview,.policies-layout,.policies-detail-layout,.policies-category-hero,.policies-application-band,.policies-year-layout { grid-template-columns:1fr; }
  .policies-overview__media img { min-height:320px; aspect-ratio:16/9; }
  .policies-side { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .policies-side-card--service { grid-column:1/-1; }
  .policies-year-visual { order:-1; }
}
@media (max-width:767.98px) {
  .channel-search { position:relative; flex-direction:row; }
  .policies-search-button { flex:0 0 46px; }
  .policies-entry--visual { grid-template-columns:140px minmax(0,1fr); }
  .policies-entry__visual img { min-height:220px; }
  .policies-entry__meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .policies-side { grid-template-columns:1fr; }
}
@media (max-width:575.98px) {
  .policies-overview__media img { min-height:0; }
  .policies-metrics,.policies-entry--visual,.policies-fact-grid,.policies-key-points { grid-template-columns:1fr; }
  .policies-entry__visual img { min-height:0; aspect-ratio:3/2; }
  .policies-fact-grid div:nth-child(odd) { border-right:0; }
  .policies-article { padding:1rem; }
}
