:root{--rma-paper:#f4f1eb;--rma-field:#faf9f5;--rma-surface:#e6ebe8;--rma-surface-2:#dfe6e5;--rma-ink:#192b36;--rma-ink-2:#263f49;--rma-muted:#556269;--rma-rule:#d9d9d2;--rma-rule-2:#c2cdc9;--rma-yellow:#fff12b;--rma-yellow-deep:#e6d915;--rma-red:#df493d;--rma-red-ink:#b3372b;--rma-red-hover:#8f2b23;--rma-green-ink:#2f7355;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace;--font-display:"Playfair Display", serif;--space-3xs:4px;--space-2xs:8px;--space-xs:12px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--space-3xl:88px;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--text-3xl:clamp(30px, 3.4vw, 44px);--text-display:clamp(38px, 5.4vw, 68px);--gutter-inline:6.8%;--rule-hair:1px;--dur-short:.18s;--dur-mid:.24s;--ease-out:cubic-bezier(.22, 1, .36, 1);--motion:var(--dur-short) var(--ease-out)}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%}body{background:var(--rma-paper);color:var(--rma-ink);font:400 var(--text-base)/1.6 var(--font-body);margin:0}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:700;line-height:1.08}h1{font-size:var(--text-display)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-md);letter-spacing:-.01em}p{margin:0}a{color:inherit;text-decoration:none}svg{max-width:100%}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--rma-ink);outline-offset:2px}.skip-link{z-index:3;top:var(--space-sm);left:var(--space-sm);background:var(--rma-ink);color:var(--rma-paper);padding:var(--space-xs) var(--space-sm);font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.08em;position:absolute;transform:translateY(-250%)}.skip-link:focus{transform:none}.site-shell{overflow-x:clip}main{padding:0 var(--gutter-inline)}main section{padding:var(--space-xl) 0 var(--space-2xl);border-top:var(--rule-hair) solid var(--rma-rule)}.section-heading{align-items:end;gap:var(--space-xs);border-top:2px solid var(--rma-ink);padding-top:var(--space-xs);margin-bottom:var(--space-md);grid-template-columns:1fr auto;display:grid}.section-heading>div{gap:var(--space-3xs);display:grid}.label{font:500 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-muted)}.card-title{font-size:var(--text-md);letter-spacing:-.01em;font-weight:700}.feed-note{margin-top:var(--space-xs);font:400 var(--text-xs)/1.6 var(--font-mono);color:var(--rma-muted)}.text-link{cursor:pointer;color:var(--rma-red-ink);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover){.text-link:hover{color:var(--rma-red-hover);text-decoration-thickness:2px}}.mast{justify-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--gutter-inline) 0;text-align:center;display:grid;position:relative}.mast-meta{justify-content:space-between;gap:var(--space-3xs) var(--space-sm);width:100%;font:400 var(--text-2xs)/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rma-muted);flex-wrap:wrap;display:flex}.mast-bar{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;display:grid}.mast-brand{grid-column:2;justify-self:center}.mast-word{background:var(--rma-yellow);color:var(--rma-ink);padding:var(--space-3xs) var(--space-sm) var(--space-2xs);font:600 clamp(30px, 5.4vw, 52px)/1 var(--font-display);letter-spacing:.01em;display:inline-block}.mast-name{font:400 var(--text-2xs)/1.4 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--rma-muted)}.mast-nav ul{justify-content:center;gap:var(--space-3xs) var(--space-md);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.mast-nav a{padding:var(--space-3xs) 0;font:500 var(--text-sm)/1 var(--font-body);display:block}.mast-nav a.active{text-underline-offset:4px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.mast-rule{border:0;border-top:var(--rule-hair) solid var(--rma-ink);border-bottom:var(--rule-hair) solid var(--rma-ink);width:100%;height:3px;margin:0}.menu-button{border:var(--rule-hair) solid var(--rma-rule-2);cursor:pointer;width:44px;height:44px;font-size:var(--text-md);background:0 0;grid-column:3;justify-self:end;place-items:center;line-height:1;display:none}@media (hover:hover){.mast-nav a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.menu-button:hover{border-color:var(--rma-ink)}}.site-footer{gap:var(--space-md);padding:var(--space-xl) var(--gutter-inline);background:var(--rma-ink-2);color:var(--rma-paper);display:grid}.site-footer .brand{gap:var(--space-3xs);justify-self:start;display:grid}.site-footer .brand b{font:700 var(--text-md)/1 var(--font-body);letter-spacing:.04em;color:var(--rma-paper)}.site-footer .brand small{font:400 var(--text-2xs)/1.4 var(--font-mono);letter-spacing:.08em;color:var(--rma-rule-2)}.site-footer p{max-width:64ch;font-size:var(--text-sm);color:var(--rma-rule-2)}.site-footer nav{gap:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.site-footer nav a{font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.08em;color:var(--rma-paper)}@media (hover:hover){.site-footer nav a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}}.hero{align-items:center;gap:var(--space-xl);padding:var(--space-xl) 0 var(--space-2xl);border-top:0;grid-template-columns:1.15fr .85fr;display:grid}.hero h1{text-wrap:balance;max-width:22ch}.hero h1 .accent{border-bottom:2px solid var(--rma-yellow);padding-bottom:var(--space-3xs)}.hero-copy p{max-width:56ch;margin-top:var(--space-md);font-size:var(--text-md);color:var(--rma-muted)}.hero-art{padding:var(--space-sm);background:var(--rma-surface);border:var(--rule-hair) solid var(--rma-rule)}.hero-art svg{width:100%;height:auto;display:block}.hero-art text{font:500 var(--text-2xs) var(--font-mono);fill:var(--rma-ink)}.planner{gap:var(--space-md);padding:var(--space-lg) var(--space-lg) var(--space-md);background:var(--rma-surface);border-top:2px solid var(--rma-ink);display:grid}.planner-title{align-items:center;gap:var(--space-sm);grid-template-columns:auto 1fr;display:grid}.planner-title p{font-size:var(--text-sm);color:var(--rma-muted)}.route-icon{background:var(--rma-red-ink);width:40px;height:40px;color:var(--rma-paper);font:700 var(--text-md)/1 var(--font-body);place-items:center;display:grid}.planner-form{align-items:end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.planner-form label{gap:var(--space-3xs);font:500 var(--text-xs)/1 var(--font-mono);color:var(--rma-muted);display:grid}.planner-form select{min-width:190px;height:44px;padding:0 var(--space-2xs);background:var(--rma-field);border:var(--rule-hair) solid var(--rma-rule-2);color:var(--rma-ink);font:500 var(--text-sm)/1 var(--font-body);border-radius:0}@media (hover:hover){.planner-form select:hover{border-color:var(--rma-ink)}}.primary{height:44px;padding:0 var(--space-md);background:var(--rma-yellow);border:var(--rule-hair) solid var(--rma-ink);color:var(--rma-ink);font:700 var(--text-sm)/1 var(--font-body);cursor:pointer;border-radius:0}.connection-list{gap:var(--rule-hair);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);display:grid}.connection-list>a,.connection-list>button{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--rma-paper);color:var(--rma-ink);font:500 var(--text-sm)/1.4 var(--font-body);text-align:left;cursor:pointer;border:0;display:flex}.connection-list small{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-muted)}@media (hover:hover){.primary:hover{background:var(--rma-yellow-deep)}.connection-list>a:hover,.connection-list>button:hover{background:var(--rma-surface)}}.mode-grid{gap:var(--rule-hair);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.mode-card{align-content:start;gap:var(--space-2xs);padding:var(--space-md);background:var(--rma-paper);display:grid}.mode-card p{font-size:var(--text-sm);color:var(--rma-muted)}.mode-icon{width:40px;height:40px;margin-bottom:var(--space-2xs);background:var(--mode,var(--rma-ink-2));color:var(--mode-ink,var(--rma-paper));font:700 var(--text-md)/1 var(--font-mono);place-items:center;display:grid}.page-intro{padding:var(--space-xl) 0 var(--space-2xl);border-top:0}.page-intro.compact{padding:var(--space-lg) 0 var(--space-xl)}.page-intro p{max-width:68ch;margin-top:var(--space-md);font-size:var(--text-md);color:var(--rma-muted)}.home-columns{gap:var(--space-xl);grid-template-columns:1.35fr 1fr;display:grid}.home-columns article{align-content:start;gap:var(--space-sm);display:grid}.home-columns p{max-width:52ch;color:var(--rma-muted)}.network-principles{gap:var(--space-sm);max-width:72ch;display:grid}.network-principles p{color:var(--rma-muted)}.updates{align-content:start;gap:var(--space-md);display:grid}.detail-grid{gap:var(--space-lg);grid-template-columns:1.25fr 1fr;display:grid}.detail-grid article,.updates article{align-content:start;gap:var(--space-2xs);padding:var(--space-md);background:var(--rma-surface);display:grid}.facility{justify-content:space-between;gap:var(--space-sm);padding:var(--space-2xs) 0;border-bottom:var(--rule-hair) solid var(--rma-rule);font-size:var(--text-sm);display:flex}.facility b{font:500 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-muted)}.db-note{align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--rma-surface);font:400 var(--text-xs)/1.5 var(--font-mono);color:var(--rma-muted);display:flex}.db-dot{background:var(--rma-green-ink);width:10px;height:10px}.stop-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.stop-list>a,.stop-list>button{align-items:baseline;gap:var(--space-sm);width:100%;padding:var(--space-2xs) 0;border:0;border-bottom:var(--rule-hair) solid var(--rma-rule);color:var(--rma-ink);font:400 var(--text-sm)/1.4 var(--font-body);text-align:left;cursor:pointer;background:0 0;display:flex}.stop-list>a b,.stop-list>button b{font-weight:500}.stop-list>a>span,.stop-list>button>span:not(.arrow){font:500 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-muted)}.arrow{font-family:var(--font-mono);color:var(--rma-muted);margin-left:auto}.directory{gap:var(--space-md);display:grid}.line-filters{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.line-filters button{padding:var(--space-2xs) var(--space-xs);background:var(--rma-paper);border:var(--rule-hair) solid var(--rma-rule-2);color:var(--rma-ink);font:500 var(--text-xs)/1 var(--font-mono);cursor:pointer}.line-filters button.chosen{background:var(--rma-ink);border-color:var(--rma-ink);color:var(--rma-paper)}.line-filters button.chosen:focus-visible{outline-color:var(--rma-yellow)}.line-table{gap:var(--rule-hair);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);display:grid}.line-row{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--rma-paper);color:var(--rma-ink);grid-template-columns:56px 1fr auto;display:grid}.line-row b{font-size:var(--text-sm)}.line-row small{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-muted);display:block}.line-meta{text-align:right;font:500 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-ink)}.route-pill{min-height:34px;padding:0 var(--space-2xs);background:var(--line,var(--rma-ink-2));color:var(--line-ink,var(--rma-paper));font:700 var(--text-sm)/1 var(--font-mono);place-items:center;display:grid}@media (hover:hover){.line-filters button:hover{border-color:var(--rma-ink)}.line-row:hover{background:var(--rma-surface)}.stop-list>a:hover,.stop-list>button:hover{background:var(--rma-paper)}}.detail-hero{padding:var(--space-xl) 0 var(--space-2xl);border-top:2px solid var(--rma-ink)}.detail-hero--line{border-top-color:var(--line,var(--rma-ink))}.back-link{margin-bottom:var(--space-md);font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.06em;color:var(--rma-muted);display:inline-block}.large-route{margin:var(--space-sm) 0;font:600 clamp(56px, 12vw, 132px)/.9 var(--font-display);color:var(--rma-ink);opacity:.14}.facts{gap:var(--rule-hair);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);grid-template-columns:repeat(4,1fr);display:grid}.facts>div{align-content:start;gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);background:var(--rma-paper);display:grid}.facts>div:nth-child(-n+2){grid-column:span 2}.facts b{font:700 var(--text-xl)/1 var(--font-mono)}.facts>div:nth-child(-n+2) b{font-size:var(--text-2xl)}.facts small{font:500 var(--text-2xs)/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rma-muted)}.station-code{min-width:44px;min-height:34px;padding:0 var(--space-2xs);background:var(--rma-ink-2);color:var(--rma-paper);font:700 var(--text-sm)/1 var(--font-mono);letter-spacing:.04em;place-items:center;display:inline-grid}.station-code.big{min-width:64px;min-height:48px;font-size:var(--text-md)}.station-detail{gap:var(--space-sm);display:grid}.station-grid{gap:var(--rule-hair);margin-top:var(--space-md);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);grid-template-columns:repeat(3,1fr);padding:0;display:grid}.station-card{align-content:start;gap:var(--space-2xs);padding:var(--space-md);background:var(--rma-surface);color:var(--rma-ink);display:grid}.station-card.major{gap:var(--space-xs);padding:var(--space-lg);grid-area:span 2/span 2}.station-card.major h2{font-size:var(--text-xl)}.station-card p{font-size:var(--text-sm);color:var(--rma-muted)}.station-card div{gap:var(--space-3xs);flex-wrap:wrap;display:flex}.station-card div span{padding:var(--space-3xs) var(--space-2xs);background:var(--rma-paper);color:var(--rma-ink);font:500 var(--text-xs)/1 var(--font-mono)}.station-info{gap:var(--space-lg);grid-template-columns:1.25fr 1fr;display:grid}.station-info article{align-content:start;gap:var(--space-2xs);display:grid}.sound-intro{max-width:62ch;color:var(--rma-muted)}.melody-board{gap:var(--rule-hair);margin-top:var(--space-md);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);display:grid}.melody-row{align-items:center;gap:var(--space-xs) var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--rma-paper);color:var(--rma-ink);font:400 var(--text-sm)/1.4 var(--font-body);text-align:left;cursor:pointer;border:0;grid-template-columns:1fr auto auto;display:grid}.melody-copy{gap:var(--space-3xs);display:grid}.melody-copy b{font-weight:500}.melody-copy small{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-muted)}.melody-length{font:500 var(--text-xs)/1 var(--font-mono);color:var(--rma-muted)}.melody-action{min-width:64px;padding:var(--space-3xs) var(--space-2xs);background:var(--rma-field);border:var(--rule-hair) solid var(--rma-rule-2);font:500 var(--text-xs)/1.4 var(--font-mono);letter-spacing:.06em;text-align:center}.melody-row[aria-pressed=true] .melody-action{background:var(--rma-ink);border-color:var(--rma-ink);color:var(--rma-paper)}@media (hover:hover){.melody-row:hover{background:var(--rma-surface)}}.fleet-grid{gap:var(--space-lg);display:grid}.vehicle-card{gap:var(--space-lg);padding:var(--space-lg);background:var(--rma-surface);grid-template-columns:1.1fr 1fr;display:grid}.vehicle-illustration{background:var(--rma-surface-2);border:var(--rule-hair) solid var(--rma-rule);grid-template-rows:repeat(2,1fr);grid-template-columns:1.2fr 1fr;align-self:start;min-height:168px;display:grid}.vehicle-front{background:var(--rma-ink-2);grid-area:1/1/-1}.vehicle-window{background:var(--rma-paper);border-left:var(--rule-hair) solid var(--rma-rule);grid-area:1/2}.vehicle-belt{background:var(--vehicle,var(--rma-ink-2));grid-area:2/2}.vehicle-illustration b{padding:var(--space-2xs);background:var(--rma-ink-2);color:var(--rma-paper);font:700 var(--text-sm)/1 var(--font-mono);grid-area:1/1;place-self:end start}.vehicle-copy{align-content:start;gap:var(--space-2xs);display:grid}.vehicle-top{justify-content:space-between;align-items:baseline;gap:var(--space-sm);display:flex}.vehicle-top h2{font-size:var(--text-lg)}.maker{font:500 var(--text-xs)/1.4 var(--font-mono);color:var(--rma-muted)}.vehicle-copy p{color:var(--rma-muted)}.vehicle-specs{gap:var(--rule-hair);margin-top:var(--space-2xs);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);grid-template-columns:repeat(3,1fr);display:grid}.vehicle-specs span{gap:var(--space-3xs);padding:var(--space-xs);background:var(--rma-surface);display:grid}.vehicle-specs b{font:500 var(--text-2xs)/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rma-muted)}.vehicle-specs .spec-main{font-size:var(--text-md);grid-column:1/-1}.fleet-note{gap:var(--space-sm);max-width:72ch;display:grid}.fleet-note p{color:var(--rma-muted)}.brand-guide{gap:var(--space-lg);display:grid}.brand-swatch{gap:var(--rule-hair);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);grid-template-columns:1.2fr 1fr;display:grid}.yellow-block{min-height:220px;padding:var(--space-lg);background:var(--rma-yellow);color:var(--rma-ink);place-items:center;display:grid}.yellow-block span{font:800 clamp(40px, 8vw, 84px)/1 var(--font-body);letter-spacing:-.02em}.yellow-block small{margin-top:var(--space-2xs);font:500 var(--text-xs)/1 var(--font-mono)}.swatch-meta{align-content:start;gap:var(--space-2xs);padding:var(--space-lg);background:var(--rma-surface);display:grid}.swatch-meta p{font-size:var(--text-sm);color:var(--rma-muted)}.swatch-meta code{font:500 var(--text-sm)/1.4 var(--font-mono)}.brand-rules{gap:var(--space-lg);grid-template-columns:1fr 1.3fr;display:grid}.brand-rules article{align-content:start;gap:var(--space-2xs);display:grid}.brand-rules p{max-width:58ch;color:var(--rma-muted)}.colour-row{align-items:center;gap:var(--space-sm);grid-template-columns:56px 1fr;display:grid}.colour-chip{border:var(--rule-hair) solid var(--rma-rule);height:44px}.colour-chip.yellow{background:var(--rma-yellow)}.colour-chip.ink{background:var(--rma-ink)}.colour-chip.red{background:var(--rma-red)}.colour-row b{font-size:var(--text-sm);display:block}.colour-row small{font:400 var(--text-xs)/1.5 var(--font-mono);color:var(--rma-muted);display:block}.group-grid{gap:var(--rule-hair);background:var(--rma-rule);border:var(--rule-hair) solid var(--rma-rule);grid-template-columns:1.6fr 1fr;display:grid}.group-grid article{align-content:start;gap:var(--space-2xs);padding:var(--space-lg);background:var(--rma-surface);display:grid}.group-grid article:first-child,.group-grid article:nth-child(4){grid-column:1/-1}.group-grid article:first-child h2{font-size:var(--text-2xl)}.group-grid p{max-width:62ch;color:var(--rma-muted)}.group-no{margin-right:var(--space-2xs);font:500 var(--text-sm)/1 var(--font-mono);color:var(--rma-muted)}.line-row,.station-card,.melody-row,.stop-list>a,.stop-list>button,.connection-list>a,.connection-list>button,.line-filters button{transition:background var(--motion), border-color var(--motion), color var(--motion)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}.hero-art polyline{fill:none}.hero-art circle{fill:var(--rma-paper);stroke:var(--rma-ink)}.hero-art circle.major{fill:var(--rma-ink)}@media (width<=1080px){.station-grid{grid-template-columns:repeat(2,1fr)}.station-card.major{grid-row:auto}}@media (width<=900px){.hero{gap:var(--space-lg);grid-template-columns:1fr}.home-columns,.detail-grid,.vehicle-card,.brand-rules,.brand-swatch,.station-info,.group-grid{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}.group-grid article:first-child,.group-grid article:nth-child(4){grid-column:auto}.station-grid{grid-template-columns:1fr}.station-card.major{padding:var(--space-md);grid-column:auto}}@media (width<=720px){main section,.hero,.detail-hero,.page-intro{padding:var(--space-lg) 0 var(--space-xl)}.page-intro.compact{padding:var(--space-md) 0 var(--space-lg)}.site-footer{padding:var(--space-lg) var(--gutter-inline)}.planner-form label,.planner-form select{width:100%;min-width:0}.vehicle-specs{grid-template-columns:repeat(2,1fr)}.melody-row{grid-template-columns:1fr auto}.melody-copy{grid-column:1/-1}.colour-row{grid-template-columns:44px 1fr}.menu-button{display:grid}.mast-nav ul{display:none}.mast-nav.open ul{justify-items:start;gap:var(--space-3xs);width:100%;padding-top:var(--space-2xs);display:grid}}@media (prefers-reduced-motion:reduce){:root{--motion:0s;--dur-short:0s;--dur-mid:0s}}
