/* London civic identity. Source meanings and network status colours stay intact. */
:root{--pulse-navy:#101e42;--pulse-red:#d71920;--pulse-muted:#586171;--pulse-line:#dddcd5;--pulse-wash:#f3f1eb;--app-navy:#101e42;--app-blue:#163e83;--app-red:#d71920;--app-ink:#101e42;--app-muted:#586171;--app-line:#dddcd5;--app-wash:#f3f1eb;--app-blue-wash:#edf1f8;--ink:#101e42;--muted:#586171;--line:#dddcd5;--blue:#163e83;--navy:#101e42;--red:#d71920}
body.pulse-page,body.civic-app-home{background:#f3f1eb;color:#101e42;font-family:'Segoe UI',Arial,sans-serif}
.pulse-header{background:#101e42;border-right:1px solid #263553}
.pulse-brand b{font-weight:750;letter-spacing:-.3px}.pulse-brand b>span{color:#ffb1aa}.pulse-brand-mark,.pulse-footer-mark{position:relative!important;width:40px!important;height:40px!important;flex:0 0 40px!important;padding:0!important;border:6px solid #e32930!important;border-radius:50%!important;background:transparent!important;overflow:visible!important}
.pulse-brand-mark i,.pulse-footer-mark i{display:none!important}.pulse-brand-mark:after,.pulse-footer-mark:after{content:'';position:absolute;left:-9px;right:-9px;top:9px;height:10px;background:#fff;clip-path:polygon(0 40%,30% 40%,43% 0,59% 100%,72% 55%,100% 55%,100% 85%,67% 85%,58% 100%,43% 42%,35% 70%,0 70%)}
.pulse-desktop-nav a{border-radius:3px;font-size:12px;min-height:48px}.pulse-desktop-nav a[aria-current=page]{background:#c91c29;border-color:transparent;box-shadow:none}.pulse-desktop-nav a:hover{background:#293859}.pulse-desktop-nav a[aria-current=page]:hover{background:#b81621}.pulse-tagline{font-family:'Segoe UI',Arial,sans-serif!important;color:#cad1df!important}
.pulse-context-bar{background:#faf9f5;border-bottom:1px solid #deddd5}.pulse-context-place strong{letter-spacing:.1em;text-transform:uppercase;font-size:11px}.pulse-context-place strong:after{content:' / UK';color:#8b3340}.pulse-context-status span{color:#626773}
.civic-hero,.document-hero{background:#101e42;color:#fff;border:0;border-radius:4px;padding:36px 40px;isolation:isolate}.civic-hero:before{background:#dc262e;width:6px}.civic-hero:after,.document-hero:after{content:'';position:absolute;right:-50px;top:-65px;width:250px;height:250px;border:30px solid #ffffff06;border-radius:50%;z-index:-1;pointer-events:none}.document-hero{position:relative;overflow:hidden}
.civic-hero h1,.document-hero h1,.pulse-page .intro h1{font-family:'Segoe UI',Arial,sans-serif;font-weight:750;letter-spacing:-1.5px;color:inherit}.civic-hero p,.document-hero p{color:#d8deeb}.civic-hero .eyebrow,.document-label{color:#ffb5ae;letter-spacing:.16em}.civic-hero .page-links a{background:#1d3054;border:1px solid #485675;color:#fff;border-radius:2px}.civic-hero .page-links a[aria-current=page]{background:#fff;color:#101e42;border-color:#fff}.civic-hero .page-links a:hover{background:#d71920;color:#fff}
.panel,.document-section,.metric,.trip-card,.app-now,.app-journey,.app-route,.app-questions,.app-evidence-drawer{border-radius:5px;border-color:#dddcd5;box-shadow:0 2px 0 #101e4203}.panel h2,.document-section h2,.panel h3,.profile-title,.app-section-heading h2,.app-questions h2,.commute-feature-story h3,.app-route h3{font-family:'Segoe UI',Arial,sans-serif;font-weight:700;letter-spacing:-.65px}.metric{border-top:3px solid #163e83}.metric strong{font-weight:750;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metric b{letter-spacing:.02em}.metric-row>.metric:nth-child(2){border-top-color:#d71920}.metric-row>.metric:nth-child(3){border-top-color:#007d72}.metric-row>.metric:nth-child(4){border-top-color:#80609c}
.controls select,.controls input,.civic-main button,.page-links a{border-radius:3px}.civic-main button.primary{background:#163e83}.civic-main a{color:#163e83}.civic-main .civic-hero a{color:#fff}.civic-main .civic-hero a[aria-current=page]{color:#101e42}.civic-table th{background:#eeede7}.civic-table tr.selected td{background:#eef2f9}.map{border-radius:3px}.tag{border-radius:2px}.line-card{border-radius:3px}.notice{border-radius:2px}.trend-links a{border-radius:3px;border-top:4px solid #163e83}.bar-row i b{background:#163e83}.leg{background:#f3f2ed;border-radius:3px}.stop-list li{border-color:#d71920}.stop-list li:before{border-color:#d71920}.source-note{border-color:#dddcd5}
.app-hero{border-radius:5px;border:1px solid #d9d8d0;background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app-hero-copy{padding:36px}.app-hero-copy:before{content:'LONDON / UNITED KINGDOM';display:block;font-size:11px;letter-spacing:.18em;color:#bf1724;font-weight:800;margin-bottom:22px}.app-hero h1{font-family:'Segoe UI',Arial,sans-serif;font-weight:750;letter-spacing:-2px;line-height:1.05;color:#101e42;font-size:clamp(34px,3.5vw,54px)}.app-hero-deck{color:#586171}.app-live-number strong{color:#101e42;font-weight:750;letter-spacing:-2px}.app-primary-action{background:#c91c29!important;border-color:#c91c29!important;border-radius:3px!important}.app-secondary-action{border-radius:3px!important}.app-hero-visual{position:relative;background:#eaeef4!important;border-left:1px solid #d9dfe8;overflow:hidden}.app-mode-switch{position:relative;z-index:1}.app-mode-switch button{border-radius:3px}.app-mode-switch button[aria-pressed=true]{border-color:#c91c29!important;background:#fff5f2!important;color:#991c27!important}.app-transit-art.london-art{display:block;width:100%;height:auto;min-height:240px;max-height:340px;object-fit:contain;margin:12px auto}.app-visual-note{position:relative;color:#4b5972}.app-signal{border-radius:3px}.app-signal-icon{border-radius:50%}.app-signal-surface .app-signal-icon{color:#c91c29;background:#fff0ec}.app-signal-subway .app-signal-icon{color:#163e83;background:#edf1f8}.app-quiet-button{border-radius:3px}.app-question-grid>a{border-radius:4px}.app-section-heading h2{font-size:26px}.app-method-label{border-radius:2px}
.pulse-global-footer{background:#eae7df;border-top:3px solid #101e42}.pulse-footer-brand b{color:#101e42}.pulse-footer-mark:after{background:#101e42}.pulse-footer-menu h2{text-transform:uppercase;letter-spacing:.09em;font-size:11px}.pulse-bottom-nav{border-top:2px solid #101e42}.pulse-bottom-nav [aria-current=page]{background:#fff0ec;color:#bf1724}.pulse-menu-button{border-radius:3px}
@media(max-width:900px){.pulse-header{background:#fff;border-right:0;border-top:4px solid #d71920}.pulse-brand-mark:after{background:#101e42}.pulse-brand b>span{color:#c91c29}.pulse-context-bar{background:#f0eee7}.civic-hero,.document-hero{padding:28px}.app-hero{grid-template-columns:1fr}.app-hero-visual{border-left:0;border-top:1px solid #d9dfe8}.app-hero-copy{padding:28px}.app-hero h1{font-size:42px}.app-transit-art.london-art{max-height:280px}.pulse-mobile-panel{background:#101e42;color:#fff}.pulse-mobile-panel nav a{color:#fff;border-color:#334366}.pulse-mobile-panel nav a[aria-current=page]{background:#c91c29;color:#fff}.pulse-mobile-panel footer{color:#d1d7e3}}
@media(max-width:480px){.civic-hero,.document-hero{padding:25px 22px}.civic-hero h1,.document-hero h1{font-size:34px;letter-spacing:-1px}.app-hero-copy{padding:26px 22px}.app-hero h1{font-size:38px;letter-spacing:-1.4px}.app-hero-copy:before{font-size:10px;margin-bottom:18px}.app-transit-art.london-art{min-height:180px}.app-section-heading h2{font-size:23px}.panel h2{font-size:24px}}

.app-live-number strong,.app-signal dt,.commute-feature strong,.app-route-count{font-family:"Segoe UI",Arial,sans-serif!important;font-style:normal!important;font-variant-numeric:tabular-nums;letter-spacing:-1.5px}

/* Accepted London mobile concept: transport lettering, stone bands and red wayfinding. */
:root{--london-stone:#f3f1eb;--london-ink:#101e42;--london-red:#d71920;--london-teal:#246d77}
body.pulse-page{font-family:"Gill Sans","Trebuchet MS","Segoe UI",sans-serif}
.civic-app-main{font-family:inherit}
.pulse-brand-mark,.pulse-footer-mark{background:var(--london-red)!important;border-color:var(--london-red)!important}
.pulse-brand-mark:after,.pulse-footer-mark:after{background:#fff!important}
.pulse-brand b>span{color:inherit;font-size:inherit;letter-spacing:-.6px}
.pulse-contextbar{background:var(--london-stone);border-bottom:1px solid #d8d6cd}
.app-hero{background:var(--london-stone);border:0;box-shadow:none}
.app-hero-visual{padding:0 0 20px;background:var(--london-stone)!important;border:0}
.app-hero-visual:before{display:none}
.app-transit-art.london-art{max-height:none;min-height:0;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0}
.app-mode-switch{margin:20px auto;border-radius:3px;box-shadow:none;width:calc(100% - 40px)}
.app-visual-note{margin:12px 24px 0}
.app-hero h1,.app-section-heading h2,.commute-feature-story h3,.app-route h3{font-family:"Gill Sans","Trebuchet MS","Segoe UI",sans-serif;font-weight:750}
.app-primary-action{box-shadow:none;background:var(--london-red)!important}
.app-secondary-action{color:var(--london-ink);border-color:var(--london-ink)}
.app-now,.app-journey,.app-route,.app-questions{background:transparent;border:0;border-top:1px solid var(--london-ink);border-radius:0;box-shadow:none}
.app-signal,.commute-feature,.route-journey{background:#fff;border:1px solid var(--london-ink);border-radius:3px;box-shadow:none}
.app-signal-icon{background:transparent!important;border-radius:0}
.commute-feature-meta{color:var(--london-red);letter-spacing:.08em}
.app-question-list>a{border-radius:3px}
.app-journey .commute-feature h3{font-family:"Gill Sans","Trebuchet MS","Segoe UI",sans-serif}
.app-route .route-journey,.app-journey .commute-feature{border:1px solid var(--london-ink);border-radius:3px;box-shadow:none}
.pulse-page :where(a,button,select,input):focus-visible{outline:3px solid var(--london-teal);outline-offset:4px}
@media(max-width:900px){
 .pulse-header{min-height:78px;border-top:5px solid var(--london-red);padding:12px 20px;background:#fff}
 .pulse-brand b{font-size:22px;line-height:1.02;letter-spacing:-.8px}
 .pulse-brand b>span{font-size:22px;color:var(--london-ink);margin:0}
 .pulse-brand small{display:none}
 .pulse-menu-button{border:0;background:transparent;color:var(--london-ink);min-width:44px;min-height:44px}
 .pulse-contextbar{top:78px}
 .pulse-mobile-panel{top:116px;height:calc(100dvh - 184px)}
 .pulse-overlay{inset:116px 0 68px}
 .pulse-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-top:1px solid var(--london-ink);padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .pulse-bottom-nav a{font-size:12px;min-height:52px;border-radius:0}
 .pulse-bottom-nav [aria-current=page]{background:#fff;border-bottom:3px solid var(--london-red)}
 .civic-app-main{width:100%;margin-top:0;gap:0}
 .app-hero{display:flex;flex-direction:column;border-radius:0;min-height:0;overflow:visible}
 .app-hero-copy,.app-hero-visual{display:contents}
 .app-hero-copy:before{order:0;margin:24px 20px 16px;color:var(--london-ink);font-size:10px;letter-spacing:.18em}
 .app-hero h1{order:1;font-size:clamp(34px,8.5vw,56px);line-height:1.06;letter-spacing:-1.4px;margin:0 20px;max-width:680px}
 .app-hero-deck{order:2;margin:14px 20px 18px;font-size:18px;line-height:1.4;color:var(--london-ink)}
 .app-transit-art.london-art{order:3;aspect-ratio:1.9;object-fit:cover;object-position:center 65%;max-height:none}
 .app-hero-actions{order:4;display:flex;flex-direction:column;margin:16px 20px 0;gap:8px}
 .app-primary-action{font-size:16px;min-height:52px}
 .app-secondary-action{background:transparent;border:0;text-decoration:underline;font-size:15px;min-height:44px}
 .app-live-number{order:5;gap:12px;margin:18px 20px 0;padding:0;align-items:center}
 .app-live-number strong{font-size:42px;line-height:1}
 .app-live-number span{font-size:14px;max-width:none;padding:0}
 #hero-story{order:6;margin:8px 20px;font-size:12px}
 .app-updated{order:7;margin:0 20px 16px}
 .app-mode-switch{order:8;margin:0 20px 12px;width:calc(100% - 40px)}
 .app-mode-switch button{min-height:48px}
 .app-visual-note{order:9;margin:0 20px 22px;text-align:left;font-size:11px}
 .app-now,.app-journey,.app-route,.app-questions{padding:24px 20px}
 .app-section-heading{gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
 .app-section-heading h2{font-size:29px;line-height:1.08;letter-spacing:-.8px}
 .app-section-heading p{font-size:14px;line-height:1.4}
 .app-signal{padding:16px;gap:12px;grid-template-columns:36px minmax(0,1fr)}
 .app-signal>dl{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
 .app-signal>dl dt{font-size:26px}
 .app-signal>dl dd{font-size:11px}
 .app-signal>a{display:none}
 .commute-feature-story h3,.app-route h3{font-size:23px;line-height:1.15}
 .route-journey,.commute-feature{overflow:hidden}
 .app-evidence-drawer{margin:0 20px 24px}
}
@media(prefers-reduced-motion:reduce){.pulse-page *{scroll-behavior:auto!important;transition:none!important}}

/* Image-free London identity: retain the pulse controls and evidence hierarchy. */
.app-hero{grid-template-columns:1fr;min-height:0;border-top:5px solid var(--london-red)}
.app-hero-copy{padding:36px 36px 20px}
.app-hero h1{max-width:900px}
.app-hero-visual{display:block;padding:0 36px 28px}
.app-mode-switch{max-width:480px;width:100%;margin:0 0 14px}
.app-visual-note{max-width:680px;margin:0;text-align:left}
@media(max-width:900px){
 .app-hero{border-top:0}
 .app-hero-copy,.app-hero-visual{display:contents}
 .app-mode-switch{width:calc(100% - 40px);max-width:none;margin:0 20px 12px}
 .app-visual-note{margin:0 20px 22px}
}
