:root{--sea:#173a4a;--sea-2:#24566b;--ochre:#f1c27a;--ochre-d:#b9822e;--cinnabar:#e0573e;--paper:#f7f3ec;--sheet:#fffdf9;--ink:#1e262b;--soft:#5d6b72;--rule:#ddd3c3;--mist:#e9eff1;--sans:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;--display:"Russo One","Nunito",system-ui,sans-serif}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.65 var(--sans)}img{max-width:100%;height:auto}a{color:var(--sea-2);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--cinnabar)}.frame{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}.to-text{position:absolute;left:-9999px;top:0;background:var(--ochre);color:var(--sea);padding:8px 14px;z-index:9}.to-text:focus{left:12px;top:12px}.topbar{background:var(--sea);color:#fff;border-bottom:4px solid var(--ochre)}.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.sigil{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.sigil:hover{color:#fff}.sigil-icon{width:42px;height:42px;flex:none}.sigil-icon rect{fill:var(--sea-2)}.sigil-icon path{stroke:var(--ochre)}.sigil-from{fill:var(--cinnabar)}.sigil-to{fill:#fff}.sigil-word{font:1.35rem/1.05 var(--display);letter-spacing:.01em}.sigil-word small{display:block;font:.82rem/1.3 var(--sans);opacity:.78;letter-spacing:0;margin-top:2px}.routes-nav{display:flex;gap:4px;flex-wrap:wrap}.routes-nav a{color:#fff;text-decoration:none;font:1rem/1 var(--display);padding:10px 14px;border-radius:999px}.routes-nav a:hover{background:rgba(255,255,255,.12);color:#fff}.routes-nav a[aria-current]{background:var(--ochre);color:var(--sea)}.gate{background:var(--sea);color:#fff;padding:44px 0 40px}.gate-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}.gate .doc-sect{color:var(--ochre)}.gate-h{font:clamp(2rem,4.2vw,3.1rem)/1.08 var(--display);margin:.2em 0 .45em;letter-spacing:-.01em}.gate-p p{margin:0 0 .8em;color:#e6eef1}.gate-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}.pill{display:inline-block;font:1rem/1 var(--display);padding:14px 20px;border-radius:10px;background:var(--cinnabar);color:#fff;text-decoration:none}.pill:hover{background:#c5442d;color:#fff}.pill-alt{background:0 0;border:2px solid var(--ochre);color:var(--ochre)}.pill-alt:hover{background:var(--ochre);color:var(--sea)}.legs{list-style:none;margin:0;padding:22px;background:var(--sheet);color:var(--ink);border-radius:16px;box-shadow:0 18px 40px -22px rgba(10,30,40,.55);position:relative}.leg{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:12px 0;position:relative}.leg+.leg{border-top:1px dashed var(--rule)}.leg-n{grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--mist);color:var(--sea);font:1.2rem/1 var(--display);border:2px solid var(--sea-2)}.leg:first-child .leg-n{background:var(--cinnabar);border-color:var(--cinnabar);color:#fff}.leg:last-child .leg-n{background:var(--sea);border-color:var(--sea);color:#fff}.leg a{font:1.15rem/1.2 var(--display);color:var(--sea);text-decoration:none}.leg a:hover{color:var(--cinnabar)}.leg span:last-child{color:var(--soft);font-size:1rem;line-height:1.45}.line-block{padding-top:34px;padding-bottom:10px}.line-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid var(--sea);padding-bottom:8px;margin-bottom:6px;flex-wrap:wrap}.line-h{font:1.7rem/1.15 var(--display);color:var(--sea);margin:0}.line-more{font:1rem var(--display);white-space:nowrap}.stops{list-style:none;margin:0;padding:6px 0 0;display:grid;grid-template-columns:repeat(2,1fr);column-gap:36px}.stop{position:relative;padding-left:30px}.stop::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:3px;background:var(--rule)}.stop::after{content:"";position:absolute;left:2px;top:20px;width:15px;height:15px;border-radius:50%;background:var(--sheet);border:3px solid var(--sea-2)}.stop:hover::after{border-color:var(--cinnabar);background:var(--ochre)}.stop a{display:block;padding:12px 0 14px;text-decoration:none;color:var(--ink)}.stop-name{display:block;font:1.12rem/1.3 var(--display);color:var(--sea)}.stop a:hover .stop-name{color:var(--cinnabar)}.stop-note{display:block;color:var(--soft);font-size:1rem;line-height:1.45;margin-top:2px}.doc{padding-top:22px;padding-bottom:48px}.waybill{font-size:.95rem;color:var(--soft);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:14px}.waybill i{font-style:normal;color:var(--ochre-d)}.waybill a{color:var(--soft)}.doc-head{max-width:860px;margin-bottom:22px}.doc-sect{font:.85rem/1.3 var(--display);text-transform:uppercase;letter-spacing:.12em;color:var(--cinnabar);margin:0}.doc-h{font:clamp(1.75rem,3.6vw,2.6rem)/1.12 var(--display);color:var(--sea);margin:.25em 0 .35em;letter-spacing:-.01em}.doc-sub{font-size:1.2rem;color:var(--soft);margin:0}.doc-grid{display:grid;grid-template-columns:minmax(0,1fr)290px;gap:48px;align-items:start}.doc-body{min-width:0;max-width:780px}.ticket{background:var(--sheet);border:2px dashed var(--ochre-d);border-radius:14px;padding:16px 22px 10px;margin:0 0 22px;position:relative}.ticket-h{font:.95rem/1 var(--display);color:var(--ochre-d);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}.ticket ol{margin:0;padding-left:1.3em}.ticket li{margin-bottom:6px}.plan{border-left:4px solid var(--sea-2);background:var(--mist);padding:10px 16px;margin:0 0 26px;border-radius:0 10px 10px 0}.plan summary{cursor:pointer;font:1rem var(--display);color:var(--sea)}.plan ul{margin:8px 0 4px;padding-left:1.2em}.plan li{margin:3px 0}.copy h2{font:1.55rem/1.2 var(--display);color:var(--sea);margin:1.7em 0 .5em;padding-top:.2em}.copy h3{font:1.2rem/1.3 var(--display);color:var(--sea-2);margin:1.4em 0 .4em}.copy p,.copy ul,.copy ol{margin:0 0 1em}.copy li{margin-bottom:.35em}.copy ul li::marker{color:var(--cinnabar)}.copy ol li::marker{color:var(--sea-2);font-weight:700}.copy strong{color:var(--sea)}.copy blockquote{margin:1.2em 0;padding:10px 18px;border-left:4px solid var(--ochre);background:var(--sheet)}.copy table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:1rem;display:block;overflow-x:auto}.copy th{background:var(--sea);color:#fff;font:.95rem/1.3 var(--display);text-align:left;padding:10px 12px}.copy td{padding:9px 12px;border-bottom:1px solid var(--rule);vertical-align:top;background:var(--sheet)}.copy tr:nth-child(even) td{background:#fbf7f0}.copy-open{max-width:780px;margin-bottom:18px}.checked{margin-top:34px;padding-top:14px;border-top:1px solid var(--rule);font-size:.95rem;color:var(--soft)}.doc-rail{position:sticky;top:18px;display:grid;gap:16px}.railcard{background:var(--sheet);border-radius:14px;padding:16px 18px;border-top:5px solid var(--sea-2)}.railcard-warm{border-top-color:var(--ochre)}.railcard-h{font:1.05rem/1.2 var(--display);color:var(--sea);margin:0 0 8px}.railcard-ul{list-style:none;margin:0;padding:0}.railcard-ul li{border-top:1px solid var(--rule)}.railcard-ul li:first-child{border-top:0}.railcard-ul a{display:block;padding:7px 0;text-decoration:none;font-size:1rem;line-height:1.35}.base{background:#10303d;color:#cfdbe0;margin-top:40px;padding:40px 0 0;font-size:1rem}.base a{color:#fff;text-decoration:none}.base a:hover{color:var(--ochre)}.base-cols{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}.base-name{font:1.3rem var(--display);color:#fff;margin:0 0 8px}.base-about p:last-child{margin:0;line-height:1.5}.base-h{font:.9rem var(--display);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}.base-h a{color:var(--ochre)}.base ul{list-style:none;margin:0;padding:0}.base li{margin:0 0 6px;line-height:1.3}.base-strip{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:16px;padding-bottom:20px;font-size:.92rem;color:#9fb3bb}@media(max-width:980px){.gate-grid{grid-template-columns:1fr;gap:10px}.gate{background:var(--sea);padding-bottom:28px}.doc-grid{grid-template-columns:1fr;gap:28px}.doc-rail{position:static;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.base-cols{grid-template-columns:repeat(2,1fr)}.base-about{grid-column:1/-1}}@media(max-width:640px){body{font-size:1.06rem}.frame{padding:0 16px}.topbar-row{min-height:0}.routes-nav{width:100%;gap:2px}.routes-nav a{padding:9px 11px;font-size:.95rem}.stops{grid-template-columns:1fr}.legs{padding:14px 16px}.ticket{padding:14px 16px 8px}.copy h2{font-size:1.35rem}.base-cols{grid-template-columns:1fr}}