:root{--world:#12A0D7;--sport:#FF4B44;--tech:#D97706;--market:#00954C;--science:#0D9488;--culture:#DB2777;--master:#6D28D9;--ink:#111;--grey:#666;--line:#e5e5e5}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.55}
a{color:inherit}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
.topbar{font-family:Helvetica,Arial,sans-serif;font-size:12px;color:var(--grey);display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.masthead{background:#000;color:#fff;text-align:left;padding:26px 30px;margin:14px 0 0}
.masthead .brand{font-size:52px;font-weight:700;letter-spacing:.5px;line-height:1}
.masthead .tagline{font-style:italic;font-size:18px;margin-top:6px;color:#ddd}
.masthead a{text-decoration:none;color:#fff}
nav.sections{font-family:Helvetica,Arial,sans-serif;display:flex;gap:22px;padding:12px 0;border-bottom:3px solid #000;flex-wrap:wrap}
nav.sections a{text-decoration:none;font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.06em}
nav.sections a:hover{text-decoration:underline}
.navitem{position:relative;display:inline-block;padding-bottom:12px;margin-bottom:-12px}
.navitem .dropdown{display:none;position:absolute;top:100%;left:-12px;background:#fff;border:1px solid var(--line);border-top:3px solid #000;padding:8px 0;min-width:210px;z-index:60;box-shadow:0 10px 24px rgba(0,0,0,.10)}
.navitem:hover .dropdown,.navitem:focus-within .dropdown{display:block}
.navitem .dropdown a{display:block;padding:7px 14px;font-size:13px;color:var(--ink)}
.navitem .dropdown a:hover{background:#f6f6f6;text-decoration:none}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px;font-family:Helvetica,Arial,sans-serif}
.chips a{text-decoration:none;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1.5px solid #111;padding:6px 12px;border-radius:999px;color:var(--ink)}
.chips a:hover{background:#111;color:#fff}
.chips a.on{background:#111;color:#fff}
.subcats{font-family:Helvetica,Arial,sans-serif;font-size:13.5px;margin:2px 0 12px;color:var(--grey)}
.subcats a{text-decoration:none;font-weight:700}
.subcats a:hover{text-decoration:underline}
.crumb{font-family:Helvetica,Arial,sans-serif;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);margin:18px 0 2px}
.crumb a{text-decoration:none;font-weight:700}
.crumb a:hover{text-decoration:underline}
.ad{font-family:Helvetica,Arial,sans-serif;border:1px dashed #bbb;color:#999;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:#fafafa}
.ad-leaderboard{height:90px;line-height:90px;margin:16px 0}
.ad-rect{height:250px;line-height:250px;margin:0 0 20px}
.ad-infeed{height:110px;line-height:110px;margin:22px 0}
.kicker{font-family:Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.kicker .bar{display:inline-block;width:26px;height:4px;margin-right:8px;vertical-align:middle}
h1{font-size:40px;line-height:1.12;margin:10px 0}
h2{font-size:27px;line-height:1.2;margin:8px 0}
.dek{font-size:19px;color:#333}
.dateline{font-family:Helvetica,Arial,sans-serif;font-size:12px;color:var(--grey);text-transform:uppercase;letter-spacing:.08em}
.lead{border-bottom:1px solid var(--line);padding:22px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;padding:8px 0 26px}
.card img{width:100%;height:auto;display:block;margin:0 0 8px}
.card .credit{font-family:Helvetica,Arial,sans-serif;font-size:11px;color:var(--grey);margin:4px 0 6px}
.card h3{font-size:21px;line-height:1.25;margin:6px 0}
.card h3 a{text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card p{color:#333;font-size:16px;margin:6px 0}
.section-head{font-family:Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:15px;border-bottom:2px solid #000;padding-bottom:6px;margin:30px 0 4px}
.layout{display:grid;grid-template-columns:1fr 300px;gap:34px;align-items:start}
@media(max-width:820px){.layout{grid-template-columns:1fr}.masthead .brand{font-size:38px}h1{font-size:31px}}
article p{font-size:18px}
figure{margin:20px 0}
figure img{max-width:100%;display:block}
figcaption{font-family:Helvetica,Arial,sans-serif;font-size:13px;color:var(--grey);margin-top:6px}
.pullstat{font-size:24px;font-weight:700;border-left:5px solid var(--master);padding:6px 0 6px 16px;margin:24px 0}
.sources{font-family:Helvetica,Arial,sans-serif;font-size:13.5px;color:#444;border-top:1px solid var(--line);padding-top:12px;margin-top:26px}
.gear{border:1px dashed #bbb;background:#fafafa;padding:18px;margin:26px 0}
.gear h3{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#999;margin:0 0 14px}
.gear .gitem{font-family:Helvetica,Arial,sans-serif;margin:0 0 16px}
.gear .gitem:last-of-type{margin-bottom:0}
.gear .gname{font-size:16px;font-weight:700;text-decoration:none}
.gear .gname:hover{text-decoration:underline}
.gear .gnote{font-size:14px;color:#333;margin:3px 0 5px}
.gear .gview{font-size:13.5px;font-weight:700;color:#0b5cad}
.gear .gdisc{font-family:Helvetica,Arial,sans-serif;font-size:12px;color:#777;margin:14px 0 0}
.sources a{color:#0b5cad}
.endblocks{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}
@media(max-width:700px){.endblocks{grid-template-columns:1fr}}
.endblock{border:1px solid var(--line);padding:18px}
.endblock h3{margin:0 0 8px;font-size:20px}
.btn{display:inline-block;font-family:Helvetica,Arial,sans-serif;background:#000;color:#fff;text-decoration:none;padding:9px 16px;font-size:14px;margin-top:8px}
.related{border-top:1px solid var(--line);margin-top:10px;padding-top:14px}
.related h3{font-family:Helvetica,Arial,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
footer{border-top:3px solid #000;margin-top:40px;padding:22px 0 34px;font-family:Helvetica,Arial,sans-serif;font-size:13.5px;color:#444}
footer .cols{display:flex;gap:40px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
footer .connect a{display:inline-flex;align-items:center;gap:7px;margin:3px 0}
footer .connect svg{flex:none;display:block}
.pagebody p{font-size:17.5px}
.pagebody h2{margin-top:28px}
.small{font-size:13px;color:var(--grey)}
#map{height:70vh;min-height:420px;border:1px solid var(--line);margin:18px 0;background:#f4f6f7}
.leaflet-popup-content{font-family:Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45}
.leaflet-popup-content .psec{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.leaflet-popup-content .plabel{color:var(--grey);font-size:12.5px}
.leaflet-popup-content .phead{font-family:Georgia,'Times New Roman',serif;font-size:16.5px;font-weight:700;margin:3px 0 5px}
.mapblock{border:1px solid var(--line);padding:18px;margin:26px 0}
.mapblock h3{margin:0 0 8px;font-size:20px}
.mapblock p{color:#333;font-size:16px;margin:6px 0}
.quiz{border:2px solid #111;padding:22px;margin:34px 0}
.quiz h2{margin:6px 0 8px}
.quiz-note{font-family:Helvetica,Arial,sans-serif;font-size:13px;color:var(--grey)}
.quiz-q{border-top:1px solid var(--line);padding:18px 0 4px;margin-top:14px}
.quiz-q h3{font-size:21px;line-height:1.3;margin:8px 0 12px}
.quiz-opts{display:grid;gap:8px}
button.quiz-opt{font-family:Helvetica,Arial,sans-serif;font-size:16px;text-align:left;padding:12px 14px;background:#fff;border:1.5px solid #111;cursor:pointer;color:var(--ink)}
button.quiz-opt:hover{background:#f4f4f4}
button.quiz-opt.quiz-right{border-color:var(--market);background:#eefaf3}
button.quiz-opt.quiz-wrong{border-color:var(--sport);background:#fef1f0}
button.quiz-opt:disabled{cursor:default;opacity:.92}
.quiz-explain{display:none;font-size:16.5px;line-height:1.55;margin:12px 0 4px}
.quiz-sliderbox{font-family:Helvetica,Arial,sans-serif;border:1.5px solid #111;padding:14px}
.quiz-sliderbox output{font-size:28px;font-weight:700;display:block;margin:6px 0}
.quiz-sliderbox input[type=range]{width:100%}
.quiz-reveal{display:none;margin-top:10px;font-size:15px;line-height:1.5;font-family:Georgia,'Times New Roman',serif}
.quiz-score{display:none;border:2px solid #111;padding:16px;margin-top:22px;text-align:center}
.quiz-score-line{font-size:28px;font-weight:700}
.quiz-score p{font-size:16px;line-height:1.5}
