.regulation-page h2 { font-size: 24px; line-height: 1.28; font-weight: 600; letter-spacing: -.015em; }
.regulation-page p { color: var(--text-2); font-size: var(--t-body); line-height: 1.72; }
.regulation-page .page-intro { margin-top: 24px; }
.opening { max-width: 700px; margin: var(--s-home) auto 0; }
.opening p { margin-top: 18px; }
.parallel { margin-top: var(--s-home); }
.parallel > h2, .parallel-note { max-width: 680px; }
.parallel-note { margin-top: 18px; }
.parallel-key { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; padding-left: min(31%, 280px); margin-top: 46px; color: var(--text-2); font-size: var(--t-nav); }
.choice-sequence { list-style: none; border-top: 1px solid var(--border); }
.choice-point { display: grid; grid-template-columns: minmax(200px, 30%) repeat(2, minmax(0, 1fr)); gap: 28px; padding: 30px 0 42px; border-bottom: 1px solid var(--border); }
.choice-time { display: block; color: var(--text-2); font-size: var(--t-nav); }
.choice-heading h3 { font-size: 22px; line-height: 1.28; font-weight: 600; margin-top: 16px; }
.choice-heading p { margin-top: 12px; }
.choice-example h4 { color: var(--text); font-size: var(--t-body); font-weight: 600; }
.choice-example p { margin-top: 10px; }
.later, .source-boundary { max-width: 700px; margin: var(--s-home) auto 0; }
.later h2 { margin-top: 16px; }
.later p, .source-boundary p { margin-top: 18px; }
.source-boundary { border-top: 1px solid var(--border); padding-top: 34px; }
.regulation-page a:focus-visible { outline: 2px solid var(--text); outline-offset: 5px; }
@media (max-width: 760px) {
  .parallel-key { display: none; }
  .choice-point { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .choice-heading { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .opening, .parallel, .later, .source-boundary { margin-top: var(--s-checkin); }
  .choice-point { grid-template-columns: 1fr; gap: 18px; padding: 26px 0 32px; }
  .choice-heading { grid-column: auto; }
  .choice-example + .choice-example { padding-top: 18px; border-top: 1px solid var(--border); }
}
