/* Catalogue header and chapter count. Sidebar, artwork and sky stay unchanged. */
.portal-shell .practice-catalogue .catalogue-heading { margin-bottom:34px; }
.portal-shell .practice-catalogue .catalogue-heading .eyebrow { color:#b8c4d2; font-size:11px; letter-spacing:.14em; }
.portal-shell .practice-catalogue .catalogue-heading h1 { font-size:clamp(36px,3.2vw,48px); letter-spacing:-.055em; font-weight:700; line-height:1.08; }
.portal-shell .practice-catalogue .catalogue-heading p { margin-top:13px; font-size:14px; color:#c7d0da; }
.portal-shell .practice-catalogue .catalogue-tabs { display:flex; align-items:stretch; gap:32px; padding:0; margin:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; border:0; border-bottom:1px solid #2b3643; background:transparent; }
.portal-shell .practice-catalogue .catalogue-tabs button,
.portal-shell .practice-catalogue .catalogue-tabs button:first-child {
  flex:0 0 auto; min-height:56px; padding:13px 1px 15px; border:0; border-radius:0; background:transparent; box-shadow:none;
}
.portal-shell .practice-catalogue .catalogue-tabs button:hover { color:#f5f7fa; background:transparent; border:0; }
.portal-shell .practice-catalogue .catalogue-tabs button.active,
.portal-shell .practice-catalogue .catalogue-tabs button.active:first-child { background:transparent; border:0; box-shadow:none; }
.portal-shell .practice-catalogue .catalogue-tabs button strong { font-size:14px; font-weight:680; }
.portal-shell .practice-catalogue .catalogue-tabs button span { font-size:12px; color:#aeb9c8; }
.portal-shell .practice-catalogue .catalogue-tabs button.active strong { color:#f5f7fa; }
.portal-shell .practice-catalogue .catalogue-tabs button.active span { color:#c7d0dc; }
.portal-shell .practice-catalogue .catalogue-tabs button.active::after,
.portal-shell .practice-catalogue .catalogue-tabs button.active:first-child::after { display:block; height:2px; bottom:-1px; left:0; right:0; background:#edf2f8; }
.portal-shell .practice-catalogue .catalogue-topline {
  min-height:114px; padding:26px 0 29px; margin:0 0 25px;
  align-items:center; border-color:#2b3643; color:#b7c3d2;
}
.portal-shell .practice-catalogue .catalogue-topline > div { flex:1; min-width:0; }
.portal-shell .practice-catalogue .catalogue-metrics { display:flex; flex-wrap:wrap; align-items:end; gap:10px 0; }
.portal-shell .practice-catalogue .catalogue-stat { display:flex; flex-direction:column; gap:7px; padding:0 33px; line-height:1.12; }
.portal-shell .practice-catalogue .catalogue-stat:first-child { padding-left:0; }
.portal-shell .practice-catalogue .catalogue-stat + .catalogue-stat { border-left:1px solid #303d4b; }
.portal-shell .practice-catalogue .catalogue-stat strong { font-size:27px; letter-spacing:-.046em; font-weight:670; font-variant-numeric:tabular-nums; }
.portal-shell .practice-catalogue .catalogue-stat:first-child strong { font-size:41px; }
.portal-shell .practice-catalogue .catalogue-stat small { font-size:12px; font-weight:510; color:#b7c4d2; white-space:nowrap; }
.portal-shell .practice-catalogue .catalogue-categories {
  display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px;
  margin:0 0 25px; padding:0; overflow:visible;
}
.portal-shell .practice-catalogue .catalogue-categories button,
.portal-shell .practice-catalogue .catalogue-categories button[aria-pressed="true"] {
  display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:14px;
  min-width:0; min-height:92px; padding:16px 15px; border:1px solid #344150;
  border-radius:12px; background:#0b1118; text-align:left; box-shadow:none;
  color:#c3cedb; transition:border-color .18s,background .18s,transform .18s;
}
.portal-shell .practice-catalogue .catalogue-categories button:hover {
  color:#f5f7fa; background:#131b24; border-color:#7c8c9d; transform:translateY(-2px);
}
.portal-shell .practice-catalogue .catalogue-categories button[aria-pressed="true"] {
  color:#f5f7fa; background:#17212c; border-color:#a8b7c8;
  box-shadow:inset 0 0 0 1px #ffffff14;
}
.portal-shell .practice-catalogue .catalogue-categories .category-title {
  display:block; font-size:15px; font-weight:650; line-height:1.28; letter-spacing:-.02em;
  overflow-wrap:break-word;
}
.portal-shell .practice-catalogue .catalogue-categories .category-total {
  display:block; font-size:11px; font-weight:520; color:#a8b5c4;
  font-variant-numeric:tabular-nums; line-height:1.3;
}
.portal-shell .practice-catalogue .catalogue-categories button[aria-pressed="true"] .category-total { color:#d0d9e5; }
.portal-shell .practice-catalogue .catalogue-tools { margin-bottom:35px; }
.portal-shell .practice-catalogue .topic-group-heading h2 { font-size:21px; font-weight:650; letter-spacing:-.03em; }
.portal-shell .practice-catalogue .topic-group-heading > span { font-size:12px; font-variant-numeric:tabular-nums; }
@media (max-width:1550px) {
  .portal-shell .practice-catalogue .catalogue-categories {
    display:flex; overflow-x:auto; gap:10px; padding:0 0 5px; scroll-snap-type:x proximity;
  }
  .portal-shell .practice-catalogue .catalogue-categories button { flex:0 0 166px; scroll-snap-align:start; }
}
@media (max-width:700px) {
  .portal-shell .practice-catalogue .catalogue-heading h1 { font-size:32px; }
  .portal-shell .practice-catalogue .catalogue-tabs { gap:20px; }
  .portal-shell .practice-catalogue .catalogue-tabs button span { display:none; }
  .portal-shell .practice-catalogue .catalogue-topline { min-height:0; }
  .portal-shell .practice-catalogue .catalogue-stat { padding:0 15px; }
  .portal-shell .practice-catalogue .catalogue-stat:first-child { flex-basis:100%; }
  .portal-shell .practice-catalogue .catalogue-stat:first-child strong { font-size:32px; }
  .portal-shell .practice-catalogue .catalogue-stat:nth-child(2) { padding-left:0; border-left:0; }
  .portal-shell .practice-catalogue .catalogue-stat:not(:first-child) strong { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) {
  .portal-shell .practice-catalogue .catalogue-categories button { transition:none; }
}


/* Stronger editorial hierarchy for the category choices only. */
.portal-shell .practice-catalogue .catalogue-categories button,
.portal-shell .practice-catalogue .catalogue-categories button[aria-pressed="true"] {
  position:relative; min-height:115px; padding:17px 18px 15px;
  border-color:#3a4755; border-radius:11px;
  background:linear-gradient(150deg,#141d27 0%,#0b1118 76%);
}
.portal-shell .practice-catalogue .catalogue-categories button[aria-pressed="true"] {
  background:linear-gradient(150deg,#1c2936 0%,#121c26 80%);
  border-color:#b5c4d3; box-shadow:0 8px 28px #0000002b,inset 0 0 0 1px #ffffff15;
}
.portal-shell .practice-catalogue .catalogue-categories button:hover {
  background:linear-gradient(150deg,#202e3a 0%,#121b25 78%);
  border-color:#8b9eaf; box-shadow:0 8px 28px #00000035;
}
.portal-shell .practice-catalogue .catalogue-categories .category-title {
  display:flex; align-items:flex-start; justify-content:space-between; width:100%;
  font-size:16px; font-weight:680; letter-spacing:-.035em; color:#edf3f8;
}
.portal-shell .practice-catalogue .catalogue-categories .category-title::after {
  content:'↗'; font-size:17px; line-height:1; font-weight:400;
  color:#8c9cac; transition:transform .18s,color .18s;
}
.portal-shell .practice-catalogue .catalogue-categories button:hover .category-title::after {
  color:#e6eef7; transform:translate(2px,-2px);
}
.portal-shell .practice-catalogue .catalogue-categories .category-total {
  display:flex; align-items:baseline; gap:8px; color:#d9e3ec; white-space:nowrap;
}
.portal-shell .practice-catalogue .catalogue-categories .category-total strong {
  font-size:26px; line-height:1; font-weight:630; letter-spacing:-.065em;
  font-variant-numeric:tabular-nums; color:#e9f0f8;
}
.portal-shell .practice-catalogue .catalogue-categories .category-total small {
  color:#aebdcb; text-transform:uppercase; letter-spacing:.105em;
  font-size:10px; font-weight:560;
}
.portal-shell .practice-catalogue .catalogue-categories button[aria-pressed="true"] .category-total strong,
.portal-shell .practice-catalogue .catalogue-categories button[aria-pressed="true"] .category-total small { color:#f3f8fd; }
.portal-shell .practice-catalogue .catalogue-categories button:first-child .category-title { color:#edf3f8; }
/* Number typography and a shared baseline for the catalogue summary and category counts. */
.portal-shell .practice-catalogue .catalogue-metrics {
  align-items:end;
  gap:0;
}
.portal-shell .practice-catalogue .catalogue-stat {
  box-sizing:border-box;
  min-height:68px;
  justify-content:flex-end;
  gap:8px;
  padding-left:30px;
  padding-right:30px;
}
.portal-shell .practice-catalogue .catalogue-stat:first-child {
  padding-left:0;
  min-width:205px;
}
.portal-shell .practice-catalogue .catalogue-stat strong,
.portal-shell .practice-catalogue .catalogue-stat:first-child strong {
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-feature-settings:"tnum" 1,"lnum" 1;
  font-variant-numeric:tabular-nums lining-nums;
  font-weight:720;
  font-size:34px;
  line-height:40px;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.portal-shell .practice-catalogue .catalogue-stat:first-child strong { font-size:40px; }
.portal-shell .practice-catalogue .catalogue-stat small {
  line-height:16px;
  font-size:11px;
  letter-spacing:.005em;
}
.portal-shell .practice-catalogue .catalogue-categories .category-total {
  display:flex;
  align-items:baseline;
  gap:9px;
  min-height:32px;
  line-height:1;
}
.portal-shell .practice-catalogue .catalogue-categories .category-total strong {
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-feature-settings:"tnum" 1,"lnum" 1;
  font-variant-numeric:tabular-nums lining-nums;
  font-weight:720;
  font-size:27px;
  letter-spacing:-.045em;
  line-height:32px;
  min-width:2ch;
  text-align:left;
}
.portal-shell .practice-catalogue .catalogue-categories .category-total small {
  line-height:14px;
  vertical-align:baseline;
}
.portal-shell .practice-catalogue .catalogue-categories .category-title::after { content:'\2197'; }
@media (max-width:700px) {
  .portal-shell .practice-catalogue .catalogue-stat { min-height:58px; padding-left:15px; padding-right:15px; }
  .portal-shell .practice-catalogue .catalogue-stat:first-child { min-width:0; }
  .portal-shell .practice-catalogue .catalogue-stat strong,
  .portal-shell .practice-catalogue .catalogue-stat:first-child strong { font-size:26px; line-height:32px; }
  .portal-shell .practice-catalogue .catalogue-stat:first-child strong { font-size:32px; }
}

/* Chapter count typography within the existing thumbnail. */
.portal-shell .practice-catalogue .chapter-art .chapter-count {
  display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:5px;
  top:16px; right:16px; min-width:105px; padding:0; border:0; border-radius:0;
  background:transparent; box-shadow:none; text-align:right; white-space:nowrap;
}
.portal-shell .practice-catalogue .chapter-art .chapter-count strong {
  font-family:Manrope,Inter,system-ui,sans-serif; font-feature-settings:"tnum" 1,"lnum" 1;
  font-variant-numeric:tabular-nums lining-nums; font-size:29px; line-height:32px;
  font-weight:680; letter-spacing:-.045em; color:#f5f8fc; text-shadow:0 1px 10px #0009;
}
.portal-shell .practice-catalogue .chapter-art .chapter-count small {
  font-family:Inter,system-ui,sans-serif; font-size:10px; line-height:12px;
  font-weight:620; text-transform:uppercase; letter-spacing:.11em;
  color:#bcc9d7; text-shadow:0 1px 8px #000b;
}
@media (max-width:700px) {
  .portal-shell .practice-catalogue .chapter-art .chapter-count { min-width:94px; }
  .portal-shell .practice-catalogue .chapter-art .chapter-count strong { font-size:25px; line-height:27px; }
}
