/* Business themes: the complete catalog and company roster stay visible even
   when the separate, time-sensitive scan has only a public preview. */
.theme-page-head{align-items:center;padding-bottom:24px}
.theme-page-head .lede{max-width:66ch;line-height:1.5}
.theme-page-count{display:grid;gap:1px;min-width:135px;padding:12px 18px;border-left:3px solid #365DB4;background:#F1F4F9}
.theme-page-count b{font:600 1.9rem var(--mono);line-height:1.1;color:#2E4F86}
.theme-page-count span{font:.68rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#536782}

.theme-directory{padding:25px 0 31px}
.theme-directory-head,.theme-roster-head,.theme-checks-head{display:flex;align-items:end;justify-content:space-between;gap:18px 28px;margin-bottom:15px}
.theme-directory-head h2,.theme-roster-head h3,.theme-checks-head h3{margin:0}
.theme-directory-head>p,.theme-roster-head>p,.theme-checks-head>p{margin:0;max-width:57ch;font-size:.82rem;line-height:1.55;color:#5E6D81}
.theme-directory-head .kicker,.theme-roster-head .kicker,.theme-checks-head .kicker{margin-bottom:5px}
.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.theme-link{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-content:center;min-height:70px;box-sizing:border-box;padding:11px 13px;border:1px solid #D5DEEA;border-radius:7px;background:#FBFCFE;color:#2E4F73;text-decoration:none;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}
.theme-link:hover{border-color:#6989B8;background:#F1F5FB;text-decoration:none}
.theme-link:focus-visible,.theme-company-card a:focus-visible,.theme-lanes a:focus-visible,.theme-sector-strip a:focus-visible{outline:2px solid #365DB4;outline-offset:2px}
.theme-link.on{border-color:#365DB4;background:#E9F0FA;box-shadow:inset 3px 0 #365DB4;color:#213F6D}
.theme-link-number{grid-row:1 / 3;align-self:center;font:.67rem var(--mono);color:#8B9CB3}
.theme-link.on .theme-link-number{color:#365DB4}
.theme-link-title{min-width:0;font:600 .85rem var(--sans);line-height:1.3;overflow-wrap:anywhere}
.theme-link-count{margin-top:3px;font:.62rem var(--mono);color:#7889A0}
.theme-link.on .theme-link-count{color:#496995}

.theme-selected{padding-top:31px}
.theme-selected-head{align-items:end;margin-bottom:20px}
.theme-selected-head h2{margin:0}
.theme-roster{padding:18px;border:1px solid #D9E2EC;border-radius:9px;background:#F3F6FA}
.theme-roster-head{align-items:end}
.theme-roster-head h3,.theme-checks-head h3{font-size:clamp(1.3rem,2.3vw,1.7rem)}
.theme-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;list-style:none;margin:0;padding:0}
.theme-company-card{display:flex;flex-direction:column;min-width:0;min-height:143px;box-sizing:border-box;padding:12px 13px 11px;border:1px solid #DCE4EE;border-top:3px solid #9AAEC5;border-radius:6px;background:#FFFEFB}
.theme-company-card.theme-company-core{border-top-color:#3F749C}
.theme-company-card.theme-company-linked{border-top-color:#8B9DB8}
.theme-company-card.theme-company-speculative{border-top-color:#B68A4D}
.theme-company-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}
.theme-company-symbol{font:600 .88rem var(--mono);color:#263E64}
.theme-role-tag{display:inline-block;flex:none;padding:2px 6px;border:1px solid #D1DCE9;border-radius:3px;background:#EEF3F8;color:#526987;font:.57rem var(--mono);letter-spacing:.05em;text-transform:uppercase}
.theme-role-tag.core{border-color:#C2D6E5;background:#E9F2F8;color:#2F648B}
.theme-role-tag.speculative{border-color:#E4D0A8;background:#FFF5E4;color:#795D29}
.theme-company-name{font:600 .75rem var(--sans);color:#455976;line-height:1.3}
.theme-company-card p{margin:7px 0 10px;font-size:.73rem;line-height:1.42;color:#55647A;overflow-wrap:anywhere}
.theme-company-card a{margin-top:auto;align-self:flex-start;font-size:.68rem;color:#365D96;text-decoration:underline;text-underline-offset:2px}
.theme-roster-note{margin:12px 1px 0;font-size:.7rem;line-height:1.5;color:#67758A}

.theme-checks{padding-top:30px}
.theme-checks-head{margin-bottom:13px}
.theme-lanes{margin-bottom:12px}
.theme-lanes a{font-size:.72rem;padding:8px 12px}
.theme-checks .compact-reading-note{line-height:1.5}
.theme-checks .quick-color-key{margin:12px 0}
.theme-checks>.fine{margin:10px 0 13px;color:#718095}
.theme-selected>.how{margin:16px 0 5px;padding-top:12px;border-top:1px solid var(--rule2)}
.theme-selected>.how .fine{max-width:100ch;line-height:1.55}

.theme-sector-section{padding-top:31px}
.theme-sector-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.theme-sector-strip .sec-tile{min-width:0;min-height:62px;box-sizing:border-box;justify-content:center;padding:9px 11px;overflow-wrap:anywhere}
.theme-sector-strip .sec-tile span{line-height:1.35;letter-spacing:.03em;text-transform:none}
.theme-sector-strip .sec-tile.unavailable{border-color:#DEE2E7;background:#F5F6F7}
.theme-sector-strip .sec-tile.unavailable span{color:#778494}

@media(max-width:1000px){
  .theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .theme-sector-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .theme-page-head{align-items:flex-start}
  .theme-page-count{min-width:0;padding:9px 12px}
  .theme-page-count b{font-size:1.45rem}
  .theme-directory-head,.theme-roster-head,.theme-checks-head{display:block}
  .theme-directory-head>p,.theme-roster-head>p,.theme-checks-head>p{margin-top:8px}
  .theme-grid,.theme-company-grid,.theme-sector-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .theme-directory{padding-top:20px}
  .theme-roster{padding:13px}
  .theme-company-card{min-height:156px}
  .theme-lanes{flex-wrap:wrap;overflow:visible}
}
@media(max-width:520px){
  .theme-page-count{display:none}
  .theme-grid{gap:6px}
  .theme-link{min-height:70px;padding:9px 8px;column-gap:7px}
  .theme-link-title{font-size:.75rem}
  .theme-link-count{font-size:.57rem}
  .theme-company-grid{grid-template-columns:1fr}
  .theme-company-card{min-height:0}
  .theme-sector-strip{gap:6px}
  .theme-sector-strip .sec-tile{padding:8px 9px}
  .theme-sector-strip .sec-tile b{font-size:.85rem}
}
