.policy-header,
.policy-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px var(--pad-x);
  border-bottom: 1px solid var(--line);
}

.policy-brand img { width: 174px; height: auto; }
.policy-home { color: var(--text-muted); font-size: 14px; }
.policy-home:hover { color: var(--accent); }

.policy-main {
  width: min(820px, calc(100% - var(--pad-x) - var(--pad-x)));
  margin-inline: auto;
  padding: 42px 0 80px;
}

.policy-breadcrumb {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--text-dim);
  font-size: 13px;
}
.policy-breadcrumb a { color: var(--text-muted); }

.policy-title { padding: 50px 0 30px; border-bottom: 1px solid var(--line); }
.policy-title h1 { margin-top: 14px; font-size: clamp(34px, 6vw, 54px); line-height: 1.1; }
.policy-lede { max-width: 680px; margin: 18px 0 0; color: var(--text-muted); font-size: 17px; line-height: 1.7; }

.policy-content {
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.8;
}
.policy-content h2 { margin: 34px 0 10px; color: var(--text); font-size: 22px; line-height: 1.35; }
.policy-content h3 { margin: 24px 0 8px; color: var(--text-soft); font-size: 17px; line-height: 1.4; }
.policy-content p { margin: 14px 0; }
.policy-content ul, .policy-content ol { padding-left: 24px; }
.policy-content li { margin: 6px 0; }
.policy-content strong { color: var(--text-soft); }
.policy-content table { border-collapse: collapse; width: 100%; }
.policy-table-wrap { margin: 18px 0 24px; overflow-x: auto; border: 1px solid var(--line-strong); border-radius: var(--radius); }
.policy-table th, .policy-table td { padding: 14px 16px; border-bottom: 1px solid var(--line-strong); text-align: left; vertical-align: top; }
.policy-table thead th { color: var(--text); background: var(--surface); font-weight: 600; }
.policy-table tbody th { min-width: 190px; color: var(--text-soft); font-weight: 500; }
.policy-table tbody td { min-width: 340px; }
.policy-table tbody tr:last-child th, .policy-table tbody tr:last-child td { border-bottom: 0; }

.policy-product-note { margin-top: 38px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--text-dim); font-size: 14px; }
.policy-footer { border-top: 1px solid var(--line); border-bottom: 0; color: var(--text-dim); font-size: 13px; }
.policy-footer a { color: var(--text-muted); }
.policy-footer a:hover { color: var(--accent); }

@media (max-width: 560px) {
  .policy-header { align-items: flex-start; }
  .policy-brand img { width: 140px; }
  .policy-home { text-align: right; font-size: 12px; }
  .policy-title { padding-top: 38px; }
  .policy-footer { align-items: flex-start; flex-direction: column; }
}
