.policy-page {
  min-height: 100vh;
  color: var(--ink);
  background:
    linear-gradient(90deg, rgba(102, 113, 87, 0.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(210, 166, 75, 0.12), transparent 560px),
    var(--porcelain);
  background-size: 64px 64px, auto, auto;
}

.policy-page .site-header {
  position: relative;
  top: 14px;
  color: var(--porcelain);
}

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

.policy-main {
  width: min(860px, calc(100% - 40px));
  margin: 0 auto;
  padding: 110px 0 20px;
}

.policy-hero {
  padding-bottom: 48px;
  border-bottom: 1px solid var(--light-line);
}

.policy-hero h1 {
  margin: 0;
  font-size: clamp(48px, 8vw, 84px);
  letter-spacing: -0.05em;
  line-height: 0.93;
}

.policy-hero .lede {
  max-width: 700px;
  margin: 22px 0 0;
  color: var(--muted-light);
  font-size: 18px;
  line-height: 1.65;
}

.updated {
  margin: 20px 0 0;
  color: #86611d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.policy-content { padding-top: 14px; }

.policy-content section {
  padding: 34px 0;
  border-bottom: 1px solid var(--light-line);
}

.policy-content h2 {
  margin: 0 0 13px;
  font-size: clamp(27px, 4vw, 38px);
  letter-spacing: -0.025em;
  line-height: 1.05;
}

.policy-content h3 {
  margin: 24px 0 8px;
  font: 700 16px "Manrope", sans-serif;
}

.policy-content p,
.policy-content li {
  color: var(--muted-light);
  line-height: 1.72;
}

.policy-content p { margin: 0 0 14px; }
.policy-content ul, .policy-content ol { display: grid; gap: 9px; padding-left: 22px; }
.policy-content strong { color: var(--ink); }

.summary-box,
.safety-box,
.contact-box {
  padding: 24px;
  border: 1px solid rgba(210, 166, 75, 0.42);
  border-radius: 16px;
  background: rgba(255, 250, 241, 0.7);
}

.safety-box {
  border-color: rgba(200, 50, 31, 0.28);
  background: rgba(200, 50, 31, 0.05);
}

.policy-content a { color: #755314; font-weight: 800; }
.support-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.support-actions .button { border-color: var(--light-line); color: var(--ink); }
.support-actions .primary { color: var(--paper); }

.faq-support details { border-top: 1px solid var(--light-line); }
.faq-support details:last-child { border-bottom: 1px solid var(--light-line); }
.faq-support summary { padding: 20px 42px 20px 0; font: 500 22px "Fraunces", serif; cursor: pointer; }
.faq-support details p { max-width: 720px; margin: -3px 0 22px; }

@media (max-width: 620px) {
  .policy-main { width: min(100% - 28px, 860px); padding-top: 82px; }
  .policy-page .site-header { width: calc(100% - 24px); }
  .policy-content section { padding-block: 28px; }
  .support-actions .button { width: 100%; }
}
