.policy-shell { max-width: 900px; }
.policy-tabs { display: flex; border-bottom: 1px solid var(--line); gap: 32px; }
.policy-tabs[hidden], .legal-document[hidden] { display: none; }
.policy-tab {
  flex: 1; min-height: 56px; padding: 12px 8px; border: 0; border-bottom: 3px solid transparent;
  margin-bottom: -1px; background: transparent; color: var(--ink-soft); font-size: 18px; font-weight: 600;
  cursor: pointer; transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}
.policy-tab:hover { color: var(--brand-deep); background: var(--brand-pale); }
.policy-tab[aria-selected="true"] { color: var(--brand-deep); border-bottom-color: var(--brand); }
.policy-tab:focus-visible, .legal-document:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
.legal-document { padding: 40px 0 0; scroll-margin-top: 92px; }
.legal-frame { display: block; width: 100%; height: 75vh; min-height: 400px; border: 0; background: #fff; }
@media (max-width: 600px) {
  .policy-section-wrap { padding-top: 24px; }
  .policy-tabs { gap: 4px; }
  .policy-tab { font-size: 16px; min-height: 52px; padding: 12px 4px; }
  .legal-document { padding-top: 28px; }
}
@media (prefers-reduced-motion: reduce) { .policy-tab { transition: none; } }

.policy-section-wrap { background: #fff; }
