
:root{
  --paper:#efe2bd;
  --paper2:#fff8df;
  --paper3:#f3e6bf;
  --navy:#001f4f;
  --red:#b21f24;
  --ink:#171717;
  --green:#0b5f1d;
  --gray:#bebebe;
}
*{box-sizing:border-box}
body{
  margin:0;
  color:var(--ink);
  font-family:Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.18), transparent 22%),
    linear-gradient(90deg, rgba(0,0,0,.08) 1px, transparent 1px),
    linear-gradient(rgba(0,0,0,.08) 1px, transparent 1px),
    #8d8d8d;
  background-size:auto,18px 18px,18px 18px,auto;
}
a{color:#003d9c;font-weight:bold} a:visited{color:#551a8b}
.page{
  max-width:980px;
  margin:18px auto;
  border:4px ridge #dedede;
  background:var(--paper);
  box-shadow:8px 8px 0 rgba(0,0,0,.35);
  position:relative;
}
.page:before,.page:after{
  content:"";
  position:absolute;
  width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle,#f7f0d0 0 28%,#777 30% 45%,#222 48% 52%,#aaa 55% 100%);
  top:10px;z-index:3;
}
.page:before{left:10px}.page:after{right:10px}
.topbar{
  background:var(--navy);
  color:#fff;
  padding:9px 18px;
  font-family:"Courier New", monospace;
  font-size:14px;
  border-bottom:5px solid var(--red);
  text-align:center;
  letter-spacing:.5px;
}
.header{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:18px;
  align-items:center;
  padding:18px;
  background:
    linear-gradient(90deg, rgba(178,31,36,.09), transparent 18%),
    linear-gradient(#fff9df, #ead8a7);
  border-bottom:3px double var(--navy);
}
.header h1{
  margin:0;
  font-family:Impact, "Arial Black", sans-serif;
  letter-spacing:1px;
  color:var(--navy);
  font-size:42px;
  text-transform:uppercase;
  text-shadow:2px 2px 0 #fff;
}
.header p{margin:6px 0 0;font-family:"Courier New", monospace;font-size:15px}
.subline{display:inline-block;background:#fff4c7;border:2px solid var(--red);padding:4px 8px;margin-top:8px;font-weight:bold}
.nav{
  background:#d8d8d8;
  border-top:2px solid #fff;
  border-bottom:2px solid #777;
  padding:8px;
  text-align:center;
}
.nav a{
  display:inline-block;
  min-width:128px;
  margin:4px;
  padding:8px 10px;
  color:#000;
  text-decoration:none;
  background:#c9c9c9;
  border-top:3px solid #fff;
  border-left:3px solid #fff;
  border-right:3px solid #555;
  border-bottom:3px solid #555;
  font-family:"MS Sans Serif", Arial, sans-serif;
}
.nav a:hover,.nav a.active{background:#fff0b8;color:var(--red)}
.marquee{
  overflow:hidden;
  white-space:nowrap;
  border:2px inset #fff;
  background:#001f4f;
  color:#fff;
  padding:6px;
  font-family:"Courier New", monospace;
}
.marquee span{display:inline-block;animation:scroll 20s linear infinite;padding-left:100%}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.content{
  display:grid;
  grid-template-columns:1fr 270px;
  gap:14px;
  padding:14px;
}
.main,.sidebox,.box{
  background:var(--paper2);
  border:2px solid var(--navy);
  padding:14px;
  position:relative;
  box-shadow:inset 0 0 0 2px rgba(178,31,36,.08);
}
.main:before,.sidebox:before,.box:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:7px;
  background:linear-gradient(90deg,var(--navy) 0 42%, var(--red) 42% 64%, var(--navy) 64% 100%);
}
h2,h3{color:var(--navy);margin-top:12px;font-family:"Arial Black", Arial, sans-serif}
h2{border-bottom:3px solid var(--red);padding-bottom:4px}
ul{line-height:1.55}.lead{font-size:18px;line-height:1.55}.small{font-size:13px;color:#333}.muted{color:#555}
.notice{
  padding:10px;
  background:#fff4c7;
  border:2px dashed var(--red);
  font-family:"Courier New", monospace;
}
.notice-blue{padding:10px;background:#e8efff;border:2px solid var(--navy)}
.hero{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  align-items:center;
  background:#f4e8bd;
  border:4px double var(--navy);
  padding:12px;
  margin:10px 0 14px;
}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.card{background:#fffbe8;border:2px outset #ddd;padding:12px}.card b{color:var(--red)}
.badge{display:inline-block;background:var(--navy);color:#fff;padding:5px 8px;margin:3px;font-family:"Courier New",monospace;border:2px solid #fff;box-shadow:2px 2px 0 #777}
.route-card{background:#f4e8bd;border:4px double var(--navy);padding:14px;margin:12px 0;position:relative}.route-card:after{content:"";position:absolute;right:9px;top:9px;width:14px;height:14px;border-radius:50%;background:#999;border:2px solid #444}
.route-title{display:flex;align-items:center;gap:12px;border-bottom:4px solid var(--red);padding-bottom:8px;margin-bottom:12px}.route-title strong{font-size:38px;color:var(--red);font-family:Impact,"Arial Black",sans-serif}.route-title span{font-size:24px;font-weight:bold;color:var(--navy)}
.direction{background:var(--navy);color:#fff;padding:7px 10px;font-family:"Courier New",monospace;margin:8px 0;border-left:8px solid var(--red)}
.schematic{margin:18px 0 8px 18px;position:relative}.stop{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;min-height:54px}.dot{width:24px;height:24px;border:5px solid var(--navy);border-radius:50%;background:var(--paper2);position:relative;z-index:2}.stop:first-child .dot{background:#d9ffd9}.stop:last-child .dot{background:#ffd9d9}.stop:not(:last-child) .dot:after{content:"";position:absolute;left:50%;top:19px;transform:translateX(-50%);width:7px;height:54px;background:var(--navy);z-index:-1}.stop-name{font-size:24px;font-weight:bold}.stop small{display:block;color:#555;font-size:12px;font-weight:normal;margin-top:2px}
.stamp{display:inline-block;margin:8px 0;padding:8px 14px;color:var(--red);border:4px double var(--red);transform:rotate(-3deg);font-family:"Courier New",monospace;font-weight:bold;text-transform:uppercase;background:rgba(255,255,255,.45)}
.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role{background:#fff8df;border:2px outset #ddd;padding:10px}.role b{color:var(--red)}
.table95{width:100%;border-collapse:collapse;background:#fffbe8;margin:12px 0}.table95 th{background:var(--navy);color:#fff}.table95 th,.table95 td{border:2px solid #777;padding:8px;text-align:left}
.timeline{border-left:8px solid var(--navy);padding-left:14px;margin-left:8px}.timeline p{background:#fffbe8;border:2px solid #ddd;padding:8px}
.form95 input,.form95 textarea,.form95 select{width:100%;padding:8px;border:2px inset #ddd;background:#fffbe8}.form95 button{padding:8px 18px;border:3px outset #ddd;background:#c9c9c9;font-weight:bold;cursor:pointer}.form95 button:hover{background:#fff0b8}
.footer{padding:12px;border-top:4px solid var(--navy);background:#d9c58e;font-family:"Courier New",monospace;font-size:13px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.seal{font-family:"Courier New",monospace;border:3px double var(--navy);padding:8px;background:#fffbe8;text-align:center;font-weight:bold}
@media(max-width:780px){.page{margin:0;box-shadow:none;border:0}.header,.content,.hero{grid-template-columns:1fr}.header h1{font-size:32px}.nav a{display:block;width:auto}.staff-grid,.cards{grid-template-columns:1fr}.stop-name{font-size:20px}}
