/* Standalone traffic-law page. Existing traffic guidance styles stay unchanged. */
main.tlp-page.site-magazine-page {
  --tlp-blue: #0069ee;
  --tlp-ink: #0a2f60;
  --tlp-muted: #526780;
  --tlp-line: #d6e3f2;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
  color: var(--tlp-ink);
  font: 15px/1.6 Arial, Helvetica, sans-serif;
  color-scheme: light;
}
main.tlp-page.site-magazine-page :is(.tlp-hero,.tlp-jumpnav,.tlp-content,.tlp-related) *,
main.tlp-page.site-magazine-page :is(.tlp-hero,.tlp-jumpnav,.tlp-content,.tlp-related) *::before,
main.tlp-page.site-magazine-page :is(.tlp-hero,.tlp-jumpnav,.tlp-content,.tlp-related) *::after { box-sizing: border-box; }
main.tlp-page.site-magazine-page .tlp-wrap { width: min(1280px, calc(100% - 64px)); margin-inline: auto; min-width: 0; }
main.tlp-page.site-magazine-page :is(.tlp-hero,.tlp-jumpnav,.tlp-content,.tlp-related) :is(a,summary,button):focus-visible { outline: 3px solid #e9aa30; outline-offset: 4px; }
main.tlp-page.site-magazine-page :is(.tlp-hero,.tlp-jumpnav,.tlp-content,.tlp-related) [id] { scroll-margin-top: 118px; }

main.tlp-page.site-magazine-page .tlp-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 22px 0 32px;
  background: radial-gradient(ellipse at 91% 12%, #1b6794 0, transparent 55%), linear-gradient(115deg, #062547, #0b3e6e);
  color: #fff;
}
main.tlp-page.site-magazine-page .tlp-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 350px;
  height: 350px;
  right: -80px;
  bottom: -210px;
  border: 44px solid #79b9f01a;
  border-radius: 50%;
  box-shadow: 0 0 0 34px #79b9f00a;
  pointer-events: none;
}
main.tlp-page.site-magazine-page .tlp-breadcrumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 19px; color: #d1e4f7; font-size: 12px; }
main.tlp-page.site-magazine-page .tlp-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: #e2f0ff; text-decoration: none; }
main.tlp-page.site-magazine-page .tlp-breadcrumb a:hover { color: #fff; text-decoration: underline; }
main.tlp-page.site-magazine-page .tlp-hero .tlp-kicker { margin: 0 0 6px; color: #b9deff; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
main.tlp-page.site-magazine-page .tlp-hero h1 { max-width: 1000px; margin: 0 0 12px; color: #fff; font: 800 clamp(32px, 4vw, 51px)/1.08 Arial, Helvetica, sans-serif; letter-spacing: -.04em; overflow-wrap: break-word; }
main.tlp-page.site-magazine-page .tlp-hero .tlp-lede { max-width: 880px; margin: 0 0 17px; color: #e0edfa; font-size: 17px; line-height: 1.55; }
main.tlp-page.site-magazine-page .tlp-badges { display: flex; flex-wrap: wrap; gap: 7px 18px; max-width: 1000px; margin: 15px 0 0; color: #dceaff; font-size: 12px; line-height: 1.5; }
main.tlp-page.site-magazine-page .tlp-badges span { display: inline-flex; align-items: center; gap: 7px; }
main.tlp-page.site-magazine-page .tlp-badges span::before { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: #76ddcd; }
main.tlp-page.site-magazine-page .tlp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 17px 0 0; }
main.tlp-page.site-magazine-page .tlp-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 17px; border: 1px solid #a9d2ff; border-radius: 6px; color: #fff; background: #0068ed; font-size: 14px; font-weight: 700; line-height: 1.35; text-align: center; text-decoration: none; }
main.tlp-page.site-magazine-page .tlp-actions a:hover { background: #0878ff; border-color: #e1f0ff; }
main.tlp-page.site-magazine-page .tlp-actions a + a { color: #edf5ff; background: #ffffff0b; }
main.tlp-page.site-magazine-page .tlp-actions a + a:hover { background: #ffffff1c; }
main.tlp-page.site-magazine-page .tlp-hero-icon { position: absolute; right: max(32px, calc((100vw - 1280px) / 2)); top: 58px; opacity: .14; pointer-events: none; }
main.tlp-page.site-magazine-page .tlp-hero-icon svg { width: 132px; height: 132px; color: #d5eaff; }

main.tlp-page.site-magazine-page .tlp-jumpnav { display: flex; flex-wrap: wrap; gap: 3px 20px; padding: 8px 14px; background: #f1f7ff; border: 1px solid var(--tlp-line); border-top: 0; border-radius: 0 0 10px 10px; }
main.tlp-page.site-magazine-page .tlp-jumpnav a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 0; max-width: 100%; padding: 7px 0; color: #0759bc; font-size: 13px; font-weight: 600; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
main.tlp-page.site-magazine-page .tlp-jumpnav a > span { display: inline-grid; place-items: center; flex: 0 0 26px; height: 26px; border-radius: 7px; color: #005bc5; background: #e1edfc; font-size: 11px; font-weight: 700; }
main.tlp-page.site-magazine-page .tlp-jumpnav a:hover { color: #003e8b; text-decoration: underline; text-underline-offset: 4px; }
main.tlp-page.site-magazine-page .tlp-content { padding-block: 20px 24px; }
main.tlp-page.site-magazine-page .tlp-content > .tl-section { width: 100%; margin: 0; padding: 24px; border-radius: 12px; font-family: Arial, Helvetica, sans-serif; }
main.tlp-page.site-magazine-page .tlp-content .tl-heading { max-width: 1000px; }
main.tlp-page.site-magazine-page .tlp-content .tl-section h2 { font-family: Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
main.tlp-page.site-magazine-page .tlp-content .tl-grid { gap: 12px; }
main.tlp-page.site-magazine-page .tlp-content :is(.tl-topic,.tl-sources) { scroll-margin-top: 118px; }
main.tlp-page.site-magazine-page .tlp-content :is(.tl-phones a,.tl-links a,.tl-footer a,.tl-sources > summary) { min-height: 44px; }
main.tlp-page.site-magazine-page .tlp-content .tl-footer a { align-items: center; padding-block: 5px; }
main.tlp-page.site-magazine-page .tlp-content .tl-cite a { text-decoration: underline; text-decoration-color: #a5c6ed; }
main.tlp-page.site-magazine-page .tlp-related { border: 1px solid var(--tlp-line); border-radius: 12px; background: #f4f9ff; padding: 22px 24px 26px; margin-bottom: 28px; }
main.tlp-page.site-magazine-page .tlp-related h2 { margin: 0 0 12px; color: var(--tlp-ink); font: 700 21px/1.25 Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
main.tlp-page.site-magazine-page .tlp-related p { margin: 0 0 12px; max-width: 900px; color: var(--tlp-muted); font-size: 14px; }
main.tlp-page.site-magazine-page .tlp-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
main.tlp-page.site-magazine-page .tlp-related-grid > a { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 8px; min-width: 0; min-height: 44px; padding: 17px; border: 1px solid #b8d3f5; border-radius: 8px; color: #005ac4; background: #fff; font-size: 14px; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
main.tlp-page.site-magazine-page .tlp-related-grid > a > strong { font-size: 15px; line-height: 1.35; }
main.tlp-page.site-magazine-page .tlp-related-grid > a > span { color: var(--tlp-muted); font-weight: 400; }
main.tlp-page.site-magazine-page .tlp-related a:hover { background: #eaf3ff; border-color: #78afe9; }

@media (max-width: 900px) {
  main.tlp-page.site-magazine-page .tlp-wrap { width: calc(100% - 40px); }
  main.tlp-page.site-magazine-page .tlp-hero-icon { display: none; }
  main.tlp-page.site-magazine-page .tlp-jumpnav { gap: 1px 17px; }
}
@media (max-width: 650px) {
  main.tlp-page.site-magazine-page .tlp-wrap { width: calc(100% - 28px); }
  main.tlp-page.site-magazine-page .tlp-hero { padding: 17px 0 25px; }
  main.tlp-page.site-magazine-page .tlp-breadcrumb { margin-bottom: 15px; }
  main.tlp-page.site-magazine-page .tlp-hero h1 { font-size: clamp(30px, 8vw, 38px); }
  main.tlp-page.site-magazine-page .tlp-hero .tlp-lede { font-size: 16px; }
  main.tlp-page.site-magazine-page .tlp-badges { gap: 6px 15px; font-size: 11px; }
  main.tlp-page.site-magazine-page .tlp-actions { gap: 8px; }
  main.tlp-page.site-magazine-page .tlp-actions a { flex: 1 1 220px; padding-inline: 13px; }
  main.tlp-page.site-magazine-page .tlp-jumpnav { gap: 2px 14px; padding-inline: 10px; }
  main.tlp-page.site-magazine-page .tlp-jumpnav a { font-size: 12px; }
  main.tlp-page.site-magazine-page .tlp-content { padding-block: 14px 18px; }
  main.tlp-page.site-magazine-page .tlp-content > .tl-section { padding: 16px 12px; border-radius: 10px; }
  main.tlp-page.site-magazine-page .tlp-content .tl-grid { gap: 10px; }
  main.tlp-page.site-magazine-page .tlp-related { padding: 18px 14px 21px; margin-bottom: 20px; }
  main.tlp-page.site-magazine-page .tlp-related-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  main.tlp-page.site-magazine-page .tlp-related-grid > a { padding: 14px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  main.tlp-page.site-magazine-page :is(.tlp-hero,.tlp-jumpnav,.tlp-content,.tlp-related) * { scroll-behavior: auto !important; transition: none !important; }
}
@media print {
  main.tlp-page.site-magazine-page { font-size: 11pt; background: #fff; }
  main.tlp-page.site-magazine-page .tlp-wrap { width: 100%; max-width: none; }
  main.tlp-page.site-magazine-page :is(.tlp-jumpnav,.tlp-actions,.tlp-related,.tlp-breadcrumb,.tlp-hero-icon,.tlp-hero::after) { display: none !important; }
  main.tlp-page.site-magazine-page .tlp-hero { padding: 0 0 12px; background: #fff; color: #000; overflow: visible; }
  main.tlp-page.site-magazine-page .tlp-hero :is(h1,.tlp-lede,.tlp-kicker,.tlp-badges) { color: #000; }
  main.tlp-page.site-magazine-page .tlp-hero h1 { font-size: 25pt; }
  main.tlp-page.site-magazine-page .tlp-hero .tlp-lede { font-size: 11pt; }
  main.tlp-page.site-magazine-page .tlp-badges span::before { background: #555; }
  main.tlp-page.site-magazine-page .tlp-content { padding: 0; }
  main.tlp-page.site-magazine-page .tlp-content > .tl-section { padding: 12px; border-radius: 0; }
  main.tlp-page.site-magazine-page .tlp-content :is(.tl-topic,.tl-sources) { overflow: visible; break-inside: auto; }
  main.tlp-page.site-magazine-page .tlp-content :is(.tl-phones a,.tl-links a,.tl-footer a,.tl-sources > summary) { min-height: 0; }
}
