:root{--bg-canvas:#0b0b0d;--bg-surface:#19191e;--bg-surface-hover:#25252c;--text-primary:#f3f3f5;--text-muted:#c0c4cc;--accent-primary:#dc2626;--accent-secondary:#c0c4cc;--border-subtle:#747780;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:"Trebuchet MS","Segoe UI",sans-serif;line-height:1.75}h1,h2,h3,p,li,a{overflow-wrap:anywhere;hyphens:auto}h1,h2,h3{line-height:1.18;font-weight:700}h1{font-size:clamp(2rem,5vw,4.3rem);max-width:21ch;margin:.4rem 0 1rem;letter-spacing:-.045em}h2{font-size:clamp(1.45rem,2.6vw,2.3rem);letter-spacing:-.025em}h3{font-size:1.2rem}p{margin:0 0 1.15rem}a{color:inherit;text-underline-offset:5px}a,button,input,textarea,select{transition:background .28s var(--ease),color .28s var(--ease),transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}a:hover{color:#fff}button,input,textarea,select{font:inherit;border-radius:0}button,a.button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}figure{margin:0}figcaption{font-size:.85rem;color:var(--text-muted);padding:.7rem 0}section,article,aside,div,nav{min-width:0}.wrap{width:min(1200px,calc(100% - 3rem));margin:auto}.skip{position:absolute;left:12px;top:-90px;background:var(--accent-primary);padding:12px;z-index:20}.skip:focus{top:12px}.site-header{position:relative;padding:10px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-canvas);display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;letter-spacing:-.025em;min-height:44px;flex-shrink:0}.logo-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--accent-secondary);color:#fff;background:var(--accent-primary);font-size:17px}.site-nav{margin-left:auto;display:flex;align-items:center;gap:18px}.nav-group{display:flex;gap:5px;align-items:center}.nav-group+.nav-group{border-left:1px solid var(--border-subtle);padding-left:15px}.site-nav a{font-size:.83rem;white-space:nowrap;min-height:44px;display:flex;align-items:center;padding:6px 9px;text-decoration:none;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{border-color:var(--accent-primary);background:var(--bg-surface)}.menu-button{display:none;min-width:44px;min-height:44px;background:transparent;border:1px solid var(--border-subtle);color:#fff;font-size:22px}.hero{position:relative;border-bottom:1px solid var(--border-subtle);padding:clamp(2rem,4vw,3.5rem) 0 1.8rem}.hero:before{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:22%;background:var(--accent-primary);animation:broadcast-line 7s ease-in-out infinite alternate}.eyebrow,.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--text-muted)}.hero p{max-width:68ch;color:var(--text-muted);margin-bottom:0}.hero-actions{padding:1.4rem 0 1.8rem}.button,button.action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 19px;background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary);box-shadow:4px 4px 0 var(--accent-secondary);font-weight:700;text-decoration:none;line-height:1.4}.button:hover,button.action:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--accent-secondary);background:#be1d1d}.button.secondary,button.secondary{background:var(--bg-surface);border-color:var(--border-subtle)}.route{position:relative}.route:before{content:"";position:absolute;left:calc((100% - min(1200px,100% - 3rem))/2 + 22px);top:0;bottom:0;width:1px;background:var(--accent-secondary)}.stop{padding:clamp(1.7rem,4vw,3.5rem) 0;border-bottom:1px solid var(--border-subtle);position:relative}.stop:nth-child(even){background:var(--bg-surface)}.stop.crimson{background:var(--accent-primary)}.stop.crimson .tag,.stop.crimson .number,.stop.crimson p{color:#fff}.stop-inner{display:grid;grid-template-columns:45px 1fr;gap:24px}.number{position:relative;z-index:1;align-self:start;background:var(--bg-canvas);border:1px solid var(--accent-secondary);display:grid;place-items:center;width:45px;height:45px;font-size:.85rem;color:var(--text-primary)}.stop.crimson .number{background:var(--accent-primary)}.stop h2{margin:0 0 1rem}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}.media-frame{aspect-ratio:16/10;border:1px solid var(--border-subtle);background:var(--bg-canvas)}.media-frame.banner{aspect-ratio:16/9}.media-frame.thumbnail{aspect-ratio:1/1;width:100%;max-width:140px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px}.panel,.programme-row{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:22px;border-radius:0;box-shadow:none}.panel h2,.panel h3{margin-top:0}.panel:hover,.programme-row:hover{background:var(--bg-surface-hover);border-color:var(--accent-secondary)}a.panel{display:block;text-decoration:none}a.panel:hover{transform:translateY(-4px)}.programme-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;margin:16px 0}.programme-row h3{margin:0 0 .5rem}.programme-row p{margin:0}.tag{display:inline-block}.programme-row .tag{align-self:start;border:1px solid var(--border-subtle);padding:4px 8px}.reading{max-width:72ch;margin:auto;padding:clamp(1.5rem,4vw,3.5rem) 0}.reading h2{margin-top:2.3rem}.reading h3{margin-top:1.7rem}.reading ul,.reading ol{padding-left:1.5rem}.intro-note{border-left:3px solid var(--accent-primary);padding:16px 20px;background:var(--bg-surface);margin:20px 0}.content-section{padding:clamp(1.5rem,4vw,3.5rem) 0}.checklist{list-style:none;padding:0!important;counter-reset:check}.checklist li{counter-increment:check;padding:16px 16px 16px 54px;border:1px solid var(--border-subtle);position:relative;margin-bottom:10px;background:var(--bg-surface)}.checklist li:before{content:counter(check,decimal-leading-zero);position:absolute;left:15px;color:var(--text-muted);font-size:.8rem}.source-links a{display:inline-block;min-height:44px;padding:9px 0}.table-scroll{overflow-x:auto;border:1px solid var(--border-subtle);margin:20px 0}table{width:100%;border-collapse:collapse;min-width:510px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--border-subtle);vertical-align:top}th{background:var(--bg-surface)}details{border:1px solid var(--border-subtle);margin:12px 0;background:var(--bg-surface)}summary{min-height:44px;padding:17px;cursor:pointer;font-weight:700;transition:background .28s var(--ease)}summary:hover{background:var(--bg-surface-hover)}details p{padding:0 17px 17px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin:0 0 20px}.field label{display:block;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea,.draft-output{width:100%;min-height:48px;padding:12px;border:1px solid var(--border-subtle);background:var(--bg-canvas);color:var(--text-primary)}.field textarea,.draft-output{min-height:180px;resize:vertical}.field small{display:block;color:var(--text-muted);margin-top:5px}.actions{display:flex;flex-wrap:wrap;gap:15px;margin:18px 0}.status{min-height:2rem;color:var(--text-muted)}.site-footer{border-top:1px solid var(--border-subtle);padding:26px 0;background:var(--bg-canvas);font-size:.85rem;color:var(--text-muted)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a{display:inline-flex;align-items:center;min-height:44px}.footer-brand{margin:0}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.motion .reveal.visible{opacity:1;transform:translateY(0)}@keyframes broadcast-line{from{width:14%}to{width:72%}}
@media(min-width:1025px){.site-header{gap:15px}.site-nav{gap:10px}.hero .wrap{padding-right:12%}}
@media(min-width:769px) and (max-width:1024px){.site-header{flex-wrap:wrap}.site-nav{width:100%;margin-left:0;justify-content:space-between}.split{gap:24px}}
@media(max-width:768px){.site-header{padding:10px 16px;justify-content:space-between}.brand{font-size:.95rem;max-width:calc(100% - 60px)}.menu-button{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:18px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:10;flex-direction:column;align-items:stretch;gap:6px}.site-nav.open{display:flex;animation:menu-in .25s var(--ease)}.nav-group{flex-direction:column;align-items:stretch;gap:3px}.nav-group+.nav-group{border-left:0;border-top:1px solid var(--border-subtle);padding:10px 0 0}.site-nav a{font-size:1rem}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:0}.stop-inner{gap:17px}.footer-inner{align-items:flex-start;flex-direction:column}@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:480px){.wrap{width:calc(100% - 2rem)}.brand{font-size:.85rem;gap:6px}.logo-mark{width:25px;height:25px}.stop-inner{grid-template-columns:34px 1fr;gap:13px}.number{width:34px;height:38px}.route:before{left:33px}.programme-row{grid-template-columns:1fr;padding:16px}.panel{padding:18px}.reading{padding-top:24px}.hero{padding-top:26px}.hero-actions .button{width:100%}.actions .button,.actions button{flex:1 1 160px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}