.rail-board { margin: 34px auto 0; padding: clamp(20px,3.5vw,36px); background: #f5f7f8; border: 1px solid var(--line,#dfe7e9); border-radius: 9px; }
.rail-board [hidden] { display: none !important; }
.rail-guide-section { padding-top: 28px; }
.rail-guide-section .rail-board { margin-top: 0; }
.rail-title-row { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 7px 18px; }
.inner-page .rail-board h2 { font-size: clamp(25px,3vw,32px); line-height: 1.18; margin: 0; }
.inner-page .rail-board .rail-intro { font-size: 14px; margin: 8px 0 16px; }
.rail-directions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(18px,4vw,48px); }
.rail-direction { min-width: 0; }
.rail-direction h3 { font-size: 19px; margin: 0 0 8px; }
.rail-direction table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-bottom: 6px; font-variant-numeric: tabular-nums; }
.rail-direction th, .rail-direction td { text-align: left; vertical-align: top; padding: 6px 4px 6px 0; border-bottom: 1px solid #d8e2e6; }
.rail-direction th:first-child { width: 45%; }
.rail-direction thead th { font-size: 11px; color: #506676; font-weight: 600; }
.rail-direction tbody th { font-weight: 500; font-size: 13px; }
.rail-direction td span { font-weight: 650; font-size: 14px; }
.rail-direction td small { display: block; color: #506676; font-size: 10px; line-height: 1.3; }
.inner-page .rail-direction .text-link, .inner-page .rail-board-footer .text-link { font-size: 12px; }
.rail-board .text-link { display: inline-block; padding-block: 5px; }
.rail-board .text-link:hover { text-decoration: underline; }
.rail-status, .inner-page .rail-board .rail-small { color: #4d6473; font-size: 12px; margin: 4px 0; }
.rail-board-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 22px; flex-wrap: wrap; border-top: 1px solid var(--line,#dfe7e9); padding-top: 8px; margin-top: 12px; }
.rail-board-footer a, .rail-disclosure a { color: #2b708e; }
.inner-page .rail-board .rail-disclosure { font-size: 11px; line-height: 1.6; color: #506676; margin: 8px 0 0; }
.rail-disclosure a { text-decoration: underline; }
@media(max-width:700px) {
  .rail-directions { grid-template-columns: 1fr; gap: 17px; }
  .rail-board { padding: 18px; }
  .rail-guide-section { padding-top: 18px; }
  .rail-direction .text-link, .rail-board-footer .text-link { min-height: 32px; }
}
