:root {
  color-scheme: dark;
  --ink: #0d0b08;
  --leather: #18110d;
  --panel: #211810;
  --gold: #c49a59;
  --gold-bright: #e7dcc2;
  --parchment: #eee5d3;
  --muted: #c1b59d;
  --line: rgb(196 154 89 / 42%);
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--ink); }

body {
  min-height: 100vh;
  margin: 0;
  color: var(--parchment);
  background:
    radial-gradient(circle at 12% 0%, rgb(196 154 89 / 10%), transparent 34rem),
    linear-gradient(180deg, var(--leather), var(--ink) 34rem);
  font-family: Georgia, "Times New Roman", serif;
}

a { color: var(--gold-bright); }
a:hover, a:focus-visible { color: var(--gold); }
a:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }

.policy-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  width: min(72rem, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--line);
}

.brand {
  color: var(--gold-bright);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
}

.header-kicker,
.eyebrow,
.effective,
.policy-nav,
.policy-footer {
  font-family: Arial, Helvetica, sans-serif;
}

.header-kicker {
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.policy-shell {
  width: min(72rem, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.25rem, 6vw, 5rem) 0;
}

.policy-card {
  max-width: 54rem;
  margin: 0 auto;
  padding: clamp(1.4rem, 4vw, 3.35rem);
  border: 1px solid rgb(196 154 89 / 46%);
  border-radius: 6px;
  background: rgb(33 24 16 / 92%);
  box-shadow: 0 24px 70px rgb(0 0 0 / 30%);
}

.eyebrow {
  margin: 0 0 0.8rem;
  color: var(--gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

h1,
h2 {
  margin: 0;
  color: var(--parchment);
  font-weight: 500;
}

h1 {
  font-size: clamp(2.5rem, 7vw, 4.5rem);
  letter-spacing: 0.025em;
  line-height: 1;
}

h2 {
  margin-top: 2.35rem;
  border-top: 1px solid var(--line);
  padding-top: 1.2rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.2;
}

.effective {
  margin: 0.9rem 0 0;
  color: var(--gold-bright);
  font-size: 0.82rem;
  letter-spacing: 0.05em;
}

.lede,
section p,
section li {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}

.lede {
  max-width: 47rem;
  margin: 2rem 0 0;
  color: var(--parchment);
  font-size: 1.08rem;
}

section p { margin: 1rem 0 0; }

section ul {
  margin: 1rem 0 0;
  padding-left: 1.35rem;
}

section li + li { margin-top: 0.65rem; }
strong { color: var(--parchment); }
code {
  border: 1px solid rgb(196 154 89 / 24%);
  border-radius: 3px;
  padding: 0.08em 0.3em;
  color: var(--gold-bright);
  background: rgb(13 11 8 / 65%);
  font: 0.88em/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.policy-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
  margin-top: 2rem;
  padding: 1rem 0;
  border-top: 1px solid rgb(196 154 89 / 28%);
  border-bottom: 1px solid rgb(196 154 89 / 28%);
  font-size: 0.8rem;
  line-height: 1.45;
}

.policy-nav a { color: var(--gold-bright); }

.policy-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.2rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 2.6rem;
  border-top: 1px solid var(--line);
  padding-top: 1.25rem;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

@media (max-width: 600px) {
  .policy-header,
  .policy-shell { width: min(100% - 1.5rem, 54rem); }
  .policy-header { align-items: flex-start; flex-direction: column; }
  .policy-card { padding: 1.15rem; }
  .policy-footer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
}
