/* E004-specific reading layout. D001 styles.css / company.css are unchanged snapshots. */
.policy-toc { margin-block-end: var(--space-4xl); }
.policy-toc__title { margin: 0 0 var(--space-lg); font-size: var(--font-size-base); font-weight: 700; color: var(--color-text-primary); }
.policy-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-xl); list-style: none; padding: 0; margin: 0; }
.policy-toc li { border-block-end: 1px solid var(--color-border-muted); }
.policy-toc li:nth-child(-n + 2) { border-block-start: 1px solid var(--color-border-muted); }
.policy-toc a {
  display: grid; grid-template-columns: 2rem minmax(0, 1fr) .75rem;
  align-items: center; gap: var(--space-sm); height: 100%; min-height: 3.75rem;
  padding: var(--space-md) var(--space-xs);
  color: var(--color-text-primary); text-decoration: none; line-height: 1.7;
  transition: background-color var(--motion-fast);
}
.policy-toc__number { color: var(--color-brand-green-darker); font-family: var(--font-numeric); font-variant-numeric: tabular-nums; font-weight: 500; }
.policy-toc__label { overflow-wrap: anywhere; }
.policy-toc__arrow { width: .4375rem; height: .4375rem; border-inline-end: 1.5px solid var(--color-brand-green-dark); border-block-end: 1.5px solid var(--color-brand-green-dark); transform: translateY(-.125rem) rotate(45deg); }
.policy-toc a:focus-visible { background: var(--color-surface-soft); }
@media (hover: hover) {
  .policy-toc a:hover { background: var(--color-surface-soft); }
}
.policy-clause { line-height: 1.95; overflow-wrap: anywhere; }
.policy-clause + .policy-clause { margin-block-start: var(--space-3xl); padding-block-start: var(--space-3xl); border-block-start: 1px solid var(--color-border-muted); }
.policy-clause h2 { margin: 0 0 var(--space-lg); line-height: 1.5; }
.policy-clause p { margin: 0; }
.policy-clause p + p, .policy-clause ul + p, .policy-clause ol + p, .policy-clause .kv + p { margin-block-start: var(--space-md); }
.policy-clause ul, .policy-clause ol { margin: var(--space-md) 0; padding-inline-start: 1.6em; }
.policy-clause li + li { margin-block-start: var(--space-sm); }
.policy-clause .indent { display: block; margin-block-start: var(--space-xs); color: var(--color-text-secondary); }
.policy-clause a { color: var(--color-brand-green-darker); text-underline-offset: .25em; overflow-wrap: anywhere; }
.policy-clause .kv { margin-block: var(--space-lg); padding: var(--space-xl); background: var(--color-surface-soft); border-radius: var(--radius-large); box-shadow: var(--shadow-medium); }
.policy-reading .chk { padding-block: .125rem; background: #fdf6e3; border-bottom: 1px dashed #b8860b; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.policy-reading .date { margin: var(--space-3xl) 0 0; text-align: right; font-size: var(--font-size-small); line-height: 2.2; }
@media (max-width: 767px) {
  .policy-toc { margin-block-end: var(--space-3xl); }
  .policy-toc ol { grid-template-columns: 1fr; gap: 0; }
  .policy-toc li:nth-child(2) { border-block-start: 0; }
  .policy-clause .kv { padding: var(--space-lg); }
}
