/* Zero Class: policy pages */
:root {
  --bone: #efebe5;
  --paper: #f7f4ef;
  --ink: #161412;
  --ink-2: #5a544d;
  --ink-3: #8b847b;
  --line: rgba(22, 20, 18, .12);
  --cherry: #c11f33;
  --f-sans: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-mono: 'Geist Mono', ui-monospace, monospace;
  --f-anton: 'Anton', 'Impact', 'Arial Narrow', sans-serif;
  --f-serif: 'Bodoni Moda', 'Didot', 'Times New Roman', serif;
  --pad: clamp(16px, 4vw, 56px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bone); color: var(--ink); font: 400 16px/1.65 var(--f-sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--cherry); outline-offset: 3px; }
::selection { background: var(--cherry); color: #fff; }

.p-hd { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px var(--pad); border-bottom: 1px solid var(--line); }
.p-logo { display: block; width: 44px; aspect-ratio: 630 / 410; background: currentColor; -webkit-mask: url(../img/g/zc.png) center / contain no-repeat; mask: url(../img/g/zc.png) center / contain no-repeat; }
.p-back { font-size: 14px; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 1px solid var(--ink); border-radius: 999px; transition: background-color .2s ease, color .2s ease, transform .16s cubic-bezier(.23, 1, .32, 1); }
.p-back:hover { background: var(--ink); color: var(--bone); }
.p-back:active { transform: scale(.97); }

.p-wrap { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 720px); gap: 32px 6vw; padding: clamp(48px, 9vh, 96px) var(--pad) clamp(80px, 12vh, 140px); justify-content: center; }
.p-nav { position: sticky; top: 24px; align-self: start; display: grid; gap: 2px; }
.p-nav p { font: 500 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 12px; }
.p-nav a { font-size: 14px; text-decoration: none; padding: 6px 0; color: var(--ink-2); transition: color .2s ease; }
.p-nav a:hover, .p-nav a[aria-current="page"] { color: var(--ink); }
.p-nav a[aria-current="page"] { font-weight: 600; }

.p-doc h1 { font: 400 clamp(2.6rem, 6vw, 4.6rem)/.92 var(--f-anton); text-transform: uppercase; margin: 0 0 14px; letter-spacing: -.005em; }
.p-meta { font: 400 13px/1.4 var(--f-mono); color: var(--ink-3); margin: 0 0 36px; }
.p-doc h2 { font: 600 1.25rem/1.25 var(--f-sans); letter-spacing: -.02em; margin: 44px 0 12px; padding-top: 22px; border-top: 1px solid var(--line); }
.p-doc h3 { font: italic 500 1.2rem/1.3 var(--f-serif); margin: 24px 0 8px; }
.p-doc p { margin: 0 0 14px; color: #2b2724; max-width: 66ch; }
.p-doc p.lead { font-size: 1.12rem; color: var(--ink); }
.p-doc ul, .p-doc ol { margin: 0 0 18px; padding-left: 22px; color: #2b2724; }
.p-doc li { margin: 4px 0; }
.p-doc ul.marks { list-style: none; padding-left: 0; }
.p-doc ul.marks li { display: flex; gap: 10px; align-items: baseline; }
.p-doc ul.marks li::before { content: ''; flex: none; width: 16px; height: 16px; transform: translateY(3px); background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.p-doc ul.marks li.ok::before { color: #2f7d4f; --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.p-doc ul.marks li.no::before { color: var(--cherry); --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.p-doc a { text-underline-offset: 3px; text-decoration-thickness: 1px; }
.p-doc a:hover { color: var(--cherry); }
.p-doc .sign { font: italic 500 1.15rem/1.4 var(--f-serif); color: var(--ink-2); margin-top: 28px; }
.p-cards { display: grid; gap: 10px; margin-top: 8px; }
.p-cards a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); text-decoration: none; font-weight: 500; transition: border-color .2s ease, transform .16s cubic-bezier(.23, 1, .32, 1); }
.p-cards a:hover { border-color: var(--ink); color: var(--ink); }
.p-cards a:active { transform: scale(.99); }
.p-cards span { font: 400 13px/1.4 var(--f-mono); color: var(--ink-3); }

.p-ft { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding: 22px var(--pad); border-top: 1px solid var(--line); font: 400 12px/1.4 var(--f-mono); color: var(--ink-3); }

@media (max-width: 860px) {
  .p-wrap { grid-template-columns: 1fr; }
  .p-nav { position: static; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; gap: 18px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
  .p-nav p { display: none; }
}
