@font-face {
  font-family: 'Source Sans 3';
  src: url('./fonts/SourceSans3VF-Upright.ttf.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
:root { --muted: #59695f; }
body { font-family: 'Source Sans 3', Arial, sans-serif; }
strong, b { font-weight: 600; }
.brand { font-weight: 650; letter-spacing: -.35px; }
.day-button span { font-weight: 600; letter-spacing: .6px; }
.day-button strong { font-size: 18px; }
.day-date { font-weight: 600; font-size: 12px; letter-spacing: .7px; }
h1 { line-height: 1.2; }
.event h2 { font-size: 18px; font-weight: 600; line-height: 1.28; }
.event-label { font-size: 12px; font-weight: 600; line-height: 1.35; }
.kind-name { letter-spacing: .65px; }
.badge { font-size: 12px; font-weight: 600; }
.time strong { font-size: 16px; font-weight: 600; letter-spacing: 0; }
.time span { font-size: 14px; }
.transfer-scheduled .time strong { font-size: 15px; }
.transfer-scheduled .time span { font-size: 13px; }
.transfer-body h2 { font-size: 15px; font-weight: 600; }
.transfer-endpoints { font-size: 15px; font-weight: 600; line-height: 1.4; }
.transfer-meta { font-size: 14px; }
.event-subtitle, .event-departure .event-subtitle,
.transfer-instruction, .route-hint, .route-overview, .guide-quick,
.guide-description p, .guide-more p, .brief-row p, .food-info p,
.ride-copy p { font-size: 15px; line-height: 1.48; }
.event-note, .booking-info, .ticket-online, .ride-copy small,
.visit-priorities, .ticket-details { font-size: 14px; line-height: 1.48; }
.ride-copy > strong { font-size: 15px; font-weight: 600; line-height: 1.4; }
.ride-copy > strong span { font-weight: 650; }
.ride-section-title, .ride-order { font-size: 12px; font-weight: 600; }
.line-sign { font-weight: 700; }
.ride-pin, .walk-map, .guide-map, .guide-more a, .guide-points a { font-size: 14px; font-weight: 600; }
.transfer-map, .brief-more summary, .route-more summary,
.guide-more summary, .transport-alternative summary,
.directions summary, .booking-details summary,
.maps-link, .ticket-link, .day-pagination button, .day-pagination a {
  font-size: 15px;
  font-weight: 600;
}
.brief-highlight span:not(.ui-icon) { font-size: 14px; font-weight: 500; }
.brief-highlight strong { font-size: 19px; font-weight: 600; }
.brief-alert { font-size: 14px; line-height: 1.4; font-weight: 600; }
.brief-row strong, .food-info strong { font-weight: 600; }
.brief-row-pending p { font-weight: 600; }
.place, .place strong { font-size: 14px; }
.place a, .snack-options a, .snack-more summary { font-weight: 600; }
@media (max-width: 600px) {
  .day-date { font-size: 11px; letter-spacing: .7px; }
  h1 { line-height: 1.2; }
  .event h2 { font-size: 18px; }
  .transfer-body h2 { font-size: 15px; }
}
