{"id":1684,"date":"2026-06-11T17:27:53","date_gmt":"2026-06-11T17:27:53","guid":{"rendered":"https:\/\/severeinjurylawyers.com\/?page_id=1684"},"modified":"2026-07-17T15:05:41","modified_gmt":"2026-07-17T15:05:41","slug":"los-cruces-mas-peligrosos-de-texas","status":"publish","type":"page","link":"https:\/\/severeinjurylawyers.com\/es\/tools\/most-dangerous-intersections-in-texas\/","title":{"rendered":"Las 50 intersecciones m\u00e1s peligrosas de Texas"},"content":{"rendered":"\n<!-- J. Alexander Law :: Texas Dangerous Intersections Map :: paste as ONE Gutenberg Custom HTML block -->\n<script type=\"application\/ld+json\" data-no-optimize=\"1\" nowprocket>\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": [\n        \"WebPage\"\n      ],\n      \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#webpage\",\n      \"url\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/\",\n      \"name\": \"The 50 Most Dangerous Intersections in Texas (2025 Map)\",\n      \"inLanguage\": \"en-US\",\n      \"publisher\": {\n        \"@id\": \"https:\/\/severeinjurylawyers.com\/#organization\"\n      },\n      \"description\": \"Interactive map of the 50 most dangerous intersections in Texas, ranked by 2025 TxDOT crash data. See the worst spots in Dallas, Houston, and San Antonio.\",\n      \"mainEntity\": {\n        \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#webapp\"\n      }\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#breadcrumb\",\n      \"itemListElement\": [\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 1,\n          \"name\": \"Home\",\n          \"item\": \"https:\/\/severeinjurylawyers.com\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 2,\n          \"name\": \"Most Dangerous Intersections in Texas\",\n          \"item\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"WebApplication\",\n      \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#webapp\",\n      \"name\": \"Most Dangerous Intersections in Texas Map\",\n      \"url\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/\",\n      \"inLanguage\": \"en-US\",\n      \"applicationCategory\": \"LegalService\",\n      \"operatingSystem\": \"Web\",\n      \"offers\": {\n        \"@type\": \"Offer\",\n        \"price\": \"0\",\n        \"priceCurrency\": \"USD\"\n      },\n      \"provider\": {\n        \"@id\": \"https:\/\/severeinjurylawyers.com\/#organization\"\n      },\n      \"description\": \"Interactive map of the 50 most dangerous intersections in Texas, ranked by 2025 TxDOT crash data. See the worst spots in Dallas, Houston, and San Antonio.\"\n    },\n    {\n      \"@type\": [\n        \"LegalService\",\n        \"Attorney\"\n      ],\n      \"@id\": \"https:\/\/severeinjurylawyers.com\/#organization\",\n      \"name\": \"J. Alexander Law Firm\",\n      \"alternateName\": \"Severe Injury Lawyers\",\n      \"url\": \"https:\/\/severeinjurylawyers.com\/\",\n      \"telephone\": \"+14698077480\",\n      \"address\": {\n        \"@type\": \"PostalAddress\",\n        \"streetAddress\": \"12801 N Central Expy, Suite 1100\",\n        \"addressLocality\": \"Dallas\",\n        \"addressRegion\": \"TX\",\n        \"postalCode\": \"75243\",\n        \"addressCountry\": \"US\"\n      },\n      \"geo\": {\n        \"@type\": \"GeoCoordinates\",\n        \"latitude\": 32.9217124,\n        \"longitude\": -96.7665099\n      },\n      \"hasMap\": \"https:\/\/www.google.com\/maps\/place\/J.+Alexander+Law+Firm\/@32.9217124,-96.7665099,17z\/data=!3m1!4b1!4m6!3m5!1s0x864c21b0c6eda625:0x13afdc7aa552836a!8m2!3d32.9217124!4d-96.7665099!16s%2Fg%2F11h1vb11br?entry=ttu&g_ep=EgoyMDI2MDYyOS4wIKXMDSoASAFQAw%3D%3D\",\n      \"areaServed\": {\n        \"@type\": \"AdministrativeArea\",\n        \"name\": \"Dallas County\"\n      },\n      \"openingHoursSpecification\": {\n        \"@type\": \"OpeningHoursSpecification\",\n        \"dayOfWeek\": [\n          \"Monday\",\n          \"Tuesday\",\n          \"Wednesday\",\n          \"Thursday\",\n          \"Friday\",\n          \"Saturday\",\n          \"Sunday\"\n        ],\n        \"opens\": \"00:00\",\n        \"closes\": \"23:59\"\n      }\n    },\n    {\n      \"@type\": \"Dataset\",\n      \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#dataset\",\n      \"name\": \"The 50 Most Dangerous Intersections in Texas (2025)\",\n      \"description\": \"Ranking of the 50 Texas intersections with the most reported crashes in 2025, compiled from TxDOT Crash Records Information System (CRIS) public extract data.\",\n      \"url\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/\",\n      \"temporalCoverage\": \"2025-01-01\/2025-12-31\",\n      \"spatialCoverage\": {\n        \"@type\": \"Place\",\n        \"name\": \"Texas, United States\"\n      },\n      \"creator\": {\n        \"@type\": \"LegalService\",\n        \"name\": \"J. Alexander Law Firm\",\n        \"url\": \"https:\/\/severeinjurylawyers.com\/\"\n      },\n      \"isBasedOn\": {\n        \"@type\": \"Dataset\",\n        \"name\": \"TxDOT Crash Records Information System (CRIS) Public Extract, 2025\",\n        \"creator\": {\n          \"@type\": \"GovernmentOrganization\",\n          \"name\": \"Texas Department of Transportation\"\n        },\n        \"url\": \"https:\/\/cris.txdot.gov\/\"\n      }\n    },\n    {\n      \"@type\": \"ItemList\",\n      \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#itemlist\",\n      \"name\": \"Most dangerous intersections in Texas, 2025\",\n      \"numberOfItems\": 50,\n      \"itemListElement\": [\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 1,\n          \"name\": \"General Bruce Dr & H K Dodgen Loop (South), Temple, Texas\",\n          \"description\": \"77 crashes, 39 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 2,\n          \"name\": \"Central Expressway & University Dr (US-380), McKinney, Texas\",\n          \"description\": \"58 crashes, 45 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 3,\n          \"name\": \"AW Grimes Blvd & Louis Henna Blvd, Round Rock, Texas\",\n          \"description\": \"53 crashes, 26 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 4,\n          \"name\": \"Eastex Fwy & Lucas Dr, Beaumont, Texas\",\n          \"description\": \"49 crashes, 14 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 5,\n          \"name\": \"Morris Ave & S TX-288, Manvel, Texas\",\n          \"description\": \"46 crashes, 5 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 6,\n          \"name\": \"Padre Island Dr & Staples St, Corpus Christi, Texas\",\n          \"description\": \"46 crashes, 9 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 7,\n          \"name\": \"Bissonnet St & West Sam Houston Pkwy S, Houston, Texas\",\n          \"description\": \"44 crashes, 29 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 8,\n          \"name\": \"Crossview Dr & Richmond Ave, Houston, Texas\",\n          \"description\": \"43 crashes, 20 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 9,\n          \"name\": \"Coit Rd & Spring Creek Pkwy, Plano, Texas\",\n          \"description\": \"43 crashes, 39 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 10,\n          \"name\": \"Desert Blvd & Mesa St, El Paso, Texas\",\n          \"description\": \"42 crashes, 21 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 11,\n          \"name\": \"Artcraft Rd & Desert Blvd, El Paso, Texas\",\n          \"description\": \"41 crashes, 13 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 12,\n          \"name\": \"Jack Kultgen Expy & Valley Mills Dr, Waco, Texas\",\n          \"description\": \"41 crashes, 36 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 13,\n          \"name\": \"Fondren Rd & Westpark Dr, Houston, Texas\",\n          \"description\": \"38 crashes, 18 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 14,\n          \"name\": \"Lookout Rd & Toepperwein Rd, Live Oak, Texas\",\n          \"description\": \"37 crashes, 12 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 15,\n          \"name\": \"Edgemere Blvd & Rich Beem Blvd, El Paso, Texas\",\n          \"description\": \"36 crashes, 4 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 16,\n          \"name\": \"Cane Island Rd & Parkside Dr, Katy, Texas\",\n          \"description\": \"36 crashes, 0 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 17,\n          \"name\": \"Dallas Pkwy & Frankford Rd, Dallas, Texas\",\n          \"description\": \"35 crashes, 37 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 18,\n          \"name\": \"18th St & Jack Kultgen Expy, Waco, Texas\",\n          \"description\": \"35 crashes, 39 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 19,\n          \"name\": \"Bissonnet St & Sam Houston Pkwy, Houston, Texas\",\n          \"description\": \"34 crashes, 32 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 20,\n          \"name\": \"Hardy Rd & North Sam Houston Pkwy E, Houston, Texas\",\n          \"description\": \"34 crashes, 18 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 21,\n          \"name\": \"South Sam Houston Pkwy E & Telephone Rd, Houston, Texas\",\n          \"description\": \"33 crashes, 25 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 22,\n          \"name\": \"Bandera Rd & Wurzbach Rd, Leon Valley, Texas\",\n          \"description\": \"33 crashes, 22 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 23,\n          \"name\": \"Shepherd Dr & Victory Dr, Houston, Texas\",\n          \"description\": \"33 crashes, 27 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 24,\n          \"name\": \"IH-35 South Frontage & Louis Henna Blvd, Round Rock, Texas\",\n          \"description\": \"32 crashes, 12 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 25,\n          \"name\": \"Loop 289 & Slide Rd, Lubbock, Texas\",\n          \"description\": \"32 crashes, 29 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 26,\n          \"name\": \"Loop 289 & University Ave, Lubbock, Texas\",\n          \"description\": \"31 crashes, 26 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 27,\n          \"name\": \"Macgregor Way & South Fwy, Houston, Texas\",\n          \"description\": \"31 crashes, 12 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 28,\n          \"name\": \"Old Denton Rd & Trinity Mills Rd, Carrollton, Texas\",\n          \"description\": \"30 crashes, 11 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 29,\n          \"name\": \"Fannin St & Pease St, Houston, Texas\",\n          \"description\": \"30 crashes, 20 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 30,\n          \"name\": \"Loop 289 & Quaker Ave, Lubbock, Texas\",\n          \"description\": \"30 crashes, 29 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 31,\n          \"name\": \"College St & IH-10, Beaumont, Texas\",\n          \"description\": \"30 crashes, 13 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 32,\n          \"name\": \"Culebra Rd & Zarzamora St, San Antonio, Texas\",\n          \"description\": \"30 crashes, 15 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 33,\n          \"name\": \"IH-45 E Frontage & NASA Pkwy, Webster, Texas\",\n          \"description\": \"30 crashes, 13 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 34,\n          \"name\": \"Greens Rd & John F Kennedy Blvd, Houston, Texas\",\n          \"description\": \"29 crashes, 12 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 35,\n          \"name\": \"Market Center Blvd & Stemmons Fwy, Dallas, Texas\",\n          \"description\": \"29 crashes, 21 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 36,\n          \"name\": \"Danville Dr & Southwest Dr, Abilene, Texas\",\n          \"description\": \"29 crashes, 18 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 37,\n          \"name\": \"Greenlawn Blvd & Louis Henna Blvd, Round Rock, Texas\",\n          \"description\": \"29 crashes, 12 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 38,\n          \"name\": \"Loop 289 & Marsha Sharp Fwy, Lubbock, Texas\",\n          \"description\": \"28 crashes, 28 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 39,\n          \"name\": \"Dallas Pkwy & Legacy Dr, Plano, Texas\",\n          \"description\": \"28 crashes, 16 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 40,\n          \"name\": \"Brooklyn Ave & Euclid Ave, San Antonio, Texas\",\n          \"description\": \"28 crashes, 12 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 41,\n          \"name\": \"Broadway St & South Fwy, Pearland, Texas\",\n          \"description\": \"28 crashes, 10 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 42,\n          \"name\": \"Hunt Ln & Potranco Rd, San Antonio, Texas\",\n          \"description\": \"27 crashes, 13 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 43,\n          \"name\": \"Frank Ave & John Redditt Dr, Lufkin, Texas\",\n          \"description\": \"27 crashes, 9 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 44,\n          \"name\": \"Hillcrest Rd & Lyndon B Johnson Fwy, Dallas, Texas\",\n          \"description\": \"27 crashes, 16 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 45,\n          \"name\": \"Padre Island Dr & Rodd Field Rd, Corpus Christi, Texas\",\n          \"description\": \"27 crashes, 2 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 46,\n          \"name\": \"Main St & Post Oak Rd, Houston, Texas\",\n          \"description\": \"27 crashes, 15 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 47,\n          \"name\": \"Clear Creek Rd & Stan Schlueter Loop, Killeen, Texas\",\n          \"description\": \"27 crashes, 19 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 48,\n          \"name\": \"Colonel Bill Card Jr & Harrison Ave, Harlingen, Texas\",\n          \"description\": \"26 crashes, 18 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 49,\n          \"name\": \"Chartres St & Congress St, Houston, Texas\",\n          \"description\": \"26 crashes, 6 injuries reported in 2025\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 50,\n          \"name\": \"US-77 & Wilson Rd, Harlingen, Texas\",\n          \"description\": \"26 crashes, 15 injuries reported in 2025\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#faq\",\n      \"isPartOf\": {\n        \"@id\": \"https:\/\/severeinjurylawyers.com\/most-dangerous-intersections-in-texas\/#webpage\"\n      },\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"I was hurt at one of these intersections. What should I do?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Get medical care first, then get the police crash report and photos of the scene before you talk to any insurance adjuster. The crash count on this map only shows how often a location floods with wrecks; it does not establish fault in your case, so hold onto the evidence that does.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"How were these intersections ranked?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"By the total number of reported crashes TxDOT recorded there in 2025, drawn from the Crash Records Information System (CRIS) public extract. The higher the crash count, the higher the rank; ties are broken the same way.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Does a dangerous intersection mean the city or TxDOT is liable?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Not automatically. A high crash count can support a claim that a road or signal design was unsafe, but a claim against a governmental entity carries its own rules and notice deadlines, separate from a claim against another driver. Most crashes at these intersections still come down to which driver broke a traffic rule.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"How long do I have to file a claim in Texas?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"In most cases, two years from the date of the crash, under Tex. Civ. Prac. & Rem. Code \u00a7 16.003. Waiting can cost you the right to recover at all, so talk to a lawyer well before that date.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n\n<style data-no-optimize=\"1\" data-no-minify=\"1\">\n@import url(\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@600;700;800&family=Source+Sans+3:wght@400;600&family=Playfair+Display:ital,wght@1,400;1,500&family=JetBrains+Mono:wght@500;600;700&display=swap\");\n.jalex-txmap{\n  --bg:#000000;\n  --bg-2:#0c0c0c;\n  --panel:#141414;\n  --secondary:#212121;\n  --rule:#232323;\n  --rule-2:#2c2c2c;\n  --text:#ffffff;\n  --text-2:#cfd2d6;\n  --muted:#8a8f96;\n  --gold:#F3B937;\n  --gold-deep:#d99e1c;\n  --heading:\"Montserrat\",system-ui,sans-serif;\n  --body:\"Source Sans 3\",system-ui,sans-serif;\n  --serif:\"Playfair Display\",Georgia,serif;\n  --mono:\"JetBrains Mono\",ui-monospace,monospace;\n  --radius:3px;\n}.jalex-txmap *{margin:0;padding:0;box-sizing:border-box}.jalex-txmap{\n  background:\n    linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)),\n    radial-gradient(120% 60% at 50% 0%, rgba(243,185,55,.06), transparent 55%),\n    url(\"https:\/\/severeinjurylawyers.com\/wp-content\/uploads\/2026\/06\/car-accident-j-alex-texas-pi-scaled.webp\") center top \/ cover no-repeat;\n  background-attachment:fixed,fixed,fixed;\n  background-color:var(--bg);color:var(--text);\n  font-family:var(--body);font-size:16px;line-height:1.55;\n  -webkit-font-smoothing:antialiased;overflow-x:clip;\n}.jalex-txmap .wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px)}.jalex-txmap ::selection{background:var(--gold);color:#000}.jalex-txmap \/* ---------- header ---------- *\/\nheader{padding:clamp(56px,7vw,96px) 0 10px}.jalex-txmap .eyebrow{\n  font-family:var(--mono);font-size:11px;font-weight:500;\n  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);\n  display:inline-flex;align-items:center;gap:12px;\n}.jalex-txmap .eyebrow .num{color:var(--muted)}.jalex-txmap h1{\n  font-family:var(--heading);font-weight:700;letter-spacing:-.03em;\n  font-size:clamp(32px,4.2vw,56px);line-height:1.04;margin:20px 0 16px;max-width:880px;\n}.jalex-txmap h1 .it{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.02em;color:var(--gold)}.jalex-txmap .sub{color:var(--text-2);max-width:560px;font-size:17px;line-height:1.65}.jalex-txmap .stats{display:flex;margin-top:36px;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}.jalex-txmap .stat{flex:1;padding:18px 22px;border-right:1px solid var(--rule)}.jalex-txmap .stat:last-child{border-right:0}.jalex-txmap .stat b{\n  font-family:var(--heading);font-weight:800;font-size:clamp(20px,2.4vw,30px);\n  color:var(--gold);display:block;letter-spacing:-.01em;font-variant-numeric:tabular-nums;\n}.jalex-txmap .stat span{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}.jalex-txmap \/* ---------- layout ---------- *\/\n.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:30px;padding:26px 0 10px;align-items:start}.jalex-txmap \/* ---------- map ---------- *\/\n.mapbox{\n  position:relative;border:1px solid var(--rule);border-radius:var(--radius);\n  background:\n    radial-gradient(85% 70% at 50% 12%, rgba(243,185,55,.07), transparent 60%),\n    var(--bg-2);\n  overflow:hidden;\n  perspective:1300px;\n}.jalex-txmap .tilt{transform-style:preserve-3d;will-change:transform;transition:transform .12s linear}.jalex-txmap svg{width:100%;height:auto;display:block;cursor:crosshair}.jalex-txmap #zoomG{will-change:transform}.jalex-txmap .state-fill{fill:#101010}.jalex-txmap .terrain path{opacity:.4}.jalex-txmap .river{fill:none;stroke:#2c3940;stroke-width:2;stroke-linecap:round;opacity:.5;vector-effect:non-scaling-stroke}.jalex-txmap \/* glowing road network (layered strokes,.jalex-txmap no filters = cheap repaints) *\/\n.net path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.jalex-txmap .r-glow1{stroke:var(--gold);stroke-width:13;opacity:.07}.jalex-txmap .r-glow2{stroke:var(--gold);stroke-width:5;opacity:.2}.jalex-txmap .r-core{stroke:#fadc8e;stroke-width:1.3;opacity:.9}.jalex-txmap .r-pulse{stroke:#fff3cf;stroke-width:1.8;opacity:.9;stroke-dasharray:16 340;animation:flow linear infinite}@keyframes flow{from{stroke-dashoffset:356}to{stroke-dashoffset:0}}.jalex-txmap .blocks rect{fill:var(--gold)}.jalex-txmap .outline{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linejoin:round;opacity:.85;vector-effect:non-scaling-stroke}.jalex-txmap .outline-glow{fill:none;stroke:var(--gold);stroke-width:5;opacity:.07;vector-effect:non-scaling-stroke}.jalex-txmap .draw{stroke-dasharray:6400;stroke-dashoffset:6400}.jalex-txmap.animate .draw{animation:draw 2.6s cubic-bezier(.65,0,.2,1) .2s forwards}@keyframes draw{to{stroke-dashoffset:0}}.jalex-txmap .river.draw{stroke-dasharray:1800;stroke-dashoffset:1800}.jalex-txmap.animate .river.draw{animation:draw 2.6s ease .7s forwards}.jalex-txmap .fade{opacity:0}.jalex-txmap.animate .fade{animation:fadein 1.4s ease .35s forwards}@keyframes fadein{to{opacity:1}}.jalex-txmap \/* hero pin *\/\n.hero-pin{opacity:0;transform-origin:center;transform-box:fill-box}.jalex-txmap.animate .hero-pin{animation:pop .7s cubic-bezier(.34,1.56,.64,1) 2s forwards}@keyframes pop{0%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}.jalex-txmap .hero-pin .disc{fill:var(--gold);stroke:#000;stroke-width:1.5}.jalex-txmap .hero-pin text{fill:#000;font-family:var(--heading);font-weight:700}.jalex-txmap .hero-pin .glyph{stroke:#000;stroke-width:1.2;fill:none}.jalex-txmap \/* pins *\/\n.pin{cursor:pointer}.jalex-txmap .pin .core{fill:var(--gold);stroke:#000;stroke-width:1.2;transition:fill .2s ease,stroke .2s ease}.jalex-txmap .pin:hover .core,.jalex-txmap .pin.sel .core{fill:#000;stroke:var(--gold);stroke-width:1.8}.jalex-txmap .pin.dim{opacity:.1;pointer-events:none}.jalex-txmap.animate .pin{transform-origin:center;transform-box:fill-box;animation:pop2 .55s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes pop2{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}.jalex-txmap \/* HUD overlays *\/\n.hud{position:absolute;z-index:6;font-family:var(--mono);pointer-events:none}.jalex-txmap .hud-logo{top:18px;left:20px;font-size:10.5px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--text)}.jalex-txmap .hud-logo span{color:var(--gold)}.jalex-txmap .hud-regions{left:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:11px;pointer-events:auto}.jalex-txmap .hud-regions .chip{\n  display:flex;align-items:center;gap:9px;background:none;border:0;cursor:pointer;\n  font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.26em;\n  text-transform:uppercase;color:var(--muted);text-align:left;padding:0;\n  transition:color .25s ease;\n}.jalex-txmap .hud-regions .chip::before{\n  content:\"\";width:5px;height:5px;background:var(--gold);\n  opacity:0;transform:scale(.4);transition:all .25s ease;flex:none;\n}.jalex-txmap .hud-regions .chip:hover{color:var(--text-2)}.jalex-txmap .hud-regions .chip.on{color:var(--text)}.jalex-txmap .hud-regions .chip.on::before{opacity:1;transform:scale(1)}.jalex-txmap .hud-regions .chip:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.jalex-txmap .hud-zoom{bottom:18px;left:20px;font-size:9.5px;font-weight:600;letter-spacing:.22em;color:var(--muted)}.jalex-txmap .hud-zoom .zl{color:var(--text-2)}.jalex-txmap .hud-zoom .bar{height:2px;background:var(--gold);margin-top:7px;box-shadow:0 0 6px rgba(243,185,55,.6);transition:none}.jalex-txmap .hud-compass{bottom:14px;right:16px;width:92px;height:92px;color:var(--muted)}.jalex-txmap .hud-compass text{font-family:var(--mono);font-weight:600;fill:var(--muted)}.jalex-txmap .hud-compass .deg{fill:var(--text-2)}.jalex-txmap .hud-compass .needle{transition:none}.jalex-txmap \/* region cluster markers (Hubtown style) *\/\n.cluster{cursor:pointer;pointer-events:auto}.jalex-txmap .cluster .diamond{fill:none;stroke:var(--text);stroke-width:1;opacity:.9;vector-effect:non-scaling-stroke}.jalex-txmap .cluster .dot{fill:var(--text)}.jalex-txmap .cluster .tag-bg{fill:#0c0c0c;stroke:var(--rule-2);stroke-width:.8}.jalex-txmap .cluster .tag{fill:var(--gold);font-family:var(--mono);font-weight:600;letter-spacing:.16em;text-anchor:middle}.jalex-txmap .cluster .cname{fill:var(--text);font-family:var(--heading);font-weight:700;letter-spacing:.18em;text-anchor:middle}.jalex-txmap .cluster:hover .diamond{stroke:var(--gold)}.jalex-txmap .cluster:hover .cname{fill:var(--gold)}.jalex-txmap .cluster{opacity:0}.jalex-txmap.animate .cluster{animation:fadein 1s ease forwards}.jalex-txmap \/* legacy badge block (unused) *\/\n.badge{pointer-events:none;opacity:0}.jalex-txmap.animate .badge{animation:fadein 1s ease forwards}.jalex-txmap #badges{transition:opacity .3s ease}.jalex-txmap .badge .b-circle{fill:var(--gold);stroke:#000;stroke-width:1.4}.jalex-txmap .badge .b-num{fill:#000;font-family:var(--heading);font-weight:800;text-anchor:middle}.jalex-txmap .badge .b-label{fill:var(--gold);font-family:var(--mono);font-weight:600;letter-spacing:.18em;text-transform:uppercase}.jalex-txmap .badge .b-name{fill:var(--text);font-family:var(--serif);font-style:italic;font-weight:500}.jalex-txmap .badge .leader{stroke:var(--muted);stroke-width:.9;fill:none;opacity:.55;vector-effect:non-scaling-stroke}.jalex-txmap \/* route *\/\n#route{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-dasharray:5 5;opacity:0;transition:opacity .3s ease;vector-effect:non-scaling-stroke}.jalex-txmap #route.show{opacity:.85;animation:trace .9s cubic-bezier(.5,0,.2,1) forwards}@keyframes trace{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}.jalex-txmap \/* vignette *\/\n.vig{pointer-events:none}.jalex-txmap \/* tooltip *\/\n.tip{\n  position:fixed;z-index:50;pointer-events:none;width:262px;\n  background:var(--panel);border:1px solid var(--rule-2);border-radius:var(--radius);\n  padding:16px 18px;opacity:0;transform:translateY(8px);\n  transition:opacity .2s ease,transform .2s ease;\n  box-shadow:0 20px 50px rgba(0,0,0,.7);\n}.jalex-txmap .tip.show{opacity:1;transform:translateY(0)}.jalex-txmap .tip .rk{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;font-weight:600}.jalex-txmap .tip h3{font-family:var(--heading);font-weight:700;font-size:15.5px;line-height:1.25;margin:7px 0 2px;letter-spacing:-.01em}.jalex-txmap .tip .city{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:14px;margin-bottom:12px}.jalex-txmap .tip .nums{display:flex;gap:20px;border-top:1px solid var(--rule);padding-top:11px}.jalex-txmap .tip .nums b{font-family:var(--heading);font-weight:800;font-size:21px;color:var(--gold);display:block;line-height:1}.jalex-txmap .tip .nums span{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.jalex-txmap \/* detail strip *\/\n.detail{\n  display:flex;align-items:center;gap:22px;flex-wrap:wrap;\n  border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-2);\n  margin-top:14px;padding:16px 20px;min-height:72px;\n  opacity:0;transition:opacity .35s ease;\n}.jalex-txmap .detail.show{opacity:1}.jalex-txmap .detail .d-rank{\n  width:46px;height:46px;border-radius:50%;background:var(--gold);\n  display:flex;align-items:center;justify-content:center;flex:none;\n  font-family:var(--heading);font-weight:800;font-size:15px;color:#000;\n}.jalex-txmap .detail .d-name{font-family:var(--heading);font-weight:700;font-size:17px;line-height:1.2;letter-spacing:-.01em}.jalex-txmap .detail .d-city{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:14px}.jalex-txmap .detail .d-stat b{font-family:var(--heading);font-weight:800;font-size:20px;color:var(--gold);display:block;line-height:1}.jalex-txmap .detail .d-stat span{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.jalex-txmap .detail .d-note{font-size:13px;color:var(--text-2);max-width:340px;line-height:1.5}.jalex-txmap \/* ---------- list ---------- *\/\n.list{border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-2);display:flex;flex-direction:column;max-height:712px}.jalex-txmap .list-h{\n  padding:14px 18px;border-bottom:1px solid var(--rule);\n  font-family:var(--mono);font-size:10px;font-weight:600;\n  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);\n  display:flex;justify-content:space-between;\n}.jalex-txmap .rows{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent}.jalex-txmap .row{\n  display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;\n  padding:12px 18px;border-bottom:1px solid var(--rule);cursor:pointer;\n  transition:background .2s ease;\n}.jalex-txmap .row:hover{background:var(--panel)}.jalex-txmap .row.sel{background:var(--panel);box-shadow:inset 2px 0 0 var(--gold)}.jalex-txmap .row.hide{display:none}.jalex-txmap .row .num{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--gold)}.jalex-txmap .row .nm{font-weight:600;font-size:14px;line-height:1.3;color:var(--text)}.jalex-txmap .row .ct{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:13px}.jalex-txmap .row .cr{font-family:var(--heading);font-weight:800;font-size:16px;text-align:right;color:var(--text)}.jalex-txmap .row .cr span{display:block;font-family:var(--mono);font-weight:500;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.jalex-txmap \/* ---------- embed + footer ---------- *\/\n.embed{border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-2);padding:30px;margin:26px 0}.jalex-txmap .embed h2{font-family:var(--heading);font-weight:700;font-size:22px;letter-spacing:-.02em;margin-bottom:6px}.jalex-txmap .embed h2 .it{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold)}.jalex-txmap .embed p{color:var(--text-2);font-size:14.5px;max-width:560px}.jalex-txmap .embed-row{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.jalex-txmap .embed textarea{\n  flex:1;min-width:260px;background:var(--panel);color:var(--text-2);\n  border:1px solid var(--rule-2);border-radius:var(--radius);\n  font:11.5px\/1.55 var(--mono);padding:14px;resize:none;height:92px;\n}.jalex-txmap .btn{\n  font-family:var(--heading);font-weight:700;font-size:13px;letter-spacing:.02em;\n  background:var(--gold);color:#000;border:0;border-radius:var(--radius);\n  padding:0 24px;cursor:pointer;height:48px;align-self:center;\n  box-shadow:0 8px 24px -8px rgba(243,185,55,.5);\n  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;\n}.jalex-txmap .btn:hover{background:var(--gold-deep);transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(243,185,55,.65)}.jalex-txmap .btn:focus-visible{outline:2px solid var(--text);outline-offset:3px}.jalex-txmap footer{border-top:1px solid var(--rule);padding:26px 0 44px;font-size:13px;color:var(--muted)}.jalex-txmap footer a{color:var(--gold);text-decoration:none;font-weight:600}.jalex-txmap footer a:hover{color:var(--gold-deep)}.jalex-txmap .cta{margin-top:10px;color:var(--text-2)}.jalex-txmap .disc{margin-top:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.03em}@media (max-width:900px){.jalex-txmap{background-attachment:scroll,scroll,scroll}.jalex-txmap .grid{grid-template-columns:1fr}.jalex-txmap .list{max-height:400px}.jalex-txmap .stats{flex-wrap:wrap}.jalex-txmap .stat{flex:1 1 40%;border-bottom:1px solid var(--rule)}.jalex-txmap .tip{display:none}\n}@media (prefers-reduced-motion:reduce){.jalex-txmap *,.jalex-txmap *::before,.jalex-txmap *::after{animation-duration:.01ms !important;transition-duration:.01ms !important}.jalex-txmap .draw{stroke-dashoffset:0}.jalex-txmap .fade,.jalex-txmap .pin,.jalex-txmap .hero-pin,.jalex-txmap .badge,.jalex-txmap .cluster{opacity:1}.jalex-txmap #route.show{stroke-dashoffset:0}.jalex-txmap .tilt{transform:none !important}\n}\n.jalex-txmap header h1,.jalex-txmap header .sub,.jalex-txmap header .eyebrow{text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.5)}\n\/* ---- theme-proof overrides (WP embed) ---- *\/\n.jalex-txmap h1,.jalex-txmap h2,.jalex-txmap h3{color:#fff !important}\n.jalex-txmap h1{font-family:\"Montserrat\",system-ui,sans-serif !important;font-weight:700 !important}\n.jalex-txmap h1 .it,.jalex-txmap .accent,.jalex-txmap h2 .it{color:#F3B937 !important;font-family:\"Playfair Display\",Georgia,serif !important;font-style:italic !important;font-weight:500 !important}\n.jalex-txmap .sub{color:#cfd2d6 !important}\n.jalex-txmap .eyebrow{color:#F3B937 !important}\n.jalex-txmap p{margin:0}\n.jalex-txmap a{text-decoration:none}\n<\/style>\n<div class=\"jalex-txmap\">\n<div class=\"wrap\">\n<header>\n  <span class=\"eyebrow\"><span class=\"num\">TX<\/span>TxDOT crash records \u00b7 Jan\u2013Dec 2025<\/span>\n  <h1>The 50 most dangerous <br><span class=\"it\">intersections in Texas.<br><\/span><\/h1>\n  <p class=\"sub\">Texas recorded 617,930 crashes last year; one in four happened at an intersection. These are the fifty crossings where they piled up. Glide your mouse over the map; it zooms into your area on its own.<\/p>\n  <div class=\"stats\" aria-label=\"Statewide 2025 totals\">\n    <div class=\"stat\"><b data-count=\"617930\">0<\/b><span>Crashes statewide<\/span><\/div>\n    <div class=\"stat\"><b data-count=\"164063\">0<\/b><span>At intersections<\/span><\/div>\n    <div class=\"stat\"><b data-count=\"82846\">0<\/b><span>Intersections tracked<\/span><\/div>\n    <div class=\"stat\"><b data-count=\"77\">0<\/b><span>At the No. 1 crossing<\/span><\/div>\n  <\/div>\n<\/header>\n<div class=\"grid\">\n  <div>\n    <div class=\"mapbox\" id=\"mapbox\">\n      <div class=\"tilt\" id=\"tilt\">\n        <svg id=\"map\" viewBox=\"-10 -10 1020 966\" role=\"img\" aria-label=\"Map of Texas showing the 50 most crash-prone intersections of 2025\">\n          <defs>\n            <clipPath id=\"tx\"><path d=\"M368.3,0.0 L506.5,0.0 L506.5,172.8 L512.3,171.8 L529.4,188.9 L538.6,186.0 L562.8,186.9 L568.3,204.0 L583.7,203.1 L600.4,210.9 L615.4,209.9 L621.7,217.2 L631.3,208.9 L645.9,212.8 L652.2,222.6 L663.0,224.0 L668.9,236.2 L682.3,224.5 L700.2,231.4 L706.9,238.7 L715.7,235.3 L721.9,246.5 L741.1,226.5 L746.6,236.7 L763.3,236.7 L779.1,243.1 L785.0,250.9 L800.0,237.2 L816.3,232.8 L823.8,237.7 L841.8,228.9 L845.9,233.8 L865.6,234.3 L870.6,226.5 L890.2,235.3 L897.7,245.5 L926.9,255.3 L934.9,263.6 L949.9,259.2 L960.8,263.1 L960.8,310.4 L960.8,401.7 L977.5,421.2 L977.9,440.8 L998.7,476.9 L1000.0,495.9 L992.1,518.9 L984.6,528.1 L987.1,540.3 L981.6,549.6 L987.5,566.7 L969.5,598.4 L976.2,607.2 L963.7,607.7 L924.0,619.9 L909.8,613.1 L907.3,598.4 L897.3,608.7 L890.2,606.2 L886.4,618.9 L894.4,624.3 L895.6,640.9 L881.4,658.5 L858.5,680.4 L812.5,703.9 L807.9,700.0 L794.2,705.8 L793.7,700.4 L774.9,704.3 L766.2,693.1 L760.8,695.6 L780.8,718.5 L766.2,725.8 L752.4,721.4 L750.3,737.5 L733.2,754.1 L715.7,784.9 L704.4,817.1 L696.0,814.7 L693.9,826.4 L702.7,823.4 L698.5,846.9 L692.7,847.8 L692.3,861.0 L699.4,868.4 L701.5,895.2 L709.8,904.5 L711.9,921.6 L718.6,936.7 L695.2,946.0 L685.6,934.2 L667.6,929.9 L643.8,930.8 L623.4,916.2 L607.9,914.7 L596.2,903.0 L580.4,899.1 L569.5,887.9 L562.4,861.0 L548.6,844.9 L550.3,831.3 L544.1,816.6 L546.1,803.9 L536.5,789.8 L528.6,788.3 L515.7,775.6 L511.5,759.5 L500.2,744.9 L483.9,732.7 L476.0,705.8 L468.5,698.5 L458.5,677.0 L455.1,659.4 L445.5,646.7 L429.2,635.5 L425.5,627.7 L410.4,620.9 L398.7,601.4 L365.3,597.0 L345.3,597.9 L328.2,591.1 L324.4,600.4 L306.1,603.3 L292.3,621.9 L283.9,651.6 L279.3,652.1 L268.9,669.7 L256.4,670.2 L237.6,656.5 L190.4,634.5 L181.2,622.8 L162.8,611.6 L149.9,586.2 L149.1,563.3 L136.1,544.7 L133.2,528.6 L124.8,518.4 L95.2,503.2 L79.3,482.7 L66.4,475.4 L52.6,457.8 L33.4,448.6 L20.0,425.1 L8.8,420.3 L0.0,410.0 L2.1,401.2 L272.7,401.2 L272.7,311.9 L274.3,221.6 L274.7,0.0 L277.7,0.0 L368.3,0.0 Z\"><\/path><\/clipPath>\n            <radialGradient id=\"waterg\" cx=\"50%\" cy=\"50%\" r=\"50%\">\n              <stop offset=\"0%\" stop-color=\"#F3B937\" stop-opacity=\".55\"><\/stop>\n              <stop offset=\"45%\" stop-color=\"#F3B937\" stop-opacity=\".20\"><\/stop>\n              <stop offset=\"100%\" stop-color=\"#F3B937\" stop-opacity=\"0\"><\/stop>\n            <\/radialGradient>\n            <radialGradient id=\"halog\" cx=\"50%\" cy=\"50%\" r=\"50%\">\n              <stop offset=\"0%\" stop-color=\"#ffe49a\" stop-opacity=\".30\"><\/stop>\n              <stop offset=\"38%\" stop-color=\"#F3B937\" stop-opacity=\".13\"><\/stop>\n              <stop offset=\"100%\" stop-color=\"#F3B937\" stop-opacity=\"0\"><\/stop>\n            <\/radialGradient>\n            <radialGradient id=\"vigg\" cx=\"50%\" cy=\"46%\" r=\"70%\">\n              <stop offset=\"74%\" stop-color=\"#0c0c0c\" stop-opacity=\"0\"><\/stop>\n              <stop offset=\"100%\" stop-color=\"#0c0c0c\" stop-opacity=\"1\"><\/stop>\n            <\/radialGradient>\n          <\/defs>\n          <g id=\"zoomG\">\n            <path class=\"state-fill fade\" d=\"M368.3,0.0 L506.5,0.0 L506.5,172.8 L512.3,171.8 L529.4,188.9 L538.6,186.0 L562.8,186.9 L568.3,204.0 L583.7,203.1 L600.4,210.9 L615.4,209.9 L621.7,217.2 L631.3,208.9 L645.9,212.8 L652.2,222.6 L663.0,224.0 L668.9,236.2 L682.3,224.5 L700.2,231.4 L706.9,238.7 L715.7,235.3 L721.9,246.5 L741.1,226.5 L746.6,236.7 L763.3,236.7 L779.1,243.1 L785.0,250.9 L800.0,237.2 L816.3,232.8 L823.8,237.7 L841.8,228.9 L845.9,233.8 L865.6,234.3 L870.6,226.5 L890.2,235.3 L897.7,245.5 L926.9,255.3 L934.9,263.6 L949.9,259.2 L960.8,263.1 L960.8,310.4 L960.8,401.7 L977.5,421.2 L977.9,440.8 L998.7,476.9 L1000.0,495.9 L992.1,518.9 L984.6,528.1 L987.1,540.3 L981.6,549.6 L987.5,566.7 L969.5,598.4 L976.2,607.2 L963.7,607.7 L924.0,619.9 L909.8,613.1 L907.3,598.4 L897.3,608.7 L890.2,606.2 L886.4,618.9 L894.4,624.3 L895.6,640.9 L881.4,658.5 L858.5,680.4 L812.5,703.9 L807.9,700.0 L794.2,705.8 L793.7,700.4 L774.9,704.3 L766.2,693.1 L760.8,695.6 L780.8,718.5 L766.2,725.8 L752.4,721.4 L750.3,737.5 L733.2,754.1 L715.7,784.9 L704.4,817.1 L696.0,814.7 L693.9,826.4 L702.7,823.4 L698.5,846.9 L692.7,847.8 L692.3,861.0 L699.4,868.4 L701.5,895.2 L709.8,904.5 L711.9,921.6 L718.6,936.7 L695.2,946.0 L685.6,934.2 L667.6,929.9 L643.8,930.8 L623.4,916.2 L607.9,914.7 L596.2,903.0 L580.4,899.1 L569.5,887.9 L562.4,861.0 L548.6,844.9 L550.3,831.3 L544.1,816.6 L546.1,803.9 L536.5,789.8 L528.6,788.3 L515.7,775.6 L511.5,759.5 L500.2,744.9 L483.9,732.7 L476.0,705.8 L468.5,698.5 L458.5,677.0 L455.1,659.4 L445.5,646.7 L429.2,635.5 L425.5,627.7 L410.4,620.9 L398.7,601.4 L365.3,597.0 L345.3,597.9 L328.2,591.1 L324.4,600.4 L306.1,603.3 L292.3,621.9 L283.9,651.6 L279.3,652.1 L268.9,669.7 L256.4,670.2 L237.6,656.5 L190.4,634.5 L181.2,622.8 L162.8,611.6 L149.9,586.2 L149.1,563.3 L136.1,544.7 L133.2,528.6 L124.8,518.4 L95.2,503.2 L79.3,482.7 L66.4,475.4 L52.6,457.8 L33.4,448.6 L20.0,425.1 L8.8,420.3 L0.0,410.0 L2.1,401.2 L272.7,401.2 L272.7,311.9 L274.3,221.6 L274.7,0.0 L277.7,0.0 L368.3,0.0 Z\"><\/path>\n            <g clip-path=\"url(#tx)\">\n              <g class=\"terrain fade\">\n                <path fill=\"#1c1812\" d=\"M820,280 C920,260 1000,330 990,430 C980,530 910,580 850,560 C790,540 775,470 785,410 C793,350 780,300 820,280 Z\"><\/path>\n                <path fill=\"#181510\" d=\"M580,480 C650,455 715,500 706,565 C697,635 625,665 565,640 C512,618 522,505 580,480 Z\"><\/path>\n                <path fill=\"#1c1812\" d=\"M250,55 C355,40 445,85 437,160 C429,235 335,245 265,222 C200,200 185,75 250,55 Z\"><\/path>\n                <path fill=\"#181510\" d=\"M110,380 C195,355 275,405 258,478 C243,545 160,560 110,528 C68,498 50,400 110,380 Z\"><\/path>\n                <path fill=\"#1c1812\" d=\"M710,730 C790,705 865,732 873,792 C880,848 795,885 735,860 C682,838 658,752 710,730 Z\"><\/path>\n                <path fill=\"#181510\" d=\"M840,620 C900,605 950,640 945,690 C940,740 880,755 840,735 C805,717 795,635 840,620 Z\"><\/path>\n              <\/g>\n              <g id=\"blocks\" class=\"blocks fade\"><\/g>\n              <g class=\"rivers\">\n                <path class=\"river draw\" d=\"M705,272 C716,296 742,310 750,334 C760,366 744,396 770,432 C798,472 826,520 850,562 C868,594 888,616 902,634\"><\/path>\n                <path class=\"river draw\" d=\"M524,212 C556,262 596,294 610,346 C624,398 660,442 684,494 C710,552 802,598 856,646\"><\/path>\n                <path class=\"river draw\" d=\"M386,386 C456,438 552,498 636,536 C662,548 700,572 742,616 C762,638 786,654 798,668\"><\/path>\n                <path class=\"river draw\" d=\"M568,646 C600,688 656,742 700,774\"><\/path>\n              <\/g>\n              <g id=\"net\" class=\"net fade\"><\/g>\n            <\/g>\n            <path class=\"outline-glow fade\" d=\"M368.3,0.0 L506.5,0.0 L506.5,172.8 L512.3,171.8 L529.4,188.9 L538.6,186.0 L562.8,186.9 L568.3,204.0 L583.7,203.1 L600.4,210.9 L615.4,209.9 L621.7,217.2 L631.3,208.9 L645.9,212.8 L652.2,222.6 L663.0,224.0 L668.9,236.2 L682.3,224.5 L700.2,231.4 L706.9,238.7 L715.7,235.3 L721.9,246.5 L741.1,226.5 L746.6,236.7 L763.3,236.7 L779.1,243.1 L785.0,250.9 L800.0,237.2 L816.3,232.8 L823.8,237.7 L841.8,228.9 L845.9,233.8 L865.6,234.3 L870.6,226.5 L890.2,235.3 L897.7,245.5 L926.9,255.3 L934.9,263.6 L949.9,259.2 L960.8,263.1 L960.8,310.4 L960.8,401.7 L977.5,421.2 L977.9,440.8 L998.7,476.9 L1000.0,495.9 L992.1,518.9 L984.6,528.1 L987.1,540.3 L981.6,549.6 L987.5,566.7 L969.5,598.4 L976.2,607.2 L963.7,607.7 L924.0,619.9 L909.8,613.1 L907.3,598.4 L897.3,608.7 L890.2,606.2 L886.4,618.9 L894.4,624.3 L895.6,640.9 L881.4,658.5 L858.5,680.4 L812.5,703.9 L807.9,700.0 L794.2,705.8 L793.7,700.4 L774.9,704.3 L766.2,693.1 L760.8,695.6 L780.8,718.5 L766.2,725.8 L752.4,721.4 L750.3,737.5 L733.2,754.1 L715.7,784.9 L704.4,817.1 L696.0,814.7 L693.9,826.4 L702.7,823.4 L698.5,846.9 L692.7,847.8 L692.3,861.0 L699.4,868.4 L701.5,895.2 L709.8,904.5 L711.9,921.6 L718.6,936.7 L695.2,946.0 L685.6,934.2 L667.6,929.9 L643.8,930.8 L623.4,916.2 L607.9,914.7 L596.2,903.0 L580.4,899.1 L569.5,887.9 L562.4,861.0 L548.6,844.9 L550.3,831.3 L544.1,816.6 L546.1,803.9 L536.5,789.8 L528.6,788.3 L515.7,775.6 L511.5,759.5 L500.2,744.9 L483.9,732.7 L476.0,705.8 L468.5,698.5 L458.5,677.0 L455.1,659.4 L445.5,646.7 L429.2,635.5 L425.5,627.7 L410.4,620.9 L398.7,601.4 L365.3,597.0 L345.3,597.9 L328.2,591.1 L324.4,600.4 L306.1,603.3 L292.3,621.9 L283.9,651.6 L279.3,652.1 L268.9,669.7 L256.4,670.2 L237.6,656.5 L190.4,634.5 L181.2,622.8 L162.8,611.6 L149.9,586.2 L149.1,563.3 L136.1,544.7 L133.2,528.6 L124.8,518.4 L95.2,503.2 L79.3,482.7 L66.4,475.4 L52.6,457.8 L33.4,448.6 L20.0,425.1 L8.8,420.3 L0.0,410.0 L2.1,401.2 L272.7,401.2 L272.7,311.9 L274.3,221.6 L274.7,0.0 L277.7,0.0 L368.3,0.0 Z\"><\/path>\n            <path class=\"outline draw\" d=\"M368.3,0.0 L506.5,0.0 L506.5,172.8 L512.3,171.8 L529.4,188.9 L538.6,186.0 L562.8,186.9 L568.3,204.0 L583.7,203.1 L600.4,210.9 L615.4,209.9 L621.7,217.2 L631.3,208.9 L645.9,212.8 L652.2,222.6 L663.0,224.0 L668.9,236.2 L682.3,224.5 L700.2,231.4 L706.9,238.7 L715.7,235.3 L721.9,246.5 L741.1,226.5 L746.6,236.7 L763.3,236.7 L779.1,243.1 L785.0,250.9 L800.0,237.2 L816.3,232.8 L823.8,237.7 L841.8,228.9 L845.9,233.8 L865.6,234.3 L870.6,226.5 L890.2,235.3 L897.7,245.5 L926.9,255.3 L934.9,263.6 L949.9,259.2 L960.8,263.1 L960.8,310.4 L960.8,401.7 L977.5,421.2 L977.9,440.8 L998.7,476.9 L1000.0,495.9 L992.1,518.9 L984.6,528.1 L987.1,540.3 L981.6,549.6 L987.5,566.7 L969.5,598.4 L976.2,607.2 L963.7,607.7 L924.0,619.9 L909.8,613.1 L907.3,598.4 L897.3,608.7 L890.2,606.2 L886.4,618.9 L894.4,624.3 L895.6,640.9 L881.4,658.5 L858.5,680.4 L812.5,703.9 L807.9,700.0 L794.2,705.8 L793.7,700.4 L774.9,704.3 L766.2,693.1 L760.8,695.6 L780.8,718.5 L766.2,725.8 L752.4,721.4 L750.3,737.5 L733.2,754.1 L715.7,784.9 L704.4,817.1 L696.0,814.7 L693.9,826.4 L702.7,823.4 L698.5,846.9 L692.7,847.8 L692.3,861.0 L699.4,868.4 L701.5,895.2 L709.8,904.5 L711.9,921.6 L718.6,936.7 L695.2,946.0 L685.6,934.2 L667.6,929.9 L643.8,930.8 L623.4,916.2 L607.9,914.7 L596.2,903.0 L580.4,899.1 L569.5,887.9 L562.4,861.0 L548.6,844.9 L550.3,831.3 L544.1,816.6 L546.1,803.9 L536.5,789.8 L528.6,788.3 L515.7,775.6 L511.5,759.5 L500.2,744.9 L483.9,732.7 L476.0,705.8 L468.5,698.5 L458.5,677.0 L455.1,659.4 L445.5,646.7 L429.2,635.5 L425.5,627.7 L410.4,620.9 L398.7,601.4 L365.3,597.0 L345.3,597.9 L328.2,591.1 L324.4,600.4 L306.1,603.3 L292.3,621.9 L283.9,651.6 L279.3,652.1 L268.9,669.7 L256.4,670.2 L237.6,656.5 L190.4,634.5 L181.2,622.8 L162.8,611.6 L149.9,586.2 L149.1,563.3 L136.1,544.7 L133.2,528.6 L124.8,518.4 L95.2,503.2 L79.3,482.7 L66.4,475.4 L52.6,457.8 L33.4,448.6 L20.0,425.1 L8.8,420.3 L0.0,410.0 L2.1,401.2 L272.7,401.2 L272.7,311.9 L274.3,221.6 L274.7,0.0 L277.7,0.0 L368.3,0.0 Z\"><\/path>\n            <path id=\"route\" d=\"\"><\/path>\n            <g id=\"badges\"><\/g>\n            <g id=\"heroScale\"><g id=\"hero\" class=\"hero-pin\"><\/g><\/g>\n            <g id=\"pins\"><\/g>\n          <\/g>\n          <rect class=\"vig\" x=\"-10\" y=\"-10\" width=\"1020\" height=\"966\" fill=\"url(#vigg)\"><\/rect>\n        <\/svg>\n      <\/div>\n      <div class=\"hud hud-logo\">J. ALEXANDER <span>LAW<\/span><\/div>\n      <div class=\"hud hud-regions\" role=\"group\" aria-label=\"Filter by region\">\n        <button class=\"chip on\" data-g=\"all\">Texas<\/button>\n        <button class=\"chip\" data-g=\"dfw\">Dallas\u2013Fort Worth<\/button>\n        <button class=\"chip\" data-g=\"hou\">Houston<\/button>\n        <button class=\"chip\" data-g=\"sat\">San Antonio<\/button>\n        <button class=\"chip\" data-g=\"rest\">Rest of State<\/button>\n      <\/div>\n      <div class=\"hud hud-zoom\">ZOOM <span class=\"zl\" id=\"hudZl\">1.00X<\/span>\u2002<span id=\"hudMi\">100 MI<\/span><div class=\"bar\" id=\"hudBar\" style=\"width:110px\"><\/div><\/div>\n      <svg class=\"hud hud-compass\" viewBox=\"0 0 92 92\" aria-hidden=\"true\">\n        <circle cx=\"46\" cy=\"46\" r=\"30\" fill=\"none\" stroke=\"#2c2c2c\" stroke-width=\"1\"><\/circle>\n        <g class=\"needle\" id=\"needle\">\n          <path d=\"M46 20 L51 41 L46 38 L41 41 Z\" fill=\"#F3B937\"><\/path>\n          <path d=\"M46 72 L51 51 L46 54 L41 51 Z\" fill=\"#3a3a3a\"><\/path>\n        <\/g>\n        <text x=\"46\" y=\"12\" font-size=\"9\" text-anchor=\"middle\">N<\/text>\n        <text x=\"46\" y=\"89\" font-size=\"8\" text-anchor=\"middle\">S<\/text>\n        <text x=\"5\" y=\"49\" font-size=\"8\" text-anchor=\"middle\">W<\/text>\n        <text x=\"87\" y=\"49\" font-size=\"8\" text-anchor=\"middle\">E<\/text>\n        <text class=\"deg\" x=\"46\" y=\"49\" font-size=\"8.5\" text-anchor=\"middle\" id=\"hudDeg\">000\u00b0<\/text>\n      <\/svg>\n    <\/div>\n    <div class=\"detail\" id=\"detail\" aria-live=\"polite\"><\/div>\n  <\/div>\n  <aside class=\"list\" aria-label=\"Ranked list of intersections\">\n    <div class=\"list-h\"><span>Rank \u00b7 Intersection<\/span><span>Crashes<\/span><\/div>\n    <div class=\"rows\" id=\"rows\"><\/div>\n  <\/aside>\n<\/div>\n<section class=\"di-tablewrap\" id=\"ranked-list\" aria-label=\"Full ranked list of the 50 most dangerous intersections in Texas\">\n  <style>\n  .jalex-txmap .di-tablewrap{padding:clamp(28px,5vw,60px) clamp(16px,4vw,48px);border-top:1px solid var(--rule)}\n  .jalex-txmap .di-tablewrap h2{font-family:\"Montserrat\",sans-serif;color:var(--text);font-size:clamp(1.4rem,3vw,2rem);margin:0 0 .5rem}\n  .jalex-txmap .di-tablewrap p.di-sub{color:var(--text-2);max-width:70ch;margin:0 0 1.4rem;line-height:1.6}\n  .jalex-txmap .di-scroll{overflow-x:auto}\n  .jalex-txmap table.di-table{width:100%;border-collapse:collapse;font-family:\"Source Sans 3\",sans-serif;font-size:.95rem;min-width:640px}\n  .jalex-txmap table.di-table caption{text-align:left;color:var(--muted);font-size:.85rem;margin-bottom:.7rem}\n  .jalex-txmap table.di-table th,.jalex-txmap table.di-table td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--rule)}\n  .jalex-txmap table.di-table thead th{color:var(--gold);font-family:\"Montserrat\",sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--gold)}\n  .jalex-txmap table.di-table td.di-r{color:var(--gold);font-family:\"JetBrains Mono\",monospace;font-weight:700;width:3rem}\n  .jalex-txmap table.di-table td.di-n{color:var(--text);font-weight:600}\n  .jalex-txmap table.di-table td.di-num{font-family:\"JetBrains Mono\",monospace;color:var(--text-2);text-align:right;white-space:nowrap}\n  .jalex-txmap table.di-table tbody tr:hover{background:var(--panel)}\n  <\/style>\n  <h2>The full ranked list: 50 most dangerous intersections in Texas (2025)<\/h2>\n  <p class=\"di-sub\">The same data as the map above, in a plain table. Ranked by total reported crashes at each intersection in 2025, from the TxDOT Crash Records Information System (CRIS) public extract.<\/p>\n  <div class=\"di-scroll\">\n    <table class=\"di-table\">\n      <caption>Texas intersections ranked by 2025 reported crashes (source: TxDOT CRIS).<\/caption>\n      <thead><tr><th>Rank<\/th><th>Intersection<\/th><th>City<\/th><th>Crashes<\/th><th>Injuries<\/th><\/tr><\/thead>\n      <tbody>\n      <tr><td class=\"di-r\">1<\/td><td class=\"di-n\">General Bruce Dr &amp; H K Dodgen Loop (South)<\/td><td>Temple, TX<\/td><td class=\"di-num\">77<\/td><td class=\"di-num\">39<\/td><\/tr>\n      <tr><td class=\"di-r\">2<\/td><td class=\"di-n\">Central Expressway &amp; University Dr (US-380)<\/td><td>McKinney, TX<\/td><td class=\"di-num\">58<\/td><td class=\"di-num\">45<\/td><\/tr>\n      <tr><td class=\"di-r\">3<\/td><td class=\"di-n\">AW Grimes Blvd &amp; Louis Henna Blvd<\/td><td>Round Rock, TX<\/td><td class=\"di-num\">53<\/td><td class=\"di-num\">26<\/td><\/tr>\n      <tr><td class=\"di-r\">4<\/td><td class=\"di-n\">Eastex Fwy &amp; Lucas Dr<\/td><td>Beaumont, TX<\/td><td class=\"di-num\">49<\/td><td class=\"di-num\">14<\/td><\/tr>\n      <tr><td class=\"di-r\">5<\/td><td class=\"di-n\">Morris Ave &amp; S TX-288<\/td><td>Manvel, TX<\/td><td class=\"di-num\">46<\/td><td class=\"di-num\">5<\/td><\/tr>\n      <tr><td class=\"di-r\">6<\/td><td class=\"di-n\">Padre Island Dr &amp; Staples St<\/td><td>Corpus Christi, TX<\/td><td class=\"di-num\">46<\/td><td class=\"di-num\">9<\/td><\/tr>\n      <tr><td class=\"di-r\">7<\/td><td class=\"di-n\">Bissonnet St &amp; West Sam Houston Pkwy S<\/td><td>Houston, TX<\/td><td class=\"di-num\">44<\/td><td class=\"di-num\">29<\/td><\/tr>\n      <tr><td class=\"di-r\">8<\/td><td class=\"di-n\">Crossview Dr &amp; Richmond Ave<\/td><td>Houston, TX<\/td><td class=\"di-num\">43<\/td><td class=\"di-num\">20<\/td><\/tr>\n      <tr><td class=\"di-r\">9<\/td><td class=\"di-n\">Coit Rd &amp; Spring Creek Pkwy<\/td><td>Plano, TX<\/td><td class=\"di-num\">43<\/td><td class=\"di-num\">39<\/td><\/tr>\n      <tr><td class=\"di-r\">10<\/td><td class=\"di-n\">Desert Blvd &amp; Mesa St<\/td><td>El Paso, TX<\/td><td class=\"di-num\">42<\/td><td class=\"di-num\">21<\/td><\/tr>\n      <tr><td class=\"di-r\">11<\/td><td class=\"di-n\">Artcraft Rd &amp; Desert Blvd<\/td><td>El Paso, TX<\/td><td class=\"di-num\">41<\/td><td class=\"di-num\">13<\/td><\/tr>\n      <tr><td class=\"di-r\">12<\/td><td class=\"di-n\">Jack Kultgen Expy &amp; Valley Mills Dr<\/td><td>Waco, TX<\/td><td class=\"di-num\">41<\/td><td class=\"di-num\">36<\/td><\/tr>\n      <tr><td class=\"di-r\">13<\/td><td class=\"di-n\">Fondren Rd &amp; Westpark Dr<\/td><td>Houston, TX<\/td><td class=\"di-num\">38<\/td><td class=\"di-num\">18<\/td><\/tr>\n      <tr><td class=\"di-r\">14<\/td><td class=\"di-n\">Lookout Rd &amp; Toepperwein Rd<\/td><td>Live Oak, TX<\/td><td class=\"di-num\">37<\/td><td class=\"di-num\">12<\/td><\/tr>\n      <tr><td class=\"di-r\">15<\/td><td class=\"di-n\">Edgemere Blvd &amp; Rich Beem Blvd<\/td><td>El Paso, TX<\/td><td class=\"di-num\">36<\/td><td class=\"di-num\">4<\/td><\/tr>\n      <tr><td class=\"di-r\">16<\/td><td class=\"di-n\">Cane Island Rd &amp; Parkside Dr<\/td><td>Katy, TX<\/td><td class=\"di-num\">36<\/td><td class=\"di-num\">0<\/td><\/tr>\n      <tr><td class=\"di-r\">17<\/td><td class=\"di-n\">Dallas Pkwy &amp; Frankford Rd<\/td><td>Dallas, TX<\/td><td class=\"di-num\">35<\/td><td class=\"di-num\">37<\/td><\/tr>\n      <tr><td class=\"di-r\">18<\/td><td class=\"di-n\">18th St &amp; Jack Kultgen Expy<\/td><td>Waco, TX<\/td><td class=\"di-num\">35<\/td><td class=\"di-num\">39<\/td><\/tr>\n      <tr><td class=\"di-r\">19<\/td><td class=\"di-n\">Bissonnet St &amp; Sam Houston Pkwy<\/td><td>Houston, TX<\/td><td class=\"di-num\">34<\/td><td class=\"di-num\">32<\/td><\/tr>\n      <tr><td class=\"di-r\">20<\/td><td class=\"di-n\">Hardy Rd &amp; North Sam Houston Pkwy E<\/td><td>Houston, TX<\/td><td class=\"di-num\">34<\/td><td class=\"di-num\">18<\/td><\/tr>\n      <tr><td class=\"di-r\">21<\/td><td class=\"di-n\">South Sam Houston Pkwy E &amp; Telephone Rd<\/td><td>Houston, TX<\/td><td class=\"di-num\">33<\/td><td class=\"di-num\">25<\/td><\/tr>\n      <tr><td class=\"di-r\">22<\/td><td class=\"di-n\">Bandera Rd &amp; Wurzbach Rd<\/td><td>Leon Valley, TX<\/td><td class=\"di-num\">33<\/td><td class=\"di-num\">22<\/td><\/tr>\n      <tr><td class=\"di-r\">23<\/td><td class=\"di-n\">Shepherd Dr &amp; Victory Dr<\/td><td>Houston, TX<\/td><td class=\"di-num\">33<\/td><td class=\"di-num\">27<\/td><\/tr>\n      <tr><td class=\"di-r\">24<\/td><td class=\"di-n\">IH-35 South Frontage &amp; Louis Henna Blvd<\/td><td>Round Rock, TX<\/td><td class=\"di-num\">32<\/td><td class=\"di-num\">12<\/td><\/tr>\n      <tr><td class=\"di-r\">25<\/td><td class=\"di-n\">Loop 289 &amp; Slide Rd<\/td><td>Lubbock, TX<\/td><td class=\"di-num\">32<\/td><td class=\"di-num\">29<\/td><\/tr>\n      <tr><td class=\"di-r\">26<\/td><td class=\"di-n\">Loop 289 &amp; University Ave<\/td><td>Lubbock, TX<\/td><td class=\"di-num\">31<\/td><td class=\"di-num\">26<\/td><\/tr>\n      <tr><td class=\"di-r\">27<\/td><td class=\"di-n\">Macgregor Way &amp; South Fwy<\/td><td>Houston, TX<\/td><td class=\"di-num\">31<\/td><td class=\"di-num\">12<\/td><\/tr>\n      <tr><td class=\"di-r\">28<\/td><td class=\"di-n\">Old Denton Rd &amp; Trinity Mills Rd<\/td><td>Carrollton, TX<\/td><td class=\"di-num\">30<\/td><td class=\"di-num\">11<\/td><\/tr>\n      <tr><td class=\"di-r\">29<\/td><td class=\"di-n\">Fannin St &amp; Pease St<\/td><td>Houston, TX<\/td><td class=\"di-num\">30<\/td><td class=\"di-num\">20<\/td><\/tr>\n      <tr><td class=\"di-r\">30<\/td><td class=\"di-n\">Loop 289 &amp; Quaker Ave<\/td><td>Lubbock, TX<\/td><td class=\"di-num\">30<\/td><td class=\"di-num\">29<\/td><\/tr>\n      <tr><td class=\"di-r\">31<\/td><td class=\"di-n\">College St &amp; IH-10<\/td><td>Beaumont, TX<\/td><td class=\"di-num\">30<\/td><td class=\"di-num\">13<\/td><\/tr>\n      <tr><td class=\"di-r\">32<\/td><td class=\"di-n\">Culebra Rd &amp; Zarzamora St<\/td><td>San Antonio, TX<\/td><td class=\"di-num\">30<\/td><td class=\"di-num\">15<\/td><\/tr>\n      <tr><td class=\"di-r\">33<\/td><td class=\"di-n\">IH-45 E Frontage &amp; NASA Pkwy<\/td><td>Webster, TX<\/td><td class=\"di-num\">30<\/td><td class=\"di-num\">13<\/td><\/tr>\n      <tr><td class=\"di-r\">34<\/td><td class=\"di-n\">Greens Rd &amp; John F Kennedy Blvd<\/td><td>Houston, TX<\/td><td class=\"di-num\">29<\/td><td class=\"di-num\">12<\/td><\/tr>\n      <tr><td class=\"di-r\">35<\/td><td class=\"di-n\">Market Center Blvd &amp; Stemmons Fwy<\/td><td>Dallas, TX<\/td><td class=\"di-num\">29<\/td><td class=\"di-num\">21<\/td><\/tr>\n      <tr><td class=\"di-r\">36<\/td><td class=\"di-n\">Danville Dr &amp; Southwest Dr<\/td><td>Abilene, TX<\/td><td class=\"di-num\">29<\/td><td class=\"di-num\">18<\/td><\/tr>\n      <tr><td class=\"di-r\">37<\/td><td class=\"di-n\">Greenlawn Blvd &amp; Louis Henna Blvd<\/td><td>Round Rock, TX<\/td><td class=\"di-num\">29<\/td><td class=\"di-num\">12<\/td><\/tr>\n      <tr><td class=\"di-r\">38<\/td><td class=\"di-n\">Loop 289 &amp; Marsha Sharp Fwy<\/td><td>Lubbock, TX<\/td><td class=\"di-num\">28<\/td><td class=\"di-num\">28<\/td><\/tr>\n      <tr><td class=\"di-r\">39<\/td><td class=\"di-n\">Dallas Pkwy &amp; Legacy Dr<\/td><td>Plano, TX<\/td><td class=\"di-num\">28<\/td><td class=\"di-num\">16<\/td><\/tr>\n      <tr><td class=\"di-r\">40<\/td><td class=\"di-n\">Brooklyn Ave &amp; Euclid Ave<\/td><td>San Antonio, TX<\/td><td class=\"di-num\">28<\/td><td class=\"di-num\">12<\/td><\/tr>\n      <tr><td class=\"di-r\">41<\/td><td class=\"di-n\">Broadway St &amp; South Fwy<\/td><td>Pearland, TX<\/td><td class=\"di-num\">28<\/td><td class=\"di-num\">10<\/td><\/tr>\n      <tr><td class=\"di-r\">42<\/td><td class=\"di-n\">Hunt Ln &amp; Potranco Rd<\/td><td>San Antonio, TX<\/td><td class=\"di-num\">27<\/td><td class=\"di-num\">13<\/td><\/tr>\n      <tr><td class=\"di-r\">43<\/td><td class=\"di-n\">Frank Ave &amp; John Redditt Dr<\/td><td>Lufkin, TX<\/td><td class=\"di-num\">27<\/td><td class=\"di-num\">9<\/td><\/tr>\n      <tr><td class=\"di-r\">44<\/td><td class=\"di-n\">Hillcrest Rd &amp; Lyndon B Johnson Fwy<\/td><td>Dallas, TX<\/td><td class=\"di-num\">27<\/td><td class=\"di-num\">16<\/td><\/tr>\n      <tr><td class=\"di-r\">45<\/td><td class=\"di-n\">Padre Island Dr &amp; Rodd Field Rd<\/td><td>Corpus Christi, TX<\/td><td class=\"di-num\">27<\/td><td class=\"di-num\">2<\/td><\/tr>\n      <tr><td class=\"di-r\">46<\/td><td class=\"di-n\">Main St &amp; Post Oak Rd<\/td><td>Houston, TX<\/td><td class=\"di-num\">27<\/td><td class=\"di-num\">15<\/td><\/tr>\n      <tr><td class=\"di-r\">47<\/td><td class=\"di-n\">Clear Creek Rd &amp; Stan Schlueter Loop<\/td><td>Killeen, TX<\/td><td class=\"di-num\">27<\/td><td class=\"di-num\">19<\/td><\/tr>\n      <tr><td class=\"di-r\">48<\/td><td class=\"di-n\">Colonel Bill Card Jr &amp; Harrison Ave<\/td><td>Harlingen, TX<\/td><td class=\"di-num\">26<\/td><td class=\"di-num\">18<\/td><\/tr>\n      <tr><td class=\"di-r\">49<\/td><td class=\"di-n\">Chartres St &amp; Congress St<\/td><td>Houston, TX<\/td><td class=\"di-num\">26<\/td><td class=\"di-num\">6<\/td><\/tr>\n      <tr><td class=\"di-r\">50<\/td><td class=\"di-n\">US-77 &amp; Wilson Rd<\/td><td>Harlingen, TX<\/td><td class=\"di-num\">26<\/td><td class=\"di-num\">15<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/section>\n<div class=\"embed\">\n  <h2>Embed <span class=\"it\">this map.<\/span><\/h2>\n  <p>Free to republish on your site. The attribution link is part of the embed code; keep it intact when you publish.<\/p>\n  <div class=\"embed-row\">\n    <textarea id=\"embedcode\" readonly=\"\" aria-label=\"Embed code\"><\/textarea>\n    <button class=\"btn\" id=\"copybtn\">Copy embed code<\/button>\n  <\/div>\n<\/div>\n<style data-no-optimize=\"1\" data-no-minify=\"1\">\n\/* ---------- closing sections: methodology \/ fault \/ next steps \/ faq ---------- *\/\n.jalex-txmap .closing .kicker{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:10px}\n.jalex-txmap .closing .kicker::before{content:\"\";width:22px;height:1px;background:var(--gold);flex:none}\n.jalex-txmap .closing h2{font-family:var(--heading);font-weight:700;font-size:clamp(24px,2.6vw,30px);letter-spacing:-.02em;margin:12px 0 16px}\n.jalex-txmap .closing p{font-size:18px;line-height:1.75;color:var(--text-2);max-width:76ch}\n.jalex-txmap .closing p+p{margin-top:14px}\n.jalex-txmap .closing .gnum{color:var(--gold);font-weight:600}\n.jalex-txmap .closing .cite{font-family:var(--mono);font-size:15px;color:#fadc8e;white-space:nowrap}\n.jalex-txmap .closing .src-link{color:var(--gold);font-weight:600;border-bottom:1px solid rgba(243,185,55,.4);transition:color .2s ease,border-color .2s ease}\n.jalex-txmap .closing .src-link:hover{color:#fadc8e;border-color:#fadc8e}\n.jalex-txmap .closing .btn{display:inline-flex;align-items:center}\n\/* source facts grid *\/\n.jalex-txmap .src-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;margin-top:24px}\n.jalex-txmap .src-grid .src{background:var(--panel);padding:16px 18px}\n.jalex-txmap .src-grid .src span{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:8px}\n.jalex-txmap .src-grid .src b{font-family:var(--heading);font-weight:700;font-size:15.5px;color:var(--text);display:block;line-height:1.35}\n.jalex-txmap .src-grid .src em{font-style:normal;font-size:13.5px;color:var(--muted);display:block;margin-top:4px}\n\/* fault callout panel *\/\n.jalex-txmap .decide{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:30px;align-items:center;border:1px solid rgba(243,185,55,.3);border-left:3px solid var(--gold);border-radius:var(--radius);padding:30px;margin:26px 0;background:linear-gradient(100deg,rgba(243,185,55,.08),rgba(243,185,55,.02) 55%,transparent 80%),var(--bg-2)}\n.jalex-txmap .decide-brand{text-align:center;border-left:1px solid var(--rule);padding:12px 0 12px 30px}\n.jalex-txmap .decide-brand img{width:190px;max-width:100%;height:auto;display:inline-block}\n.jalex-txmap .decide-brand span{display:block;margin-top:12px;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}\n.jalex-txmap .btn-ghost{font-family:var(--heading);font-weight:700;font-size:13px;letter-spacing:.02em;display:inline-flex;align-items:center;background:transparent;color:var(--gold);border:1px solid var(--gold);border-radius:var(--radius);padding:0 24px;height:48px;transition:background .2s ease,color .2s ease,transform .2s ease}\n.jalex-txmap .btn-ghost:hover{background:rgba(243,185,55,.14);color:#fadc8e;transform:translateY(-2px)}\n.jalex-txmap .btn-ghost:focus-visible{outline:2px solid var(--gold);outline-offset:3px}\n\/* next-step practice area cards *\/\n.jalex-txmap .next-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}\n.jalex-txmap .next-card{display:block;border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-2);padding:26px 28px;transition:border-color .25s ease,background .25s ease,transform .25s ease}\n.jalex-txmap .next-card:hover{border-color:var(--gold);background:var(--panel);transform:translateY(-3px)}\n.jalex-txmap .next-card .nc-top{display:flex;align-items:center;justify-content:space-between;gap:14px}\n.jalex-txmap .next-card .nc-label{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}\n.jalex-txmap .next-card .nc-icon{width:38px;height:32px;color:var(--gold);flex:none;transition:color .25s ease}\n.jalex-txmap .next-card:hover .nc-icon{color:#fadc8e}\n.jalex-txmap .next-card h3{font-family:var(--heading);font-weight:700;font-size:20px;letter-spacing:-.01em;margin:12px 0 8px}\n.jalex-txmap .next-card p{font-size:16px;line-height:1.65;color:var(--text-2)}\n.jalex-txmap .next-card .nc-go{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}\n.jalex-txmap .next-card .nc-go::after{content:\"\\2192\";transition:transform .25s ease}\n.jalex-txmap .next-card:hover .nc-go::after{transform:translateX(4px)}\n\/* faq *\/\n.jalex-txmap .faq-item{position:relative;border-top:1px solid var(--rule);padding:22px 0 22px 58px;margin-top:8px}\n.jalex-txmap .faq-item:first-of-type{margin-top:20px}\n.jalex-txmap .faq-item .q-mark{position:absolute;left:0;top:24px;width:36px;height:36px;border:1px solid rgba(243,185,55,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--gold)}\n.jalex-txmap .faq-item h3{font-family:var(--heading);font-weight:700;font-size:19px;letter-spacing:-.01em;margin-bottom:10px}\n\/* footer brand *\/\n.jalex-txmap footer .f-logo{width:150px;height:auto;display:block;margin-bottom:14px}\n@media (max-width:760px){\n  .jalex-txmap .decide{grid-template-columns:1fr}\n  .jalex-txmap .decide-brand{border-left:0;border-top:1px solid var(--rule);padding:22px 0 4px}\n  .jalex-txmap .next-cards{grid-template-columns:1fr}\n  .jalex-txmap .src-grid{grid-template-columns:1fr}\n}\n<\/style>\n<div class=\"embed closing\" id=\"methodology\">\n  <span class=\"kicker\">Data &amp; method<\/span>\n  <h2>Methodology <span class=\"it\">&amp; sources.<\/span><\/h2>\n  <p>Each intersection above is ranked by one number: <span class=\"gnum\">the total reported crashes recorded there in 2025<\/span>. The counts come from the Texas Department of Transportation&#8217;s <a class=\"src-link\" href=\"https:\/\/cris.txdot.gov\/\" target=\"_blank\" rel=\"noopener\">Crash Records Information System (CRIS)<\/a> public extract, covering crashes from January 1 through December 31, 2025 and flagged by TxDOT as occurring at an intersection. Where two intersections show the same total, the tie is broken by that same crash count; nothing else moves a location up or down the list.<\/p>\n  <p>This sits inside the statewide picture at the top of this page: Texas recorded <span class=\"gnum\">617,930 crashes<\/span> in 2025, and roughly <span class=\"gnum\">one in four<\/span> happened at an intersection. The fifty crossings below are simply where that statewide total piled up the most in a single spot.<\/p>\n  <div class=\"src-grid\">\n    <div class=\"src\"><span>Source<\/span><b>TxDOT CRIS public extract<\/b><em>Crash Records Information System<\/em><\/div>\n    <div class=\"src\"><span>Period<\/span><b>Jan 1 to Dec 31, 2025<\/b><em>Crashes flagged at an intersection<\/em><\/div>\n    <div class=\"src\"><span>Ranking<\/span><b>Total reported crashes<\/b><em>Ties share the same count<\/em><\/div>\n  <\/div>\n<\/div>\n<div class=\"decide closing\">\n  <div>\n    <span class=\"kicker\">Where the map ends<\/span>\n    <h2>What the map <span class=\"it\">doesn&#8217;t decide.<\/span><\/h2>\n    <p>A dangerous intersection does not by itself decide who is at fault after a crash. J. Alexander Law looks at what actually happened at the moment of impact: which driver ran the light, missed a yield, followed too close, or otherwise broke a traffic rule. Texas follows modified comparative fault (<span class=\"cite\">Tex. Civ. Prac. &amp; Rem. Code &sect; 33.001<\/span>), so your share of blame can reduce or bar what you recover, and a claim generally must be filed within two years of the crash (<span class=\"cite\">&sect; 16.003<\/span>). This map is for general information only and is not legal advice; talk to a lawyer about the facts of your own crash.<\/p>\n    <div class=\"embed-row\">\n      <a class=\"btn\" href=\"https:\/\/severeinjurylawyers.com\/contact-us\/\">Get a free case review<\/a>\n      <a class=\"btn-ghost\" href=\"tel:+14698077480\">Call (469) 807-7480<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"decide-brand\">\n    <img src=\"https:\/\/severeinjurylawyers.com\/wp-content\/uploads\/2026\/05\/severeinjurylawyers_com-logo.png.webp\" alt=\"J. Alexander Law Firm\" width=\"252\" height=\"120\" loading=\"lazy\" decoding=\"async\">\n    <span>Personal injury lawyers &middot; Dallas, Texas<\/span>\n  <\/div>\n<\/div>\n<div class=\"next-cards closing\">\n  <a class=\"next-card\" href=\"https:\/\/severeinjurylawyers.com\/car-accident-lawyers\/\">\n    <div class=\"nc-top\">\n      <span class=\"nc-label\">If it was a car<\/span>\n      <svg class=\"nc-icon\" viewBox=\"0 0 24 20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M2 15.5v-2.7c0-.9.6-1.7 1.5-1.9l2.6-.6 1.8-3A2.6 2.6 0 0 1 10.1 6h4.3c.9 0 1.8.5 2.2 1.3l1.9 3 2 .5c.9.2 1.5 1 1.5 1.9v2.8\"\/><path d=\"M2 15.5h3.3M9.7 15.5h4.6M19 15.5h3\"\/><circle cx=\"7.5\" cy=\"15.7\" r=\"2.1\"\/><circle cx=\"16.8\" cy=\"15.7\" r=\"2.1\"\/><\/svg>\n    <\/div>\n    <h3>Hurt in a car crash at one of these crossings?<\/h3>\n    <p>Most of the wrecks behind these numbers are ordinary car crashes. We explain how fault gets proven, what the insurer will offer, and what your claim can cover.<\/p>\n    <span class=\"nc-go\">Car accident lawyers<\/span>\n  <\/a>\n  <a class=\"next-card\" href=\"https:\/\/severeinjurylawyers.com\/truck-accident-lawyers\/\">\n    <div class=\"nc-top\">\n      <span class=\"nc-label\">If it was a truck<\/span>\n      <svg class=\"nc-icon\" viewBox=\"0 0 24 20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"1.5\" y=\"5\" width=\"13\" height=\"10\" rx=\"1\"\/><path d=\"M14.5 8.5h3.7l3 3.2v3.3h-6.7\"\/><circle cx=\"6\" cy=\"16.5\" r=\"2\"\/><circle cx=\"17.6\" cy=\"16.5\" r=\"2\"\/><\/svg>\n    <\/div>\n    <h3>Hit by a semi or commercial truck?<\/h3>\n    <p>A truck crash at an intersection is rarely a simple two-driver claim. The trucking company, its insurer, and federal safety rules all come into it; here is how we handle those cases.<\/p>\n    <span class=\"nc-go\">Truck accident lawyers<\/span>\n  <\/a>\n<\/div>\n<div class=\"embed closing\" id=\"faq\">\n  <span class=\"kicker\">Questions we hear<\/span>\n  <h2>Frequently asked <span class=\"it\">questions.<\/span><\/h2>\n  <div class=\"faq-item\">\n    <span class=\"q-mark\">01<\/span>\n    <h3>I was hurt at one of these intersections. What should I do?<\/h3>\n    <p>Get medical care first, then get the police crash report and photos of the scene before you talk to any insurance adjuster. The crash count on this map only shows how often a location floods with wrecks; it does not establish fault in your case, so hold onto the evidence that does.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <span class=\"q-mark\">02<\/span>\n    <h3>How were these intersections ranked?<\/h3>\n    <p>By the total number of reported crashes TxDOT recorded there in 2025, drawn from the Crash Records Information System (CRIS) public extract. The higher the crash count, the higher the rank; ties are broken the same way.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <span class=\"q-mark\">03<\/span>\n    <h3>Does a dangerous intersection mean the city or TxDOT is liable?<\/h3>\n    <p>Not automatically. A high crash count can support a claim that a road or signal design was unsafe, but a claim against a governmental entity carries its own rules and notice deadlines, separate from a claim against another driver. Most crashes at these intersections still come down to which driver broke a traffic rule.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <span class=\"q-mark\">04<\/span>\n    <h3>How long do I have to file a claim in Texas?<\/h3>\n    <p>In most cases, two years from the date of the crash, under <span class=\"cite\">Tex. Civ. Prac. &amp; Rem. Code &sect; 16.003<\/span>. Waiting can cost you the right to recover at all, so talk to a lawyer well before that date.<\/p>\n  <\/div>\n<\/div>\n<footer>\n  <img class=\"f-logo\" src=\"https:\/\/severeinjurylawyers.com\/wp-content\/uploads\/2026\/05\/severeinjurylawyers_com-logo.png.webp\" alt=\"J. Alexander Law Firm\" width=\"252\" height=\"120\" loading=\"lazy\" decoding=\"async\">\n  <div>Data: Texas Department of Transportation, Crash Records Information System (CRIS) Public Extract, Jan 1 to Dec 31, 2025, crashes flagged at an intersection. Analysis: <a href=\"https:\/\/severeinjurylawyers.com\/\" rel=\"author\">J. Alexander Law Firm<\/a>.<\/div>\n  <div class=\"cta\">Hurt at one of these intersections? <a href=\"tel:+14698077480\">Call (469) 807-7480<\/a> for a free consultation. No fee unless we win.<\/div>\n  <div class=\"disc\">This map is for general information only and is not legal advice. Crash counts reflect reportable crashes recorded by TxDOT and may be revised by the state. Past results do not guarantee a similar outcome.<\/div>\n<\/footer>\n<\/div>\n<div class=\"tip\" id=\"tip\" role=\"tooltip\"><\/div>\n<\/div><!-- \/.jalex-txmap -->\n<script data-no-optimize=\"1\" data-no-minify=\"1\" data-cfasync=\"false\" nowprocket=\"\">\nconst DATA=[{\"r\":1,\"c\":\"Temple\",\"n\":\"General Bruce Dr & H K Dodgen Loop (South)\",\"x\":77,\"i\":39,\"lat\":31.090307,\"lng\":-97.386489,\"g\":\"rest\",\"note\":\"I-35 frontage meets TX-36 loop frontage; the two roads cross twice; south crossing is the worst in the state\"},{\"r\":2,\"c\":\"McKinney\",\"n\":\"Central Expressway & University Dr (US-380)\",\"x\":58,\"i\":45,\"lat\":33.216819,\"lng\":-96.63576,\"g\":\"dfw\",\"note\":\"US-75 frontage roads; overhead freeway blocks signal visibility at sunrise\/sunset; DFW market\"},{\"r\":3,\"c\":\"Round Rock\",\"n\":\"AW Grimes Blvd & Louis Henna Blvd\",\"x\":53,\"i\":26,\"lat\":30.485069,\"lng\":-97.649834,\"g\":\"rest\",\"note\":\"TX-45 frontage; extremely wide double crossing under freeway\"},{\"r\":4,\"c\":\"Beaumont\",\"n\":\"Eastex Fwy & Lucas Dr\",\"x\":49,\"i\":14,\"lat\":30.117387,\"lng\":-94.144894,\"g\":\"rest\",\"note\":\"US-69 frontage; narrow lanes, trap turn lanes\"},{\"r\":5,\"c\":\"Manvel\",\"n\":\"Morris Ave & S TX-288\",\"x\":46,\"i\":5,\"lat\":29.4843,\"lng\":-95.4066,\"g\":\"hou\",\"note\":\"26.2 percent of all crashes in Manvel happen here\"},{\"r\":6,\"c\":\"Corpus Christi\",\"n\":\"Padre Island Dr & Staples St\",\"x\":46,\"i\":9,\"lat\":27.70792,\"lng\":-97.369898,\"g\":\"rest\",\"note\":\"\"},{\"r\":7,\"c\":\"Houston\",\"n\":\"Bissonnet St & West Sam Houston Pkwy S\",\"x\":44,\"i\":29,\"lat\":29.674517,\"lng\":-95.56088,\"g\":\"hou\",\"note\":\"Beltway 8; perennial worst-in-Houston since at least 2012-2015 studies\"},{\"r\":8,\"c\":\"Houston\",\"n\":\"Crossview Dr & Richmond Ave\",\"x\":43,\"i\":20,\"lat\":29.728993,\"lng\":-95.519582,\"g\":\"hou\",\"note\":\"\"},{\"r\":9,\"c\":\"Plano\",\"n\":\"Coit Rd & Spring Creek Pkwy\",\"x\":43,\"i\":39,\"lat\":33.056714,\"lng\":-96.770373,\"g\":\"dfw\",\"note\":\"DFW market; very high injury-to-crash ratio\"},{\"r\":10,\"c\":\"El Paso\",\"n\":\"Desert Blvd & Mesa St\",\"x\":42,\"i\":21,\"lat\":31.839319,\"lng\":-106.569131,\"g\":\"rest\",\"note\":\"\"},{\"r\":11,\"c\":\"El Paso\",\"n\":\"Artcraft Rd & Desert Blvd\",\"x\":41,\"i\":13,\"lat\":31.883172,\"lng\":-106.581218,\"g\":\"rest\",\"note\":\"\"},{\"r\":12,\"c\":\"Waco\",\"n\":\"Jack Kultgen Expy & Valley Mills Dr\",\"x\":41,\"i\":36,\"lat\":31.524141,\"lng\":-97.134766,\"g\":\"rest\",\"note\":\"I-35 frontage\"},{\"r\":13,\"c\":\"Houston\",\"n\":\"Fondren Rd & Westpark Dr\",\"x\":38,\"i\":18,\"lat\":29.721491,\"lng\":-95.520413,\"g\":\"hou\",\"note\":\"\"},{\"r\":14,\"c\":\"Live Oak\",\"n\":\"Lookout Rd & Toepperwein Rd\",\"x\":37,\"i\":12,\"lat\":29.56992,\"lng\":-98.356435,\"g\":\"sat\",\"note\":\"San Antonio metro\"},{\"r\":15,\"c\":\"El Paso\",\"n\":\"Edgemere Blvd & Rich Beem Blvd\",\"x\":36,\"i\":4,\"lat\":31.796803,\"lng\":-106.246353,\"g\":\"rest\",\"note\":\"\"},{\"r\":16,\"c\":\"Katy\",\"n\":\"Cane Island Rd & Parkside Dr\",\"x\":36,\"i\":0,\"lat\":29.793,\"lng\":-95.84,\"g\":\"hou\",\"note\":\"One of only 4 TX intersections with 15+ crashes and zero injuries\"},{\"r\":17,\"c\":\"Dallas\",\"n\":\"Dallas Pkwy & Frankford Rd\",\"x\":35,\"i\":37,\"lat\":32.997476,\"lng\":-96.831146,\"g\":\"dfw\",\"note\":\"HOME MARKET; more injuries than crashes; highest-crash intersection inside Dallas city limits in 2025\"},{\"r\":18,\"c\":\"Waco\",\"n\":\"18th St & Jack Kultgen Expy\",\"x\":35,\"i\":39,\"lat\":31.535057,\"lng\":-97.130355,\"g\":\"rest\",\"note\":\"Most injury-prone on the list; more than 1 injury per crash on average\"},{\"r\":19,\"c\":\"Houston\",\"n\":\"Bissonnet St & Sam Houston Pkwy\",\"x\":34,\"i\":32,\"lat\":29.674517,\"lng\":-95.56088,\"g\":\"hou\",\"note\":\"\"},{\"r\":20,\"c\":\"Houston\",\"n\":\"Hardy Rd & North Sam Houston Pkwy E\",\"x\":34,\"i\":18,\"lat\":29.938456,\"lng\":-95.383082,\"g\":\"hou\",\"note\":\"\"},{\"r\":21,\"c\":\"Houston\",\"n\":\"South Sam Houston Pkwy E & Telephone Rd\",\"x\":33,\"i\":25,\"lat\":29.60059,\"lng\":-95.286257,\"g\":\"hou\",\"note\":\"\"},{\"r\":22,\"c\":\"Leon Valley\",\"n\":\"Bandera Rd & Wurzbach Rd\",\"x\":33,\"i\":22,\"lat\":29.484538,\"lng\":-98.604507,\"g\":\"sat\",\"note\":\"San Antonio metro; 20.6 percent of all Leon Valley crashes\"},{\"r\":23,\"c\":\"Houston\",\"n\":\"Shepherd Dr & Victory Dr\",\"x\":33,\"i\":27,\"lat\":29.870382,\"lng\":-95.412489,\"g\":\"hou\",\"note\":\"\"},{\"r\":24,\"c\":\"Round Rock\",\"n\":\"IH-35 South Frontage & Louis Henna Blvd\",\"x\":32,\"i\":12,\"lat\":30.479809,\"lng\":-97.673241,\"g\":\"rest\",\"note\":\"\"},{\"r\":25,\"c\":\"Lubbock\",\"n\":\"Loop 289 & Slide Rd\",\"x\":32,\"i\":29,\"lat\":33.596598,\"lng\":-101.923695,\"g\":\"rest\",\"note\":\"\"},{\"r\":26,\"c\":\"Lubbock\",\"n\":\"Loop 289 & University Ave\",\"x\":31,\"i\":26,\"lat\":33.52882,\"lng\":-101.870503,\"g\":\"rest\",\"note\":\"\"},{\"r\":27,\"c\":\"Houston\",\"n\":\"Macgregor Way & South Fwy\",\"x\":31,\"i\":12,\"lat\":29.716,\"lng\":-95.3745,\"g\":\"hou\",\"note\":\"\"},{\"r\":28,\"c\":\"Carrollton\",\"n\":\"Old Denton Rd & Trinity Mills Rd\",\"x\":30,\"i\":11,\"lat\":32.982577,\"lng\":-96.909999,\"g\":\"dfw\",\"note\":\"HOME MARKET; J. Alexander has a Carrollton service page\"},{\"r\":29,\"c\":\"Houston\",\"n\":\"Fannin St & Pease St\",\"x\":30,\"i\":20,\"lat\":29.751202,\"lng\":-95.368199,\"g\":\"hou\",\"note\":\"\"},{\"r\":30,\"c\":\"Lubbock\",\"n\":\"Loop 289 & Quaker Ave\",\"x\":30,\"i\":29,\"lat\":33.530514,\"lng\":-101.907137,\"g\":\"rest\",\"note\":\"\"},{\"r\":31,\"c\":\"Beaumont\",\"n\":\"College St & IH-10\",\"x\":30,\"i\":13,\"lat\":30.068291,\"lng\":-94.135083,\"g\":\"rest\",\"note\":\"\"},{\"r\":32,\"c\":\"San Antonio\",\"n\":\"Culebra Rd & Zarzamora St\",\"x\":30,\"i\":15,\"lat\":29.445145,\"lng\":-98.524954,\"g\":\"sat\",\"note\":\"HOME MARKET (San Antonio office)\"},{\"r\":33,\"c\":\"Webster\",\"n\":\"IH-45 E Frontage & NASA Pkwy\",\"x\":30,\"i\":13,\"lat\":29.5408,\"lng\":-95.1474,\"g\":\"hou\",\"note\":\"\"},{\"r\":34,\"c\":\"Houston\",\"n\":\"Greens Rd & John F Kennedy Blvd\",\"x\":29,\"i\":12,\"lat\":29.951539,\"lng\":-95.33188,\"g\":\"hou\",\"note\":\"\"},{\"r\":35,\"c\":\"Dallas\",\"n\":\"Market Center Blvd & Stemmons Fwy\",\"x\":29,\"i\":21,\"lat\":32.801286,\"lng\":-96.826814,\"g\":\"dfw\",\"note\":\"HOME MARKET; I-35E frontage near Design District\"},{\"r\":36,\"c\":\"Abilene\",\"n\":\"Danville Dr & Southwest Dr\",\"x\":29,\"i\":18,\"lat\":32.413062,\"lng\":-99.77435,\"g\":\"rest\",\"note\":\"\"},{\"r\":37,\"c\":\"Round Rock\",\"n\":\"Greenlawn Blvd & Louis Henna Blvd\",\"x\":29,\"i\":12,\"lat\":30.483236,\"lng\":-97.66065,\"g\":\"rest\",\"note\":\"\"},{\"r\":38,\"c\":\"Lubbock\",\"n\":\"Loop 289 & Marsha Sharp Fwy\",\"x\":28,\"i\":28,\"lat\":33.554172,\"lng\":-101.939201,\"g\":\"rest\",\"note\":\"Loop 289 has 4 entries in the top 50; 265 total crashes at its intersections in 2025\"},{\"r\":39,\"c\":\"Plano\",\"n\":\"Dallas Pkwy & Legacy Dr\",\"x\":28,\"i\":16,\"lat\":33.078081,\"lng\":-96.825106,\"g\":\"dfw\",\"note\":\"DFW market\"},{\"r\":40,\"c\":\"San Antonio\",\"n\":\"Brooklyn Ave & Euclid Ave\",\"x\":28,\"i\":12,\"lat\":29.439464,\"lng\":-98.490426,\"g\":\"sat\",\"note\":\"HOME MARKET\"},{\"r\":41,\"c\":\"Pearland\",\"n\":\"Broadway St & South Fwy\",\"x\":28,\"i\":10,\"lat\":29.555999,\"lng\":-95.38714,\"g\":\"hou\",\"note\":\"\"},{\"r\":42,\"c\":\"San Antonio\",\"n\":\"Hunt Ln & Potranco Rd\",\"x\":27,\"i\":13,\"lat\":29.441218,\"lng\":-98.668508,\"g\":\"sat\",\"note\":\"HOME MARKET\"},{\"r\":43,\"c\":\"Lufkin\",\"n\":\"Frank Ave & John Redditt Dr\",\"x\":27,\"i\":9,\"lat\":31.333089,\"lng\":-94.75941,\"g\":\"rest\",\"note\":\"\"},{\"r\":44,\"c\":\"Dallas\",\"n\":\"Hillcrest Rd & Lyndon B Johnson Fwy\",\"x\":27,\"i\":16,\"lat\":32.925249,\"lng\":-96.786157,\"g\":\"dfw\",\"note\":\"HOME MARKET; I-635 frontage\"},{\"r\":45,\"c\":\"Corpus Christi\",\"n\":\"Padre Island Dr & Rodd Field Rd\",\"x\":27,\"i\":2,\"lat\":27.693761,\"lng\":-97.341283,\"g\":\"rest\",\"note\":\"\"},{\"r\":46,\"c\":\"Houston\",\"n\":\"Main St & Post Oak Rd\",\"x\":27,\"i\":15,\"lat\":29.64671,\"lng\":-95.46354,\"g\":\"hou\",\"note\":\"\"},{\"r\":47,\"c\":\"Killeen\",\"n\":\"Clear Creek Rd & Stan Schlueter Loop\",\"x\":27,\"i\":19,\"lat\":31.092173,\"lng\":-97.807681,\"g\":\"rest\",\"note\":\"\"},{\"r\":48,\"c\":\"Harlingen\",\"n\":\"Colonel Bill Card Jr & Harrison Ave\",\"x\":26,\"i\":18,\"lat\":26.1907,\"lng\":-97.7245,\"g\":\"rest\",\"note\":\"\"},{\"r\":49,\"c\":\"Houston\",\"n\":\"Chartres St & Congress St\",\"x\":26,\"i\":6,\"lat\":29.757068,\"lng\":-95.352136,\"g\":\"hou\",\"note\":\"\"},{\"r\":50,\"c\":\"Harlingen\",\"n\":\"US-77 & Wilson Rd\",\"x\":26,\"i\":15,\"lat\":26.211428,\"lng\":-97.721468,\"g\":\"rest\",\"note\":\"\"}];\n\/* ---- projection ---- *\/\nconst MINLON=-106.643603, MAXLON=-93.526331, MINLAT=25.887551, MAXLAT=36.501861;\nconst KX=Math.cos(((MINLAT+MAXLAT)\/2)*Math.PI\/180);\nconst W=1000, SPANX=(MAXLON-MINLON)*KX, SPANY=(MAXLAT-MINLAT), H=W*SPANY\/SPANX;\nconst px=(lng,lat)=>[(lng-MINLON)*KX\/SPANX*W,(MAXLAT-lat)\/SPANY*H];\nconst NS='http:\/\/www.w3.org\/2000\/svg';\nconst svg=document.getElementById('map');\nconst zoomG=document.getElementById('zoomG');\nconst pinsG=document.getElementById('pins');\nconst badgesG=document.getElementById('badges');\nconst heroG=document.getElementById('hero');\nconst route=document.getElementById('route');\nconst rowsEl=document.getElementById('rows');\nconst tip=document.getElementById('tip');\nconst detail=document.getElementById('detail');\nconst mapbox=document.getElementById('mapbox');\nconst tilt=document.getElementById('tilt');\nconst rScale=c=>3.5+(c-26)\/(77-26)*6.5;\nlet selected=null;\nconst reduced=matchMedia('(prefers-reduced-motion: reduce)').matches;\n\/* ---- hero pin: Dallas office ---- *\/\nconst HQ=px(-96.7665,32.9217);\nheroG.innerHTML=`\n  <circle class=\"disc\" cx=\"${HQ[0]}\" cy=\"${HQ[1]}\" r=\"24\"\/>\n  <g class=\"glyph\" transform=\"translate(${HQ[0]-5.5},${HQ[1]-13.5})\">\n    <rect x=\"0\" y=\"3\" width=\"11\" height=\"13\"\/>\n    <line x1=\"2.7\" y1=\"6\" x2=\"8.3\" y2=\"6\"\/><line x1=\"2.7\" y1=\"9\" x2=\"8.3\" y2=\"9\"\/>\n    <line x1=\"2.7\" y1=\"12\" x2=\"8.3\" y2=\"12\"\/><line x1=\"5.5\" y1=\"0\" x2=\"5.5\" y2=\"3\"\/>\n  <\/g>\n  <text x=\"${HQ[0]}\" y=\"${HQ[1]+14.5}\" font-size=\"7.6\" text-anchor=\"middle\">J. ALEXANDER<\/text>`;\n\/* ---- glowing highway network ---- *\/\nconst ROADS=[ \/\/ [lng,lat] waypoints, p=1 -> gets a light pulse\n {p:1,w:[[-99.5,27.5],[-98.5,29.42],[-97.74,30.27],[-97.13,31.55],[-97.05,32.4],[-97.0,32.95],[-97.13,33.62]]},                 \/\/ I-35\n {p:1,w:[[-106.45,31.76],[-104.0,31.05],[-102.88,30.89],[-101.2,30.7],[-99.77,30.49],[-98.55,29.46],[-96.9,29.6],[-95.36,29.76],[-93.74,30.09]]}, \/\/ I-10\n {p:1,w:[[-103.5,31.42],[-102.1,31.99],[-100.9,32.25],[-99.73,32.45],[-98.4,32.6],[-97.32,32.74],[-96.78,32.78],[-95.3,32.55],[-94.04,32.5]]},   \/\/ I-20\n {p:1,w:[[-94.8,29.3],[-95.36,29.76],[-95.55,30.72],[-96.1,31.4],[-96.47,32.09],[-96.8,32.78]]},                                 \/\/ I-45\n {p:0,w:[[-103.04,35.2],[-101.83,35.19],[-100.25,35.22]]},                                                                       \/\/ I-40\n {p:0,w:[[-101.85,33.58],[-101.83,35.19]]},                                                                                      \/\/ I-27\n {p:1,w:[[-101.83,35.19],[-100.2,34.43],[-98.5,33.91],[-97.32,32.78]]},                                                          \/\/ US-287\n {p:1,w:[[-98.5,29.42],[-98.0,28.6],[-97.4,27.8]]},                                                                              \/\/ I-37\n {p:0,w:[[-97.4,27.8],[-97.7,26.19],[-97.5,25.92]]},                                                                             \/\/ US-77\n {p:0,w:[[-99.5,27.5],[-98.8,26.6],[-98.23,26.2],[-97.7,26.19]]},                                                                \/\/ US-83 valley\n {p:1,w:[[-95.36,29.76],[-94.73,31.34],[-94.4,32.4],[-94.04,33.43]]},                                                            \/\/ US-59\/I-69\n {p:1,w:[[-96.8,32.78],[-95.7,33.0],[-94.05,33.43]]},                                                                            \/\/ I-30\n {p:0,w:[[-100.44,31.46],[-101.48,32.25],[-101.85,33.58]]},                                                                      \/\/ US-87\n {p:0,w:[[-98.5,33.91],[-98.5,32.9],[-98.52,29.46]]},                                                                            \/\/ US-281\n {p:0,w:[[-95.36,29.76],[-96.0,30.6],[-96.33,30.63],[-96.7,31.55],[-97.13,31.55]]},                                              \/\/ TX-6\/US-77 Waco\n];\nfunction smooth(pts){ \/\/ Catmull-Rom -> cubic bezier\n  if(pts.length<3)return 'M'+pts.map(p=>p.join(',')).join(' L');\n  let d='M'+pts[0].join(',');\n  for(let i=0;i<pts.length-1;i++){\n    const p0=pts[Math.max(0,i-1)],p1=pts[i],p2=pts[i+1],p3=pts[Math.min(pts.length-1,i+2)];\n    const c1=[p1[0]+(p2[0]-p0[0])\/6,p1[1]+(p2[1]-p0[1])\/6];\n    const c2=[p2[0]-(p3[0]-p1[0])\/6,p2[1]-(p3[1]-p1[1])\/6];\n    d+=`C${c1[0].toFixed(1)},${c1[1].toFixed(1)} ${c2[0].toFixed(1)},${c2[1].toFixed(1)} ${p2[0].toFixed(1)},${p2[1].toFixed(1)}`;\n  }\n  return d;\n}\nconst netG=document.getElementById('net');\nconst nfrag=document.createDocumentFragment();\nROADS.forEach((r,i)=>{\n  const pts=r.w.map(([lng,lat])=>px(lng,lat));\n  const d=smooth(pts);\n  ['r-glow1','r-glow2','r-core'].forEach(cls=>{\n    const p=document.createElementNS(NS,'path');\n    p.setAttribute('class',cls);p.setAttribute('d',d);\n    nfrag.appendChild(p);\n  });\n  if(r.p?!reduced:false){\n    const p=document.createElementNS(NS,'path');\n    p.setAttribute('class','r-pulse');p.setAttribute('d',d);\n    p.style.animationDuration=(7+(i*2.7)%6)+'s';\n    p.style.animationDelay=(-(i*1.9)%7)+'s';\n    nfrag.appendChild(p);\n  }\n});\nnetG.appendChild(nfrag);\n\/* water core + pixel swarm: fluid glow at the cursor blending into big organic pixels *\/\nconst blocksG=document.getElementById('blocks');\nlet seed=7;const rnd=()=>(seed=(seed*16807)%2147483647)\/2147483647;\nconst bfrag=document.createDocumentFragment();\n\/* master halo: one gradient spanning the whole light radius *\/\nconst HALO=document.createElementNS(NS,'ellipse');\nHALO.setAttribute('fill','url(#halog)');\nHALO.setAttribute('opacity','0');\nbfrag.appendChild(HALO);\n\/* 3 overlapping gradient blobs = the hot center of the same gradient *\/\nconst CORES=[];\nfor(let i=0;i<3;i++){\n  const c=document.createElementNS(NS,'circle');\n  c.setAttribute('fill','url(#waterg)');\n  c.setAttribute('opacity','0');\n  CORES.push({el:c,r0:72+i*16,ph:rnd()*Math.PI*2,f1:.5+rnd()*.5,f2:.4+rnd()*.6,drift:16+i*8,o:[.9,.6,.45][i]});\n  bfrag.appendChild(c);\n}\n\/* full-map pixel grid: the screen itself is tiles, lit radially from the cursor *\/\nconst TILES=[];\nconst TSZ=36, TGAP=3;\nfor(let ty=0;ty<946;ty+=TSZ){\n  for(let tx=0;tx<1000;tx+=TSZ){\n    const r=document.createElementNS(NS,'rect');\n    r.setAttribute('x',tx+TGAP\/2);r.setAttribute('y',ty+TGAP\/2);\n    r.setAttribute('width',TSZ-TGAP);r.setAttribute('height',TSZ-TGAP);\n    r.setAttribute('rx',2);\n    r.setAttribute('fill','#F3B937');\n    r.setAttribute('opacity','0');\n    TILES.push({el:r,cx:tx+TSZ\/2,cy:ty+TSZ\/2,base:.55+rnd()*.45,ph:rnd()*Math.PI*2,last:0,tier:0});\n    bfrag.appendChild(r);\n  }\n}\nblocksG.appendChild(bfrag);\n\/* ---- pins + list ---- *\/\nconst frag=document.createDocumentFragment();\nconst rfrag=document.createDocumentFragment();\nDATA.forEach((d,idx)=>{\n  const [x,y]=px(d.lng,d.lat);\n  d.px=x; d.py=y;\n  const g=document.createElementNS(NS,'g');\n  g.setAttribute('class','pin');\n  g.dataset.r=d.r; g.dataset.g=d.g;\n  g.style.animationDelay=(2.3+idx*0.04)+'s';\n  g.innerHTML=`<circle cx=\"${x}\" cy=\"${y}\" r=\"14\" fill=\"transparent\"><\/circle>\n    <circle class=\"core\" cx=\"${x}\" cy=\"${y}\" r=\"${rScale(d.x)}\"><\/circle>`;\n  g.addEventListener('mouseenter',e=>showTip(d,e));\n  g.addEventListener('mousemove',moveTip);\n  g.addEventListener('mouseleave',hideTip);\n  g.addEventListener('click',()=>select(d.r,true));\n  frag.appendChild(g);\n  const row=document.createElement('div');\n  row.className='row'; row.dataset.r=d.r; row.dataset.g=d.g;\n  row.setAttribute('tabindex','0');\n  row.innerHTML=`<div class=\"num\">No.${d.r}<\/div>\n    <div><div class=\"nm\">${d.n}<\/div><div class=\"ct\">${d.c}, Texas<\/div><\/div>\n    <div class=\"cr\">${d.x}<span>${d.i} injured<\/span><\/div>`;\n  row.addEventListener('click',()=>select(d.r,false));\n  row.addEventListener('keydown',e=>{if(e.key==='Enter')select(d.r,false)});\n  rfrag.appendChild(row);\n});\npinsG.appendChild(frag);\nrowsEl.appendChild(rfrag);\n\/* ---- region cluster markers ---- *\/\nconst CLUSTERS=[\n {g:'dfw',name:'DALLAS\\u2013FORT WORTH',lng:-98.35,lat:33.65},\n {g:'hou',name:'HOUSTON',lng:-94.45,lat:30.65},\n {g:'sat',name:'SAN ANTONIO',lng:-99.85,lat:28.55},\n];\nCLUSTERS.forEach((c,i)=>{\n  const [x,y]=px(c.lng,c.lat);\n  const n=DATA.filter(d=>d.g===c.g).length;\n  const tag=`${n} INTERSECTIONS`;\n  const tw=tag.length*5.4+16;\n  const g=document.createElementNS(NS,'g');\n  g.setAttribute('class','cluster');\n  g.style.animationDelay=(3+i*.3)+'s';\n  g.innerHTML=`\n    <rect class=\"diamond\" x=\"${x-9}\" y=\"${y-9}\" width=\"18\" height=\"18\" transform=\"rotate(45 ${x} ${y})\"\/>\n    <rect class=\"dot\" x=\"${x-2.2}\" y=\"${y-2.2}\" width=\"4.4\" height=\"4.4\"\/>\n    <rect class=\"tag-bg\" x=\"${x-tw\/2}\" y=\"${y+15}\" width=\"${tw}\" height=\"13\" rx=\"1.5\"\/>\n    <text class=\"tag\" x=\"${x}\" y=\"${y+24.4}\" font-size=\"7.4\">${tag}<\/text>\n    <text class=\"cname\" x=\"${x}\" y=\"${y+43}\" font-size=\"11.5\">${c.name}<\/text>`;\n  g.addEventListener('click',()=>{\n    document.querySelector(`.hud-regions .chip[data-g=\"${c.g}\"]`).click();\n  });\n  badgesG.appendChild(g);\n});\n\/* ---- selection: route trace + detail strip ---- *\/\nfunction select(rank,fromMap){\n  selected = selected===rank ? null : rank;\n  document.querySelectorAll('.pin').forEach(p=>p.classList.toggle('sel',+p.dataset.r===selected));\n  document.querySelectorAll('.row').forEach(r=>{\n    const on=+r.dataset.r===selected;\n    r.classList.toggle('sel',on);\n    if(on?fromMap:false)r.scrollIntoView({block:'nearest',behavior:'smooth'});\n  });\n  if(selected==null){route.classList.remove('show');detail.classList.remove('show');return}\n  const d=DATA.find(v=>v.r===selected);\n  const mx=(HQ[0]+d.px)\/2, my=(HQ[1]+d.py)\/2;\n  const dx=d.px-HQ[0], dy=d.py-HQ[1], len=Math.hypot(dx,dy)||1;\n  const cx=mx-dy\/len*Math.min(len*.22,70), cy=my+dx\/len*Math.min(len*.22,70);\n  route.setAttribute('d',`M${HQ[0]},${HQ[1]} Q${cx},${cy} ${d.px},${d.py}`);\n  const L=route.getTotalLength();\n  route.style.setProperty('--len',L);\n  route.classList.remove('show'); void route.getBoundingClientRect();\n  route.style.strokeDasharray=`${L}`;\n  route.classList.add('show');\n  setTimeout(()=>{route.style.strokeDasharray='5 5'},950);\n  detail.innerHTML=`\n    <div class=\"d-rank\">${d.r<10?'0'+d.r:d.r}<\/div>\n    <div><div class=\"d-name\">${d.n}<\/div><div class=\"d-city\">${d.c}, Texas<\/div><\/div>\n    <div class=\"d-stat\"><b>${d.x}<\/b><span>Crashes<\/span><\/div>\n    <div class=\"d-stat\"><b>${d.i}<\/b><span>Injuries<\/span><\/div>\n    <div class=\"d-stat\"><b>${(d.i\/d.x).toFixed(2)}<\/b><span>Inj \/ crash<\/span><\/div>\n    ${d.note?`<div class=\"d-note\">${d.note}<\/div>`:''}`;\n  detail.classList.add('show');\n}\n\/* ---- tooltip ---- *\/\nfunction showTip(d,e){\n  tip.innerHTML=`<div class=\"rk\">No. ${d.r} in Texas<\/div>\n    <h3>${d.n}<\/h3><div class=\"city\">${d.c}, Texas<\/div>\n    <div class=\"nums\">\n      <div><b>${d.x}<\/b><span>Crashes<\/span><\/div>\n      <div><b>${d.i}<\/b><span>Injuries<\/span><\/div>\n      <div><b>${(d.i\/d.x).toFixed(2)}<\/b><span>Inj \/ crash<\/span><\/div>\n    <\/div>`;\n  tip.classList.add('show'); moveTip(e);\n}\nfunction moveTip(e){\n  const m=16,w=tip.offsetWidth,h=tip.offsetHeight;\n  let x=e.clientX+m,y=e.clientY+m;\n  if(x+w>innerWidth-10)x=e.clientX-w-m;\n  if(y+h>innerHeight-10)y=e.clientY-h-m;\n  tip.style.left=x+'px';tip.style.top=y+'px';\n}\nfunction hideTip(){tip.classList.remove('show')}\n\/* ---- filters ---- *\/\nlet activeG='all';\ndocument.querySelectorAll('.chip').forEach(ch=>{\n  ch.addEventListener('click',()=>{\n    document.querySelectorAll('.chip').forEach(c=>c.classList.remove('on'));\n    ch.classList.add('on');\n    activeG=ch.dataset.g;\n    document.querySelectorAll('.pin').forEach(p=>p.classList.toggle('dim',activeG!=='all'?p.dataset.g!==activeG:false));\n    document.querySelectorAll('.row').forEach(r=>r.classList.toggle('hide',activeG!=='all'?r.dataset.g!==activeG:false));\n    syncBadges();\n  });\n});\n\/* ---- 3D FOLLOW + AUTO-MAGNIFY (no scroll, no drag) ---- *\/\nconst heroScale=document.getElementById('heroScale');\nlet PINELS=null;\nconst Z={s:1,cx:510,cy:473};\nconst T={s:1,cx:510,cy:473,rx:0,ry:0};\nconst ZLEVEL=1.5, EASE=0.065;\nlet cRX=0,cRY=0,raf=null,glow=0,glowT=0;\nconst interactive=reduced?false:matchMedia('(pointer:fine)').matches;\nfunction clampT(t,s,span){const min=-(s-1)*span;return Math.min(0,Math.max(min,t))}\nfunction applyView(){\n  const tx=clampT(Z.cx*(1-Z.s),Z.s,1020);\n  const ty=clampT(Z.cy*(1-Z.s),Z.s,966);\n  zoomG.setAttribute('transform',`translate(${tx} ${ty}) scale(${Z.s})`);\n  const kh=1\/Z.s;\n  heroScale.setAttribute('transform',`translate(${HQ[0]*(1-kh)},${HQ[1]*(1-kh)}) scale(${kh})`);\n  if(!PINELS)PINELS=[...document.querySelectorAll('.pin')].map(el=>{\n    const c=el.querySelector('.core');\n    return {el,x:+c.getAttribute('cx'),y:+c.getAttribute('cy')};\n  });\n  const kp=1\/Math.sqrt(Z.s);\n  PINELS.forEach(p=>p.el.setAttribute('transform',\n    Z.s<1.02?'':`translate(${p.x*(1-kp)},${p.y*(1-kp)}) scale(${kp})`));\n  syncBadges();\n  \/* HUD: zoom readout + scale bar *\/\n  if(hudZl){\n    hudZl.textContent=Z.s.toFixed(2)+'X';\n    const pxPerMi=(mapbox.clientWidth\/1020)*(1020\/770)*Z.s; \/* TX ~770mi wide *\/\n    let mi=200;for(const m of [200,100,50,25]){if(m*pxPerMi<=170){mi=m;break}}\n    hudMi.textContent=mi+' MI';\n    hudBar.style.width=(mi*pxPerMi).toFixed(0)+'px';\n  }\n}\nconst hudZl=document.getElementById('hudZl'),hudMi=document.getElementById('hudMi'),\n      hudBar=document.getElementById('hudBar'),needle=document.getElementById('needle'),\n      hudDeg=document.getElementById('hudDeg');\nconst SPOT_R=340, INNER=80, BLEND=110;\nconst FILLS=['#F3B937','#f9cf6b','#ffe49a'];   \/\/ outer -> center\nfunction updateBlocks(){\n  const time=performance.now()\/1000;\n  if(glow<.004){\n    HALO.setAttribute('opacity','0');\n    for(const c of CORES)c.el.setAttribute('opacity','0');\n    for(const t of TILES){if(t.last>0){t.el.setAttribute('opacity','0');t.last=0}}\n    return;\n  }\n  HALO.setAttribute('cx',Z.cx.toFixed(1));\n  HALO.setAttribute('cy',Z.cy.toFixed(1));\n  HALO.setAttribute('rx',(SPOT_R*(1.04+0.06*Math.sin(time*.5))).toFixed(0));\n  HALO.setAttribute('ry',(SPOT_R*(0.90+0.06*Math.sin(time*.5+2.2))).toFixed(0));\n  HALO.setAttribute('transform',`rotate(${(time*9)%360} ${Z.cx.toFixed(1)} ${Z.cy.toFixed(1)})`);\n  HALO.setAttribute('opacity',glow.toFixed(3));\n  for(const c of CORES){\n    const r=c.r0+Math.sin(time*c.f1+c.ph)*19;\n    c.el.setAttribute('cx',(Z.cx+Math.cos(time*c.f2+c.ph)*c.drift).toFixed(1));\n    c.el.setAttribute('cy',(Z.cy+Math.sin(time*c.f1*1.3+c.ph)*c.drift).toFixed(1));\n    c.el.setAttribute('r',r.toFixed(1));\n    c.el.setAttribute('opacity',(c.o*glow).toFixed(3));\n  }\n  for(const p of TILES){\n    const dx=p.cx-Z.cx, dy=p.cy-Z.cy;\n    const ang=Math.atan2(dy,dx);\n    \/* angular noise warps the light field into a living, non-circular shape *\/\n    const warp=1+.16*Math.sin(3*ang+time*.5)+.11*Math.sin(5*ang-time*.33+2.1)+.07*Math.sin(8*ang+time*.21+4.2);\n    const d=Math.sqrt(dx*dx+dy*dy)\/warp;\n    const t=Math.max(0,1-d\/SPOT_R);\n    let o=0;\n    if(Math.min(t,d-INNER)>0){\n      \/* smooth-step blend from the organic center into the pixel grid *\/\n      let b=Math.min(1,(d-INNER)\/BLEND);\n      b=b*b*(3-2*b);\n      const shimmer=.86+.14*Math.sin(time*1.1+p.ph);\n      o=glow*p.base*shimmer*(t*t)*.55*b;\n    }\n    if(Math.max(o,p.last)<.004)continue;             \/\/ skip dark tiles\n    p.el.setAttribute('opacity',o.toFixed(3));\n    p.last=o;\n    \/* continuous color blend center->rim, locked to the same warped gradient *\/\n    const k=Math.min(1,t*1.25);\n    if(Math.abs(k-(p.k||0))>0.05){\n      p.k=k;\n      p.el.setAttribute('fill',`rgb(${Math.round(243+12*k)},${Math.round(185+43*k)},${Math.round(55+99*k)})`);\n    }\n  }\n}\nfunction frame(){\n  Z.s+=(T.s-Z.s)*EASE;\n  Z.cx+=(T.cx-Z.cx)*EASE;\n  Z.cy+=(T.cy-Z.cy)*EASE;\n  cRX+=(T.rx-cRX)*.08;\n  cRY+=(T.ry-cRY)*.08;\n  glow+=(glowT-glow)*.09;\n  updateBlocks();\n  tilt.style.transform=`rotateX(${cRX}deg) rotateY(${cRY}deg) translateZ(0)`;\n  if(needle){\n    const hdg=cRY*3.2;\n    needle.setAttribute('transform',`rotate(${hdg.toFixed(2)} 46 46)`);\n    hudDeg.textContent=String(Math.round((hdg+360)%360)%360).padStart(3,'0')+'\\u00b0';\n  }\n  applyView();\n  const settled=[Math.abs(T.s-Z.s)<.004,Math.abs(T.cx-Z.cx)<.3,Math.abs(T.cy-Z.cy)<.3,\n    Math.abs(T.rx-cRX)<.02,Math.abs(T.ry-cRY)<.02,glowT===0,glow<.004].every(Boolean);\n  if(settled){\n    Z.s=T.s;Z.cx=T.cx;Z.cy=T.cy;cRX=T.rx;cRY=T.ry;glow=glowT;updateBlocks();\n    tilt.style.transform=`rotateX(${cRX}deg) rotateY(${cRY}deg) translateZ(0)`;\n    applyView();raf=null;\n  }else{raf=requestAnimationFrame(frame)}\n}\nfunction kick(){if(!raf)raf=requestAnimationFrame(frame)}\nfunction svgPoint(e){\n  const pt=svg.createSVGPoint();\n  pt.x=e.clientX; pt.y=e.clientY;\n  return pt.matrixTransform(svg.getScreenCTM().inverse());\n}\nif(interactive){\n  mapbox.addEventListener('mousemove',e=>{\n    \/* magnify target: the base-map point under the cursor *\/\n    const inv=svgPoint(e);\n    \/* invert current view transform to get base coords *\/\n    const tx=clampT(Z.cx*(1-Z.s),Z.s,1020), ty=clampT(Z.cy*(1-Z.s),Z.s,966);\n    T.cx=(inv.x-tx)\/Z.s;\n    T.cy=(inv.y-ty)\/Z.s;\n    T.s=ZLEVEL;\n    \/* 3d tilt target *\/\n    const r=mapbox.getBoundingClientRect();\n    const nx=(e.clientX-r.left)\/r.width, ny=(e.clientY-r.top)\/r.height;\n    T.rx=(0.5-ny)*4; T.ry=(nx-0.5)*5;\n    glowT=1;\n    kick();\n  });\n  mapbox.addEventListener('mouseleave',()=>{T.s=1;T.rx=0;T.ry=0;glowT=0;kick()});\n}\nfunction syncBadges(){\n  badgesG.style.opacity = Z.s<1.22 ? 1 : 0;\n  badgesG.style.transition='opacity .3s ease';\n  badgesG.style.pointerEvents = Z.s<1.22 ? 'auto' : 'none';\n}\n\/* ---- count-up ---- *\/\nfunction countUp(el){\n  const end=+el.dataset.count,dur=1600,t0=performance.now();\n  const ease=t=>1-Math.pow(1-t,3);\n  (function tick(t){\n    const p=Math.min((t-t0)\/dur,1);\n    el.textContent=Math.round(end*ease(p)).toLocaleString('en-US');\n    if(p<1)requestAnimationFrame(tick);\n  })(t0);\n}\nif(reduced){\n  document.querySelectorAll('[data-count]').forEach(el=>el.textContent=(+el.dataset.count).toLocaleString('en-US'));\n}else{\n  document.querySelectorAll('[data-count]').forEach(countUp);\n  document.querySelector('.jalex-txmap').classList.add('animate');\n}\n\/* structured data is now emitted as static JSON-LD at the top of this block *\/\n\/* ---- embed code ---- *\/\nconst EMBED=`<iframe src=\"https:\/\/severeinjurylawyers.com\/widgets\/texas-dangerous-intersections\/\" width=\"100%\" height=\"860\" style=\"border:0;\" loading=\"lazy\" title=\"The 50 Most Crash-Prone Intersections in Texas (2025 TxDOT Data)\"><\/iframe>\n<p style=\"font:13px\/1.5 sans-serif;\">Source: TxDOT CRIS crash data, 2025. Analysis and map by <a href=\"https:\/\/severeinjurylawyers.com\/\" target=\"_blank\" rel=\"noopener\">J. Alexander Law Firm, Dallas personal injury lawyers<\/a>.<\/p>`;\nconst ta=document.getElementById('embedcode'); ta.value=EMBED;\ndocument.getElementById('copybtn').addEventListener('click',async()=>{\n  try{await navigator.clipboard.writeText(EMBED)}catch(e){ta.select();document.execCommand('copy')}\n  const b=document.getElementById('copybtn');const t=b.textContent;\n  b.textContent='Copied';setTimeout(()=>b.textContent=t,1600);\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>TXTxDOT crash records \u00b7 Jan\u2013Dec 2025 The 50 most dangerous intersections in Texas. Texas recorded 617,930 crashes last year; one in four happened at an intersection. These are the fifty crossings where they piled up. Glide your mouse over the map; it zooms into your area on its own. 0Crashes statewide 0At intersections 0Intersections tracked [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2653,"parent":1711,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"_seopress_titles_title":"The 50 Most Dangerous Intersections in Texas (2025 Map)","_seopress_titles_desc":"Interactive map of the 50 most dangerous intersections in Texas, ranked by 2025 TxDOT crash data. See the worst spots in Dallas, Houston, and San Antonio.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"_gspb_post_css":"","footnotes":""},"class_list":["post-1684","page","type-page","status-publish","has-post-thumbnail","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/pages\/1684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/comments?post=1684"}],"version-history":[{"count":11,"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/pages\/1684\/revisions"}],"predecessor-version":[{"id":2971,"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/pages\/1684\/revisions\/2971"}],"up":[{"embeddable":true,"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/pages\/1711"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/media\/2653"}],"wp:attachment":[{"href":"https:\/\/severeinjurylawyers.com\/es\/wp-json\/wp\/v2\/media?parent=1684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}