/* Policy pages – same tokens as the main site, calm reading layout */
:root {
  --brand-primary: #482683; --brand-deep: #330072; --brand-ghost: #F0EBFA; --brand-pale: #D4C4F0;
  --bg-main: #FAF8FC; --border-default: #E8E5EE; --text-heading: #1A1A2E; --text-body: #333; --text-secondary: #666;
  --font-display: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font: 1rem/1.65 var(--font-body); color: var(--text-body); background: var(--bg-main); }
a { color: var(--brand-primary); }
h1, h2 { font-family: var(--font-display); color: var(--text-heading); line-height: 1.25; }
:root { --hdr: 73px; }
/* header stays pinned at the top while the policy text scrolls */
.p-header { position: sticky; top: 0; z-index: 20; height: var(--hdr); display: flex; justify-content: space-between; align-items: center; padding: 12px clamp(16px, 3vw, 32px); background: #fff; border-bottom: 1px solid var(--border-default); }
.p-logo img { height: 48px; width: auto; display: block; }
.p-back { background: var(--brand-primary); color: #fff; text-decoration: none; font-weight: 600; padding: .6rem 1.2rem; border-radius: 999px; }
.p-wrap { max-width: 1080px; margin: 0 auto; padding: clamp(24px, 5vw, 56px) 16px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 40px; align-items: start; }
@media (max-width: 760px) { .p-wrap { grid-template-columns: 1fr; gap: 20px; } }
/* the policy tabs stay put too (desktop: down the left; phones: a bar under the header) */
.p-nav { position: sticky; top: calc(var(--hdr) + 24px); align-self: start; z-index: 10; }
.p-nav ul { list-style: none; display: grid; gap: .25rem; }
.p-nav a { display: block; padding: .45rem .7rem; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: .92rem; color: var(--text-secondary); }
.p-nav a:hover { background: var(--brand-ghost); color: var(--brand-primary); }
.p-nav a[aria-current] { background: var(--brand-ghost); color: var(--brand-primary); }
@media (max-width: 760px) {
  :root { --hdr: 64px; }
  .p-logo img { height: 40px; }
  .p-back { padding: .5rem 1rem; font-size: .95rem; }
  .p-wrap { padding-top: 0; }
  .p-nav { top: var(--hdr); margin: 0 -16px; padding: 10px 16px; background: rgba(250, 248, 252, .97); border-bottom: 1px solid var(--border-default); }
  .p-nav ul { display: flex; flex-wrap: nowrap; gap: .4rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .p-nav ul::-webkit-scrollbar { display: none; }
  .p-nav a { white-space: nowrap; background: #fff; border: 1px solid var(--border-default); }
}
.p-main { background: #fff; border: 1px solid var(--border-default); border-radius: .75rem; padding: clamp(20px, 4vw, 44px); max-width: 46rem; }
.p-main h1 { font-size: clamp(1.7rem, 4vw, 2.3rem); color: var(--brand-primary); margin-bottom: .8rem; }
.p-main h2 { font-size: 1.15rem; margin: 1.8rem 0 .5rem; }
.p-main p + p { margin-top: .7rem; }
.p-main ul { margin: .4rem 0 0 1.2rem; display: grid; gap: .35rem; }
.lede { font-size: 1.1rem; color: var(--text-secondary); }
.draft { background: var(--brand-ghost); border-left: 4px solid var(--brand-primary); padding: .6rem .9rem; border-radius: 6px; font-size: .88rem; margin-bottom: 1.4rem; }
.todo { background: #FFF6D6; padding: 0 .25rem; border-radius: 4px; }
.updated { margin-top: 2rem !important; font-size: .85rem; color: var(--text-secondary); }
table { width: 100%; border-collapse: collapse; margin-top: .6rem; font-size: .92rem; }
th, td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--border-default); vertical-align: top; }
th { background: var(--brand-ghost); color: var(--text-heading); }
.p-footer { text-align: center; padding: 24px 16px 32px; font-size: .85rem; color: var(--text-secondary); }
.contact-block { background: var(--brand-ghost); border-radius: 8px; padding: .8rem 1rem; margin: .6rem 0; }
.p-main table td:first-child { width: 42%; }
