body {
  background: #ffffff;
  color: #000000;
  font-family: "Times New Roman", Times, serif;
  font-size: 18px;
  line-height: 1.45;
  margin: 0;
  padding: 0;
}
.banner {
  background: #FF9100;
  color: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
  padding: 14px 16px 12px 16px;
  border-bottom: 4px solid #FF9100;
}
.banner .site-name {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 1px;
  margin: 0;
}
.banner .site-sub {
  font-size: 14px;
  color: #d7e3f4;
  margin: 2px 0 0 0;
}
.nav {
  background: #e8e8e8;
  border-bottom: 1px solid #999999;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  padding: 6px 16px;
}
.nav a { margin-right: 4px; }
.content {
  max-width: 720px;
  margin: 0 auto;
  padding: 18px 16px 24px 16px;
}
a { color: #0000ee; }
a:visited { color: #551a8b; }
h1 { font-size: 26px; margin: 10px 0 8px 0; }
h2 { font-size: 21px; margin: 20px 0 6px 0; border-bottom: 1px solid #999999; padding-bottom: 2px; }
p { margin: 8px 0; }
hr { border: none; border-top: 1px solid #999999; margin: 18px 0; }
table.dir { border-collapse: collapse; width: 100%; margin: 8px 0; }
table.dir td { border: 1px solid #999999; padding: 8px 10px; vertical-align: top; }
table.dir td.dirlink { width: 130px; font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: bold; background: #f2f2f2; }
ul.plain { margin: 6px 0 6px 0; padding-left: 24px; }
ul.plain li { margin: 4px 0; }
.res-head { text-align: center; margin-bottom: 6px; }
.res-head .name { font-size: 24px; font-weight: bold; }
.res-head .line { font-size: 15px; margin-top: 2px; }
.res-item-head { font-weight: bold; }
.res-item-sub { font-style: italic; }
.res-right { float: right; font-weight: normal; font-style: normal; }
.small { font-size: 14px; }
.footer {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 16px 20px 16px;
  font-size: 13px;
  color: #333333;
  font-family: Arial, Helvetica, sans-serif;
}
.updated { font-style: italic; }

/* --- fluid motion (progressive enhancement; see motion.js) --- */
.nav a { position: relative; }
.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 2px;
  background: #b38f00;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.nav a:hover::after, .nav a:focus-visible::after { transform: scaleX(1); }
table.dir tr { transition: background-color 0.25s ease; }
table.dir tr:hover { background-color: #f6f3e7; }
a { transition: color 0.2s ease; }
a:hover { color: #0033cc; }

@media (prefers-reduced-motion: reduce) {
  .nav a::after { transition: none; }
  table.dir tr { transition: none; }
  a { transition: none; }
}

/* touch: larger tap targets, same look */
@media (pointer: coarse) {
  .nav a { display: inline-block; padding: 9px 3px; margin-top: -6px; margin-bottom: -6px; }
}
