.policy-page {
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--paper);
  background:
    radial-gradient(circle at 85% 8%, rgba(228,173,77,.12), transparent 28rem),
    linear-gradient(180deg, #07111f 0, #0b1828 35%, #07111f 100%);
}

.policy-header {
  position: static;
  border-bottom: 1px solid var(--line);
  background: rgba(5,12,21,.94);
}

.policy-nav { min-height: 76px; }
.policy-nav .nav-links { display: flex; }

.policy-hero { padding: 82px 0 44px; }
.policy-hero h1 { max-width: 850px; font-size: clamp(3rem, 7vw, 6rem); }
.policy-hero .policy-summary { max-width: 760px; color: #c3cfda; font-size: 1.12rem; }
.policy-meta { color: var(--gold-light); font-size: .78rem; letter-spacing: .11em; text-transform: uppercase; }

.policy-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 780px);
  gap: 68px;
  align-items: start;
  padding-bottom: 100px;
}

.policy-toc {
  position: sticky;
  top: 28px;
  padding: 24px;
  border: 1px solid var(--line);
  background: rgba(16,31,49,.72);
}

.policy-toc strong { display: block; margin-bottom: 12px; color: #fff; font-family: var(--serif); font-size: 1.15rem; }
.policy-toc a { display: block; padding: 6px 0; color: #b8c5d2; font-size: .86rem; }
.policy-toc a:hover { color: var(--gold-light); }

.policy-copy { color: #c7d1dc; line-height: 1.75; }
.policy-copy section { scroll-margin-top: 24px; padding: 0 0 34px; margin-bottom: 34px; border-bottom: 1px solid var(--line); }
.policy-copy h2 { margin-bottom: 16px; color: #fff; font-size: clamp(1.8rem, 4vw, 2.55rem); }
.policy-copy h3 { margin: 24px 0 8px; color: var(--gold-light); font-size: 1.12rem; }
.policy-copy p, .policy-copy ul, .policy-copy ol { margin: 0 0 15px; }
.policy-copy li { margin-bottom: 8px; }
.policy-copy a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 3px; }
.policy-copy strong { color: #fff; }

.policy-callout {
  margin: 22px 0;
  padding: 20px 22px;
  border-left: 3px solid var(--gold);
  background: rgba(228,173,77,.09);
}

.policy-warning {
  border-left-color: #d7a037;
  background: rgba(215,160,55,.12);
}

.policy-page .site-footer { margin-top: 0; }

@media (max-width: 860px) {
  .policy-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .policy-copy, .policy-toc { min-width: 0; overflow-wrap: anywhere; }
  .policy-toc { position: static; }
}

@media (max-width: 700px) {
  .policy-nav { align-items: center; gap: 8px; }
  .policy-nav .brand { gap: 8px; font-size: 1rem; white-space: nowrap; }
  .policy-nav .brand-mark { width: 38px; height: 38px; }
  .policy-nav .nav-links { display: none; }
  .policy-hero { padding-top: 58px; }
}
