/* Homepage density: readable type, shallow cards, map retained at laptop widths.
   Short-window rules reorganize secondary details; they never scale the page. */
body[data-page=home] .build-strip{display:none}
body[data-page=home] .masthead{height:64px;min-height:64px;padding-top:6px;padding-bottom:6px}
.dashboard{grid-template-columns:230px minmax(0,1fr);max-width:none}
.dashboard-main{padding:14px 16px 22px}
.dashboard-top{grid-template-columns:minmax(0,2.15fr) minmax(305px,1fr);gap:12px;align-items:stretch}
.dashboard .search-hero{min-height:0;height:286px;padding:19px 22px 13px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.dashboard .hero-copy{max-width:100%}
.dashboard .hero-copy h1{font-size:40px;line-height:1.02;margin:0 0 9px;max-width:80%;letter-spacing:-.045em}
.dashboard .hero-copy p{font:16px/1.35 var(--serif);margin:0;max-width:70%}
.dashboard .hero-motto{top:22px;right:15px;font-size:14px}
.dashboard .hero-motto span{font-size:11px}
.dashboard .search-box{height:43px}
.dashboard .search-box input{font-size:15px}
.dashboard .search-box .button{min-height:33px;padding:7px 22px;font-size:14px}
.dashboard .search-filter-grid{gap:8px;margin-top:9px;grid-template-columns:repeat(6,minmax(0,1fr))}
.dashboard .search-filter-grid label{font-size:11px;line-height:1.1;padding:5px 9px 2px}
.dashboard .search-filter-grid select{font-size:13px;padding:3px 13px 3px 0;line-height:1.2}
.dashboard .popular-topics{margin:0;gap:7px;font-size:13px}
.dashboard .popular-topics a{font-size:12px;padding:3px 11px}
.dashboard .hero-photo-credit{position:absolute;right:10px;bottom:5px;margin:0;font-size:8px}
.dashboard .map-panel{display:block;padding:13px 15px 8px;height:286px}
.dashboard .map-panel h2{font-size:19px;margin:0 0 9px}
.dashboard .country-tabs button{font-size:11px;padding:6px 4px}
.dashboard .map-body{grid-template-columns:1.25fr 1fr;margin-top:5px;gap:8px}
.dashboard .map-art{height:188px}
.dashboard .state-ranking h4{font-size:12px;margin-bottom:8px}
.dashboard .state-ranking>a{font-size:12px;gap:6px;margin:9px 0}
.dashboard .state-ranking p{font-size:11px;line-height:1.35;margin:10px 0 7px}
.dashboard .state-ranking .all-states{font-size:12px}
.dashboard .map-caption{font-size:9px;line-height:1.25;margin:0}
.dashboard .map-caption br{display:none}
.dashboard .map-coming{min-height:0;height:202px;padding:10px}
.dashboard .featured-section>.section-heading{margin:13px 0 8px;min-height:43px}
.dashboard .featured-section>.section-heading h2{font-size:27px;line-height:1.05}
.dashboard .featured-section>.section-heading p{font-size:13px;margin:3px 0 0}
.dashboard .section-heading>a{font-size:12px}
.dashboard .featured-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.dashboard .featured-grid>.case-card{display:flex}
.dashboard .home-case-card{padding:6px;border-radius:8px}
.dashboard .home-case-card .card-image,.dashboard .home-case-card .placeholder-art{height:66px;flex:0 0 66px}
.dashboard .home-case-card .card-image.portrait img{object-position:28% 20%;object-fit:contain}
.dashboard .home-case-card .card-image.portrait:after{display:none}
.dashboard .home-case-card .status-chip{font-size:11px;padding:4px 7px;bottom:6px;right:6px}
.dashboard .home-case-card .placeholder-art>.ui-icon{width:37px;height:37px}
.dashboard .home-case-card .card-body{padding:8px 6px 3px}
.dashboard .home-case-card h3{font:700 18px/1.08 var(--serif);margin:0 0 7px;min-height:20px;letter-spacing:-.03em}
.dashboard .home-case-card h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dashboard .home-case-card .card-description{font:14px/1.3 var(--sans);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:55px}
.dashboard .home-case-card .tag-row{margin:0 0 7px;gap:4px;flex-wrap:nowrap;overflow:hidden}
.dashboard .home-case-card .pill{font-size:10px;padding:3px 7px;white-space:nowrap}
.dashboard .home-case-card .card-date{font-size:11px;padding:0;margin-top:auto;gap:4px;white-space:nowrap}
.dashboard .home-case-card .card-date .ui-icon{width:13px;height:13px}
.dashboard .home-case-card .card-sources{padding:7px 0 2px;margin-top:8px}
.dashboard .card-source-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;line-height:1.2;color:var(--text);margin-bottom:7px}
.dashboard .card-source-heading span{font-size:11px;color:var(--blue)}
.dashboard .source-type-list{display:flex!important;flex-wrap:wrap;gap:4px 9px!important;min-height:29px}
.dashboard .source-type-list>span{font-size:11px!important;line-height:1.15;display:flex;align-items:center;gap:4px}
.dashboard .source-type-list .ui-icon{width:13px;height:13px}
.dashboard .dashboard-bottom{grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin-top:10px;align-items:start}
.dashboard .dashboard-bottom>.panel{padding:10px 14px;min-width:0;min-height:166px;grid-column:auto}
.dashboard .dashboard-bottom .section-heading{margin:0 0 7px;gap:7px;align-items:center}
.dashboard .dashboard-bottom .section-heading h2{font-size:19px;line-height:1.1;white-space:nowrap}
.dashboard .dashboard-bottom .section-heading a{font-size:11px}
.dashboard .update-row{padding:4px 0;gap:9px;line-height:1.2;min-height:34px}
.dashboard .update-row>span{flex:1;min-width:0}
.dashboard .update-row strong{font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard .update-row small{font-size:12px;line-height:1.2;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard .update-row time{font-size:11px}
.dashboard .topic-rank{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:8px 0;font-size:12px;color:var(--text);line-height:1.25;min-height:32px}
.dashboard .topic-rank>b{width:19px;height:19px;flex-shrink:0;background:var(--pale);border-radius:50%;text-align:center;line-height:19px;font-size:11px;font-weight:400}
.dashboard .topic-rank>strong{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard .topic-rank>span{font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap}
.dashboard .trend-info{font:11px var(--sans);color:var(--muted);cursor:help}
.dashboard .trend-note,.dashboard .recent-check{font-size:10px;color:var(--muted);line-height:1.25;margin:5px 0 0}
.dashboard .recent-row{min-height:43px}
.dashboard .dashboard-footnote{font-size:11px;line-height:1.4;padding:12px 0 0}
.dashboard .dashboard-footnote a{margin-left:5px}
.dashboard .archive-sidebar{padding-top:19px}
.dashboard .sidebar-link{font-size:13px;gap:9px;padding:7px 10px;min-height:32px}
.dashboard .archive-sidebar h3{font-size:13px;margin-bottom:9px}
.dashboard .sidebar-group{margin-top:14px;padding-top:14px}
.dashboard .sidebar-note{font-size:10px;margin:6px 10px}
@media(min-width:1000px) and (max-width:1450px){
  body[data-page=home] .masthead{height:60px;min-height:60px;padding-left:18px;padding-right:18px;gap:18px}
  body[data-page=home] .brand{font-size:25px}body[data-page=home] .brand-icon{width:40px;height:40px}
  body[data-page=home] .desktop-nav{display:flex;gap:23px}body[data-page=home] .desktop-nav a{font-size:13px}
  body[data-page=home] .brand small{font-size:9px}body[data-page=home] .header-tools .button{font-size:12px}
  .dashboard{grid-template-columns:190px minmax(0,1fr)}.dashboard-main{padding:10px 12px 16px}
  .dashboard .sidebar-link{font-size:12px;padding:6px 8px;min-height:30px}
  .dashboard .dashboard-top{grid-template-columns:minmax(0,2.05fr) minmax(275px,1fr)}
  .dashboard .search-hero,.dashboard .map-panel{height:250px}
  .dashboard .search-hero{padding:15px 17px;gap:10px}
  .dashboard .hero-copy h1{font-size:32px;max-width:100%;margin-bottom:7px}
  .dashboard .hero-copy p{font-size:15px;max-width:100%}.dashboard .hero-motto{display:none}
  .dashboard .search-filter-grid{gap:5px}.dashboard .search-filter-grid label{font-size:10px;padding:5px 6px 2px}
  .dashboard .search-filter-grid select{font-size:12px;padding-right:9px}
  .dashboard .popular-topics{gap:5px;font-size:12px}.dashboard .popular-topics a{font-size:11px;padding:3px 8px}
  .dashboard .map-panel{padding:11px 12px 7px}.dashboard .map-panel h2{font-size:18px;margin-bottom:7px}
  .dashboard .map-art{height:155px}.dashboard .state-ranking>a{font-size:11px;gap:5px}.dashboard .state-ranking h4{font-size:11px}
  .dashboard .state-ranking p{font-size:10px;margin:8px 0}.dashboard .map-caption{font-size:8px}
  .dashboard .home-case-card{padding:5px}.dashboard .home-case-card .card-body{padding:6px 4px 2px}
  .dashboard .home-case-card h3{font-size:17px;min-height:37px;margin-bottom:6px}
  .dashboard .home-case-card .card-description{font-size:13px;line-height:1.25;min-height:49px;margin-bottom:6px}
  .dashboard .home-case-card .status-chip{font-size:10px;padding:4px 6px}
  .dashboard .home-case-card .card-date{font-size:10px}.dashboard .home-case-card .pill{font-size:9px;padding:3px 5px}
  .dashboard .source-type-list>span{font-size:10px!important}.dashboard .source-type-list{gap:4px 6px!important}
  .dashboard .card-source-heading{font-size:11px}
  .dashboard .dashboard-bottom{gap:8px}.dashboard .dashboard-bottom>.panel{padding:9px 11px;min-height:156px}
  .dashboard .dashboard-bottom .section-heading h2{font-size:17px}.dashboard .dashboard-bottom .section-heading a{font-size:10px}
  .dashboard .update-row strong{font-size:12px}.dashboard .update-row small{font-size:11px}.dashboard .update-row time{font-size:10px}
  .dashboard .topic-rank{font-size:11px;gap:7px}.dashboard .topic-rank>span{font-size:10px}
}
@media(min-width:1000px) and (min-height:781px) and (max-height:850px){
  .dashboard .search-hero,.dashboard .map-panel{height:210px}
  .dashboard .search-hero{padding:11px 17px;gap:9px}
  .dashboard .hero-copy h1{font-size:30px;max-width:100%;margin-bottom:5px}
  .dashboard .hero-copy p{font-size:14px;max-width:100%}
  .dashboard .hero-motto,.dashboard .popular-topics{display:none}
  .dashboard .map-art{height:119px}
  .dashboard .featured-section>.section-heading{margin:9px 0 6px}
  .dashboard .featured-section>.section-heading h2{font-size:24px}
  .dashboard .featured-section>.section-heading p{font-size:12px}
  .dashboard .home-case-card .card-image,.dashboard .home-case-card .placeholder-art{height:48px;flex-basis:48px}
}
/* A laptop's browser chrome can leave only about 550 CSS pixels of page height. */
@media(min-width:1000px) and (max-height:780px){
  body[data-page=home] .masthead{height:52px;min-height:52px;padding:4px 16px;gap:20px}
  body[data-page=home] .brand{font-size:24px}body[data-page=home] .brand-icon{width:34px;height:37px}body[data-page=home] .brand small{font-size:8px}
  .dashboard{grid-template-columns:180px minmax(0,1fr)}.dashboard-main{padding:8px 11px 12px}
  .dashboard .search-hero,.dashboard .map-panel{height:174px}
  .dashboard .search-hero{padding:10px 14px;gap:9px;justify-content:center}
  .dashboard .hero-copy h1{font-size:29px;line-height:1.02;max-width:100%;margin:0}
  .dashboard .hero-copy p,.dashboard .hero-motto,.dashboard .popular-topics{display:none}
  .dashboard .search-box{height:36px}.dashboard .search-box input{font-size:14px}
  .dashboard .search-box .button{font-size:13px;min-height:28px;padding:5px 18px}
  .dashboard .search-filter-grid{margin-top:6px;gap:5px}
  .dashboard .search-filter-grid label{font-size:10px;padding:3px 6px 1px}
  .dashboard .search-filter-grid select{font-size:12px;line-height:1.1;padding:2px 10px 2px 0}
  .dashboard .hero-photo-credit{font-size:7px;bottom:3px}
  .dashboard .map-panel{padding:8px 11px 5px;position:relative}
  .dashboard .map-panel h2{font-size:17px;line-height:1.1;margin:0 0 5px}
  .dashboard .country-tabs button{font-size:10px;padding:3px 4px}
  .dashboard .map-body{grid-template-columns:1fr 1.05fr;margin-top:2px;gap:4px}
  .dashboard .map-art{height:98px}.dashboard .state-ranking h4{font-size:10px;margin:0 0 3px}
  .dashboard .state-ranking>a{font-size:11px;margin:5px 0;gap:5px}.dashboard .state-ranking>a b{width:16px;height:16px;line-height:16px;font-size:10px}
  .dashboard .state-ranking p{display:none}.dashboard .state-ranking .all-states{font-size:10px;margin:4px 0}
  .dashboard .map-caption{font-size:7px;line-height:1;position:absolute;bottom:4px;left:10px}
  .dashboard .map-coming{height:auto;min-height:0;padding:5px 4px}
  .dashboard .map-coming>.ui-icon{display:none}
  .dashboard .map-coming h3{font-size:16px;margin:0 0 5px}
  .dashboard .map-coming p{font-size:11px;line-height:1.2;margin:0 0 5px}
  .dashboard .map-coming a{font-size:11px}
  .dashboard .featured-section>.section-heading{margin:7px 0 6px;min-height:27px}
  .dashboard .featured-section>.section-heading h2{font-size:23px}
  .dashboard .featured-section>.section-heading p{display:none}
  .dashboard .featured-grid{gap:7px}.dashboard .home-case-card{padding:4px}
  .dashboard .home-case-card .card-image,.dashboard .home-case-card .placeholder-art{height:42px;flex-basis:42px}
  .dashboard .home-case-card .card-body{padding:5px 4px 1px}
  .dashboard .home-case-card h3{font-size:17px;line-height:1.05;min-height:36px;margin:0 0 4px}
  .dashboard .home-case-card .card-description{font-size:13px;line-height:1.2;min-height:31px;-webkit-line-clamp:2;margin:0 0 5px}
  .dashboard .home-case-card .tag-row{display:none}
  .dashboard .home-case-card .card-date{font-size:10px;line-height:1.15;min-height:12px}
  .dashboard .home-case-card .status-chip{font-size:9px;bottom:4px;right:4px;padding:3px 5px}
  .dashboard .home-case-card .card-sources{margin-top:5px;padding:5px 0 0}
  .dashboard .card-source-heading{font-size:11px;margin:0;line-height:1.2}
  .dashboard .card-source-heading span{font-size:10px}.dashboard .source-type-list{display:none!important}
  .dashboard .dashboard-bottom{margin-top:8px;gap:8px}
  .dashboard .dashboard-bottom>.panel{padding:7px 10px;min-height:117px}
  .dashboard .dashboard-bottom .section-heading{margin:0 0 4px}
  .dashboard .dashboard-bottom .section-heading h2{font-size:17px}
  .dashboard .dashboard-bottom .section-heading a{font-size:10px}
  .dashboard .update-row{padding:4px 0;min-height:29px;gap:7px}
  .dashboard .update-row strong{font-size:12px;line-height:1.05}.dashboard .update-row small{font-size:11px;line-height:1.05;margin-top:1px}
  .dashboard .update-row time{font-size:9px}.dashboard .status-dot{width:8px;height:8px}
  .dashboard .topic-rank{font-size:11px;min-height:27px;padding:4px 0;gap:6px}
  .dashboard .topic-rank>b{width:16px;height:16px;line-height:16px;font-size:10px}
  .dashboard .topic-rank>span{font-size:10px}.dashboard .trend-note{display:none}
  .dashboard .recent-row{min-height:32px}.dashboard .recent-check{font-size:9px;margin-top:4px}
  .dashboard .dashboard-footnote{font-size:10px;padding-top:9px}
  .dashboard .archive-sidebar{padding:11px 8px 15px}
  .dashboard .archive-sidebar h3{font-size:12px;margin:0 8px 6px}
  .dashboard .sidebar-link{font-size:12px;padding:5px 8px;min-height:27px;gap:7px}
  .dashboard .sidebar-link .ui-icon{width:15px;height:15px}
  .dashboard .sidebar-categories{max-height:calc(100dvh - 345px);min-height:120px;overflow:auto;scrollbar-width:thin}
  .dashboard .sidebar-group{margin-top:9px;padding-top:9px}
  .dashboard .sidebar-note{font-size:9px;margin:4px 8px}
  .dashboard .country-flag{font-size:15px}
}
@media(min-width:1000px) and (max-height:580px){
  .dashboard .search-hero,.dashboard .map-panel{height:150px}
  .dashboard .hero-copy h1{font-size:27px}
  .dashboard .search-hero{gap:6px;padding-top:8px;padding-bottom:10px}
  .dashboard .map-art{height:83px}
  .dashboard .featured-section>.section-heading{margin:4px 0;min-height:24px}
  .dashboard .home-case-card .card-image,.dashboard .home-case-card .placeholder-art{height:36px;flex-basis:36px}
  .dashboard .home-case-card h3{font-size:16px;min-height:34px}
  .dashboard .home-case-card .card-description{font-size:13px;line-height:1.15;min-height:30px}
  .dashboard .dashboard-bottom>.panel{min-height:114px}
}
@media(max-width:999px){
  .dashboard{grid-template-columns:170px minmax(0,1fr)}.dashboard-main{padding:11px}
  .dashboard .dashboard-top{grid-template-columns:1fr}.dashboard .map-panel{height:245px}
  .dashboard .search-hero{height:auto;min-height:250px;padding:20px;gap:13px}
  .dashboard .hero-copy h1{font-size:33px;max-width:100%}.dashboard .hero-copy p{max-width:100%;font-size:15px}
  .dashboard .hero-motto{display:none}.dashboard .search-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard .featured-grid>.case-card:last-child{display:none}
  .dashboard .home-case-card h3{font-size:19px}.dashboard .home-case-card .card-description{font-size:14px}
  .dashboard .dashboard-bottom{grid-template-columns:1fr}.dashboard .dashboard-bottom>.panel{min-height:0}
  .dashboard .map-body{grid-template-columns:1fr 1fr}.dashboard .map-art{height:153px}
}
@media(max-width:680px){
  body[data-page=home] .masthead{height:62px;min-height:62px}.dashboard{display:block}
  .dashboard .search-hero{padding:19px 15px 23px;min-height:0}.dashboard .hero-copy h1{font-size:31px}
  .dashboard .search-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .dashboard .search-filter-grid label{font-size:11px;padding:6px 9px 2px}.dashboard .search-filter-grid select{font-size:14px}
  .dashboard .popular-topics{gap:6px}.dashboard .popular-topics a{font-size:11px}
  .dashboard .map-panel{height:245px}.dashboard .map-art{height:155px}
  .dashboard .home-case-card .card-image,.dashboard .home-case-card .placeholder-art{height:70px;flex-basis:70px}
  .dashboard .home-case-card .status-chip{font-size:9px}.dashboard .home-case-card h3{font-size:18px;min-height:39px}
  .dashboard .home-case-card .card-description{font-size:13px;min-height:51px}
  .dashboard .home-case-card .card-date{font-size:10px;white-space:normal}.dashboard .home-case-card .tag-row{flex-wrap:wrap}
  .dashboard .source-type-list>span{font-size:10px!important}.dashboard .card-source-heading{font-size:11px}
  .dashboard .dashboard-bottom .section-heading h2{font-size:20px}.dashboard .update-row strong{font-size:13px}.dashboard .update-row small{font-size:12px}
  .dashboard .sidebar-categories{max-height:none}.dashboard .archive-sidebar{display:none}
  .dashboard .dashboard-footnote{line-height:1.7}.dashboard .dashboard-footnote a{display:inline;margin-left:3px}
}
