/* styles/fonts.css */
/* latin-ext */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("/assets/fonts/oswald-latin-ext-200-700.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("/assets/fonts/oswald-latin-200-700.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufA5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufJ5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufB5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufO5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufC5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufD5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufN5qWr4xCC.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufA5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufJ5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufB5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufO5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufC5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufD5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufN5qWr4xCC.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufA5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufJ5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufB5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufO5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufC5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufD5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufN5qWr4xCC.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufA5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufJ5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufB5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufO5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufC5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufD5qWr4xCCQ_k.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/BngMUXZYTXPIvIBgJJSb6ufN5qWr4xCC.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_c6DptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_cqDptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_fKDptfpA4Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_c6DptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_cqDptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_fKDptfpA4Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_c6DptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_cqDptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_fKDptfpA4Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_c6DptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_cqDptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_fKDptfpA4Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_c6DptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_cqDptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_fKDptfpA4Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_c6DptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_cqDptfpA4cD3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/fonts/QGYsz_wNahGAdqQ43Rh_fKDptfpA4Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* styles/app.css */
:root{
  --ink:#0b1220;--ink2:#243244;--ink3:#475569;
  --paper:#f6f8fb;--paper2:#eef2f8;--paper3:#e3e9f2;
  --gold:#CBA052;--gold2:#CBA052;--gold-lt:#fdf5dc;
  --blue:#0077D8;--blue-lt:#ddeaf8;
  --teal:#008767;--teal-lt:#d0ece6;
  --red:#A6192E;--red-lt:#fce8ec;
  --amber:#964F2E;--amber-lt:#fdf0e8;
  --green:#275E3D;--green-lt:#d8ece2;
  --purple:#51284F;--purple-lt:#ece0ec;
  --slate:#546372;--slate-lt:#eef1f4;
  --border:#e2e8f2;--border2:#d3dcea;
  --bg:var(--paper);--sf:#fff;--tx:var(--ink);--t2:var(--ink3);--t3:#536074;
  --fd:'Roboto Slab',Georgia,serif;
  --fb:'Work Sans',system-ui,sans-serif;
  --fm:'Oswald','Work Sans',system-ui,sans-serif;
  --fcode:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r:6px;--r2:10px;--r3:14px;
  --sh:0 1px 3px rgba(11,18,32,.07),0 2px 8px rgba(11,18,32,.05);
  --sh2:0 4px 16px rgba(11,18,32,.10),0 1px 4px rgba(11,18,32,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;position:relative}
html{height:100%;overflow-y:auto}
body{font-family:var(--fb);background:var(--bg);color:var(--tx);font-size:13px;line-height:1.5;min-height:100%;overflow-y:auto;overflow-x:hidden}
button,input,select,textarea{font-family:inherit}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.app-init-hidden{visibility:hidden}
.home-muted{visibility:hidden!important}
.view-hidden{display:none!important}
.view-display-block{display:block!important}
.view-display-flex{display:flex!important}
.view-display-grid{display:grid!important}
.view-display-inline-flex{display:inline-flex!important}
:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"]),[role="tab"]):focus-visible{outline:3px solid var(--gold)!important;outline-offset:3px!important;box-shadow:0 0 0 5px rgba(203,160,82,.24)!important}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
body.home-active .topbar,
body.home-active .modebar,
body.home-active #view-guide,
body.home-active #ov-panel,
body.home-active #chip-row,
body.home-active #cards-section,
body.home-active #sub-row,
body.home-active #ctx-bar,
body.home-active #pi-hdr,
body.home-active #agency-page,
body.home-active #briefing-page,
body.home-active #industry-page,
body.home-active #deptmap-page,
body.home-active #pipeline-page,
body.home-active #sc-page,
body.home-active #gd-page,
body.home-active #collab-page,
body.home-active #pa-page,
body.home-active #baa-page,
body.home-active #methodology-page,
body.home-active #body-layout,
body.home-active #app-side-nav{display:none!important}

#industry-page{display:none}
#deptmap-page{display:none}
#sc-page{padding:24px 28px}
#gd-page{display:none;padding:24px 28px}
#collab-page{display:none;padding:24px 28px}
#pipeline-page,#pa-page{padding:0}
#ov-panel{padding:20px 24px 0}

/* Portfolio Positioning */
.sc-head{margin-bottom:16px}
.sc-eyebrow{font-family:var(--fm);font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-bottom:5px}
.sc-title{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--tx);letter-spacing:0}
.sc-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.sc-segmented{display:flex;border:1.5px solid var(--border);border-radius:22px;overflow:hidden}
.sc-view-btn{padding:6px 16px;font-family:var(--fb);font-size:12px;font-weight:400;color:var(--t2);background:transparent;border:0;cursor:pointer;transition:all .12s;white-space:nowrap}
.sc-view-btn.active{font-weight:600;color:#fff;background:var(--ink)}
.sc-axis-note{font-size:11px;color:var(--t3);background:var(--sf);padding:4px 10px;border-radius:10px;border:.5px solid var(--border)}
.sc-table-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}
.sc-data-btn{font-family:var(--fb);font-size:11px;font-weight:600;color:var(--t2);background:var(--sf);border:1px solid var(--border);border-radius:999px;padding:4px 11px;cursor:pointer;white-space:nowrap}
.sc-data-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--paper2)}
.sc-mode-tabs{display:flex;gap:0;border-bottom:1.5px solid var(--border);margin-bottom:18px}
.sc-mode-btn{padding:8px 18px;font-family:var(--fb);font-size:12.5px;font-weight:400;color:var(--t3);background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1.5px;cursor:pointer;transition:color .12s}
.sc-mode-btn.active{font-weight:600;color:var(--ink);border-bottom-color:var(--gold)}
.sc-work-note{margin-bottom:18px;padding:10px 14px;background:#fff8e1;border:.5px solid #f0c040;border-radius:var(--r);font-size:11.5px;color:#7c5600;line-height:1.6}
.sc-layout{display:grid;grid-template-columns:58fr 42fr;gap:14px;align-items:start}
.sc-card{background:var(--sf);border:.5px solid var(--border);border-radius:var(--r2)}
.sc-plot-card{padding:14px 16px 12px}
.sc-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px;flex-wrap:wrap}
.sc-axis-summary{font-family:var(--fb);font-size:11.5px;font-weight:600;color:var(--t2);text-transform:uppercase;letter-spacing:0}
.sc-help{font-size:11px;color:var(--t3);margin-top:2px}
.sc-control-row{display:flex;align-items:center;gap:5px}
.sc-control-label{font-size:11px;color:var(--t3)}
.sc-pill-btn{font-family:var(--fm);font-size:10.5px;padding:2px 9px;border-radius:20px;border:1px solid var(--border2);background:transparent;color:var(--t3);cursor:pointer}
.sc-pill-btn.active{border-color:var(--ink);background:var(--ink);color:#fff}
.sc-pill-btn-small{font-size:10px;padding:2px 7px}
.sc-canvas-wrap{position:relative}
.sc-canvas{display:block;width:100%;cursor:crosshair}
.sc-tooltip{position:absolute;background:var(--ink);color:#fff;border-radius:var(--r);padding:9px 12px;font-family:var(--fb);font-size:11px;pointer-events:none;opacity:0;transition:opacity .12s;z-index:20;min-width:140px;line-height:1.8;white-space:nowrap}
.sc-tooltip-title{display:block;margin-bottom:3px;font-size:12px}
.sc-tooltip-line{display:block}
.sc-rank-card{overflow:hidden}
.sc-rank-head{padding:11px 14px 9px;border-bottom:.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.sc-rank-title{font-family:var(--fb);font-size:11px;font-weight:600;color:var(--t2);text-transform:uppercase;letter-spacing:0}
.sc-rank-controls{display:flex;gap:3px}
.sc-rk-row{display:block;width:100%;padding:8px 14px;cursor:pointer;border:0;border-left:3px solid transparent;background:transparent;color:inherit;font:inherit;text-align:left;appearance:none}
.sc-rk-row.active{padding-left:11px;background:var(--paper2);border-left-color:var(--sc-row-col)}
.sc-rk-main{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.sc-rk-dot{width:8px;height:8px;border-radius:50%;background:var(--sc-row-col);flex-shrink:0}
.sc-rk-name{font-size:11.5px;font-weight:400;color:var(--tx);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-rk-name.top{font-weight:600}
.sc-rk-value{font-size:11.5px;font-weight:600;color:var(--t2);flex-shrink:0}
.sc-rk-track{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-left:14px;margin-bottom:2px}
.sc-rk-fill{height:100%;width:var(--sc-rk-pct);background:var(--sc-row-col);border-radius:2px}
.sc-rk-sub{font-size:10px;color:var(--t3);margin-left:14px}
.sc-data-table-wrap{margin-top:14px;background:var(--sf);border:.5px solid var(--border);border-radius:var(--r2);padding:14px;overflow:auto;box-shadow:var(--sh)}
.sc-data-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}
.sc-data-table-wrap caption{text-align:left;font-family:var(--fb);font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:0;margin-bottom:8px}
.sc-data-table-wrap th,.sc-data-table-wrap td{padding:7px 8px;border-bottom:1px solid var(--border);font-size:11.5px;text-align:left;vertical-align:top}
.sc-data-table-wrap thead th{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:0;background:var(--paper)}
.sc-data-table-wrap tbody tr:last-child th,.sc-data-table-wrap tbody tr:last-child td{border-bottom:0}
.sc-context-note{margin-top:14px;font-size:11.5px;color:var(--t3);line-height:1.7;padding:10px 14px;background:var(--sf);border:.5px solid var(--border);border-radius:var(--r)}
@media(max-width:980px){.sc-layout{grid-template-columns:1fr}}

/* Topbar */
.topbar{background:#002D72;padding:0 24px;height:52px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:300;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.tb-right{width:100%;display:flex;align-items:center;gap:8px}
.top-nav-btn{height:30px;display:none;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:#d8e7f9;padding:0 10px;font:800 10.5px var(--fb);letter-spacing:0;cursor:pointer;white-space:nowrap}
.top-nav-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(104,172,229,.55);color:#fff}
.top-nav-btn .ui-ico{width:14px;height:14px}
.topbar .ib{height:30px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:#d8e7f9;padding:0 10px;font:800 10.5px var(--fb);letter-spacing:0;cursor:pointer;white-space:nowrap}
.topbar .ib:hover{background:rgba(255,255,255,.14);border-color:rgba(104,172,229,.55);color:#fff}
.topbar .ib .ui-ico{width:13px;height:13px}
.top-search-btn{height:30px;display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-width:178px;margin-right:auto;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:#d8e7f9;padding:0 8px 0 10px;font:800 10.5px var(--fb);letter-spacing:0;cursor:pointer;white-space:nowrap}
.top-search-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(104,172,229,.55);color:#fff}
.top-search-btn .ui-ico{width:13px;height:13px}
.top-search-btn kbd{min-width:28px;height:17px;border:1px solid rgba(255,255,255,.18);border-radius:5px;background:rgba(255,255,255,.08);color:#f2d89d;font:800 9px/15px var(--fb);text-align:center}
.top-alert-wrap{display:inline-flex}
.top-alert-wrap[hidden]{display:none}
.top-alert-btn{height:30px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#f5d28d;padding:0 10px;font:800 10.5px var(--fb);letter-spacing:0;text-transform:uppercase;cursor:pointer}
.top-alert-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(203,160,82,.48);color:#fff}
.top-alert-btn .ui-ico{width:13px;height:13px}
.top-alert-count{min-width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#CF4520;color:#fff;font:900 10px/1 var(--fb)}
.top-alert-label{color:inherit}
/* Modebar */
.modebar{background:var(--sf);border-bottom:1px solid var(--border);padding:0 24px;height:40px;display:flex;align-items:center;position:sticky;top:52px;z-index:200}
.modebar.modebar-empty{display:none}
.m-tablist{display:flex;align-items:center;height:40px}
.m-tab{height:40px;padding:0 16px;font-family:var(--fb);font-size:12.5px;font-weight:500;color:var(--t3);cursor:pointer;border:0;border-bottom:2px solid transparent;background:transparent;transition:all .12s;white-space:nowrap;display:flex;align-items:center}
.m-tab:hover{color:var(--t2)}.m-tab.active{color:var(--ink);border-bottom-color:var(--gold)}
.m-right{margin-left:auto;display:flex;align-items:center;gap:6px}
.reset-btn{padding:4px 12px;border:1px solid var(--border2);border-radius:var(--r);background:var(--sf);font-family:var(--fb);font-size:11.5px;font-weight:500;color:var(--t2);cursor:pointer;transition:all .12s;letter-spacing:0}
.reset-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--paper2)}
.srch-wrap{position:relative}
.srch-wrap input{padding:5px 10px 5px 28px;border:1px solid var(--border);border-radius:16px;font-family:var(--fb);font-size:12px;color:var(--tx);background:var(--bg);outline:none;width:250px}
.srch-wrap input:focus{border-color:var(--blue)}
.srch-ico{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--t3);font-size:12px;pointer-events:none}
.m-sort{padding:4px 8px;border:1px solid var(--border);border-radius:var(--r);font-family:var(--fb);font-size:11.5px;color:var(--t2);background:var(--sf);cursor:pointer;outline:none}
.m-sep{width:1px;height:20px;background:var(--border);margin:0 4px}
.csv-btn{padding:4px 10px;border:1px solid var(--border);border-radius:var(--r);font-family:var(--fb);font-size:11px;color:var(--t3);background:var(--sf);cursor:pointer}
.csv-btn:hover{border-color:var(--ink);color:var(--ink)}
.ui-ico{width:14px;height:14px;display:inline-block;vertical-align:-2px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.ib,.reset-btn,.csv-btn,.mobile-filter-btn,.baa-run,.baa-export,.op-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.srch-ico .ui-ico{width:13px;height:13px;display:block}
.mobile-filter-btn{display:none;padding:4px 10px;border:1px solid var(--border2);border-radius:var(--r);background:var(--sf);font-family:var(--fb);font-size:11.5px;font-weight:500;color:var(--t2);cursor:pointer;transition:all .12s}
.mobile-filter-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--paper2)}
.view-guide{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 24px;background:#fbfaf7;border-bottom:1px solid var(--border);color:var(--t2)}
.vg-main{display:flex;align-items:baseline;gap:10px;min-width:0}
.vg-title{font-size:12.5px;font-weight:700;color:var(--tx);white-space:nowrap}
.vg-meta{font-size:12px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vg-chips{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.vg-chip{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--sf);border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:600;color:var(--t2);line-height:1.5;white-space:nowrap}
.vg-method-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--sf);border-radius:999px;padding:3px 11px;font-size:10.5px;font-weight:600;color:var(--t2);line-height:1.5;white-space:nowrap;cursor:pointer;font-family:inherit;transition:all .12s}
.vg-method-btn:hover{border-color:var(--gold2);color:var(--tx);background:#fff}
.vg-method-btn .ui-ico{width:12px;height:12px}
.phx-avatar-method{background:var(--ink);color:var(--gold2)}
.phx-avatar-method .ui-ico{width:26px;height:26px}
.mx-defs{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}
.mx-term{font:700 12.5px var(--fb);color:var(--tx);margin-bottom:2px}
.mx-desc{font-size:12px;color:var(--t2);line-height:1.5}
.mx-note{font-size:12px;color:var(--t2);line-height:1.6;margin:0;font-style:italic}
.data-loading-state{padding:32px;max-width:760px;margin:48px auto;background:var(--sf);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh)}
.data-loading-title{font-family:var(--fb);font-size:20px;color:var(--tx);margin-bottom:8px}
.data-loading-copy{font-size:13px;color:var(--t2);line-height:1.7}
.data-loading-details{font-size:12px;color:var(--t3);line-height:1.7;margin-top:14px}

/* App navigation shell */
.app-side-nav{display:none}
.app-nav-backdrop{display:none}
.app-nav-brand{padding:18px 14px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.app-nav-brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.app-nav-home{display:block;flex:1 1 auto;min-width:0;border:0;background:transparent;color:var(--gold2);font:700 15px var(--fd);letter-spacing:0;text-align:left;cursor:pointer}
.app-nav-home:hover{color:#fff}
.app-nav-toggle{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:var(--r);background:rgba(255,255,255,.06);color:#d8e4f0;cursor:pointer}
.app-nav-toggle:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.26)}
.app-nav-school{margin-top:5px;color:#b8cbe0;font-size:9.5px;font-weight:700;letter-spacing:0;text-transform:uppercase;line-height:1.4}
.app-search{position:relative;padding:12px 10px 8px;border-bottom:1px solid rgba(255,255,255,.1)}
.app-search-icon{position:absolute;left:20px;top:21px;color:#a9bfd6;pointer-events:none}
.app-search-icon .ui-ico{width:13px;height:13px}
.app-search input{width:100%;height:34px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r);background:rgba(255,255,255,.08);color:#fff;font:600 12px var(--fb);padding:0 52px 0 30px;outline:none}
.app-search input::placeholder{color:#a9bfd6}
.app-search input:focus{border-color:var(--gold);background:rgba(255,255,255,.12)}
.app-search-key{position:absolute;right:18px;top:19px;min-width:30px;height:18px;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:#c9d9ec;background:rgba(255,255,255,.08);font:800 9.5px/16px var(--fb);text-align:center;pointer-events:none}
.app-search-results{display:none;margin-top:6px;background:#fff;border-radius:var(--r);border:1px solid rgba(14,26,38,.18);box-shadow:var(--sh2);overflow:hidden}
.app-search-results.open{display:block}
.app-search-result{display:grid;width:100%;grid-template-columns:42px 1fr;gap:7px;align-items:start;border:0;border-bottom:1px solid var(--border);background:#fff;color:var(--tx);font-family:var(--fb);text-align:left;padding:8px 9px;cursor:pointer}
.app-search-result:last-child{border-bottom:0}
.app-search-result:hover,.app-search-result.active{background:var(--blue-lt)}
.app-search-type{font:700 8px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--blue);padding-top:2px}
.app-search-main{min-width:0}
.app-search-title{display:block;font-size:11px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-search-meta{display:block;margin-top:1px;font-size:9.5px;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-search-access{display:inline-flex;align-items:center;gap:3px;margin-left:5px;color:#7c5b12;font-weight:800;text-transform:uppercase;letter-spacing:0}
.app-search-access .app-nav-ico{width:8px;height:8px;opacity:.9}
.app-search-empty{padding:11px 12px;color:var(--t3);font:700 11px var(--fb);background:#fff}
.app-nav-group{padding:12px 10px 2px}
.app-nav-group-label{padding:0 8px 6px;color:#a9bfd6;font:700 9.5px var(--fb);letter-spacing:0;text-transform:uppercase}
.app-nav-list{display:flex;flex-direction:column;gap:2px}
.app-nav-link{width:100%;min-height:32px;border:0;border-radius:var(--r);background:transparent;color:#d8e4f0;font:600 12px var(--fb);text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;transition:background .12s,color .12s}
.app-nav-link:hover{background:rgba(255,255,255,.09);color:#fff}
.app-nav-link.active{background:rgba(203,160,82,.18);color:#fff;box-shadow:inset 3px 0 0 var(--gold)}
.app-nav-link.restricted{color:#e6edf7}
.app-nav-main{display:flex;align-items:center;gap:8px;min-width:0}
.app-nav-ico{width:14px;height:14px;flex:0 0 auto;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.82}
.app-nav-link.active .app-nav-ico,.app-nav-link:hover .app-nav-ico{opacity:1}
.app-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-nav-badge{flex:0 0 auto;width:18px;height:18px;border:1px solid rgba(203,160,82,.45);background:rgba(203,160,82,.12);border-radius:999px;padding:0;color:#f2d89d;display:inline-flex;align-items:center;justify-content:center}
.app-nav-badge .app-nav-ico{width:10px;height:10px;opacity:.9}

@media(min-width:1180px){
  body:not(.home-active):not(.app-methodology-active) .app-side-nav:not(.app-init-hidden){display:flex;position:fixed;left:0;top:52px;bottom:0;width:226px;z-index:190;flex-direction:column;overflow-y:auto;background:#002D72;border-right:1px solid rgba(14,26,38,.22);box-shadow:2px 0 10px rgba(14,26,38,.12)}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-side-nav:not(.app-init-hidden){width:64px;overflow-x:hidden}
  body:not(.home-active):not(.app-methodology-active) .modebar,
  body:not(.home-active):not(.app-methodology-active) #view-guide,
  body:not(.home-active):not(.app-methodology-active) #ov-panel,
  body:not(.home-active):not(.app-methodology-active) #chip-row,
  body:not(.home-active):not(.app-methodology-active) #cards-section,
  body:not(.home-active):not(.app-methodology-active) #sub-row,
  body:not(.home-active):not(.app-methodology-active) #ctx-bar,
  body:not(.home-active):not(.app-methodology-active) #pi-hdr,
  body:not(.home-active):not(.app-methodology-active) #agency-page,
  body:not(.home-active):not(.app-methodology-active) #industry-page,
  body:not(.home-active):not(.app-methodology-active) #briefing-page,
  body:not(.home-active):not(.app-methodology-active) #deptmap-page,
  body:not(.home-active):not(.app-methodology-active) #pipeline-page,
  body:not(.home-active):not(.app-methodology-active) #sc-page,
  body:not(.home-active):not(.app-methodology-active) #gd-page,
  body:not(.home-active):not(.app-methodology-active) #newsroom-page,
  body:not(.home-active):not(.app-methodology-active) #collab-page,
  body:not(.home-active):not(.app-methodology-active) #pa-page,
  body:not(.home-active):not(.app-methodology-active) #baa-page,
  body:not(.home-active):not(.app-methodology-active) #fundopp-page,
  body:not(.home-active):not(.app-methodology-active) #body-layout{margin-left:226px}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .modebar,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #view-guide,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #ov-panel,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #chip-row,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #cards-section,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #sub-row,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #ctx-bar,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #pi-hdr,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #agency-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #industry-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #briefing-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #deptmap-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #pipeline-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #sc-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #gd-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #newsroom-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #collab-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #pa-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #baa-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #fundopp-page,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) #body-layout{margin-left:64px}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-brand{padding:12px 8px}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-brand-row{justify-content:center}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-home,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-school,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-search,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-group-label,
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-label{display:none}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-toggle .app-nav-ico{transform:rotate(180deg)}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-group{padding:8px 10px 0}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-list{gap:4px}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-link{position:relative;min-height:36px;justify-content:center;padding:8px}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-main{justify-content:center;gap:0}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-ico{width:16px;height:16px}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-badge{position:absolute;right:4px;top:4px;width:11px;height:11px;padding:0;justify-content:center}
  body.app-nav-collapsed:not(.home-active):not(.app-methodology-active) .app-nav-badge .app-nav-ico{width:7px;height:7px}
}

@media(max-width:1179px){
  body:not(.home-active):not(.app-methodology-active) .top-nav-btn{display:inline-flex}
  body.app-nav-mobile-open{overflow:hidden}
  body.app-nav-mobile-open:not(.home-active):not(.app-methodology-active) .app-side-nav:not(.app-init-hidden){display:flex;position:fixed;left:0;top:52px;bottom:0;width:min(320px,88vw);z-index:620;flex-direction:column;overflow-y:auto;background:#002D72;border-right:1px solid rgba(14,26,38,.22);box-shadow:8px 0 28px rgba(14,26,38,.24)}
  body.app-nav-mobile-open:not(.home-active):not(.app-methodology-active) .app-nav-backdrop{display:block;position:fixed;left:0;right:0;top:52px;bottom:0;z-index:610;background:rgba(14,26,38,.46)}
}

/* Methodology reference page */
#methodology-page{display:none;position:absolute;inset:0;z-index:8000;background:var(--paper);overflow-y:auto;visibility:hidden}
#methodology-page.methodology-page-visible{visibility:visible}
.method-wrap{max-width:860px;margin:0 auto;padding:48px 48px 80px}
.method-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:24px}
.method-kicker{font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-bottom:6px;font-family:var(--fb)}
.method-title{font-size:28px;font-weight:700;letter-spacing:0;color:var(--tx);font-family:var(--fb)}
.method-sub{font-size:13px;color:var(--t3);margin-top:6px}
.method-home{padding:9px 18px;border:1px solid var(--border2);border-radius:var(--r);font-family:var(--fb);font-size:12.5px;color:var(--t2);background:var(--sf);cursor:pointer;white-space:nowrap}
.method-section{margin-bottom:40px}
.method-section-tight{margin-bottom:32px}
.method-section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.method-num{font-size:10px;letter-spacing:0;color:var(--t3);font-family:var(--fb)}
.method-section-title{font-size:17px;font-weight:700;color:var(--tx);font-family:var(--fb)}
.method-copy{font-size:13.5px;color:var(--t2);line-height:1.75;margin-bottom:14px}
.method-copy-tight{margin-bottom:10px}
.method-copy-last{margin-bottom:0}
.method-note{font-size:12.5px;color:var(--t3);line-height:1.7;margin-top:14px;font-style:italic}
.method-formula{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);padding:14px 18px;font-family:var(--fcode);font-size:12px;color:var(--t2);line-height:1.7;margin-bottom:14px}
.method-list{font-size:13.5px;color:var(--t2);line-height:1.85;margin:0 0 14px 18px;padding-left:0}
.method-list-last{margin-bottom:0}
.method-table{width:100%;font-size:12.5px;color:var(--t2);border-collapse:collapse;margin-bottom:14px}
.method-table-no-gap{margin-bottom:0}
.method-table thead tr{background:var(--sf);color:var(--t3);text-align:left}
.method-table th{padding:9px 14px;border:1px solid var(--border);font-weight:600}
.method-table td{padding:9px 14px;border:1px solid var(--border)}
.method-source-table td:first-child{padding:10px 14px;font-family:var(--fcode)}
.method-source-table td{padding:10px 14px}
.method-strong-cell{font-weight:600}
.method-code{font-family:var(--fcode)}
.method-footer{padding:16px 20px;background:var(--sf);border-radius:var(--r);border:1px solid var(--border);font-size:12px;color:var(--t3)}
.method-footer a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.mobile-filter-backdrop{display:none;position:fixed;inset:0;background:rgba(14,26,38,.46);z-index:620}
.mobile-filter-backdrop.open{display:block}
.mobile-filter-panel{position:fixed;top:0;right:0;width:min(360px,92vw);height:100vh;background:var(--sf);box-shadow:-8px 0 32px rgba(14,26,38,.2);z-index:640;transform:translateX(105%);transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.mobile-filter-panel.open{transform:translateX(0)}
.mobile-filter-head{height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;color:var(--tx)}
.mobile-filter-close{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--r);background:var(--sf);color:var(--t2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.mobile-filter-close:hover{border-color:var(--tx);color:var(--tx)}
.mobile-filter-body{overflow-y:auto;padding:12px 0 28px}

/* Cards */
.cards-section{padding:16px 24px 0}
.cards-grid{display:grid;gap:10px}
.cg-7{grid-template-columns:repeat(7,1fr)}.cg-4{grid-template-columns:repeat(4,1fr)}.cg-5{grid-template-columns:repeat(5,1fr)}.cg-6{grid-template-columns:repeat(6,1fr)}
.area-card{appearance:none;-webkit-appearance:none;display:block;width:100%;background:var(--sf);border:1.5px solid var(--border);border-radius:var(--r2);padding:12px 13px;cursor:pointer;transition:all .13s;position:relative;overflow:hidden;box-shadow:var(--sh);text-align:left;font-family:var(--fb);color:inherit}
.sp-dashboard{display:block;padding:0}
.sp-overview{display:grid;grid-template-columns:1fr 214px;gap:10px;padding:14px 14px 10px}
.sp-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.sp-kpi{background:var(--sf);border-radius:8px;padding:10px 13px}
.sp-kpi-v{font-size:20px;font-weight:600;color:var(--tx)}
.sp-kpi-l{font-size:10px;color:var(--t2);margin-top:2px;text-transform:uppercase;letter-spacing:0}
.sp-donut-card{background:var(--sf);border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:center}
.sp-donut-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0;color:var(--t3);margin-bottom:8px;align-self:flex-start}
.sp-donut-wrap{position:relative;width:96px;height:96px;margin:0 auto}
.sp-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.sp-donut-total{font-size:13px;font-weight:600;color:var(--tx)}
.sp-donut-sub{font-size:9px;color:var(--t3)}
.sp-source-list{margin-top:10px;width:100%;display:flex;flex-direction:column;gap:5px}
.sp-source-row{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--t2)}
.sp-source-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;display:inline-block}
.sp-source-dot.fed{background:#002D72}.sp-source-dot.nonfed{background:#CBA052}.sp-source-dot.pass{background:#B4B2A9}
.sp-source-val{margin-left:auto;font-weight:600;color:var(--tx)}
.sp-separator{height:.5px;background:var(--border);margin:0 14px}
.sp-legend{display:flex;gap:14px;flex-wrap:wrap;padding:8px 14px;font-size:10px;color:var(--t3)}
.sp-leg-item{display:flex;align-items:center;gap:4px}
.sp-leg-dot{width:8px;height:8px;border-radius:2px;display:inline-block}
.sp-leg-dot.dod{background:#85B7EB}.sp-leg-dot.health{background:#9FE1CB}.sp-leg-dot.civilian{background:#FAC775}.sp-leg-dot.other{background:#D3D1C7}
.sp-tm-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:58px;gap:5px;padding:6px 14px 10px}
.sp-tm-cell{appearance:none;-webkit-appearance:none;font-family:var(--fb);text-align:left;border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;border:.5px solid rgba(0,0,0,.07);transition:filter .12s;overflow:hidden}
.sp-tm-cell:hover{filter:brightness(.9)}
.sp-tm-cell:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.sp-tm-cell.active{outline:2px solid var(--ink);outline-offset:2px}
.sp-group-dod{background:#85B7EB;color:#0C447C}.sp-group-health{background:#9FE1CB;color:#085041}.sp-group-civilian{background:#FAC775;color:#633806}.sp-group-other{background:#D3D1C7;color:#444441}
.sp-span-4x2{grid-column:span 4;grid-row:span 2}.sp-span-3x2{grid-column:span 3;grid-row:span 2}.sp-span-2x2{grid-column:span 2;grid-row:span 2}.sp-span-2x1{grid-column:span 2;grid-row:span 1}.sp-span-1x1{grid-column:span 1;grid-row:span 1}
.sp-tm-name{font-size:10px;font-weight:500;line-height:1.2}
.sp-cell-md .sp-tm-name{font-size:12px}.sp-cell-lg .sp-tm-name{font-size:14px}
.sp-tm-spend{font-size:11px;font-weight:500;opacity:.9}
.sp-cell-md .sp-tm-spend{font-size:13px}.sp-cell-lg .sp-tm-spend{font-size:16px}
.sp-tm-full{font-size:9px;opacity:.65;margin-top:1px}
.sp-tm-note{font-size:10px;color:var(--t3);padding:0 14px 12px;line-height:1.6}
.area-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--cc,var(--blue))}
.area-card:hover{border-color:var(--cc,var(--blue));box-shadow:var(--sh2);transform:translateY(-1px)}
.area-card.active{border-color:var(--cc,var(--blue));background:color-mix(in srgb,var(--cc,var(--blue)) 6%,white);box-shadow:var(--sh2)}
.area-card.active::after{height:4px}
.ac-name{display:block;font-size:11px;font-weight:600;color:var(--tx);margin-bottom:9px;line-height:1.35;min-height:2.4em}
.ac-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.acs{display:block;background:var(--paper);border-radius:4px;padding:5px 7px}
.acs-v{display:block;font-size:13px;font-weight:600;color:var(--tx);line-height:1}
.acs-l{display:block;font-size:11px;color:var(--t3);margin-top:1px;text-transform:uppercase;letter-spacing:0}
.acs.accent{background:color-mix(in srgb,var(--cc,var(--blue)) 10%,white)}.acs.accent .acs-v{color:var(--cc,var(--blue))}
/* Metrics card mini-viz */
.ac-mini-bars{display:flex;align-items:flex-end;gap:2.5px;height:36px;margin:8px 0 6px}
.ac-mini-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;gap:2px;height:100%}
.ac-mini-bar{border-radius:2px 2px 0 0;width:100%;min-height:2px;height:var(--card-height,2px);background:var(--cc,var(--blue));margin-top:auto}
.ac-mini-bar.partial{opacity:.5}
.ac-mini-lbl{font-size:10px;color:var(--t3);line-height:1}
.ac-divider{display:block;height:0.5px;background:var(--border);margin:4px 0 6px}
.ac-share-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
.ac-share-pct{font-size:10.5px;font-weight:600;color:var(--cc,var(--blue))}
.ac-share-of{font-size:9.5px;color:var(--t3)}
.ac-track{display:block;height:5px;background:var(--paper3);border-radius:3px;overflow:hidden}
.ac-track-fill{display:block;height:100%;width:var(--card-width,0%);border-radius:3px;background:var(--cc,var(--blue))}
.ac-win-high{color:#1a5c2e}
.ac-win-mid{color:#1a5fa8}
.ac-win-low{color:#7c4e0a}

/* Subtheme chips */
.sub-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 24px;max-height:0;overflow:hidden;transition:max-height .2s ease,padding .2s ease}
.sub-row.open{max-height:200px;padding:10px 24px 12px;border-bottom:1px solid var(--border)}
.sub-row-label{font-size:10px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin-right:4px;align-self:center;flex-shrink:0}
.sub-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border:1px solid var(--border2);border-radius:100px;font-family:inherit;font-size:11.5px;line-height:1.4;color:var(--t2);cursor:pointer;background:var(--sf);transition:all .11s;box-shadow:var(--sh)}
.sub-chip:hover{border-color:var(--cc,var(--blue));color:var(--cc,var(--blue))}
.sub-chip.active,.sub-chip[aria-pressed="true"]{background:var(--cc,var(--blue));color:#fff;border-color:var(--cc,var(--blue))}
.sub-cnt{font-size:10px;opacity:.7}

/* Metrics overview */
.metrics-kpi-bar{display:flex;align-items:stretch;border-bottom:1px solid var(--border);background:var(--sf)}
.kpi-cell{flex:1;padding:11px 14px;text-align:center;border-right:1px solid var(--border)}
.kpi-cell:last-child{border-right:none}
.kpi-v{font-size:19px;font-weight:700;color:var(--tx);font-family:var(--fm);line-height:1}
.kpi-l{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-top:4px}
.kpi-sub-v{font-size:10px;color:var(--t2);margin-top:2px}








.ov-panel-t{font-size:11px;font-weight:600;color:var(--tx);margin-bottom:9px}
.pil-row{display:flex;align-items:center;gap:7px;padding:4px 0;border-bottom:.5px solid var(--border)}
.pil-row:last-child{border-bottom:none}
.pil-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.pil-nm{font-size:11px;color:var(--tx);flex:1;font-weight:500}
.pil-ct{font-size:10px;color:var(--t3);min-width:20px;text-align:right}
.pil-wr-w{width:44px;height:4px;background:var(--border);border-radius:2px;overflow:hidden;flex-shrink:0}
.pil-wr-b{height:100%;border-radius:2px}
.pil-wr-pct{font-size:10px;color:var(--t2);min-width:30px;text-align:right;font-family:var(--fm)}
.dep-row{display:flex;align-items:center;gap:7px;padding:3px 0;border-bottom:.5px solid var(--border)}
.dep-row:last-child{border-bottom:none}
.dep-nm{font-size:10.5px;color:var(--tx);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dep-bw{width:52px;height:4px;background:var(--border);border-radius:2px;overflow:hidden;flex-shrink:0}
.dep-b{height:100%;background:var(--blue);border-radius:2px}
.dep-v{font-size:10px;color:var(--t3);min-width:34px;text-align:right;font-family:var(--fm)}



.mc-stat:last-child{border-right:none}



/* ── Metrics chip row ── */
.chip-row{background:var(--sf);border-bottom:1px solid var(--border);padding:10px 24px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.chip-row-lbl{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-family:var(--fm);flex-shrink:0;margin-right:6px;white-space:nowrap}
.area-chip{font-size:12.5px;font-weight:500;padding:7px 16px;border-radius:20px;border:1.5px solid var(--border2);cursor:pointer;background:var(--sf);color:var(--ink2);transition:all .15s;white-space:nowrap;font-family:var(--fb);display:inline-flex;align-items:center;gap:5px}
.area-chip:hover{border-color:var(--ink);color:var(--ink)}
.area-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip-fac{font-size:10px;font-family:var(--fm);opacity:.6}
/* ── Context bar ── */
.ctx-bar{background:var(--sf);border-bottom:1px solid var(--border);padding:10px 24px;display:flex;align-items:center;gap:0;flex-wrap:wrap;min-height:48px}
.ctx-name{font-size:13px;font-weight:600;color:var(--tx);padding-right:20px;border-right:1px solid var(--border);margin-right:20px;white-space:nowrap;flex-shrink:0;line-height:1.3}
.ctx-breadcrumb{color:var(--t3);font-weight:400}
.ctx-name-sub{font-size:10px;color:var(--t3);font-weight:400;display:block;margin-top:1px}
.ctx-kpis{display:flex;gap:0;flex:1;flex-wrap:wrap}
.ctx-kpi{padding:0 18px;text-align:center;border-right:1px solid var(--border);flex-shrink:0}
.ctx-kpi:last-child{border-right:none}
.ctx-kpi-v{font-size:16px;font-weight:600;color:var(--tx);font-family:var(--fm);letter-spacing:0;line-height:1}
.ctx-win-high{color:var(--teal)}
.ctx-win-mid{color:var(--blue)}
.ctx-win-low{color:var(--amber)}
.ctx-kpi-l{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-top:3px}
.ctx-empty{font-size:12.5px;color:var(--t3);padding:2px 0}
.ctx-reset-btn{margin-left:auto;flex-shrink:0}

/* Body */
.pi-hdr{display:flex;align-items:center;gap:8px;padding:10px 24px 9px;background:var(--bg);border-bottom:1px solid var(--border)}
.pi-hdr-title{font-size:13.5px;font-weight:600;color:var(--tx);flex:1}
.pi-hdr-count{font-size:11.5px;color:var(--t3)}
.body-layout{display:grid;grid-template-columns:200px 1fr;min-height:0;min-width:0}
.sidebar{background:var(--sf);border-right:1px solid var(--border);padding:12px 0 24px}
.main-panel{padding:0 24px 40px;min-width:0;max-width:100%;overflow-x:auto}
.sb-label{font-size:9.5px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;padding:10px 14px 4px}
.sb-item{display:flex;align-items:center;gap:6px;padding:4px 14px;font-size:11.5px;color:var(--t2);cursor:pointer}
.sb-item.sb-inactive{opacity:.3;pointer-events:none}
.sb-item input{accent-color:var(--blue);cursor:pointer;flex-shrink:0}
.sb-item-cnt{margin-left:auto;font-size:10px;color:var(--t3)}
.sb-agency{font-weight:700;color:var(--sb-color,var(--t3))}
.sb-div{height:1px;background:var(--border);margin:6px 10px}
.sb-clear{width:calc(100% - 20px);margin:6px 10px;padding:4px;border:1px solid var(--border);border-radius:var(--r);background:none;font-family:var(--fb);font-size:11px;color:var(--t3);cursor:pointer}
.sb-clear:hover{border-color:var(--ink);color:var(--ink)}

/* Faculty cards (expertise mode) */
.faculty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:16px 0}
.fcard{appearance:none;-webkit-appearance:none;display:block;width:100%;background:var(--sf);border:1.5px solid var(--border);border-radius:var(--r2);padding:14px 15px;cursor:pointer;transition:all .13s;box-shadow:var(--sh);color:inherit;font:inherit;text-align:left}
.fcard:hover{border-color:var(--blue);box-shadow:var(--sh2);transform:translateY(-1px)}
.fcard-name{display:block;font-family:var(--fd);font-size:14px;color:var(--tx);margin-bottom:2px;font-weight:600}
.fcard-sub{display:block;font-size:10.5px;color:var(--t3);margin-bottom:8px;line-height:1.35}
.fcard-dept{display:inline-block;padding:2px 8px;border-radius:100px;font-size:10px;font-weight:600;background:var(--blue-lt);color:var(--blue);margin-bottom:8px}
.fcard-ra{font-size:11.5px;color:var(--t2);line-height:1.65;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fcard-ra-empty{color:var(--t3)}
.fcard-badges{display:flex;flex-wrap:wrap;gap:4px}
.ag-solid{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:0;color:#fff;background:var(--ag-color,#0e1a26)}
.ag-solid-compact{font-size:9.5px;padding:2px 6px}
.ag-sub{font-size:7px;opacity:.7}
.ag-outline{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;background:var(--paper2);border:1px solid var(--border2);color:var(--ink3)}
.ctr-badge{padding:2px 7px;border-radius:3px;font-size:10px;background:var(--teal-lt);color:var(--teal);font-weight:500}
.awd-badge{padding:2px 7px;border-radius:3px;font-size:10px;background:var(--purple-lt);color:var(--purple)}
/* Headshot avatar on faculty card (renders only when D.headshots[pi.n] exists) */
.fcard-with-photo .fc-tophead{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.fcard-with-photo .fc-photo{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--paper3)}
.fcard-with-photo .fc-namestack{flex:1;min-width:0}
.fcard-with-photo .fc-namestack .fcard-name{margin-bottom:2px}
.fcard-with-photo .fc-namestack .fcard-sub{margin-bottom:0}

/* PI table (metrics mode) */
table.pi-tbl{width:100%;min-width:980px;border-collapse:collapse;font-size:12px}
table.pi-tbl th{text-align:left;padding:7px 10px;font-size:9.5px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;border-bottom:2px solid var(--border);background:var(--sf);cursor:pointer;white-space:nowrap;user-select:none}
table.pi-tbl th:hover{color:var(--tx)}
table.pi-tbl th.metrics-help-th{border-bottom:1px dotted #888;cursor:help}
table.pi-tbl td{padding:8px 10px;border-bottom:1px solid var(--paper3);vertical-align:middle}
table.pi-tbl tbody tr{transition:background .08s}
table.pi-tbl tbody tr:hover td{background:var(--paper2)}
table.pi-tbl th:first-child,
table.pi-tbl td:first-child{position:sticky;left:0;background:var(--sf);z-index:2;box-shadow:1px 0 0 var(--border)}
table.pi-tbl th:first-child{z-index:4}
table.pi-tbl tbody tr:hover td:first-child{background:var(--paper2)}
.empty-state{padding:40px;text-align:center;color:var(--t3);font-size:13px}
/* Agency detail page */
#agency-page{display:none;flex-direction:column;min-height:0}
/* Industry standalone page */
#industry-page{display:none}
.ind-page{padding:0;font-family:var(--fb)}
.ind-hero{padding:22px 28px 16px;background:var(--sf);border-bottom:2px solid var(--border)}
.ind-hero-title{font-size:22px;font-weight:800;color:var(--tx);letter-spacing:0;margin-bottom:3px;display:flex;align-items:center;gap:10px}
.ind-hero-sub{font-size:12px;color:var(--t3);margin-bottom:14px}
.ind-kpi-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:0}
.ind-kpi{background:var(--bg);border:1px solid var(--border);border-radius:var(--r2);padding:10px 16px;min-width:110px}
.ind-kpi-val{font-size:18px;font-weight:800;color:var(--tx);font-family:var(--fm);line-height:1}
.ind-kpi-lbl{font-size:10px;color:var(--t3);margin-top:4px;text-transform:uppercase;letter-spacing:0}
.ind-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);background:var(--sf)}
.ind-tab{padding:11px 24px;font-size:12.5px;font-weight:600;color:var(--t2);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .12s;user-select:none}
.ind-tab:hover{color:var(--tx)}
.ind-tab.active{color:#1a5fa8;border-bottom-color:#1a5fa8}
.ind-body{display:grid;grid-template-columns:1fr 1fr;min-height:0}
.ind-col{overflow-y:auto;border-right:1px solid var(--border)}
.ind-col:last-child{border-right:none}
.ind-section{padding:16px 20px 10px}
.ind-section+.ind-section{border-top:1px solid var(--border)}
.ind-section-title{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ind-section-badge{background:var(--sf);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:10px;color:var(--t2);text-transform:none;letter-spacing:0;font-weight:600}
.ind-placeholder{margin:20px;padding:20px 24px;background:var(--sf);border:2px dashed var(--border2);border-radius:var(--r2);text-align:center}
.ind-placeholder-icon{font-size:28px;margin-bottom:8px}
.ind-placeholder-title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:6px}
.ind-placeholder-text{font-size:11.5px;color:var(--t3);line-height:1.6}
.ind-placeholder-source{margin-top:10px;font-size:10.5px;color:var(--t2);background:var(--paper);border-radius:4px;padding:5px 10px;display:inline-block}
.pi-ind-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--paper3);cursor:pointer}
.pi-ind-row:hover .ag-pi-name{color:var(--blue)}
.ag-page-hero{padding:20px 28px 18px;border-bottom:1px solid var(--border);background:var(--sf)}
.ag-page-back{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--t2);cursor:pointer;padding:4px 0;margin-bottom:14px;background:none;border:none;font-family:var(--fb)}
.ag-page-back:hover{color:var(--blue)}
.ag-page-namerow{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ag-page-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ag-page-name{font-size:20px;font-weight:800;color:var(--tx);letter-spacing:0}
.ag-page-full{font-size:12px;color:var(--t2);margin-top:1px}
.ag-kpi-row{display:flex;flex-wrap:wrap;gap:10px}
.ag-kpi{background:var(--bg);border:1px solid var(--border);border-radius:var(--r2);padding:10px 16px;min-width:110px}
.ag-kpi-val{font-size:18px;font-weight:800;color:var(--tx);font-family:var(--fm);line-height:1}
.ag-kpi-lbl{font-size:10px;color:var(--t3);margin-top:4px;text-transform:uppercase;letter-spacing:0}
.ag-page-body{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1}
.ag-col-left{border-right:1px solid var(--border);overflow-y:auto}
.ag-col-right{overflow-y:auto}
.ag-section{padding:18px 24px 12px}
.ag-section+.ag-section{border-top:1px solid var(--border)}
.ag-section-title{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.ag-section-badge{background:var(--sf);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:10px;color:var(--t2);text-transform:none;letter-spacing:0}
table.awards-tbl{width:100%;border-collapse:collapse;font-size:12px}
table.awards-tbl th{text-align:left;padding:6px 10px;font-size:9.5px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;border-bottom:2px solid var(--border);background:var(--sf);white-space:nowrap;position:sticky;top:0;z-index:1}
table.awards-tbl td{padding:7px 10px;border-bottom:1px solid var(--paper3);vertical-align:middle}
table.awards-tbl tbody tr:hover td{background:var(--paper2)}
table.awards-tbl tbody tr{cursor:pointer}
.award-title-cell{color:var(--tx);font-weight:500;line-height:1.35}
.badge-direct{display:inline-block;background:rgba(13,110,84,.1);color:#0d6e54;border-radius:3px;padding:1px 7px;font-size:10px;font-weight:600;white-space:nowrap}
.badge-pt{display:inline-block;background:rgba(124,78,10,.1);color:var(--amber);border-radius:3px;padding:1px 7px;font-size:10px;font-weight:600;white-space:nowrap}
.ag-pi-list{display:flex;flex-direction:column;gap:0}
.ag-pi-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--paper3);cursor:pointer}
.ag-pi-row:hover .ag-pi-name{color:var(--blue)}
.ag-pi-name{font-size:12.5px;font-weight:600;color:var(--tx);flex:1;min-width:0}
.ag-pi-dept{font-size:10px;color:var(--t3);white-space:nowrap}
.ag-pi-won{font-size:11.5px;font-family:var(--fm);font-weight:700;color:var(--tx);white-space:nowrap}
.ag-fy-bars{display:flex;gap:14px;margin-top:4px}
.ag-fy-col{flex:1;text-align:center}
.ag-fy-bar-wrap{height:50px;display:flex;align-items:flex-end;justify-content:center}
.ag-fy-bar{width:100%;max-width:32px;border-radius:2px 2px 0 0}
.ag-fy-lbl{font-size:10px;color:var(--t3);margin-top:3px}
.ag-fy-val{font-size:10px;font-family:var(--fm);color:var(--t2);margin-top:1px}
.msp{display:inline-flex;align-items:flex-end;gap:1.5px;height:20px;vertical-align:middle}
.msb{border-radius:1px 1px 0 0;flex-shrink:0;min-width:5px;height:var(--metrics-height);background:var(--metrics-color)}
.metrics-faculty-open{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-start;max-width:210px;cursor:pointer}
.metrics-faculty-open:hover .metrics-faculty-name{text-decoration:underline;text-underline-offset:3px}
.metrics-faculty-name{font-weight:600}
.metrics-faculty-title{display:block;font-size:10px;color:var(--t3);margin-top:1px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.metrics-rank-badge{font-size:10px;white-space:nowrap}
.metrics-cell-center{text-align:center}
.metrics-mono{font-family:var(--fm)}
.metrics-strong{font-weight:600}
.metrics-pillar-badge{display:inline-block;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;background:color-mix(in srgb,var(--metrics-color) 10%,white);color:var(--metrics-color)}
.metrics-sponsors{font-size:11px;color:var(--t2)}
.metrics-trend-cell{padding:4px 8px!important;white-space:nowrap}
.metrics-spark-svg{overflow:visible}
.metrics-traj-label{font-size:9px;color:var(--metrics-color);margin-left:4px;font-weight:600}
.metrics-method{margin-top:14px;padding:12px 16px;background:var(--paper);border:1px solid var(--border);border-radius:var(--r);font-family:var(--fb);font-size:11px;color:var(--t2);line-height:1.55}
.metrics-method-title{font-family:var(--fd);font-size:10.5px;font-weight:600;color:var(--tx);margin-bottom:8px;letter-spacing:0;text-transform:uppercase}
.metrics-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.metrics-method b{color:var(--tx)}
.metrics-method-source{margin-top:10px;padding-top:8px;border-top:1px dotted var(--border);font-size:9.5px;color:var(--t3)}
.wr-hi{color:var(--green);font-weight:700}.wr-mi{color:var(--blue);font-weight:600}.wr-lo{color:var(--amber)}
.trend-up{color:var(--teal);font-weight:700;font-size:11px}.trend-dn{color:var(--red);font-weight:700;font-size:11px}.trend-nt{color:var(--t3);font-size:11px}
.b{display:inline-block;padding:2px 7px;border-radius:100px;font-size:10px;font-weight:600}
.b-dept{background:var(--blue-lt);color:var(--blue)}.b-fp{background:#ddeaf8;color:#1044a3}.b-ap{background:#ece7fb;color:#4a2d99}
.b-aap{background:#d8f0e0;color:#1a5c2e}.b-rf{background:#fdf0d6;color:#7c4e0a}.b-tf{background:var(--slate-lt);color:var(--slate)}.b-em{background:var(--paper3);color:var(--t2)}
.tier-est{background:var(--ink);color:#fff;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}
.tier-act{background:var(--ink2);color:#fff;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}
.tier-sel{background:var(--green-lt);color:var(--green);border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}
.tier-bld{background:var(--amber-lt);color:var(--amber);border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}
.tier-erl{background:var(--gold-lt);color:#7c5600;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}
.tier-none{background:var(--paper3);color:var(--t3);border-radius:4px;padding:2px 7px;font-size:10px}

/* Slide-over panel */
.backdrop{display:none;position:fixed;inset:0;background:rgba(14,26,38,.5);z-index:350}.backdrop.open{display:block}
.panel{position:fixed;top:0;right:0;width:min(940px,100vw);height:100vh;background:var(--sf);box-shadow:-6px 0 40px rgba(0,0,0,.18);z-index:400;transition:transform .28s cubic-bezier(.4,0,.2,1);transform:translateX(calc(100% + 24px));display:flex;flex-direction:column;overflow:hidden}.panel.open{transform:translateX(0)}
/* Rich panel header */
.ph{background:var(--ink);padding:0;flex-shrink:0;position:relative;overflow:hidden}
.ph::after{content:'';position:absolute;top:-40px;right:-40px;width:220px;height:220px;background:rgba(184,146,42,.06);border-radius:50%;pointer-events:none}
.ph-close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;line-height:1;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}.ph-close:hover{background:rgba(255,255,255,.2);color:#fff}
.ph-op{position:absolute;top:14px;right:54px;background:rgba(203,160,82,.15);border:1px solid rgba(203,160,82,.35);color:var(--gold2);font-family:var(--fb);font-size:11px;font-weight:600;padding:4px 11px;border-radius:var(--r);cursor:pointer;z-index:2;transition:all .12s;display:inline-flex;align-items:center;gap:6px}.ph-op:hover{background:rgba(203,160,82,.28)}
.ph-inner{padding:22px 24px 18px;position:relative;z-index:1}
.phx-head{background:var(--ink)}
.phx-id{display:flex;gap:13px;align-items:flex-start}
.phx-avatar{width:54px;height:54px;border-radius:50%;background:#0077D8;color:#fff;display:flex;align-items:center;justify-content:center;font:700 18px var(--fb);flex:0 0 auto;overflow:hidden}
.phx-avatar img{width:100%;height:100%;object-fit:cover}
.phx-name{font:700 19px var(--fd);color:#fff;line-height:1.15}
.phx-rank{font-size:12.5px;color:rgba(255,255,255,.88);margin-top:3px}
.phx-inst{font-size:10.5px;color:rgba(255,255,255,.5);margin-top:4px}
.phx-body{padding:15px 22px 20px;background:var(--sf)}
.phx-bio{font-size:12.5px;line-height:1.62;color:var(--tx);margin:0 0 15px}
.phx-h{font:700 9.5px var(--fb);color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-bottom:6px}
/* Faculty Expertise Profile (broad-facing, publication treatment) */
.fep-mast{background:#002D72;border-bottom:3px solid var(--gold)}
.fep-mast-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:15px 60px 13px 28px;position:relative;z-index:1}
.fep-wordmark{font:700 13.5px var(--fd);color:#fff;letter-spacing:0;white-space:nowrap}
.fep-wordmark-sub{font-weight:400;opacity:.85}
.fep-pubname{font:600 9px var(--fb);letter-spacing:0;text-transform:uppercase;color:#68ACE5;white-space:nowrap}
.fep-page{background:#FCFBF8}
.fep-inner{padding:28px 32px 38px;max-width:780px}
.fep-headgrid{display:grid;grid-template-columns:132px 1fr;gap:24px}
.fep-portrait{width:132px;height:158px;background:#23457e;color:#fff;display:flex;align-items:center;justify-content:center;font:900 40px var(--fd);flex:0 0 auto;overflow:hidden}
.fep-portrait img{width:100%;height:100%;object-fit:cover}
.fep-name{font:900 27px/1.12 var(--fd);color:#002D72;letter-spacing:0}
.fep-title{font-size:13.5px;font-style:italic;color:var(--ink2);margin-top:7px;line-height:1.5}
.fep-inst{font:600 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-top:8px}
.fep-affil{margin-top:13px;border-top:1px solid var(--border2);padding-top:11px}
.fep-affil-row{display:flex;gap:12px;font-family:var(--fb);font-size:11.5px;color:var(--ink2);padding:2px 0;align-items:baseline;line-height:1.5}
.fep-affil-k{flex:0 0 112px;font-size:8.5px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;padding-top:2px}
.fep-contact{display:flex;flex-wrap:wrap;border-top:1px solid #002D72;border-bottom:1px solid var(--border2);margin-top:18px;font-family:var(--fb)}
.fep-ct{flex:1 1 25%;min-width:132px;padding:9px 14px 10px 0}
.fep-ct-k{display:block;font-size:8.5px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:2px}
.fep-ct-v{font-size:11.5px;color:#002D72;font-weight:600;word-break:break-word}
.fep-h{font:800 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:#002D72;margin:26px 0 10px;display:flex;align-items:center;gap:10px}
.fep-h::before{content:'';flex:0 0 24px;height:3px;background:var(--gold)}
.fep-record{display:flex;border-bottom:1px solid var(--border2)}
.fep-rec{flex:1;text-align:center;padding:4px 8px 12px;border-right:1px solid var(--border2)}
.fep-rec:last-child{border-right:none}
.fep-rec b{display:block;font:700 24px/1.1 var(--fd);color:#002D72}
.fep-rec span{display:block;font:700 8px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-top:4px}
.fep-rec-note{font:400 9px var(--fb);color:var(--t3);text-align:right;padding-top:5px;letter-spacing:0}
.fep-pa{font:700 11.5px var(--fb);color:#002D72;border:1px solid var(--border2);border-left:4px solid var(--gold);background:var(--sf);padding:9px 13px;margin-bottom:9px;line-height:1.5}
.fep-pa-ct{font-weight:600;font-size:10px;color:var(--t3)}
.fep-pa-subs{display:block;font-weight:500;font-size:10.5px;color:var(--t3);margin-top:3px}
.fep-list{list-style:none;margin:0;padding:0}
.fep-list li{font-size:12.5px;line-height:1.55;color:var(--ink2);padding:5px 0 5px 16px;border-bottom:1px dotted var(--border2);position:relative}
.fep-list li::before{content:'\25AA';color:var(--gold);position:absolute;left:0;font-size:10px}
.fep-list li:last-child{border-bottom:none}
.fep-count{font-family:var(--fb);font-size:10px;color:var(--t3);font-weight:600}
.fep-pubs{display:flex;flex-direction:column}
.fep-pub{padding:8px 0;border-bottom:1px dotted var(--border2)}
.fep-pub:last-child{border-bottom:none}
.fep-pub-t{font-size:12.5px;font-weight:600;line-height:1.4;color:var(--ink)}
.fep-pub-m{font:400 10.5px var(--fb);color:var(--t3);margin-top:2px}
.fep-pub-link{color:#0077D8;text-decoration:none;font-weight:700}
.fep-pub-link:hover{text-decoration:underline}
.fep-honor{display:flex;gap:13px;font-size:12px;line-height:1.5;color:var(--ink2);padding:6px 0;border-bottom:1px dotted var(--border2)}
.fep-honor:last-child{border-bottom:none}
.fep-honor-yr{flex:0 0 38px;font:700 11px var(--fd);color:#8a6a2f;padding-top:1px}
.fep-honor b{color:var(--ink)}
.fep-honor-more{font:600 10px var(--fb);color:var(--t3);padding-top:6px}
.fep-bio p{font-size:13px;line-height:1.7;color:var(--ink2);margin:0 0 10px;max-width:72ch}
.fep-bio p:first-of-type::first-letter{font:900 40px/.82 var(--fd);color:#002D72;float:left;padding:4px 7px 0 0}
.fep-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:3px solid #002D72;margin-top:30px;padding-top:10px;font:400 9px var(--fb);color:var(--t3)}
.fep-foot b{font-weight:700;letter-spacing:0;text-transform:uppercase;color:#002D72}
@media(max-width:640px){
  .fep-inner{padding:20px 18px 30px}
  .fep-headgrid{grid-template-columns:96px 1fr;gap:16px}
  .fep-portrait{width:96px;height:115px;font-size:28px}
  .fep-name{font-size:21px}
  .fep-record{flex-wrap:wrap}
  .fep-rec{flex:1 1 45%;border-right:none}
  .fep-affil-k{flex-basis:90px}
}
.ph-top{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}
/* Avatar */
.ph-avatar{width:88px;height:88px;border-radius:50%;flex-shrink:0;overflow:hidden;border:3px solid rgba(255,255,255,.15);position:relative}
.ph-avatar{background:var(--ph-color,var(--blue))}
.ph-avatar-img,.ph-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ph-avatar-img-hidden{display:none!important}
.ph-avatar-init{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:28px;font-weight:600;color:rgba(255,255,255,.9);background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 100%)}
.ph-avatar-init-hidden{display:none}
.ph-identity{flex:1;min-width:0}
.ph-name{font-family:var(--fd);font-size:20px;color:#fff;margin-bottom:4px;font-weight:700;line-height:1.2}
.ph-title{font-size:11px;color:rgba(255,255,255,.55);line-height:1.5;margin-bottom:8px}
.ph-badges{display:flex;flex-wrap:wrap;gap:5px}
.ph-badge-dept{padding:3px 10px;border-radius:100px;font-size:10px;font-weight:700;background:rgba(212,169,60,.2);color:var(--gold2);border:1px solid rgba(212,169,60,.3)}
.ph-badge-rank{padding:3px 10px;border-radius:100px;font-size:10px;font-weight:500;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8)}
.ph-badge-tier{padding:3px 10px;border-radius:100px;font-size:10px;font-weight:500;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.15)}
/* Activity strip */
.ph-activity{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;margin-top:2px}
.ph-stat{text-align:center;padding:0 8px;border-right:1px solid rgba(255,255,255,.1)}
.ph-stat:last-child{border-right:none}
.ph-stat-v{font-size:17px;font-weight:700;color:var(--gold2);line-height:1;font-family:var(--fm)}
.ph-stat-l{font-size:9px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:0;margin-top:3px}
/* Agency dots row */
.ph-agencies{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.ph-ag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:0;color:#fff;background:var(--ph-color,var(--ink))}
.ph-ag-sub{font-size:8px;opacity:.7;margin-left:3px;font-weight:400}
.ph-ag-outline{padding:3px 9px;border-radius:4px;font-size:10px;font-weight:500;background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.15)}
/* Panel body */
.pb{flex:1;overflow-y:auto;padding:0}
.p-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 20px;background:var(--sf);position:sticky;top:0;z-index:10}
.p-tab{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 16px;font-family:var(--fb);font-size:12px;font-weight:500;color:var(--t3);cursor:pointer;transition:all .1s}
.p-tab:hover{color:var(--t2)}.p-tab.active{color:var(--ink);border-bottom-color:var(--gold)}
.pb-content{padding:18px 20px 40px}
/* Bio block */
.bio-block{background:var(--paper);border-radius:var(--r2);padding:16px 18px;border-left:3px solid var(--gold);margin-top:4px}
.bio-block p{font-size:12.5px;color:var(--t2);line-height:1.85}
/* Spend activity bars */
.act-bars{display:flex;align-items:flex-end;gap:3px;height:44px;margin-bottom:4px}
.act-bar-wrap{display:flex;flex-direction:column;align-items:center;flex:1;gap:2px;height:100%}
.act-bar{border-radius:2px 2px 0 0;width:100%;min-height:2px;margin-top:auto;height:var(--ph-height,2px);background:var(--ph-color,rgba(255,255,255,.2))}
.act-lbl{font-size:8px;color:rgba(255,255,255,.35)}
.ph-spend{flex-shrink:0;text-align:right}
.ph-spend-title{font-size:9px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:0;margin-bottom:4px}
.ph-spend-bars{justify-content:flex-end;width:90px}
.p-sec{margin-bottom:18px}
.p-sec-spaced{margin-top:14px}
.p-sec-t{font-size:10px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.p-badge{background:var(--paper2);border-radius:100px;padding:1px 8px;font-size:9.5px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--t2)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:4px}
.stat-grid-2{grid-template-columns:repeat(2,1fr)}.stat-grid-3{grid-template-columns:repeat(3,1fr)}
.sbox{background:var(--paper);border:1.5px solid transparent;border-radius:var(--r);padding:9px 11px;cursor:pointer;transition:all .12s;position:relative}
.sbox:hover,.sbox.open{border-color:var(--blue);background:var(--sf);box-shadow:0 2px 8px rgba(26,95,168,.14)}
.sbox-v{font-size:15px;font-weight:600;color:var(--tx);line-height:1}.sbox-l{font-size:9.5px;color:var(--t3);margin-top:2px;text-transform:uppercase;letter-spacing:0}
.sbox-h{position:absolute;top:5px;right:6px;font-size:9px;color:var(--t3);opacity:.5;transition:opacity .1s}
.sbox:hover .sbox-h,.sbox.open .sbox-h{opacity:1;color:var(--blue)}
.det{overflow:hidden;max-height:0;transition:max-height .22s ease;background:var(--sf);border:1px solid var(--border);border-radius:var(--r);margin-bottom:7px}
.det.open{max-height:500px}.det-i{padding:12px 14px;font-size:12px}
.spk{display:flex;align-items:flex-end;gap:2px;height:48px}
.spk-col{display:flex;flex-direction:column;align-items:center;flex:1;gap:2px}
.spk-bar{border-radius:2px 2px 0 0;width:100%;min-height:3px}.spk-lbl{font-size:8.5px;color:var(--t3)}
.gr{display:flex;align-items:flex-start;gap:7px;padding:5px 0;border-bottom:.5px solid var(--border)}.gr:last-child{border-bottom:none}
.gr-fy{flex-shrink:0;background:var(--paper2);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;color:var(--t2);font-family:var(--fm)}
.gr-sp{flex-shrink:0;padding:2px 6px;background:var(--amber-lt);border-radius:3px;font-size:10px;font-weight:600;color:var(--amber)}
.gr-ti{flex:1;color:var(--t2);font-size:11.5px}.gr-am{flex-shrink:0;font-weight:600;color:var(--tx);font-family:var(--fm);font-size:11.5px}
.sp-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:.5px solid var(--border)}.sp-row:last-child{border-bottom:none}
.sp-n{flex:1;font-size:11.5px}.sp-bw{width:110px;background:var(--paper3);border-radius:2px;height:6px;overflow:hidden}.sp-bf{height:100%;border-radius:2px;background:var(--blue)}.sp-v{font-size:11px;color:var(--t3);min-width:50px;text-align:right;font-family:var(--fm)}
.wr-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:.5px solid var(--border)}.wr-row:last-child{border-bottom:none}
.wr-fy{font-size:10px;color:var(--t3);width:30px;font-family:var(--fm)}.wr-trk{flex:1;background:var(--paper3);border-radius:2px;height:6px;overflow:hidden}
.wr-fill{height:100%;border-radius:2px}.wr-pct{font-size:11px;color:var(--t2);width:34px;text-align:right;font-family:var(--fm)}.wr-rat{font-size:9.5px;color:var(--t3)}
.tag-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tag{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10.5px;background:var(--paper2);border:1px solid var(--border);color:var(--t2)}
.tag.ctr{background:var(--teal-lt);border-color:rgba(13,110,84,.2);color:var(--teal)}
.tag.awd{background:var(--purple-lt);border-color:rgba(74,45,153,.2);color:var(--purple)}
.tag.area{border-radius:100px;padding:2px 10px;background:color-mix(in srgb,var(--ph-color,var(--slate)) 9%,transparent);color:var(--ph-color,var(--slate));border-color:color-mix(in srgb,var(--ph-color,var(--slate)) 20%,transparent)}
.tag-subcount{opacity:.6;font-weight:400}
.ph-research-list{font-size:12.5px;color:var(--t2);line-height:1.9}
.ph-empty-text{color:var(--t3);font-size:12px}
.ph-chip-row{display:flex;flex-wrap:wrap}
.ph-chip-row-spaced{gap:8px;margin-bottom:14px}
.ph-chip-row-compact{gap:6px}
.ph-funding-agency{background:var(--ph-color,var(--ink));font-size:12px;padding:5px 14px}
.ph-summary-card{background:var(--paper);border-radius:var(--r);padding:10px;text-align:center}
.ph-summary-value{font-size:18px;font-weight:600}
.ph-summary-value-good{color:#1a5c2e}
.ph-summary-value-mid{color:#1a5fa8}
.ph-summary-value-warn{color:#7c4e0a}
.ph-summary-label{font-size:9.5px;color:var(--t3);text-transform:uppercase;margin-top:2px}
.ph-profile-table{width:100%;border-collapse:collapse;font-size:12px}
.ph-profile-k{padding:6px 8px;font-weight:600;color:var(--t3);font-size:10px;text-transform:uppercase;letter-spacing:0;width:140px;vertical-align:top;border-bottom:1px solid var(--paper3)}
.ph-profile-v{padding:6px 8px;color:var(--t2);border-bottom:1px solid var(--paper3)}
.panel-tab-content-hidden{display:none!important}

/* Metrics profile panel */
.mp-svg{width:100%;font-family:var(--fb)}
.mp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:2px}
.mp-grid-2-spaced{gap:12px;margin-top:14px}
.mp-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.mp-grid-tight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.mp-kpi{background:var(--paper);border-radius:var(--r2);padding:12px 14px;border-top:3px solid var(--mp-color,var(--blue))}
.mp-kpi-v{font-size:19px;font-weight:700;color:var(--tx);line-height:1;font-family:var(--fm)}
.mp-kpi-l{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-top:4px}
.mp-kpi-s{font-size:10.5px;color:var(--t2);margin-top:3px}
.mp-sec-h{font-size:9.5px;font-weight:800;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin:18px 0 10px;padding-bottom:6px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;gap:8px}
.mp-sec-badge{background:var(--paper2);border-radius:100px;padding:1px 8px;font-size:9px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--t2)}
.mp-muted{font-size:12px;color:var(--t2);line-height:1.85;margin-bottom:10px}
.mp-tag-row{display:flex;flex-wrap:wrap;gap:5px}
.mp-pill{display:inline-block;padding:3px 10px;border-radius:100px;font-size:10.5px;background:color-mix(in srgb,var(--mp-color,var(--slate)) 10%,transparent);color:var(--mp-color,var(--slate));border:1px solid color-mix(in srgb,var(--mp-color,var(--slate)) 24%,transparent)}
.mp-pill-lg{padding:4px 12px;font-size:11px}
.mp-pill-square{border-radius:3px;padding:3px 9px;background:var(--paper2);border-color:var(--border);color:var(--t2)}
.mp-pill-teal{background:var(--teal-lt);border-color:rgba(13,110,84,.2);color:var(--teal)}
.mp-pill-purple{background:var(--purple-lt);border-color:rgba(74,45,153,.2);color:var(--purple)}
.mp-pill-solid{display:inline-block;background:var(--mp-color,var(--ink));border-color:var(--mp-color,var(--ink));color:#fff;border-radius:4px;font-size:11px;font-weight:700;padding:4px 12px}
.mp-empty{padding:32px;text-align:center;color:var(--t3)}
.mp-empty-compact{font-size:11px;padding:8px 0}
.mp-empty-note{font-size:11px}
.mp-legend{display:flex;gap:16px;font-size:10px;color:var(--t3);margin-bottom:6px;flex-wrap:wrap}
.mp-legend-item{display:flex;align-items:center;gap:4px}
.mp-legend-dot{width:10px;height:10px;border-radius:2px;background:var(--mp-color,var(--blue));display:inline-block;flex-shrink:0}
.mp-legend-muted{opacity:.5}
.mp-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:.5px solid var(--border)}
.mp-row-wide{gap:10px;padding:5px 0}
.mp-row:last-child{border-bottom:none}
.mp-fy{font-size:10px;color:var(--t3);font-family:var(--fm);width:28px;flex-shrink:0}
.mp-fy-wide{width:30px}
.mp-track{flex:1;background:var(--paper3);border-radius:2px;height:8px;overflow:hidden}
.mp-track-thin{height:7px;border-radius:3px}
.mp-fill{width:var(--mp-width,0%);height:100%;background:var(--mp-color,var(--blue));border-radius:inherit;transition:width .3s}
.mp-value{font-size:11px;font-weight:700;color:var(--mp-color,var(--t2));font-family:var(--fm);width:34px;text-align:right}
.mp-ratio{font-size:10px;color:var(--t3)}
.mp-callout{border-radius:var(--r2);padding:10px 14px;border-left:3px solid var(--mp-color,var(--slate));background:var(--paper2);margin-bottom:0}
.mp-callout-amber{background:var(--amber-lt);border-left-color:var(--amber)}
.mp-callout-green{background:var(--green-lt)}
.mp-callout-red{background:var(--red-lt)}
.mp-callout-label{font-size:10px;font-weight:700;color:var(--amber);letter-spacing:0;text-transform:uppercase;margin-bottom:6px}
.mp-callout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;font-size:11px;color:var(--t2)}
.mp-callout strong{font-size:14px;color:var(--mp-color,var(--amber))}
.mp-trend{display:flex;align-items:center;gap:12px}
.mp-trend-main{flex:1}
.mp-trend-title{font-size:11px;font-weight:700;color:var(--mp-color,var(--slate))}
.mp-trend-text{font-size:10.5px;color:var(--t2);margin-top:2px}
.mp-callout>.mp-trend-text{margin-left:8px}
.mp-trend-score{text-align:center;flex-shrink:0}
.mp-trend-score-v{font-size:20px;font-weight:700;color:var(--mp-color,var(--slate));font-family:var(--fm)}
.mp-trend-score-l{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:0}
.mp-mini-row{display:flex;align-items:flex-start;gap:7px;padding:6px 0;border-bottom:.5px solid var(--border)}
.mp-mini-row:last-child{border-bottom:none}
.mp-mini-badge{background:var(--paper2);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;color:var(--t2);font-family:var(--fm);flex-shrink:0}
.mp-mini-sponsor{background:var(--amber-lt);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;color:var(--amber);flex-shrink:0}
.mp-mini-title{flex:1;font-size:11.5px;color:var(--t2)}
.mp-mini-amount{font-size:11.5px;font-weight:600;font-family:var(--fm);flex-shrink:0}
.mp-year-value{font-size:11.5px;font-weight:600;font-family:var(--fm);min-width:60px;text-align:right;color:var(--tx)}
.mp-year-value-muted{color:var(--t3)}
.mp-partial{font-size:9px;color:var(--amber);background:var(--amber-lt);padding:1px 5px;border-radius:3px}
.mp-sponsor-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:.5px solid var(--border)}
.mp-sponsor-row:last-child{border-bottom:none}
.mp-sponsor-name{font-size:11px;color:var(--t2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-sponsor-track{width:100px;background:var(--paper3);border-radius:2px;height:7px;overflow:hidden;flex-shrink:0}
.mp-sponsor-value{font-size:11px;color:var(--t3);font-family:var(--fm);min-width:55px;text-align:right}
.mp-location{margin-bottom:8px}
.mp-location-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.mp-dot{width:10px;height:10px;border-radius:2px;background:var(--mp-color,var(--slate));flex-shrink:0;display:inline-block}
.mp-location-key{font-size:11px;font-weight:600;color:var(--tx)}
.mp-location-label{font-size:10px;color:var(--t3);flex:1}
.mp-location-pct{font-size:11px;font-weight:700;color:var(--mp-color,var(--slate));font-family:var(--fm)}
.mp-location-value{font-size:10px;color:var(--t3);margin-top:2px;text-align:right}
.mp-profile-card{background:var(--paper);border-radius:var(--r2);padding:16px;margin-bottom:14px}
.mp-profile-name{font-size:16px;font-family:var(--fd);color:var(--tx);margin-bottom:2px}
.mp-profile-sub{font-size:11px;color:var(--t3);margin-bottom:10px}
.mp-badge-row{display:flex;flex-wrap:wrap;gap:5px}
.mp-badge{background:var(--paper3);color:var(--t2);padding:3px 10px;border-radius:100px;font-size:10px}
.mp-badge-dept{background:var(--blue-lt);color:var(--blue);font-weight:600}
.mp-donut-grid{display:grid;grid-template-columns:144px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:14px}
.mp-div-count-label{font-size:10.5px;color:var(--t3);margin-bottom:5px;font-style:italic}
.mp-record-table{width:100%;border-collapse:collapse;font-size:12px}
.mp-record-table td{padding:5px 8px;border-bottom:1px solid var(--paper3)}
.mp-record-label{font-weight:600;color:var(--t3);font-size:10px;text-transform:uppercase;letter-spacing:0;width:130px;vertical-align:top}
.mp-record-value{color:var(--t2)}
@media(max-width:720px){.mp-grid-4,.mp-grid-2,.mp-grid-tight,.mp-donut-grid{grid-template-columns:1fr}.mp-sponsor-track{width:84px}}

/* One-pager */
.op-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:500;overflow-y:auto;padding:24px}
.op-modal.open{display:block}
.op-wrap{max-width:900px;margin:0 auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.op-bar{background:var(--ink);padding:12px 22px;display:flex;align-items:center;gap:10px}
.op-bar-title{font-size:13px;font-weight:500;color:var(--gold2);flex:1;letter-spacing:0}
.op-btn{padding:6px 16px;border-radius:var(--r);border:none;font-family:var(--fb);font-size:12px;font-weight:600;cursor:pointer;transition:opacity .12s}
.op-btn:hover{opacity:.85}
.op-btn.print-btn{background:var(--gold);color:var(--ink)}
.op-btn.close-btn{background:rgba(255,255,255,.12);color:#fff}
.op-close-btn{margin-left:6px}
.op-generate-btn{margin-left:12px;padding:7px 18px;font-size:12.5px}
/* Page itself */
.op-page{background:#fff;font-family:'Work Sans',system-ui,sans-serif;font-size:12px;line-height:1.6;color:#1a1a2e}
.op-dyn-color{--op-ac:var(--op-color,#a32020)}
/* One-pager page content */
.op-hdr{background:#0e1a26;padding:28px 36px 24px}
.op-hdr-brand{font-size:8px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.op-hdr-brand::after{content:'';flex:1;height:.5px;background:rgba(255,255,255,.1)}
.op-hdr-eyebrow{font-size:8.5px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--op-ac,#a32020);margin-bottom:8px}
.op-hdr-title{font-size:26px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:10px;letter-spacing:0}
.op-hdr-tagline{font-size:12px;color:rgba(255,255,255,.6);line-height:1.7;max-width:580px}
.op-body{display:grid;grid-template-columns:1fr 210px}
.op-main{padding:20px 24px;border-right:1px solid #e3dfd8}
.op-sidebar{padding:18px 16px}
.op-sec-t{font-size:8px;font-weight:800;letter-spacing:0;text-transform:uppercase;color:var(--op-ac,#a32020);margin-bottom:10px;padding-bottom:5px;border-bottom:2px solid var(--op-ac,#a32020)}
.op-sec-t-first{margin-top:2px}
.op-sec-meta{font-weight:400;color:#7a8a96;font-size:9px;text-transform:none;letter-spacing:0}
.op-vp{background:#f8f6f2;padding:13px 16px;margin-bottom:18px;border-left:3px solid #0e1a26}
.op-vp-text{font-size:11.5px;color:#1e3045;line-height:1.8}
.op-cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:20px}
.op-cap-item{padding:8px 10px;background:#f8f6f2;border-left:2.5px solid var(--op-ac,#a32020)}
.op-cap-name{font-size:10.5px;font-weight:700;color:#0e1a26}
/* Faculty B2 roster */
.op-fac-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:6px}
.op-dept-block{display:grid;grid-template-columns:78px 1fr;border:.5px solid #e3dfd8}
.op-dept-block.full-span{grid-column:1/-1;grid-template-columns:78px 1fr}
.op-dept-lft{background:#f8f6f2;padding:9px 8px;border-right:.5px solid #e3dfd8;display:flex;flex-direction:column}
.op-dept-abbr{font-size:14px;font-weight:800;color:#0e1a26;line-height:1}
.op-dept-full{font-size:7.5px;color:#7a8a96;margin-top:3px;line-height:1.35}
.op-dept-ct{font-size:7.5px;color:var(--op-ac,#a32020);font-weight:700;margin-top:5px;letter-spacing:0}
.op-dept-names{padding:7px 9px;display:flex;flex-direction:column;gap:0}
.op-dept-names-wide{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start}
.op-dept-row{padding:3px 0;border-bottom:.5px solid #f8f6f2;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.op-dept-row:last-child{border-bottom:none}
.op-dept-nm{font-size:10px;font-weight:600;color:#0e1a26;white-space:nowrap}
.op-dept-rk{font-size:8.5px;color:#7a8a96;white-space:nowrap}
.op-dept-sch{font-size:8px;color:var(--op-ac,#a32020);font-style:italic;width:100%;padding-bottom:1px}
.op-contact-note{font-size:8.5px;color:#7a8a96;font-style:italic;padding-top:6px}
/* Sidebar */
.op-sb-box{margin-bottom:14px}
.op-sb-box-spaced{margin-top:14px}
.op-ctr-item{padding:5px 0;border-bottom:.5px solid #f0ede8}
.op-ctr-item:last-child{border-bottom:none}
.op-ctr-nm{font-size:9.5px;font-weight:700;color:#0e1a26;line-height:1.35}
.op-ctr-sub{font-size:8.5px;color:#7a8a96;margin-top:1px}
.op-awd-wrap{display:flex;flex-wrap:wrap;gap:4px}
.op-awd{font-size:8.5px;padding:3px 7px;border-radius:100px;background:#faf0d8;color:#7c4e0a;font-weight:600;border:.5px solid #e8d5a0}
.op-eng-list{font-size:9.5px;color:#546372;line-height:1.85}
/* Agency band */
.op-ag-band{background:#0e1a26;padding:11px 24px}
.op-ag-label{font-size:7.5px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:7px}
.op-ag-tiles{display:flex;flex-wrap:wrap;gap:5px}
.op-ag-tile{font-size:9.5px;font-weight:700;letter-spacing:0;color:#fff;padding:5px 12px;border-radius:3px}
.op-ag-tile-dyn{background:var(--op-color,#546372)}
/* CTA footer */
.op-cta{background:var(--op-ac,#a32020);padding:13px 30px;display:flex;justify-content:space-between;align-items:center}
.op-cta-dyn{background:var(--op-color,var(--op-ac,#a32020))}
.op-cta-l{font-size:12px;font-weight:700;color:#fff}
.op-cta-sub{font-size:10px;color:rgba(255,255,255,.65);margin-top:3px}
.op-cta-r{text-align:right}
.op-cta-url{font-size:12px;font-weight:700;color:#ffd89a;letter-spacing:0}
.op-cta-contact{font-size:9px;color:rgba(255,255,255,.55);margin-top:3px}
@media print{.op-bar{display:none!important}.op-modal{padding:0!important}.op-wrap{border-radius:0!important;box-shadow:none!important}}
.opx{font-family:var(--fb);color:#1a1a18;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.opx *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.opx-head{background:#002D72;color:#fff;padding:22px 30px}
.opx-eyebrow{font-size:10px;letter-spacing:0;text-transform:uppercase;color:#9bb8e0}
.opx-title{font-size:30px;font-weight:800;margin-top:6px;letter-spacing:0}
.opx-tag-line{font-size:13px;color:#cfddf0;margin-top:5px;font-style:italic}
.opx-body{padding:22px 30px 26px}
.opx-value{font-size:13px;line-height:1.65;color:#2c2c2a;margin:0 0 18px}
.opx-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid #002D72;border-bottom:1px solid #ddd;margin-bottom:18px}
.opx-stat{padding:12px 8px;text-align:center;border-right:1px solid #eee}
.opx-stat:last-child{border-right:none}
.opx-stat-v{font-size:24px;font-weight:800;color:#002D72}
.opx-stat-l{font-size:9px;color:#777;text-transform:uppercase;letter-spacing:0;margin-top:2px}
.opx-h{font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:#888;margin:0 0 8px}
.opx-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px}
.opx-tag{font-size:11px;background:#eef3f9;color:#002D72;border-radius:4px;padding:4px 9px}
.opx-facs{display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;margin-bottom:8px}
.opx-fac-n{font-size:12.5px;font-weight:700;color:#1a1a18}
.opx-fac-t{font-size:10.5px;color:#777;margin-top:1px}
.opx-fac-e{font-size:10.5px;color:#444;margin-top:1px}
.opx-fac-more{font-size:10.5px;color:#999;margin:4px 0 18px}
.opx-ctrs{font-size:11px;color:#444;line-height:1.6;margin-bottom:8px}
.opx-foot{font-size:9px;color:#aaa;text-align:right;border-top:1px solid #eee;padding-top:10px;margin-top:14px}

/* BAA modal */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(14,26,38,.6);z-index:500;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:var(--sf);border-radius:var(--r3);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal-hdr{background:var(--ink);padding:18px 22px;border-radius:var(--r3) var(--r3) 0 0;position:relative}
.modal-hdr-title{font-family:var(--fd);font-size:18px;color:var(--gold2)}
.modal-hdr-sub{font-size:11px;color:#6e8aa0;margin-top:2px}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:rgba(255,255,255,.5);font-size:22px;cursor:pointer;line-height:1}.modal-close:hover{color:#fff}
.modal-body{padding:22px}
/* ===== Funding Opportunities placeholder page (May 2026) ===== */
#fundopp-page{
  --fo-primary:#002D72;
  --fo-link:#0077D8;
  --fo-ink:#0e1827;
  --fo-muted:#5e6b79;
  --fo-panel:#fff;
  --fo-soft:#f3f6fb;
  --fo-preview:#fff7e6;
  --fo-preview-border:#d9b45f;
  --fo-success:#008767;
  --fo-danger:#A6192E;
  position:fixed;top:92px;left:0;right:0;bottom:0;z-index:80;padding:18px 24px 34px;background:var(--paper);overflow:auto;display:flex;flex-direction:column;box-sizing:border-box}
.fo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.fo-head h1{font-family:var(--fd);font-size:22px;font-weight:700;color:var(--fo-ink);margin:0;letter-spacing:0}
.fo-head p{font-size:12.5px;color:var(--fo-muted);margin:3px 0 0;line-height:1.5;max-width:780px}
.fo-status{display:flex;gap:6px;flex-wrap:wrap}
.fo-status .schip{font-family:var(--fm);font-size:10.5px;padding:4px 9px;background:var(--fo-preview);border:1px solid var(--fo-preview-border);color:#6d4c0a;border-radius:999px;font-weight:700}
.fo-section-label{font-family:var(--fb);font-size:10px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin:18px 0 7px}
.fo-chips{display:flex;flex-wrap:wrap;gap:6px}
.fo-chip{appearance:none;-webkit-appearance:none;padding:6px 13px;font-size:12.5px;border-radius:999px;border:1px solid var(--border2);background:var(--fo-panel);cursor:pointer;color:var(--fo-ink);font-family:var(--fb);transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex;align-items:center;gap:7px;font-weight:700;box-shadow:var(--sh)}
.fo-chip:hover{border-color:var(--fo-link);background:var(--fo-soft)}
.fo-chip.active{background:var(--fo-color,var(--fo-primary));border-color:var(--fo-color,var(--fo-primary));color:#fff;box-shadow:none}
.fo-chip.active .fo-cnt{color:rgba(255,255,255,.7)}
.fo-chip .fo-cnt{font-size:10.5px;color:var(--t3);font-family:var(--fm);font-weight:500}
.fo-chip .fo-dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--fo-color,#546372)}
.fo-chip.src{font-size:11.5px;padding:5px 11px}
.fo-chip.src .fo-dot{width:9px;height:9px}
.fo-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:11px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12.5px;color:var(--fo-muted);font-family:var(--fb)}
.fo-toolbar .fo-count{color:var(--fo-ink);font-weight:700}
.fo-toolbar .fo-count b{color:var(--fo-primary);font-weight:800}
.fo-toolbar .fo-sort{display:flex;align-items:center;gap:7px;font-size:12px}
.fo-toolbar .fo-sort select{font-size:12px;padding:5px 9px;border:1px solid var(--border2);border-radius:6px;background:var(--fo-panel);color:var(--fo-ink);font-family:var(--fb);cursor:pointer}
.fo-card{background:var(--fo-panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-top:10px;border-left:4px solid var(--fo-primary);position:relative;box-shadow:var(--sh);transition:border-color .15s,box-shadow .15s,transform .15s}
.fo-card:hover{border-color:var(--border2);box-shadow:var(--sh2);transform:translateY(-1px)}
.fo-card.fo-high{border-left-color:var(--gold);background:linear-gradient(to right,var(--fo-preview) 0%,#fff 28%)}
.fo-card.fo-close{border-left-color:var(--fo-danger)}
.fo-card.fo-new{border-left-color:var(--fo-success)}
.fo-card .fo-row1{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:6px}
.fo-card .fo-srcbadge{font-family:var(--fm);font-size:10px;font-weight:800;letter-spacing:0;padding:4px 8px;border-radius:4px;color:#fff;background:var(--fo-color,#546372);text-transform:uppercase;flex-shrink:0;align-self:flex-start;margin-top:3px;white-space:nowrap}
.fo-main{flex:1;min-width:0}
.fo-card .fo-title{font-size:14.5px;font-weight:800;color:var(--fo-ink);line-height:1.35;flex:1;font-family:var(--fb)}
.fo-card .fo-titlemeta{font-size:11px;color:var(--t3);font-family:var(--fm);font-weight:400;margin-top:2px;display:block}
.fo-card .fo-amount{font-family:var(--fm);font-size:14px;font-weight:800;color:var(--fo-ink);white-space:nowrap;align-self:flex-start;margin-top:3px}
.fo-card .fo-desc{font-size:12.5px;color:var(--t2);line-height:1.5;margin:6px 0 11px}
.fo-card .fo-areas{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:11px}
.fo-area-tag{font-size:10.5px;padding:3px 10px;border-radius:999px;font-weight:700;letter-spacing:0;border:1px solid var(--fo-border-color,var(--border));background:var(--fo-soft-color,var(--paper2));color:var(--fo-text-color,var(--fo-color,#546372));font-family:var(--fb);display:inline-flex;align-items:center;gap:5px}
.fo-area-tag .fo-tagdot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--fo-color,#546372)}
.fo-area-tag.fo-muted{background:var(--paper2);color:var(--t3);border-color:var(--border)}
.fo-card .fo-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--paper2);padding-top:10px;font-size:11.5px;color:var(--t2);font-family:var(--fb)}
.fo-card .fo-fac{display:flex;align-items:center;gap:8px}
.fo-card .fo-avs{display:flex}
.fo-card .fo-av{width:24px;height:24px;border-radius:50%;color:#fff;background:var(--fo-color,#546372);font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff;margin-left:-6px;font-family:var(--fb)}
.fo-av-more{font-size:9px}
.fo-card .fo-av:first-child{margin-left:0}
.fo-card .fo-dates{font-family:var(--fm);font-size:11px;color:var(--t3)}
.fo-card .fo-btn{padding:5px 12px;font-size:11.5px;color:var(--fo-primary);background:var(--fo-panel);border:1px solid var(--border2);border-radius:6px;cursor:pointer;font-family:var(--fb);font-weight:800}
.fo-card .fo-btn:hover{background:var(--blue-lt);border-color:var(--fo-link)}
.fo-card .fo-badgetop{position:absolute;top:-8px;right:15px;color:#fff;font-size:9.5px;font-weight:600;padding:2px 9px;border-radius:9px;letter-spacing:0;text-transform:uppercase;font-family:var(--fm)}
.fo-badgetop.fo-bhi{background:var(--gold);color:var(--fo-ink)}
.fo-badgetop.fo-bnew{background:var(--fo-success);color:#fff}
.fo-badgetop.fo-bclose{background:var(--fo-danger);color:#fff}
.fo-placeholder-note{margin-top:14px;padding:13px 16px;background:var(--fo-preview);border:1px solid var(--fo-preview-border);border-radius:10px;font-size:12px;color:#5c4a1a;line-height:1.55}
.fo-placeholder-note b{color:var(--fo-ink)}
.fo-empty{padding:32px;text-align:center;color:var(--t3);font-size:13px}
.fo-detail{
  --fo-primary:#002D72;
  --fo-ink:#0e1827;
  display:flex;flex-direction:column;height:100%;background:var(--sf)}
.fo-detail-head{background:linear-gradient(135deg,#0e1a26,var(--fo-primary));color:#fff;padding:22px 26px 20px;position:relative}
.fo-detail-preview{display:inline-flex;align-items:center;margin:0 0 10px;padding:3px 9px;border:1px solid rgba(255,255,255,.45);border-radius:12px;background:rgba(255,255,255,.12);font:700 9.5px var(--fm);letter-spacing:0;text-transform:uppercase;color:#fff}
.fo-detail-src{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:4px;background:var(--fo-color,#546372);font:700 10px var(--fm);letter-spacing:0;text-transform:uppercase;margin-bottom:12px}
.fo-detail-title{font:700 24px/1.2 var(--fd);letter-spacing:0;max-width:760px}
.fo-detail-meta{font:500 12px/1.5 var(--fm);color:#bed0e6;margin-top:8px;max-width:820px}
.fo-detail-close{position:absolute;top:16px;right:18px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.fo-detail-close:hover{background:rgba(255,255,255,.24)}
.fo-detail-body{padding:22px 26px 28px;overflow:auto}
.fo-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}
.fo-detail-panel{border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--sh);overflow:hidden}
.fo-detail-panel-spaced{margin-top:12px}
.fo-detail-panel-h{padding:11px 14px;border-bottom:1px solid var(--border);font:700 11px var(--fb);text-transform:uppercase;letter-spacing:0;color:var(--t3)}
.fo-detail-panel-b{padding:14px;font-size:12.5px;color:var(--t2);line-height:1.6}
.fo-detail-note p{margin:0}
.fo-detail-note p+p{margin-top:8px}
.fo-detail-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.fo-detail-kpi{background:var(--paper);border:1px solid var(--border);border-radius:8px;padding:10px 12px}
.fo-detail-kpi-v{font:800 17px var(--fm);color:var(--fo-ink);line-height:1.1}
.fo-detail-kpi-l{font-size:9.5px;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin-top:3px}
.fo-detail-desc{font-size:14px;color:var(--t2);line-height:1.65;margin-bottom:16px}
.fo-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fo-detail-fac-list{display:flex;flex-direction:column;gap:8px}
.fo-detail-fac{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--paper)}
.fo-detail-fac .fo-av{width:28px;height:28px;margin:0;border:0;flex-shrink:0;background:var(--fo-color,#546372);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--fb);font-weight:600}
.fo-detail-fac-main{font-weight:700;color:var(--tx);font-size:12.5px}
.fo-detail-fac-sub{font-size:10.5px;color:var(--t3);margin-top:1px}
.fo-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.fo-detail-action{border:1px solid var(--border2);border-radius:6px;background:#fff;color:var(--fo-primary);font:800 12px var(--fb);padding:8px 12px;cursor:pointer}
.fo-detail-action.primary{background:var(--fo-primary);color:#fff;border-color:var(--fo-primary)}
.fo-detail-action:hover{filter:brightness(.96)}
@media(max-width:760px){.fo-detail-grid{grid-template-columns:1fr}.fo-detail-title{font-size:21px}.fo-detail-head,.fo-detail-body{padding-left:18px;padding-right:18px}}
#baa-page{
  --baa-primary:#002D72;
  --baa-link:#0077D8;
  --baa-ink:#0e1827;
  --baa-muted:#5e6b79;
  --baa-panel:#fff;
  --baa-soft:#f3f6fb;
  --baa-gold:#CBA052;
  --baa-success:#008767;
  --baa-danger:#A6192E;
  position:fixed;top:92px;left:0;right:0;bottom:0;z-index:80;padding:18px 24px 34px;background:var(--paper);overflow:auto;display:flex;flex-direction:column;box-sizing:border-box}
.baa-pg-hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0;margin-bottom:14px;background:transparent;border-bottom:0;flex-shrink:0}
.baa-pg-title{font-family:var(--fd);font-size:27px;font-weight:800;color:var(--baa-ink);letter-spacing:0;line-height:1.15;margin-bottom:4px}
.baa-pg-sub{font-size:13px;color:var(--baa-muted);max-width:780px;line-height:1.45}
.baa-pg-body{display:grid;grid-template-columns:430px 1fr;flex:1;min-height:0;background:var(--baa-panel);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--sh2);overflow:hidden}
.baa-pg-input{padding:22px 24px;border-right:1px solid var(--border);background:var(--baa-panel);overflow-y:auto}
.baa-pg-results{padding:22px 24px;overflow-y:auto;background:var(--baa-soft)}
.baa-results{display:block!important}
.baa-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin:16px 0 14px}
.baa-tab{padding:8px 14px;font-family:var(--fb);font-size:12.5px;font-weight:800;color:var(--t3);cursor:pointer;border:0;border-bottom:3px solid transparent;background:transparent;transition:color .1s,background .1s,border-color .1s;border-radius:7px 7px 0 0}
.baa-tab:hover{color:var(--baa-ink);background:var(--baa-soft)}.baa-tab.active{color:var(--baa-ink);border-bottom-color:var(--baa-gold)}
.baa-textarea{width:100%;height:214px;padding:13px 14px;border:1px solid var(--border2);border-radius:var(--r);font-family:var(--fb);font-size:12.5px;resize:vertical;outline:none;color:var(--tx);line-height:1.65;background:#fff;box-shadow:inset 0 1px 2px rgba(14,26,38,.04)}
.baa-textarea:focus{border-color:var(--baa-link);box-shadow:0 0 0 3px rgba(0,105,192,.12)}
.baa-drop{appearance:none;-webkit-appearance:none;display:block;width:100%;border:2px dashed var(--border2);border-radius:var(--r2);padding:34px;text-align:center;cursor:pointer;background:var(--baa-soft);transition:border-color .13s,background .13s,box-shadow .13s;font:inherit;color:inherit;line-height:1.4}
.baa-drop:hover,.baa-drop.drag{border-color:var(--baa-link);background:var(--blue-lt);box-shadow:inset 0 0 0 1px rgba(0,105,192,.08)}
.baa-drop-icon,.baa-drop-title,.baa-drop-hint,.baa-file-name{display:block}
.baa-drop-icon{font-size:28px;margin-bottom:8px;color:var(--baa-link);font-weight:800}
.baa-drop-title{font-size:13px;font-weight:800;color:var(--baa-ink);margin-bottom:4px}
.baa-drop-hint{font-size:11.5px;color:var(--t3)}
.baa-file-name{margin-top:8px;font-size:12px;color:var(--baa-success);font-weight:800}
.baa-file-input{display:none}
.baa-opts{display:flex;align-items:center;gap:16px;margin-top:14px;font-size:11.5px;color:var(--t2);flex-wrap:wrap}
.baa-opts select{padding:5px 8px;border:1px solid var(--border);border-radius:var(--r);font-family:var(--fb);font-size:11.5px;color:var(--t2);background:var(--sf);cursor:pointer;outline:none}
.baa-opts select:focus{border-color:var(--baa-link);box-shadow:0 0 0 3px rgba(0,105,192,.12)}
.baa-run{width:100%;padding:12px;background:var(--baa-ink);color:var(--baa-gold);border:none;border-radius:var(--r);font-family:var(--fb);font-size:13.5px;font-weight:850;cursor:pointer;margin-top:16px;transition:background .12s,transform .12s,opacity .12s}
.baa-run:hover:not(:disabled){background:#152235;transform:translateY(-1px)}.baa-run:disabled{opacity:.4;cursor:not-allowed;transform:none}
.baa-status{margin-top:12px;padding:11px 14px;border-radius:var(--r);font-size:12.5px;display:none}
.baa-status.loading{display:block;background:var(--blue-lt);color:var(--baa-link);border:1px solid rgba(26,95,168,.2)}
.baa-status.success{display:block;background:var(--teal-lt);color:var(--teal);border:1px solid rgba(46,125,100,.24)}
.baa-status.notice{display:block;background:#fff7e6;color:#7a5600;border:1px solid rgba(194,145,35,.28)}
.baa-status.error{display:block;background:var(--red-lt);color:var(--baa-danger);border:1px solid rgba(163,32,32,.2)}
.baa-results{margin-top:20px;display:none}.baa-results.show{display:block}
.baa-res-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.baa-res-title{font-size:14px;font-weight:800;color:var(--baa-ink);flex:1}
.baa-res-cnt{font-size:12px;color:var(--t3)}
.baa-empty-prompt{color:var(--t3);font-size:12.5px;padding:22px 0}
.baa-export{padding:6px 12px;border:1px solid var(--border2);border-radius:var(--r);font-family:var(--fb);font-size:11.5px;color:var(--baa-primary);background:var(--sf);cursor:pointer;font-weight:800}
.baa-export:hover{background:var(--blue-lt);border-color:var(--baa-link)}
.match-card{border:1px solid var(--border);border-radius:var(--r2);padding:15px 16px;margin-bottom:10px;background:var(--sf);transition:border-color .1s,box-shadow .1s;box-shadow:var(--sh)}
.match-card.deep{border-color:rgba(46,125,100,.45)}
.match-card:hover{border-color:var(--border2);box-shadow:var(--sh2)}
.match-hdr{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.match-badges{margin-bottom:6px}
.match-badges .b-deep{background:var(--teal-lt);color:var(--teal)}
.match-rank{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;flex-shrink:0;margin-top:1px;background:var(--ink2);color:#fff;font-family:var(--fm)}
.match-rank.r1{background:var(--gold);color:var(--ink)}.match-rank.r2{background:#7a8a96}.match-rank.r3{background:#7c4e0a}
.match-name{font-size:14px;font-weight:800;color:var(--baa-ink);flex:1;font-family:var(--fd)}
.match-score{flex-shrink:0;font-size:12px;font-weight:800;padding:3px 10px;border-radius:100px}
.match-score.high{background:var(--teal-lt);color:var(--teal)}.match-score.med{background:var(--blue-lt);color:var(--blue)}.match-score.low{background:var(--slate-lt);color:var(--slate)}
.match-why{font-size:12.5px;color:var(--t2);line-height:1.75;background:var(--paper);border-radius:var(--r);padding:10px 12px;margin-top:6px}
.match-pitch{margin-top:8px;font-size:12px;color:var(--teal);font-style:italic;padding-left:10px;border-left:3px solid var(--teal-lt)}
.match-stats{display:flex;gap:16px;margin-top:8px;font-size:11.5px;color:var(--t3);flex-wrap:wrap}
.match-stats strong{color:var(--t2)}
.topics-bar{margin-bottom:14px;padding:10px 14px;background:var(--blue-lt);border:1px solid rgba(26,95,168,.18);border-radius:var(--r);font-size:12px}
.topics-bar strong{color:var(--baa-link)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.loading-pulse{animation:pulse 1.4s ease infinite}

/* ── HOMEPAGE (visual refresh: blueprint + light tiles, JHU brand) ─── */
#homepage{
  display:block;
  background:
    radial-gradient(ellipse at 78% 16%, rgba(104,172,229,.18), transparent 34%),
    radial-gradient(ellipse at 10% 95%, rgba(0,119,216,.16), transparent 44%),
    linear-gradient(180deg, #06377b 0%, #002D72 52%, #061f4d 100%);
  color:#fff;position:fixed;inset:0;z-index:9000;
  overflow-y:auto;overflow-x:hidden;
}
#homepage.hp-off{display:none}

#homepage .hp-nav{
  height:58px;display:flex;align-items:center;justify-content:space-between;
  padding:0 38px;border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(1,30,76,.34);backdrop-filter:blur(8px);
}
#homepage .hp-logo{display:flex;align-items:baseline;gap:10px;min-width:0;font-size:13px;font-weight:400;letter-spacing:0;color:#fff}
#homepage .hp-logo strong{font-size:14px;font-weight:850;letter-spacing:0;color:#fff;white-space:nowrap}
#homepage .hp-logo span{font-size:12px;color:rgba(170,198,230,.48);white-space:nowrap;font-weight:400;margin-left:0}
#homepage .hp-enter{
  height:34px;border:1px solid rgba(255,255,255,.19);
  background:rgba(255,255,255,.075);color:#d8e7f9;
  border-radius:999px;padding:0 22px;font-size:11px;font-weight:750;
  letter-spacing:0;cursor:pointer;font-family:var(--fb);
  transition:all .2s;
}
#homepage .hp-enter:hover{background:rgba(255,255,255,.16);color:#fff}

#homepage .hp-wrap{max-width:1424px;margin:0 auto;padding:48px 38px 42px;position:relative}
#homepage .hp-wrap::before{
  content:"WSE";position:absolute;right:18px;top:16px;
  font-family:var(--fd);
  font-size:210px;line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.045);pointer-events:none;
}

#homepage .hp-hero{
  display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;
  align-items:end;margin-bottom:30px;position:relative;padding:0;
}
#homepage .hp-kicker{
  font-size:10px;text-transform:uppercase;letter-spacing:0;
  color:#a8c8ec;font-weight:800;margin-bottom:16px;
}
#homepage .hp-h1{
  margin:0;font-family:var(--fd);
  font-size:60px;line-height:.96;letter-spacing:0;
  max-width:850px;font-weight:800;color:#fff;
}
#homepage .hp-accent-line{
  width:52px;height:3px;border-radius:2px;background:#CBA052;margin:24px 0 0;
}
#homepage .hp-search{
  position:relative;margin-top:22px;max-width:620px;
}
#homepage .hp-search input{
  width:100%;height:46px;border:1px solid rgba(255,255,255,.24);
  border-radius:8px;background:rgba(255,255,255,.12);color:#fff;
  font:700 14px var(--fb);padding:0 74px 0 16px;outline:none;
  box-shadow:0 12px 28px rgba(0,0,0,.14);
}
#homepage .hp-search input::placeholder{color:rgba(222,233,247,.72)}
#homepage .hp-search input:focus{border-color:#CBA052;background:rgba(255,255,255,.16)}
#homepage .hp-search-key{position:absolute;right:12px;top:12px;min-width:42px;height:22px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:rgba(255,255,255,.1);color:#d8e7f9;font:800 10px/20px var(--fb);text-align:center;pointer-events:none}
#homepage .hp-search-results{
  display:none;position:absolute;left:0;right:0;top:52px;z-index:3;
  background:#fff;border:1px solid rgba(14,26,38,.18);border-radius:8px;
  box-shadow:0 20px 45px rgba(0,0,0,.22);overflow:hidden;
}
#homepage .hp-search-results.open{display:block}
#homepage .hp-search .app-search-result{grid-template-columns:58px 1fr;padding:10px 12px}
#homepage .hp-search .app-search-type{font-size:8.5px}
#homepage .hp-search .app-search-title{font-size:12.5px}
#homepage .hp-search .app-search-meta{font-size:10.5px}

#homepage .hp-ort{
  border-left:1px solid rgba(255,255,255,.13);
  padding:28px 0 24px 34px;text-align:right;color:#fff;
}
#homepage .hp-ort-lbl{
  font-size:9px;letter-spacing:0;text-transform:uppercase;
  color:#86a5cc;margin-bottom:12px;
}
#homepage .hp-ort-name{
  font-size:18px;font-weight:850;line-height:1.25;letter-spacing:0;color:#fff;
}
#homepage .hp-ort-school{
  font-size:11px;color:#87a4c8;margin-top:8px;letter-spacing:0;
}
#homepage .hp-ort-rule{
  width:32px;height:2px;border-radius:2px;background:#86a5cc;
  margin:15px 0 0 auto;opacity:.55;
}

#homepage .hp-tiles{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;padding:0;
}
#homepage .hp-tile{
  position:relative;min-height:166px;border-radius:9px;
  border:1px solid rgba(255,255,255,.15);padding:24px 28px;
  display:flex;flex-direction:column;justify-content:space-between;
  overflow:hidden;cursor:pointer;
  font:inherit;text-align:left;appearance:none;
  box-shadow:0 8px 22px rgba(7,23,51,.12),0 1px 4px rgba(7,23,51,.08);
  transition:transform .12s, box-shadow .15s;
}
#homepage .hp-tile:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(7,23,51,.18),0 2px 6px rgba(7,23,51,.10);
}
#homepage .hp-tile::before{
  content:"";position:absolute;inset:0;border-top:3px solid var(--hp-c,#68ACE5);
  pointer-events:none;border-radius:9px;
}
#homepage .hp-tile::after{
  content:"\2197";position:absolute;top:22px;right:24px;
  font-size:15px;opacity:.42;transition:all .2s;
}
#homepage .hp-tile:hover::after{opacity:.85;transform:translate(2px,-2px)}

#homepage .hp-tile-light{background:rgba(255,255,255,.94);color:#0c1727}
#homepage .hp-tile-blueprint{background:rgba(7,23,51,.74);color:#fff;border-color:rgba(203,160,82,.26)}
#homepage .hp-tile-tinted{background:rgba(255,255,255,.105);color:#fff;border-color:rgba(255,255,255,.16)}
#homepage .hp-tile-expertise{--hp-c:#0077D8}
#homepage .hp-tile-metrics{--hp-c:#008767}
#homepage .hp-tile-gold{--hp-c:#cba052}

#homepage .hp-tile-tag{
  font-size:10px;text-transform:uppercase;letter-spacing:0;
  font-weight:900;color:var(--hp-c,#68ACE5);margin-bottom:8px;font-family:var(--fb);
}
#homepage .hp-tile-h{
  font-size:22px;line-height:1.12;margin:0 0 8px;letter-spacing:0;
  font-family:var(--fb);font-weight:700;color:inherit;
}
#homepage .hp-tile-p{
  max-width:520px;margin:0;font-size:13px;line-height:1.55;
}
#homepage .hp-tile-light .hp-tile-p{color:#5f6f84}
#homepage .hp-tile-blueprint .hp-tile-p,
#homepage .hp-tile-tinted .hp-tile-p{color:rgba(222,233,247,.62)}

#homepage .hp-footer-note{
  display:flex;justify-content:space-between;gap:20px;margin-top:24px;
  color:rgba(215,230,248,.56);font-size:11px;letter-spacing:0;
}

@media (max-width:980px){
  #homepage .hp-hero{grid-template-columns:1fr}
  #homepage .hp-ort{text-align:left;border-left:0;border-top:1px solid rgba(255,255,255,.13);padding:22px 0 0 0}
  #homepage .hp-ort-rule{margin-left:0;margin-right:auto}
  #homepage .hp-tiles{grid-template-columns:1fr}
  #homepage .hp-h1{font-size:44px}
  #homepage .hp-wrap::before{font-size:140px;top:8px;right:10px}
}
@media (max-width:640px){
  #homepage .hp-nav{padding:0 18px}
  #homepage .hp-logo span{display:none}
  #homepage .hp-wrap{padding:30px 18px}
  #homepage .hp-enter{padding:0 14px}
  #homepage .hp-tile{padding:22px}
  #homepage .hp-footer-note{display:block}
  #homepage .hp-h1{font-size:36px}
}


/* ── PRIORITY AREAS page (Metrics tab) ──────────────────────── */
#pa-page,.pa-drawer,.pa-backdrop{
  --pa-navy:#002D72;
  --pa-navy-2:#0a3d8a;
  --pa-navy-3:#072e6a;
  --pa-blue:#0077D8;
  --pa-blue-hover:#005ca8;
  --pa-blue-soft:#eef3fb;
  --pa-green:#008767;
  --pa-green-deep:#006048;
  --pa-green-dark:#005844;
  --pa-gold:#CBA052;
  --pa-gold-soft:#e4c47d;
  --pa-warm:#fbfaf6;
  --pa-warm-body:#fbfaf9;
}
#pa-page{padding:0}
.pa-wrap{padding:20px 28px 40px;max-width:1380px;margin:0 auto}
.pa-page-head{margin-bottom:18px}
.pa-page-eyebrow{font:800 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-bottom:4px}
.pa-page-title{font:700 22px var(--fd);letter-spacing:0;color:var(--tx);margin-bottom:4px}
.pa-page-sub{font-size:13px;color:var(--t3);max-width:820px;line-height:1.55}
.pa-empty{padding:40px;text-align:center;color:var(--t3)}

.pa-table-card{background:var(--sf);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;margin-bottom:22px;box-shadow:var(--sh)}
.pa-table-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.pa-table-head h3{font:700 14px var(--fb);color:var(--tx);margin:0}
.pa-table-head .pa-sort{font-size:11.5px;color:var(--t3)}
.pa-table-head .pa-sort select{font:600 11.5px var(--fb);background:var(--paper);border:1px solid var(--border);border-radius:var(--r);padding:5px 10px;color:var(--tx);cursor:pointer;margin-left:6px}

.pa-table{width:100%;border-collapse:collapse;font-size:13px}
.pa-table th{background:var(--paper);font:700 10px var(--fb);text-transform:uppercase;letter-spacing:0;color:var(--t3);padding:11px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.pa-table th.num{text-align:right}
.pa-table th:hover{background:var(--paper2);color:var(--tx)}
.pa-table th .pa-sort-ind{font-size:9px;margin-left:4px;color:var(--blue)}
.pa-th-sort{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:0;text-transform:inherit;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:3px}
.pa-table th.num .pa-th-sort{justify-content:flex-end;width:100%}
.pa-th-sort:hover{color:var(--tx)}
.pa-table th[aria-sort]{color:var(--tx);background:var(--pa-blue-soft)}
.pa-table td{padding:13px 14px;border-bottom:1px solid var(--paper2);vertical-align:middle}
.pa-table td.num{text-align:right;font:600 13px var(--fm)}
.pa-table td.pa-muted-num{color:var(--t3)}
.pa-table tr{transition:background .12s}
.pa-table tr:hover{background:var(--pa-warm)}
.pa-table tr.selected{background:var(--pa-blue-soft)}
.pa-table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--pa-navy)}
.pa-area-select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-start;width:100%;cursor:pointer}
.pa-area-select:hover .pa-area-name{text-decoration:underline;text-underline-offset:3px}
.pa-area-name{display:block;font:700 13.5px var(--fb);color:var(--tx);margin-bottom:2px;line-height:1.25}
.pa-area-rank{font:500 11px var(--fb);color:var(--t3)}
.pa-sparkrow{display:inline-flex;align-items:flex-end;gap:2px;height:24px;width:78px}
.pa-sparkrow span{flex:1;border-radius:2px 2px 0 0;min-height:2px;background:var(--pa-color,var(--blue));height:var(--pa-height,8%);opacity:.88}
.pa-trend-pill{display:inline-flex;align-items:center;gap:5px;font:700 11px var(--fm);padding:3px 9px;border-radius:999px}
.pa-trend-up{background:#e3f2ec;color:#006b53}
.pa-trend-flat{background:#f4ead4;color:#7c4e0a}
.pa-trend-dn{background:#fbe6e3;color:#a32517}
.pa-trend-none{background:var(--paper2);color:var(--t3)}
.pa-change{font:700 13px var(--fm)}
.pa-change.up{color:#008767}
.pa-change.flat{color:var(--t2)}
.pa-change.dn{color:#a04b1a}

.pa-detail{background:var(--sf);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh)}
.pa-detail-head{background:linear-gradient(90deg,var(--pa-navy),var(--pa-navy-2));color:#fff;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.pa-detail-name{font:700 19px var(--fd);letter-spacing:0;line-height:1.2}
.pa-detail-meta{font-size:12px;color:#a8c8ec;margin-top:3px}
.pa-detail-rank{font:800 11px var(--fb);text-transform:uppercase;letter-spacing:0;background:var(--pa-gold);color:#0c1727;padding:5px 12px;border-radius:999px;white-space:nowrap}

.pa-kpi-bar{display:flex;border-top:1px solid var(--border);background:#fff;flex-wrap:wrap}
.pa-kpi{flex:1;min-width:160px;padding:14px 18px;border-right:1px solid var(--border);text-align:left}
.pa-kpi:last-child{border-right:0}
.pa-kpi b{display:block;font:700 22px var(--fm);color:var(--tx);line-height:1.05;margin-bottom:3px}
.pa-kpi span{font-size:10px;color:var(--t3);letter-spacing:0;text-transform:uppercase}

.pa-detail-body{padding:18px 22px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.pa-detail-body h4{font:700 11px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-bottom:10px}
.pa-trend-chart{display:flex;align-items:flex-end;gap:14px;height:140px;padding:0 8px 8px;border-bottom:1px solid var(--paper2)}
.pa-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.pa-trend-bar{width:100%;background:var(--pa-color,var(--blue));height:var(--pa-height,3px);border-radius:3px 3px 0 0;min-height:3px}
.pa-trend-lbl{font:500 10px var(--fm);color:var(--t3);text-align:center}
.pa-trend-val{font:700 10px var(--fm);color:var(--tx)}
.pa-trend-caption{font-size:12px;color:var(--t3);margin-top:12px;line-height:1.55}
.pa-faculty-link{appearance:none;-webkit-appearance:none;background:transparent;border:0;border-bottom:1px solid currentColor;display:inline-block;margin-top:14px;font:600 12.5px var(--fb);color:var(--blue);text-decoration:none;padding:0 0 1px;cursor:pointer}
.pa-faculty-link:hover{color:var(--pa-blue-hover)}
.pa-sponsor-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--paper2);font-size:12.5px;color:var(--t2)}
.pa-sponsor-row b{font:700 12.5px var(--fm);color:var(--tx)}
.pa-sponsor-empty{color:var(--t3);font-size:12px;padding:8px 0}

@media (max-width:1000px){
  .pa-detail-body{grid-template-columns:1fr}
  .pa-table th.hide-md, .pa-table td.hide-md{display:none}
}

/* === Where this work happens card === */
.pa-where-card{background:var(--sf);border:1px solid var(--border);border-radius:var(--r2);margin-top:18px;overflow:hidden;box-shadow:var(--sh)}
.pa-where-head{padding:14px 22px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.pa-where-head h3{font:700 15px var(--fd);color:var(--tx);margin:0}
.pa-where-head h3 small{font:500 12px var(--fb);color:var(--t3);margin-left:8px}
.pa-where-hint{font-size:11.5px;color:var(--t3);font-style:italic}
.pa-where-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.pa-where-col{padding:16px 22px}
.pa-where-col:first-child{border-right:1px solid var(--border)}
.pa-where-col h4{font:700 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--paper2);display:flex;justify-content:space-between}
.pa-where-col h4 .lblmeta{color:var(--t3);font-weight:500;font-size:9.5px;letter-spacing:0;text-transform:none}
.pa-where-head-row{display:grid;grid-template-columns:96px 1fr 50px 70px;gap:10px;font:800 9px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);padding:0 0 6px}
.pa-where-head-row .r{text-align:right}
.pa-where-row{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;width:calc(100% + 20px);display:grid;grid-template-columns:96px 1fr 50px 70px;align-items:center;gap:10px;padding:8px 10px;margin:0 -10px;border-radius:var(--r);font-size:12.5px;cursor:pointer;transition:all .12s;user-select:none}
.pa-where-row:hover{background:var(--pa-warm)}
.pa-where-name{font-weight:700;color:var(--tx);font-family:var(--fb)}
.pa-where-name small{display:block;font-weight:400;font-size:10.5px;color:var(--t3);font-family:var(--fb);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pa-where-bar-wrap{height:8px;background:var(--paper2);border-radius:999px;overflow:hidden}
.pa-where-bar{height:100%;width:var(--pa-width,0%);border-radius:999px;background:var(--pa-color,var(--pa-blue));transition:width .3s}
.pa-where-fac{text-align:right;font:700 13px var(--fm);color:var(--tx)}
.pa-where-money{text-align:right;font:700 12px var(--fm);color:var(--t2)}
@media (max-width:880px){
  .pa-where-grid{grid-template-columns:1fr}
  .pa-where-col:first-child{border-right:0;border-bottom:1px solid var(--border)}
}

/* === Slice drawer (slides from right) === */
.pa-backdrop{display:none;position:fixed;inset:0;background:rgba(14,26,38,.5);z-index:8500;animation:pa-fadein .2s ease}
.pa-backdrop.open{display:block}
@keyframes pa-fadein{from{opacity:0}to{opacity:1}}
.pa-drawer{position:fixed;top:0;right:0;width:min(1080px,100vw);height:100vh;background:var(--sf);box-shadow:-6px 0 40px rgba(0,0,0,.18);z-index:8600;transition:transform .28s cubic-bezier(.4,0,.2,1);transform:translateX(calc(100% + 24px));display:flex;flex-direction:column;overflow:hidden}
.pa-drawer.open{transform:translateX(0)}

/* Elevated hero header */
.pa-drawer-hero{position:relative;flex-shrink:0;background:linear-gradient(135deg,var(--pa-navy) 0%,var(--pa-navy-2) 55%,var(--pa-navy-3) 100%);color:#fff;padding:0;overflow:hidden}
.pa-drawer-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--pa-gold) 0%,var(--pa-gold-soft) 55%,var(--pa-gold) 100%);z-index:2}
.pa-drawer-hero.center-mode{background:linear-gradient(135deg,var(--pa-green-deep) 0%,var(--pa-green) 55%,var(--pa-green-dark) 100%)}
.pa-drawer-watermark{position:absolute;right:-30px;top:-20px;font:800 220px var(--fd);color:rgba(255,255,255,.04);letter-spacing:0;pointer-events:none;line-height:1;user-select:none}
.pa-drawer-hero-inner{position:relative;z-index:1;padding:22px 28px 0}
.pa-drawer-bc{display:flex;align-items:center;gap:8px;font:800 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:14px;flex-wrap:wrap}
.pa-drawer-bc .bc-chip{display:inline-flex;align-items:center;padding:3px 9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;letter-spacing:0}
.pa-drawer-bc .bc-sep{color:rgba(255,255,255,.35);font-weight:400}
.pa-drawer-bc .bc-current{color:#fff;font-weight:800}
.pa-drawer-hero-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.pa-drawer-hero-l{display:flex;align-items:center;gap:18px;flex:1;min-width:0}
.pa-drawer-icon{width:64px;height:64px;border-radius:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font:900 17px var(--fb);color:#fff;flex-shrink:0;letter-spacing:0}
.pa-drawer-titles{flex:1;min-width:0}
.pa-drawer-title{font:800 26px var(--fd);color:#fff;line-height:1.1;letter-spacing:0;margin-bottom:4px}
.pa-drawer-subtitle{font:500 13px var(--fb);color:rgba(255,255,255,.72);line-height:1.4}
.pa-drawer-subtitle b{font-weight:700;color:#fff}
.pa-drawer-close{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font:400 22px var(--fb);color:#fff;cursor:pointer;flex-shrink:0;transition:all .12s;line-height:1}
.pa-drawer-close:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.4)}
.pa-drawer-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:6px;border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.12);margin-left:-28px;margin-right:-28px;padding:14px 28px 18px;position:relative}
.pa-drawer-kpis .pkpi{padding:0 18px;border-right:1px solid rgba(255,255,255,.13);min-width:0}
.pa-drawer-kpis .pkpi:first-child{padding-left:0}
.pa-drawer-kpis .pkpi:last-child{border-right:0;padding-right:0}
.pa-drawer-kpis .pkpi b{display:block;font:700 24px var(--fm);color:#fff;line-height:1.05;letter-spacing:0;margin-bottom:4px}
.pa-drawer-kpis .pkpi b .pct-of{font-size:11px;color:rgba(255,255,255,.55);font-weight:500;margin-left:6px;letter-spacing:0}
.pa-drawer-kpis .pkpi span{font:700 9px var(--fb);color:rgba(255,255,255,.62);letter-spacing:0;text-transform:uppercase;display:block}
.pa-drawer-kpis .pkpi .sublabel{font:500 10px var(--fb);color:rgba(255,255,255,.45);text-transform:none;letter-spacing:0;margin-top:2px}

.pa-drawer-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 24px;background:var(--pa-warm);border-bottom:1px solid var(--paper2);flex-shrink:0}
.pa-drawer-controls input{height:32px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:0 14px;font:500 12px var(--fb);color:var(--tx);outline:none;width:240px}
.pa-drawer-controls input:focus{border-color:var(--pa-blue)}
.pa-drawer-controls .sort-grp{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t3);margin-left:auto}
.pa-drawer-controls select{font:600 11.5px var(--fb);background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:6px 10px;color:var(--tx);cursor:pointer}
.pa-drawer-controls .csv-btn{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:6px 12px;font:600 11.5px var(--fb);color:var(--tx);cursor:pointer}
.pa-drawer-body{flex:1;overflow-y:auto;padding:18px 24px 24px;background:var(--pa-warm-body)}
.pa-drawer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:11px}
.pa-fac-mini{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;cursor:pointer;transition:all .12s;display:flex;flex-direction:column;gap:8px;position:relative;text-align:left;font-family:var(--fb);color:inherit}
.pa-fac-mini:hover{border-color:var(--pa-blue);box-shadow:var(--sh)}
.pa-fac-mini::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--pa-blue);border-radius:var(--r) 0 0 var(--r)}
.pa-fac-mini.center-mode::before{background:var(--pa-green)}
.pa-fac-row1{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.pa-fac-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--pa-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:11px;overflow:hidden}
.pa-fac-mini.center-mode .pa-fac-avatar{background:var(--pa-green)}
.pa-fac-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.pa-fac-id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
.pa-fac-name{font:700 14px var(--fb);color:var(--tx);line-height:1.2}
.pa-fac-rank{font-size:11px;color:var(--t3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.pa-fac-spend{text-align:right;flex-shrink:0}
.pa-fac-spend b{display:block;font:700 14.5px var(--fm);color:var(--tx);line-height:1}
.pa-fac-spend span{font-size:8.5px;color:var(--t3);letter-spacing:0;text-transform:uppercase;font-family:var(--fb);margin-top:1px;display:block}
.pa-fac-trend{display:inline-block;font:700 9.5px var(--fm);padding:1px 5px;border-radius:3px;margin-top:2px}
.pa-fac-trend.up{background:#e3f2ec;color:#006b53}
.pa-fac-trend.flat{background:#f4ead4;color:#7c4e0a}
.pa-fac-trend.dn{background:#fbe6e3;color:#a32517}
.pa-fac-where{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:10.5px}
.pa-fac-where-lbl{font:700 8.5px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3)}
.pa-fac-where-muted{opacity:.5}
.pa-fac-ctr{display:inline-block;padding:2px 7px;border-radius:999px;font:700 9.5px var(--fm);background:var(--paper2);color:var(--t2)}
.pa-fac-ctr.featured{background:var(--pa-green);color:#fff}
.pa-fac-dept{display:inline-block;padding:2px 9px;border-radius:999px;font:700 9.5px var(--fm);background:var(--pa-blue);color:#fff}
.pa-fac-themes{font-size:11.5px;color:var(--t2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:14px}
.pa-fac-themes em{color:var(--t3);font-style:normal}
.pa-fac-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px dashed var(--paper2)}
.pa-fac-stats{font-size:10.5px;color:var(--t3)}
.pa-fac-stats b{font:700 11px var(--fm);color:var(--tx)}
.pa-tier-pill{display:inline-block;font:800 9px var(--fb);letter-spacing:0;text-transform:uppercase;padding:2px 7px;border-radius:999px;white-space:nowrap}
.pa-tier-est{background:#dde9f7;color:var(--pa-navy-2)}
.pa-tier-act{background:#e3f2ec;color:#00614a}
.pa-tier-sel{background:#f4ead4;color:#6b4308}
.pa-tier-bld{background:#ede5f1;color:#4d2058}
.pa-tier-erl,.pa-tier-none{background:var(--paper2);color:var(--t3)}
.pa-drawer-foot{padding:10px 24px;background:#fff;border-top:1px solid var(--border);font-size:11.5px;color:var(--t3);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.pa-drawer-foot a,.pa-drawer-foot button{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:var(--pa-blue);font:600 11.5px var(--fb);text-decoration:none;cursor:pointer;padding:0}
@media (max-width:880px){
  .pa-drawer{width:100vw}
  .pa-drawer-grid{grid-template-columns:1fr}
  .pa-drawer-kpis{grid-template-columns:1fr 1fr}
  .pa-drawer-kpis .pkpi:nth-child(2){border-right:0}
  .pa-drawer-kpis .pkpi:nth-child(3),.pa-drawer-kpis .pkpi:nth-child(4){padding-top:14px;border-top:1px solid rgba(255,255,255,.13)}
  .pa-drawer-title{font-size:22px}
  .pa-drawer-icon{width:54px;height:54px;font-size:15px}
  .pa-drawer-watermark{font-size:160px}
}
body.pa-drawer-open{overflow:hidden}


/* Collaboration Intelligence page */
.ci-page{max-width:1480px;margin:0 auto 28px}
.ci-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);gap:16px;align-items:stretch;margin-bottom:14px}
.ci-head>div:first-child{background:linear-gradient(135deg,#002D72,#0a3d8a);border-radius:8px;padding:22px 24px;color:#fff;box-shadow:var(--sh)}
.ci-eyebrow{font:800 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:#b8cbe0;margin-bottom:7px}
.ci-head h2{font:800 25px var(--fd);letter-spacing:0;line-height:1.1;margin:0 0 8px;color:#fff}
.ci-head p{max-width:880px;margin:0;color:#d8e4f0;font-size:13px;line-height:1.65}
.ci-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ci-kpi{background:linear-gradient(180deg,#fff,#fbfaf7);border:1px solid var(--border);border-radius:8px;padding:16px 18px;box-shadow:var(--sh)}
.ci-kpi b{display:block;font:800 26px var(--fm);line-height:1;color:var(--ink);margin-bottom:5px}
.ci-kpi span{display:block;font:800 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3)}
.ci-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--sf);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:14px;box-shadow:var(--sh)}
.ci-search{flex:1 1 320px;min-width:240px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--paper);padding:0 14px;font:600 12.5px var(--fb);color:var(--tx);outline:none}
.ci-search:focus{border-color:var(--blue);background:#fff}
.ci-select{height:34px;border:1px solid var(--border);border-radius:var(--r);background:#fff;padding:0 10px;font:600 12px var(--fb);color:var(--t2)}
.ci-reset{height:34px;border:1px solid var(--border2);border-radius:var(--r);background:#fff;color:var(--t2);font:700 12px var(--fb);padding:0 13px;cursor:pointer}
.ci-reset:hover{border-color:var(--gold2);color:var(--tx);background:#fff}
.ci-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:14px;align-items:start}
.ci-main,.ci-panel{background:var(--sf);border:1px solid var(--border);border-radius:8px;box-shadow:var(--sh);overflow:hidden}
.ci-results-head,.ci-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:#fbfaf7}
.ci-results-head h3,.ci-panel-head h3{margin:0 0 2px;font:800 13.5px var(--fb);color:var(--tx)}
.ci-results-head span,.ci-panel-head span{font-size:11.5px;color:var(--t3)}
.ci-results-head p{margin:0;font-size:11.5px;color:var(--t3);line-height:1.5;text-align:right;max-width:300px}
.ci-table-wrap{overflow:auto}
.ci-table{width:100%;min-width:760px;border-collapse:collapse}
.ci-table caption{text-align:left;padding:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);position:absolute}
.ci-table th,.ci-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;font-size:12px;color:var(--t2)}
.ci-table thead th{font:800 9.5px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);background:var(--paper)}
.ci-table tbody tr.active{background:var(--gold-lt)}
.ci-table tbody tr:last-child th,.ci-table tbody tr:last-child td{border-bottom:0}
.ci-table td strong{font:800 13px var(--fm);color:var(--tx);margin-right:3px}
.ci-fac-pair{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ci-name-btn,.ci-selected-names button{appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--blue);font:800 12.5px var(--fb);cursor:pointer;padding:0 0 1px;text-align:left}
.ci-name-btn:hover,.ci-selected-names button:hover{color:#004f9e;background:var(--blue-lt)}
.ci-row-meta{margin-top:3px;font-size:10.5px;color:var(--t3);font-weight:500}
.ci-mini-btn{border:1px solid var(--border2);background:#fff;border-radius:999px;color:var(--t2);font:800 10.5px var(--fb);padding:4px 9px;cursor:pointer}
.ci-mini-btn[aria-pressed="true"]{border-color:var(--gold2);background:var(--gold-lt);color:var(--tx);box-shadow:inset 0 0 0 1px rgba(203,160,82,.18)}
.ci-network-panel{margin-bottom:14px}
.ci-network-body{padding:12px 14px 14px;background:linear-gradient(180deg,#fbfaf7 0%,#fff 100%)}
.ci-network-svg{display:block;width:100%;height:auto;min-height:300px;border:1px solid var(--border);border-radius:8px;background:radial-gradient(circle at 50% 45%,#fff 0%,#f5f7fa 78%)}
.ci-net-link{stroke:#bcc8d6;stroke-opacity:.55;stroke-linecap:round}
.ci-net-link.active{stroke:var(--gold);stroke-opacity:.95}
.ci-net-node{color:var(--tx);outline:none;text-decoration:none}
.ci-net-node circle{fill:color-mix(in srgb,var(--ci-color) 14%,#fff);stroke:var(--ci-color,var(--slate));stroke-width:2.4;filter:drop-shadow(0 4px 8px rgba(14,26,38,.14));transition:stroke-width .12s,fill .12s}
.ci-net-node:hover circle,.ci-net-node:focus-visible circle,.ci-net-node.active circle{fill:color-mix(in srgb,var(--ci-color) 24%,#fff);stroke-width:3.4}
.ci-net-initials{font:900 10px var(--fb);fill:var(--ink);pointer-events:none}
.ci-net-label{font:800 10.5px var(--fb);fill:var(--t2);pointer-events:none}
.ci-net-node:hover .ci-net-label,.ci-net-node:focus-visible .ci-net-label,.ci-net-node.active .ci-net-label{fill:var(--ink)}
.ci-net-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;color:var(--t2);font-size:10.5px;font-weight:700}
.ci-net-legend-item{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;background:#fff;padding:3px 8px}
.ci-net-legend-item .ci-dot{width:8px;height:8px}
.ci-side{display:flex;flex-direction:column;gap:12px}
.ci-panel-head .ci-pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:#fff;padding:3px 9px;font:800 10.5px var(--fb);color:var(--t2);white-space:nowrap}
.ci-selected-names{padding:14px 16px 8px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ci-selected-names span{font-weight:800;color:var(--t3)}
.ci-tags{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 12px}
.ci-tag{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:999px;background:var(--paper);padding:3px 8px;font:700 10.5px var(--fb);color:var(--t2)}
.ci-tag.area{border-color:color-mix(in srgb,var(--ci-color) 32%,var(--border));background:color-mix(in srgb,var(--ci-color) 9%,#fff);color:var(--tx)}
.ci-tag b{font:800 10px var(--fm);color:var(--ci-color)}
.ci-work-list{padding:0 16px 12px 32px;margin:0}
.ci-work-list li{padding:8px 0;border-top:1px dashed var(--paper2)}
.ci-work-title{font-size:12px;font-weight:700;line-height:1.45;color:var(--tx)}
.ci-work-title a{color:var(--blue);text-decoration:none}
.ci-work-title a:hover{text-decoration:underline;text-underline-offset:2px}
.ci-note{margin:0;padding:11px 16px;border-top:1px solid var(--border);background:#fbfaf7;color:var(--t3);font-size:11.5px;line-height:1.55}
.ci-note-compact{padding:9px 0 0;border-top:1px dashed var(--paper2);background:transparent}
.ci-bridge-list,.ci-area-bars,.ci-dept-pairs,.ci-gap-list,.ci-center-list{padding:10px 12px 12px}
.ci-bridge-row{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;border:0;background:transparent;border-radius:8px;padding:8px 6px;text-align:left;color:inherit;font:inherit;cursor:pointer}
.ci-bridge-row:hover{background:var(--paper)}
.ci-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--ci-color,var(--slate));box-shadow:0 0 0 3px color-mix(in srgb,var(--ci-color) 12%,transparent)}
.ci-bridge-main{min-width:0}
.ci-bridge-main strong{display:block;font:800 12px var(--fb);color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-bridge-main span{display:block;margin-top:1px;font-size:10.5px;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-bridge-stat{text-align:right;font:800 14px var(--fm);color:var(--tx)}
.ci-bridge-stat small{display:block;font:700 8px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3)}
.ci-bar-row{display:grid;grid-template-columns:minmax(118px,.68fr) minmax(80px,1fr) 42px;gap:8px;align-items:center;padding:6px 0}
.ci-bar-label{display:flex;align-items:center;gap:7px;min-width:0;font-size:11.5px;font-weight:700;color:var(--t2)}
.ci-bar-label span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-bar-track{height:8px;border-radius:999px;background:var(--paper2);overflow:hidden}
.ci-bar-fill{height:100%;width:var(--ci-width,0%);border-radius:999px;background:var(--ci-color,var(--slate))}
.ci-bar-val{text-align:right;font:800 11px var(--fm);color:var(--t3)}
.ci-dept-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--paper2);font-size:11.5px;color:var(--t2)}
.ci-dept-row:last-child{border-bottom:0}
.ci-dept-row b{font:800 11px var(--fm);color:var(--tx)}
.ci-center-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--paper2)}
.ci-center-row:last-of-type{border-bottom:0}
.ci-center-row strong{display:block;font:800 12px var(--fb);color:var(--tx);line-height:1.25}
.ci-center-row span{display:block;font-size:10.5px;color:var(--t3);line-height:1.35;margin-top:2px}
.ci-center-row b{font:800 12px var(--fm);color:var(--tx);white-space:nowrap}
.ci-gap-card{border:1px solid var(--border);border-radius:8px;background:#fff;padding:9px 10px;margin-bottom:8px}
.ci-gap-card:last-child{margin-bottom:0}
.ci-gap-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font:800 12px var(--fb);color:var(--tx);line-height:1.35}
.ci-gap-title .ci-dot{flex:0 0 auto;width:8px;height:8px}
.ci-gap-title [aria-hidden="true"]{color:var(--t3);font-weight:800}
.ci-gap-metrics{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;color:var(--t3);font-size:10.5px}
.ci-gap-metrics span{display:inline-flex;align-items:baseline;gap:3px;border:1px solid var(--paper2);border-radius:999px;background:var(--paper);padding:3px 7px}
.ci-gap-metrics b{font:800 11px var(--fm);color:var(--tx)}
.ci-empty{padding:24px 18px;color:var(--t3);font-size:12.5px;line-height:1.6}
.ci-muted{color:var(--t3);font-size:11.5px}
@media(max-width:1100px){
  .ci-head,.ci-layout{grid-template-columns:1fr}
  .ci-results-head p{text-align:left;max-width:none}
}
@media(max-width:640px){
  #collab-page{padding:16px 12px}
  .ci-kpis{grid-template-columns:1fr}
  .ci-controls{align-items:stretch}
  .ci-search,.ci-select,.ci-reset{width:100%;flex:1 1 auto}
  .ci-table-wrap{overflow:visible}
  .ci-table.ci-mobile-cards{display:block;min-width:0;border-collapse:separate}
  .ci-table.ci-mobile-cards thead{display:none}
  .ci-table.ci-mobile-cards tbody{display:grid;gap:9px}
  .ci-table.ci-mobile-cards tr{display:block;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--sh);overflow:hidden}
  .ci-table.ci-mobile-cards tbody tr.active{background:#fffdf6;border-color:var(--gold2)}
  .ci-table.ci-mobile-cards th,.ci-table.ci-mobile-cards td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:9px;align-items:start;width:auto;padding:8px 11px;border-bottom:1px dashed var(--paper2);font-size:12px;white-space:normal;overflow-wrap:anywhere}
  .ci-table.ci-mobile-cards th:last-child,.ci-table.ci-mobile-cards td:last-child{border-bottom:0}
  .ci-table.ci-mobile-cards th::before,.ci-table.ci-mobile-cards td::before{content:attr(data-label);font:800 9.5px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);line-height:1.3}
  .ci-table.ci-mobile-cards .ci-fac-pair{align-items:flex-start}
  .ci-table.ci-mobile-cards .ci-mini-btn{justify-self:start}
}
/* ── STALE PENDING ALERTS ───────────────────────────────────── */
#stale-panel{display:none;position:fixed;top:52px;right:0;width:480px;height:calc(100vh - 52px);background:var(--sf);border-left:1px solid var(--border);z-index:500;flex-direction:column;box-shadow:-4px 0 20px rgba(0,0,0,.15)}
#stale-panel.open{display:flex}
.stale-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}
.stale-title{font-size:14px;font-weight:700;color:var(--tx)}
.stale-body{flex:1;overflow-y:auto;padding:12px}
.stale-empty{text-align:center;padding:40px;color:var(--t3)}
.stale-summary{font-size:11px;color:var(--t3);margin-bottom:12px}
.stale-row{appearance:none;-webkit-appearance:none;display:block;width:100%;padding:10px 12px;border-radius:var(--r);border:1px solid var(--border);margin-bottom:8px;cursor:pointer;transition:border-color .15s;background:var(--sf);text-align:left;font-family:var(--fb);color:inherit}
.stale-row:hover{border-color:var(--blue)}
.stale-grant{display:block;font-size:12px;font-weight:600;color:var(--tx);margin-bottom:3px}
.stale-meta{display:block;font-size:11px;color:var(--t2)}
.stale-age{display:block;font-size:10px;font-weight:700;color:#D85A30;margin-top:3px}

/* Technical expertise atlas */
.exp-atlas-wrap{padding:0 0 18px}
.exp-atlas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.exp-atlas-head h2{font-size:20px;line-height:1.12;letter-spacing:0;margin:0 0 4px;color:var(--tx)}
.exp-atlas-head p{margin:0;color:var(--t2);font-size:12.5px;line-height:1.6;max-width:900px}
.exp-atlas-badge{align-self:flex-start;border:1px solid var(--border);background:var(--sf);border-radius:999px;padding:5px 12px;font-size:10.5px;font-weight:700;color:var(--t2);white-space:nowrap}
.exp-atlas-grid{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(360px,.8fr);gap:12px;align-items:start}
.exp-atlas-panel{background:var(--sf);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--sh)}
.exp-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:13px 16px 11px;border-bottom:1px solid var(--border)}
.exp-panel-head-flush{padding:0 0 10px;border:0}
.exp-panel-head-entity{padding:0 0 12px;border:0}
.exp-panel-head h3{font-size:13px;margin:0;color:var(--tx)}
.exp-panel-head span{font-size:11px;color:var(--t3)}
.exp-map-pad{padding:16px}
.exp-map{height:410px;position:relative;border-radius:10px;background:linear-gradient(180deg,#fbfaf7,#f2f0ea);border:1px solid var(--border);overflow:hidden}
.exp-map svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.exp-edge{stroke:#c7c1b8;stroke-width:1.5;opacity:.65}
.exp-edge.strong{stroke:#9fa7b2;stroke-width:2.25;opacity:.75}
.exp-node{position:absolute;border:1px solid color-mix(in srgb,var(--c) 48%,#fff);border-radius:999px;background:color-mix(in srgb,var(--c) 13%,#fff);color:var(--ink);box-shadow:0 8px 20px rgba(14,26,38,.08);cursor:pointer;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:.15s;padding:10px;font-family:var(--fb)}
.exp-node:hover,.exp-node.active{border-color:var(--c);box-shadow:0 10px 26px color-mix(in srgb,var(--c) 22%,transparent);transform:translate(-50%,-50%) scale(1.03)}
.exp-node.active{outline:3px solid color-mix(in srgb,var(--c) 18%,transparent)}
.exp-node .dot{width:22px;height:3px;background:var(--c);border-radius:3px;margin-bottom:7px}
.exp-node .n{font-weight:800;line-height:1.12}
.exp-node .m{font-size:10px;color:var(--t3);margin-top:4px}
.exp-map-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.exp-map-buttons button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:5px 10px;font:700 11px var(--fb);cursor:pointer;color:var(--t2)}
.exp-map-buttons button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.exp-lens{padding:16px;--c:var(--blue)}
.exp-lens-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.exp-lens h3{font-size:22px;line-height:1.08;margin:0 0 5px;letter-spacing:0}
.exp-lens .count{font:800 26px var(--fm);color:var(--c);text-align:right;line-height:1}
.exp-lens .count span{display:block;font:700 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-top:4px}
.exp-definition{color:var(--t2);margin:0;line-height:1.55}
.exp-cluster-title{font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:800;margin:14px 0 8px}
.exp-chips{display:flex;flex-wrap:wrap;gap:7px}
.exp-chip{border:1px solid color-mix(in srgb,var(--c) 25%,var(--border));background:color-mix(in srgb,var(--c) 8%,#fff);border-radius:999px;padding:5px 9px;font-size:11.5px;color:var(--t2)}
.exp-chip b{color:var(--c)}
.exp-bars{display:grid;gap:8px}
.exp-barrow{display:grid;grid-template-columns:90px 1fr 42px;gap:8px;align-items:center}
.exp-barrow .nm{font-weight:700;font-size:11.5px}
.exp-track{height:8px;background:var(--paper2);border-radius:999px;overflow:hidden}
.exp-fill{height:100%;width:var(--exp-width,0%);background:var(--c);border-radius:999px}
.exp-val{font:700 11px var(--fm);color:var(--t3);text-align:right}
.exp-drill{margin-top:14px;border:1px solid color-mix(in srgb,var(--c) 35%,var(--border));background:color-mix(in srgb,var(--c) 7%,#fff);border-radius:var(--r);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.exp-drill span{font-size:12px;color:var(--t2)}
.exp-drill button{border:1px solid var(--c);background:var(--c);color:#fff;border-radius:999px;padding:6px 12px;font:700 11.5px var(--fb);cursor:pointer;white-space:nowrap}
.exp-atlas-lower{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}
.exp-heat{padding:0 0 12px;overflow:hidden}
.exp-heat-grid{padding:12px 16px 4px;display:grid;grid-template-columns:140px repeat(11,minmax(44px,1fr));gap:2px;align-items:stretch}
.exp-hcell,.exp-dcell,.exp-acell{min-height:34px;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px}
.exp-hcell{justify-content:flex-start;font-weight:800;color:var(--t2);background:var(--paper)}
.exp-hcell-action,.exp-acell{appearance:none;-webkit-appearance:none;border:0;font-family:inherit;text-align:center}
.exp-hcell-action{color:var(--c);cursor:pointer}
.exp-dcell{font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);background:var(--paper);font-weight:800}
.exp-acell{font:700 11px var(--fm);background:color-mix(in srgb,var(--c) calc(var(--a)*1%),#fff);color:var(--tx);cursor:pointer}
.exp-acell:hover{outline:2px solid var(--c)}
.exp-right-stack{display:grid;gap:12px}
.exp-method,.exp-bridge{padding:14px 16px;--c:var(--blue)}
.exp-method-stack{height:170px;display:flex;align-items:end;gap:8px}
.exp-method-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.exp-method-col .stem{width:100%;border-radius:5px 5px 0 0;background:var(--c);opacity:.72;min-height:8px}
.exp-method-col span{text-align:center;font-size:10px;color:var(--t3);line-height:1.2}
.exp-bridge-list{display:grid;gap:8px}
.exp-bridge-row{display:grid;grid-template-columns:78px 1fr 42px;gap:8px;align-items:center}
.exp-bridge-row strong{font-size:11.5px}
.exp-entity-layout{display:grid;grid-template-columns:300px 1fr;gap:12px}
.exp-rail{padding:14px 16px}
.exp-rail button{width:100%;text-align:left;border:1px solid var(--border);background:#fff;border-radius:6px;padding:9px 10px;margin-bottom:7px;font:700 12px var(--fb);cursor:pointer;color:var(--tx)}
.exp-rail button.active{border-color:var(--blue);background:#eef3f8;color:var(--blue)}
.exp-rail-count{float:right;color:var(--t3);font-weight:600}
.exp-coverage{padding:14px 16px}
.exp-coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.exp-coverage-card{border:1px solid var(--border);border-radius:7px;padding:12px;background:#fff}
.exp-card-wide{grid-column:1/-1}
.exp-drill-compact{margin-top:10px}
.exp-coverage-card h4{margin:0 0 6px;font-size:13px;color:var(--tx)}
.exp-coverage-card p{margin:0;color:var(--t3);font-size:12px;line-height:1.55}
.exp-mini-k{font:800 22px var(--fm);color:var(--c,var(--blue));margin-bottom:3px}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
/* Medium screens: 1280px and below */
@media (max-width:1280px){
  .cg-7{grid-template-columns:repeat(4,1fr)}
  .cg-6{grid-template-columns:repeat(4,1fr)}
  .cg-5{grid-template-columns:repeat(3,1fr)}
  .body-layout{grid-template-columns:170px 1fr}
  .srch-wrap input{width:190px}
  .hp-tiles-top,.hp-tiles-bot,.hp-tiles-primary,.hp-tiles-secondary{padding:0 28px 8px}
  .hp-hero{padding:32px 28px 24px}
  .hp-h1{font-size:38px}

}

/* Small screens: 1024px and below */
@media (max-width:1024px){
  .cg-7{grid-template-columns:repeat(3,1fr)}
  .cg-5{grid-template-columns:repeat(3,1fr)}
  .cg-4{grid-template-columns:repeat(2,1fr)}
  .body-layout{grid-template-columns:140px 1fr}
  .sidebar .sb-label{font-size:9px}
  .sidebar .sb-item{font-size:11px;padding:4px 10px}
  .srch-wrap input{width:150px}
  .hp-tiles-top,.hp-tiles-bot,.hp-tiles-primary,.hp-tiles-secondary{grid-template-columns:repeat(2,1fr);padding:0 20px 8px}
  .hp-h1{font-size:32px}
  .hp-hero-right{display:none}


  .panel{width:min(94vw,800px)}
  .exp-atlas-grid,.exp-atlas-lower,.exp-entity-layout{grid-template-columns:1fr}
  .exp-heat{overflow-x:auto}
  .exp-heat-grid{grid-template-columns:120px repeat(11,46px)}
}

/* Tablet: 768px and below */
@media (max-width:768px){
  .topbar{padding:0 14px;gap:8px}
  .modebar{padding:0 14px;height:auto;min-height:40px;flex-wrap:wrap;gap:4px}
  .m-tablist{flex:1 1 auto;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(14,26,38,.28) transparent}
  .m-tablist::-webkit-scrollbar{height:4px}
  .m-tablist::-webkit-scrollbar-thumb{background:rgba(14,26,38,.22);border-radius:999px}
  .view-guide{padding:8px 14px;align-items:flex-start;flex-direction:column;gap:7px}
  .vg-main{width:100%;display:block}
  .vg-title{display:block;margin-bottom:1px}
  .vg-meta{display:block;white-space:normal}
  .vg-chips{width:100%;justify-content:flex-start}
  .m-tab{padding:0 10px;font-size:11.5px}
  .cards-section{padding:12px 14px 0}
  .cg-7,.cg-6,.cg-5,.cg-4{grid-template-columns:repeat(2,1fr)}
  .body-layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .main-panel{padding:0 14px 40px}
  .srch-wrap{display:none}
  .faculty-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
  .panel{width:100vw}
  .hp-tiles-top,.hp-tiles-bot,.hp-tiles-primary,.hp-tiles-secondary{grid-template-columns:1fr 1fr;padding:0 14px 8px}
  .mobile-filter-btn{display:inline-flex}
  .hp-hero{padding:24px 14px 18px}
  .hp-h1{font-size:26px}
  .hp-nav{padding:12px 14px}
  .hp-sub{display:none}
  .metrics-kpi-bar{flex-wrap:wrap}
  .kpi-cell{min-width:45%;border-bottom:1px solid var(--border)}
}

@media (max-width:900px){
  #ov-panel{padding:14px 16px 0!important;max-width:100%;overflow-x:auto}
  .hon-fac-grid{grid-template-columns:1fr}
  .hon-apex-panel{grid-template-columns:1fr}
  .hon-apex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #baa-page{padding:14px}
  .baa-pg-hdr{display:block}
  .baa-pg-title{font-size:24px}
  .baa-pg-body{grid-template-columns:1fr;overflow:visible}
  .baa-pg-input{border-right:0;border-bottom:1px solid var(--border)}
}

@media (max-width:520px){
  .topbar{padding:0 12px;gap:8px;overflow:hidden}
  .tb-right{gap:6px}
  .top-nav-btn{width:42px;padding:0}
  .top-nav-btn span{display:none}
  .top-search-btn{min-width:0;width:42px;padding:0;justify-content:center}
  .top-search-btn span,
  .top-search-btn kbd{display:none}
  .modebar{top:52px;padding:0 14px 7px;align-content:flex-start}
  .m-tab{height:34px;padding:0 9px}
  .m-right{width:100%;margin-left:0;justify-content:flex-end;gap:6px}
  .m-sort{max-width:190px}
  .cards-section{padding:12px 14px 0}
  .cg-7,.cg-6,.cg-5,.cg-4{grid-template-columns:1fr}
  .chip-row{padding:10px 14px;gap:6px}
  .area-chip{font-size:11.5px;padding:6px 12px;max-width:100%;white-space:normal}
  .ctx-bar{padding:10px 14px}
  .ctx-name{border-right:none;margin-right:0;padding-right:0;width:100%;white-space:normal}
  .ctx-kpis{width:100%;margin-top:8px}
  .ctx-kpi{padding:0 10px 8px 0;margin-right:10px;border-right:none}
  .pi-hdr{padding:10px 14px;flex-wrap:wrap}
  .pi-hdr-title{width:100%}
  .main-panel{padding:0 14px 36px}
  .faculty-grid{grid-template-columns:1fr}
  table.pi-tbl{min-width:920px}
  #ov-panel .hon-matrix{min-width:720px}
  #homepage{overflow-y:auto}
  .hp-nav{padding:12px 14px;gap:12px}
  .hp-logo{font-size:12px;line-height:1.35}
  .hp-logo span{display:block;margin-left:0;margin-top:2px;font-size:11px}
  .hp-enter{padding:8px 16px;line-height:1.2;flex-shrink:0}
  .hp-hero{padding:24px 14px 18px}
  .hp-kicker{font-size:9px;letter-spacing:0;line-height:1.7}
  .hp-h1{font-size:27px;letter-spacing:0}
  .hp-tiles-top,.hp-tiles-bot,.hp-tiles-primary,.hp-tiles-secondary{grid-template-columns:1fr;padding:0 14px 8px}
  .hp-tile{min-height:126px;padding:20px 22px}
  .op-modal{padding:10px}
  .op-bar{flex-wrap:wrap}
  .op-body{grid-template-columns:1fr}
  .op-main{border-right:none}
  #stale-panel{top:52px;width:100%;height:calc(100vh - 52px)}
  .exp-atlas-head{display:block}
  .exp-atlas-badge{display:inline-block;margin-top:10px}
  .exp-map{height:auto;padding:8px}
  .exp-map svg{display:none}
  .exp-node{position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin:7px;width:calc(50% - 18px)!important;height:118px!important;display:inline-flex;vertical-align:top}
  .exp-node:hover,.exp-node.active{transform:none}
  .exp-lens-top{display:block}
  .exp-lens .count{text-align:left;margin-top:8px}
  .exp-heat-grid{grid-template-columns:110px repeat(11,42px)}
  .exp-coverage-grid{grid-template-columns:1fr}
}

button:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible,
.m-tab:focus-visible,
.area-chip:focus-visible,
.sub-chip:focus-visible,
.hp-tile:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}

/* ========== Publications page (Expertise > Publications sub-tab) ========== */
.pub-page{
  --pub-primary:#002D72;
  --pub-link:#0077D8;
  --pub-link-hover:#005ca8;
  --pub-soft-blue:#eef3fb;
  --pub-warm:#fbfaf6;
  --pub-success:#008767;
  --pub-success-soft:#d0ece6;
  --pub-neutral:#546372;
  padding:18px 24px 34px;
  background:var(--paper)
}
.pub-head{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:18px;align-items:stretch;margin-bottom:14px}
.pub-eyebrow{font:800 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-bottom:4px}
.pub-title{font:700 22px var(--fd);letter-spacing:0;color:var(--tx);margin-bottom:4px}
.pub-sub{font-size:13px;color:var(--t3);line-height:1.55;max-width:860px}
.pub-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:14px}
.pub-kpi{background:var(--sf);padding:11px 13px;min-width:0}
.pub-kpi .v{font-size:21px;font-weight:800;line-height:1.05;color:var(--ink)}
.pub-kpi .l{font-size:9.5px;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin-top:4px;font-weight:800}
.pub-sync{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);padding:13px 15px;display:flex;flex-direction:column;gap:11px}
.pub-sync-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pub-sync-title{font-weight:800;color:var(--ink);font-size:13px}
.pub-sync-meta{font-size:11.5px;color:var(--t3);margin-top:2px}
.pub-sync-pill{font:800 10px var(--fm);letter-spacing:0;text-transform:uppercase;border:1px solid var(--pub-success);background:var(--pub-success-soft);color:var(--pub-success);border-radius:999px;padding:3px 8px;white-space:nowrap}
.pub-sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pub-mini{background:var(--paper);border:1px solid var(--border);border-radius:var(--r);padding:8px 9px}
.pub-mini .v{font-weight:850;color:var(--ink);font-size:15px;line-height:1.1}
.pub-mini .l{font-size:9.5px;color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-top:3px;font-weight:750}
.pub-controls{display:grid;grid-template-columns:minmax(240px,1fr) 160px 145px auto;gap:10px;align-items:center;background:var(--sf);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);padding:10px;margin-bottom:10px}
.pub-search,.pub-select{height:34px;border:1px solid var(--border2);border-radius:var(--r);background:#fff;color:var(--tx);font-size:12px}
.pub-search{padding:0 12px;min-width:0}
.pub-select{padding:0 9px;font-weight:650}
.pub-btn{height:34px;border:1px solid var(--border2);border-radius:var(--r);background:var(--paper);color:var(--ink2);font-size:12px;font-weight:800;padding:0 12px;white-space:nowrap;cursor:pointer}
.pub-btn.primary{background:var(--pub-primary);border-color:var(--pub-primary);color:#fff}
.pub-area-strip{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;margin-bottom:4px}
.pub-area-chip{border:1px solid var(--border);background:var(--sf);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;color:var(--t2);white-space:nowrap;box-shadow:var(--sh);cursor:pointer}
.pub-area-chip.active{border-color:var(--pub-color,var(--pub-link));background:color-mix(in srgb,var(--pub-color,var(--pub-link)) 12%,#fff);color:var(--ink)}
.pub-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:15px;align-items:start}
.pub-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:7px 0 9px}
.pub-results-title{font:800 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3)}
.pub-results-count{font:700 11px var(--fm);color:var(--ink3);background:var(--paper2);border-radius:999px;padding:3px 8px}
.pub-list{display:flex;flex-direction:column;gap:8px}
.pub-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:13px;align-items:start;background:var(--sf);border:1px solid var(--border);border-left:4px solid var(--pub-color,var(--pub-neutral));border-radius:var(--r);box-shadow:var(--sh);padding:12px 13px}
.pub-row:hover{border-color:var(--border2);box-shadow:var(--sh2)}
.pub-row.active{border-color:var(--pub-primary);background:var(--pub-soft-blue);box-shadow:var(--sh2)}
.pub-row-select{appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:74px minmax(0,1fr);gap:13px;align-items:start;min-width:0}
.pub-year{font:850 18px var(--fm);color:var(--ink);line-height:1}
.pub-date{font:700 9.5px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin-top:5px}
.pub-row-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:800;font-size:13.5px;line-height:1.35;color:var(--ink);margin-bottom:5px}
.pub-row-title a{color:inherit;text-decoration:none}
.pub-row-title a:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}
.pub-row-select:hover .pub-row-title{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}
.pub-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;color:var(--t2);line-height:1.45;margin-bottom:7px}
.pub-meta strong{color:var(--ink)}
.pub-tags{display:flex;flex-wrap:wrap;gap:5px}
.pub-tag{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--border);background:var(--paper);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;color:var(--t2);line-height:1.35}
.pub-tag.area{border-color:color-mix(in srgb,var(--pub-color,var(--pub-link)) 40%,var(--border));background:color-mix(in srgb,var(--pub-color,var(--pub-link)) 12%,#fff);color:var(--ink2)}
.pub-metrics{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.pub-cite{font:850 17px var(--fm);color:var(--ink);line-height:1}
.pub-cite-l{font-size:9.5px;color:var(--t3);text-transform:uppercase;letter-spacing:0;font-weight:800}
.pub-links{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.pub-link{border:1px solid var(--border);border-radius:var(--r);background:#fff;color:var(--ink2);text-decoration:none;padding:4px 7px;font-size:10px;font-weight:800;line-height:1}
.pub-link.read{background:var(--pub-primary);border-color:var(--pub-primary);color:#fff}
.pub-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:110px}
.pub-panel{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.pub-panel-head{padding:11px 13px;border-bottom:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pub-panel-title{font-weight:850;color:var(--ink);font-size:13px}
.pub-panel-sub{font-size:10px;color:var(--t3);font-weight:750;text-transform:uppercase;letter-spacing:0}
.pub-panel-body{padding:11px 13px}
.pub-bar-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:10px;align-items:center;margin-bottom:9px}
.pub-bar-label{display:flex;align-items:center;gap:7px;min-width:0;font-size:11.5px;font-weight:750;color:var(--ink2)}
.pub-dot{width:8px;height:8px;border-radius:50%;background:var(--pub-color,#546372);flex:0 0 auto}
.pub-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pub-track{height:7px;background:var(--paper2);border-radius:999px;overflow:hidden;margin-top:5px}
.pub-fill{height:100%;width:var(--pub-width,0%);background:var(--pub-color,var(--pub-link));border-radius:999px}
.pub-bar-val{font:750 11px var(--fm);text-align:right;color:var(--t2)}
.pub-detail-title{font-weight:850;font-size:13.5px;line-height:1.35;margin-bottom:8px}
.pub-tags-before{margin-bottom:10px}
.pub-tags-after{margin-top:10px}
.pub-fac-dept{color:var(--t3)}
.pub-detail-line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--paper2);padding:7px 0;font-size:11.5px}
.pub-detail-line span:first-child{color:var(--t3);font-weight:750}
.pub-detail-line span:last-child{font-weight:800;color:var(--ink);text-align:right}
.pub-detail-line a{color:var(--pub-primary);text-decoration:none}
.pub-detail-line a:hover{text-decoration:underline}
.pub-empty{background:var(--sf);border:1px dashed var(--border2);border-radius:var(--r);padding:28px;text-align:center;color:var(--t3)}
.pub-more{display:flex;justify-content:center;padding:12px 0 2px}
@media(max-width:1100px){.pub-head,.pub-layout{grid-template-columns:1fr}.pub-side{position:static}}
@media(max-width:760px){.pub-page{padding:14px}.pub-kpis{grid-template-columns:1fr 1fr}.pub-controls{grid-template-columns:1fr}.pub-row,.pub-row-select{grid-template-columns:1fr;gap:8px}.pub-metrics{text-align:left;align-items:flex-start;border-top:1px solid var(--paper2);padding-top:9px}.pub-links{justify-content:flex-start}}

.hon-page{padding:18px 24px 34px;background:var(--paper)}
@media(max-width:760px){.hon-page{padding:14px}}

.hon-hdr{background:var(--sf);border:0.5px solid var(--border);border-radius:var(--r2);padding:14px 18px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hon-hdr .intro{font-size:13px;color:var(--t2);line-height:1.55;flex:1;min-width:280px}
.hon-hdr .stats{display:flex;gap:20px;flex-shrink:0}
.hon-hdr .sn{text-align:right}
.hon-hdr .sn .n{font-size:18px;font-weight:600;font-family:var(--fd);color:var(--tx);letter-spacing:0}
.hon-hdr .sn .l{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:0;margin-top:1px}
.hon-empty{padding:40px;text-align:center;color:var(--t3);font-size:13px}
.hon-empty-compact{padding:30px}
.hon-intro-strong{color:var(--tx)}
.hon-dyn-bg{background:var(--hon-color,#546372)}
.hon-dyn-border{border-left-color:var(--hon-color,#546372)}
.hon-width{width:var(--hon-width,0%)}
.hon-tier-note{font-size:10.5px;color:var(--t3);margin:-8px 0 14px}
.hon-holder-year{color:#8a93a0;font-size:10px}
.hon-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-bottom:16px}
.hon-mc{appearance:none;-webkit-appearance:none;background:var(--sf);border:0.5px solid var(--border);border-radius:var(--r);padding:10px 12px;position:relative;text-align:left;font-family:var(--fb);color:inherit}
.hon-mc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#002D72;border-radius:var(--r) 0 0 var(--r)}
.hon-mc.warm::before{background:#7c2d12}
.hon-mc.grn::before{background:#166534}
.hon-mc .lbl{font-size:9.5px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:600}
.hon-mc .big{font-size:24px;font-weight:600;font-family:var(--fd);color:#002D72;line-height:1.1}
.hon-mc.warm .big{color:#7c2d12}
.hon-mc.grn .big{color:#166534}
.hon-mc .sm{font-size:10.5px;color:var(--t3);margin-top:2px}
.hon-apex-panel{background:#fffaf1;border:1px solid #ead7af;border-left:4px solid #CBA052;border-radius:var(--r2);padding:15px 18px;margin:0 0 14px;display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:18px;align-items:center}
.hon-apex-title{font-family:var(--fd);font-size:18px;color:#4f3310;line-height:1.2;margin-bottom:5px}
.hon-apex-copy{font-size:12.5px;color:#6b5330;line-height:1.6}
.hon-apex-grid{margin-bottom:0;grid-template-columns:repeat(5,minmax(110px,1fr))}
.hon-apex-grid .hon-mc{background:rgba(255,255,255,.82);border-color:#ead7af}
.hon-section-label{font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:600;margin:12px 0 6px}
.hon-matrix-wrap{background:var(--sf);border:1px solid var(--border);border-radius:var(--r2);padding:12px 14px;margin:16px 0}
.hon-matrix-wrap .hon-matrix{margin-bottom:0}
.hon-matrix-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.hon-matrix-title{font-size:12.5px;font-weight:700;color:var(--tx)}
.hon-matrix-note{font-size:11px;color:var(--t3)}

.hon-matrix{display:grid;grid-template-columns:220px repeat(5,1fr) 68px;gap:1px;background:var(--paper3);border:0.5px solid var(--paper3);border-radius:var(--r);overflow:hidden;font-size:12px;margin-bottom:16px}
.hon-matrix > *{background:var(--sf);padding:7px 9px}
.hon-matrix button{appearance:none;-webkit-appearance:none;border:0;font:inherit;color:inherit}
.hon-matrix .h{background:var(--paper);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);text-align:center}
.hon-matrix .h.l{text-align:left}
.hon-matrix .area-row{background:var(--paper);display:flex;align-items:center;gap:7px;font-weight:600;font-size:12px;text-align:left;cursor:pointer}
.hon-matrix .area-row:hover{background:var(--sf)}
.hon-matrix .area-row .dot{width:9px;height:9px;border-radius:2px}
.hon-matrix .cell{text-align:center;font-variant-numeric:tabular-nums;cursor:pointer}
.hon-matrix .cell:hover{background:var(--paper)}
.hon-matrix .cell.A{color:#7c2d12;font-weight:600}
.hon-matrix .cell.B{color:#002D72}
.hon-matrix .cell.C{color:#166534}
.hon-matrix .cell.D{color:#7e22ce}
.hon-matrix .cell.E{color:#52525b}
.hon-matrix .cell.z{color:#c8c8c8}
.hon-matrix .tot{text-align:right;font-weight:600;background:var(--paper)}

.hon-tabs{display:flex;flex-wrap:wrap;gap:0;background:var(--paper);border:0.5px solid var(--border);border-radius:var(--r);padding:5px;margin-bottom:14px}
.hon-tab{appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;padding:7px 12px;border-radius:4px;font-family:var(--fb);font-size:12px;font-weight:500;color:var(--t3);display:flex;align-items:center;gap:7px;transition:all .1s;border:1.5px solid transparent;flex:1;justify-content:center;min-width:110px}
.hon-tab:hover{color:var(--tx)}
.hon-tab.active{background:var(--sf);color:var(--tx);border-color:var(--border);font-weight:600;box-shadow:var(--sh)}
.hon-tab .dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}
.hon-tab .ct{font-size:10px;color:var(--t3);font-weight:500}
.hon-tab.active .ct{color:var(--tx)}

.hon-area-hd{background:var(--sf);border:0.5px solid var(--border);border-left-width:4px;border-radius:var(--r);padding:14px 18px;margin-bottom:12px;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.hon-area-hd.hon-dyn-border{border-left-color:var(--hon-color,#546372)}
.hon-area-hd .title{font-family:var(--fd);font-size:19px;margin:0 0 2px;color:var(--tx)}
.hon-area-hd .subtitle{font-size:11.5px;color:var(--t3)}
.hon-area-hd .stack-bar{height:7px;border-radius:3px;overflow:hidden;background:var(--paper2);display:flex;margin-top:8px;max-width:300px}
.hon-area-hd .stack-bar > span{display:block;height:100%}
.hon-area-hd .stack-bar .sA{background:#7c2d12}
.hon-area-hd .stack-bar .sB{background:#002D72}
.hon-area-hd .stack-bar .sC{background:#166534}
.hon-area-hd .stack-bar .sD{background:#7e22ce}
.hon-area-hd .stack-bar .sE{background:#52525b}
.hon-area-hd .quick{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-left:auto;min-width:300px}
.hon-area-hd .qc{text-align:center}
.hon-area-hd .qc .n{font-family:var(--fd);font-size:18px;color:var(--tx);line-height:1}
.hon-area-hd .qc .l{font-size:9.5px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:600;margin-top:3px}
.hon-area-hd .qc.A .n{color:#7c2d12}
.hon-area-hd .qc.B .n{color:#002D72}
.hon-area-hd .qc.C .n{color:#166534}
.hon-area-hd .qc.D .n{color:#7e22ce}
.hon-area-hd .qc.E .n{color:#52525b}

.hon-tier-head{display:flex;align-items:baseline;gap:10px;margin:18px 0 6px;padding-bottom:5px;border-bottom:1.5px solid var(--paper3)}
.hon-tier-head .bar{width:4px;height:18px;border-radius:2px;align-self:center}
.hon-tier-head .t-title{font-family:var(--fd);font-size:14px;color:var(--tx);font-weight:600}
.hon-tier-head .t-sub{font-size:11px;color:var(--t3)}
.hon-tier-head.A .bar{background:#7c2d12}
.hon-tier-head.B .bar{background:#002D72}
.hon-tier-head.C .bar{background:#166534}
.hon-tier-head.D .bar{background:#7e22ce}
.hon-tier-head.E .bar{background:#52525b}

.hon-awd-row{background:var(--sf);border:0.5px solid var(--border2);border-radius:var(--r);padding:9px 12px;margin-bottom:5px;display:grid;grid-template-columns:210px 50px 1fr;gap:12px;align-items:baseline}
.hon-awd-row.A{border-left:3px solid #7c2d12;background:linear-gradient(to right,#fef2ec 0%,var(--sf) 30%)}
.hon-awd-row.B{border-left:3px solid #002D72}
.hon-awd-row.C{border-left:3px solid #166534}
.hon-awd-row.D{border-left:3px solid #7e22ce}
.hon-awd-row.E{border-left:3px solid #52525b}
.hon-awd-row .awd-open{appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:210px 50px;gap:12px;align-items:baseline;min-width:0;grid-column:1 / 3}
.hon-awd-row .awd-label{display:flex;align-items:center;gap:7px;min-width:0}
.hon-awd-row .tier-pill{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;flex-shrink:0;letter-spacing:0;color:#fff}
.hon-awd-row.A .tier-pill{background:#7c2d12}
.hon-awd-row.B .tier-pill{background:#002D72}
.hon-awd-row.C .tier-pill{background:#166534}
.hon-awd-row.D .tier-pill{background:#7e22ce}
.hon-awd-row.E .tier-pill{background:#52525b}
.hon-awd-row .awd-name{font-size:13px;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hon-awd-row.A .awd-name{font-family:var(--fd);font-size:14.5px}
.hon-awd-row .awd-count{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;color:var(--t2);text-align:right;padding-right:4px}
.hon-awd-row.A .awd-count{font-family:var(--fd);font-size:17px;color:#7c2d12}
.hon-awd-row .awd-holders{display:flex;flex-wrap:wrap;gap:3px 9px;align-items:baseline;min-width:0;font-size:12px;color:var(--t2);line-height:1.5}
.hon-awd-row .awd-holders .hdr{color:var(--tx);font-weight:500;cursor:pointer}
.hon-awd-row .awd-holders button.hdr{appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;font:inherit}
.hon-awd-row .awd-holders .hdr:hover{text-decoration:underline;color:#002D72}
.hon-awd-row .awd-holders .yr{color:var(--t3);font-variant-numeric:tabular-nums;font-size:10px}
.hon-awd-row .awd-holders .sep{color:var(--paper3);user-select:none}

.hon-single-bucket{background:var(--paper);border:1px dashed var(--border);border-radius:var(--r);padding:9px 13px;font-size:11.5px;color:var(--t3);margin-top:4px}
.hon-single-bucket summary{cursor:pointer;font-weight:600;color:var(--t2);font-size:12px;list-style:none}
.hon-single-bucket summary::-webkit-details-marker{display:none}
.hon-single-bucket summary::before{content:"\\25B8 ";color:var(--t3)}
.hon-single-bucket[open] summary::before{content:"\\25BE "}
.hon-single-bucket .s-list{margin-top:7px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 12px}
.hon-single-bucket .s-item{font-size:11px;color:var(--t2);line-height:1.4}
.hon-single-bucket .s-item .n{color:var(--tx);font-weight:500;cursor:pointer}
.hon-single-bucket .s-item button.n{appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;font:inherit}
.hon-single-bucket .s-item .n:hover{text-decoration:underline}

/* ========== Honors section on PI detail pane ========== */
.phonors{padding:12px 14px;background:var(--paper);border-radius:var(--r);border:1px solid var(--border2)}
.phonors-group{margin-bottom:10px}
.phonors-group:last-child{margin-bottom:0}
.phonors-grp-h{font-size:9.5px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:700;margin-bottom:5px;display:flex;align-items:center;gap:7px}
.phonors-grp-h .tp{font-size:9px;padding:1px 6px;border-radius:3px;font-weight:700;letter-spacing:0;color:#fff}
.phonors-grp-h.A .tp{background:#7c2d12}
.phonors-grp-h.B .tp{background:#002D72}
.phonors-grp-h.C .tp{background:#166534}
.phonors-grp-h.D .tp{background:#7e22ce}
.phonors-grp-h.E .tp{background:#52525b}
.phonor-row{display:flex;align-items:baseline;padding:4px 10px;border-radius:4px;font-size:11.5px;gap:10px;margin-bottom:2px;border-left:3px solid transparent}
.phonor-row.A{background:#fef2ec;border-left-color:#7c2d12}
.phonor-row.B{background:#dde6f3;border-left-color:#002D72}
.phonor-row.C{background:#e7f5ec;border-left-color:#166534}
.phonor-row.D{background:#f5e9ff;border-left-color:#7e22ce}
.phonor-row.E{background:#f0f0f0;border-left-color:#52525b}
.phonor-row .aname{font-weight:600;color:var(--tx);font-size:12px;flex:1;min-width:0}
.phonor-row .soc{font-size:10px;color:var(--t3);flex-shrink:0}
.phonor-row .yr{font-variant-numeric:tabular-nums;font-size:10px;color:var(--t3);margin-left:auto;flex-shrink:0;opacity:.75}
.phonors-empty{font-size:11.5px;color:var(--t3);font-style:italic}

/* ========== Award detail view (click a marquee card or row) ========== */
.hon-mc{cursor:pointer;transition:all .12s}
.hon-mc:hover{border-color:#002D72;box-shadow:var(--sh2);transform:translateY(-1px)}
.hon-mc:hover .big{color:#002D72}
.hon-mc.warm:hover{border-color:#7c2d12}
.hon-mc.warm:hover .big{color:#7c2d12}
.hon-mc.grn:hover{border-color:#166534}
.hon-mc.grn:hover .big{color:#166534}
.hon-awd-row{transition:all .12s}
.hon-awd-row:hover{transform:translateY(-1px);box-shadow:var(--sh2);border-color:#002D72}
.hon-awd-row.A:hover{border-color:#7c2d12}

.hon-bc{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--sf);border:0.5px solid var(--border);border-radius:var(--r);margin-bottom:14px;font-size:12.5px}
.hon-bc .back{color:#002D72;cursor:pointer;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;transition:background .12s}
.hon-bc button.back{appearance:none;-webkit-appearance:none;background:transparent;border:0;font:inherit}
.hon-bc .back:hover{background:var(--paper)}
.hon-bc .sep{color:var(--t3)}
.hon-bc .current{color:var(--tx);font-weight:600}

.hon-det-hdr{background:#fff;border:1px solid var(--border);border-left:4px solid var(--tier-col,#7c2d12);border-radius:var(--r);padding:16px 20px;margin-bottom:16px;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.hon-det-hdr .title{font-family:var(--fd);font-size:24px;margin:0 0 3px;color:var(--tx);line-height:1.15}
.hon-det-hdr .subtitle{font-size:12.5px;color:var(--t3);line-height:1.5}
.hon-det-hdr .subtitle strong{color:var(--t2);font-weight:600}
.hon-det-hdr .stats{display:flex;gap:22px;margin-left:auto;flex-shrink:0}
.hon-det-main{flex:1;min-width:280px}
.hon-det-hdr .sn{text-align:right}
.hon-det-hdr .sn .n{font-family:var(--fd);font-size:26px;color:var(--tier-col,#7c2d12);line-height:1}
.hon-det-hdr .sn .l{font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:600;margin-top:3px}

/* One-pager trigger button */
.onepager-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r);border:1.5px solid var(--tier-col,#7c2d12);background:var(--tier-col,#7c2d12);color:#fff;font-family:var(--fb);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;align-self:center;line-height:1;letter-spacing:0}
.onepager-btn:hover{background:transparent;color:var(--tier-col,#7c2d12)}
.onepager-btn svg{transition:transform .12s}
.onepager-icon{flex-shrink:0}
.onepager-btn:hover svg{transform:translateX(-1px)}

.hon-fac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;margin-bottom:20px}

.hon-fc{appearance:none;-webkit-appearance:none;background:var(--sf);border:0.5px solid var(--border);border-radius:var(--r2);padding:14px 16px;transition:all .15s;cursor:pointer;display:flex;flex-direction:column;position:relative;overflow:hidden;text-align:left;font-family:var(--fb);color:inherit}
.hon-fc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tier-col,#002D72);opacity:.8}
.hon-fc:hover{border-color:#002D72;box-shadow:var(--sh2);transform:translateY(-1px)}
.hon-fc:hover .fc-cta{color:#002D72}

.hon-fc .fc-header{display:flex;align-items:flex-start;gap:11px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--paper3)}
.hon-fc .fc-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-family:var(--fd);font-size:15px;flex-shrink:0;text-transform:uppercase;letter-spacing:0}
.hon-fc .fc-av-photo{width:44px;height:44px;border-radius:50%;flex-shrink:0;object-fit:cover;border:1.5px solid var(--paper3);display:block}
.hon-fc .fc-id{flex:1;min-width:0}
.hon-fc .fc-name{font-family:var(--fd);font-size:16px;color:var(--tx);line-height:1.2;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hon-fc .fc-title{font-size:11px;color:var(--t3);line-height:1.35;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hon-fc .fc-badges{display:flex;gap:4px;flex-wrap:wrap}
.hon-fc .fc-badge{display:inline-block;padding:1px 7px;border-radius:100px;font-size:9.5px;font-weight:600;background:var(--paper);color:var(--t2);border:1px solid var(--border2);text-transform:uppercase;letter-spacing:0}
.hon-fc .fc-badge.dept{background:#dde6f3;color:#002D72;border-color:#b9c9e3}
.hon-fc .fc-year-wrap{text-align:right;flex-shrink:0}
.hon-fc .fc-year{font-family:var(--fd);font-size:24px;color:var(--tier-col,#7c2d12);font-weight:600;flex-shrink:0;line-height:1;text-align:right}
.hon-fc .fc-year-l{font-size:9px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:600;margin-top:2px;text-align:right}

.hon-fc .fc-sec{margin-top:9px}
.hon-fc .fc-sec:first-of-type{margin-top:0}
.hon-fc .fc-sec-l{font-size:9.5px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:600;margin-bottom:4px}
.hon-fc .fc-tags{display:flex;gap:4px;flex-wrap:wrap}
.hon-fc .fc-tag{display:inline-block;padding:2px 8px;border-radius:100px;font-size:10.5px;font-weight:500;line-height:1.4;border:1px solid transparent}
.hon-fc .fc-tag.hon-dyn-chip{background:var(--hon-bg,transparent);color:var(--hon-color,#546372);border-color:var(--hon-border,transparent)}
.hon-fc .fc-sub{font-size:11.5px;color:var(--t2);line-height:1.6}
.hon-fc .fc-bio{font-size:11.5px;color:var(--t3);line-height:1.55;font-style:italic}
.hon-fc .fc-others{display:flex;gap:4px;flex-wrap:wrap}
.hon-fc .fc-honor{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:100px;font-size:10.5px;font-weight:500;line-height:1.4;border:1px solid var(--border2);background:var(--paper)}
.hon-fc .fc-honor.A{background:#fef2ec;color:#7c2d12;border-color:#fbc6a8;font-weight:600}
.hon-fc .fc-honor.B{background:#dde6f3;color:#002D72;border-color:#b9c9e3;font-weight:600}
.hon-fc .fc-honor .yr{color:var(--t3);font-weight:400;font-size:10px}

.hon-fc .fc-cta{margin-top:auto;padding-top:10px;border-top:1px solid var(--paper3);font-size:11px;color:var(--t3);font-weight:600;text-align:right;transition:color .12s}

.hon-filter-bar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap;font-size:12px;color:var(--t3)}
.hon-filter-bar .lbl{font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:600}
.hon-filter-bar .chip{display:inline-flex;align-items:center;padding:3px 11px;border-radius:100px;border:1px solid var(--border2);background:var(--sf);color:var(--t2);font-size:11px;cursor:pointer;transition:all .1s}
.hon-filter-bar .chip:hover{border-color:var(--tx);color:var(--tx)}
.hon-filter-bar .chip.active{background:var(--tx);color:#fff;border-color:var(--tx)}

/* Department faculty IO activity */
.io-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.io-kicker{font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:4px}
.io-title{font-size:25px;line-height:1.15;font-weight:700;color:var(--tx);font-family:var(--fd)}
.io-sub{font-size:12.5px;color:var(--t2);max-width:760px;margin-top:6px;line-height:1.55}
.io-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.io-select,.io-search{height:32px;border:1px solid var(--border2);border-radius:var(--r);background:var(--sf);font-family:var(--fb);font-size:12px;color:var(--tx);padding:0 10px;outline:none}
.io-search{width:230px}
.io-select:focus,.io-search:focus{border-color:var(--blue)}
.io-note{border:1px solid #d5c58f;background:#fffaf0;color:#5b4720;border-radius:var(--r);padding:9px 12px;font-size:11.5px;line-height:1.55;margin-bottom:12px}
.io-note strong{font-weight:700;color:#3d2f12}
.io-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
.io-kpi{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);padding:11px 12px;box-shadow:var(--sh)}
.io-kpi-v{font-family:var(--fm);font-size:20px;font-weight:700;color:var(--tx);line-height:1.05}
.io-kpi-l{font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;margin-top:5px}
.io-kpi-s{font-size:11px;color:var(--t3);margin-top:2px}
.io-layout{display:grid;grid-template-columns:minmax(0,1.45fr) 360px;gap:12px;align-items:start}
.io-panel{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);min-width:0}
.io-panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}
.io-panel-t{font-size:13px;font-weight:700;color:var(--tx)}
.io-panel-s{font-size:11.5px;color:var(--t3);margin-top:2px}
.io-panel-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.io-pill{display:inline-flex;align-items:center;border:1px solid var(--border2);background:var(--sf);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--t2);cursor:pointer}
.io-pill.active{background:var(--ink);border-color:var(--ink);color:#fff}
.io-pill:hover:not(.active){border-color:var(--ink);color:var(--ink)}
.io-clear{border:1px solid var(--border2);border-radius:var(--r);background:var(--paper);color:var(--t2);font-size:11px;font-weight:600;font-family:var(--fb);padding:5px 9px;cursor:pointer}
.io-clear:hover{border-color:var(--ink);color:var(--ink)}
.io-matrix-wrap{overflow:auto;padding:12px 14px 16px}
.io-matrix{display:grid;gap:4px;min-width:720px}
.io-matrix-row{display:grid;grid-template-columns:172px repeat(var(--io-cols,8),minmax(86px,1fr));gap:4px;align-items:stretch}
.io-mh,.io-fh{font-size:10px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:0;line-height:1.25;padding:6px 6px;display:flex;align-items:end}
.io-fh{color:var(--tx);text-transform:none;letter-spacing:0;font-size:11.5px;align-items:center;cursor:pointer;border-radius:4px}
.io-fh:hover{background:var(--paper)}
.io-cell{min-height:36px;border:1px solid var(--border);border-radius:5px;background:var(--paper);padding:5px 6px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:2px;transition:filter .12s,border-color .12s}
.io-cell:hover{filter:brightness(.97);border-color:var(--ink)}
.io-cell.active{outline:2px solid var(--ink);outline-offset:1px}
.io-cell-empty{background:#f4f3ef;cursor:default;color:transparent}
.io-cell-empty:hover{border-color:var(--border);filter:none}
.io-cell-v{font-family:var(--fm);font-size:11px;font-weight:700;color:var(--tx);line-height:1}
.io-cell-l{font-size:9.5px;color:var(--t3);line-height:1}
.io-side-list{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto}
.io-unit-row,.io-fac-row{border:1px solid var(--border);border-radius:var(--r);padding:9px 10px;background:#fbfaf7;cursor:pointer;transition:border-color .12s,background .12s}
.io-unit-row:hover,.io-fac-row:hover{border-color:var(--ink);background:#fff}
.io-unit-row.active,.io-fac-row.active{border-color:var(--blue);background:#eef6ff}
.io-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.io-row-name{font-size:12.5px;font-weight:700;color:var(--tx);line-height:1.25;min-width:0}
.io-row-val{font-family:var(--fm);font-size:12px;font-weight:700;color:var(--tx);white-space:nowrap}
.io-row-meta{font-size:10.5px;color:var(--t3);margin-top:4px;display:flex;gap:9px;flex-wrap:wrap}
.io-bar{height:5px;background:var(--paper3);border-radius:999px;overflow:hidden;margin-top:7px}
.io-bar span{display:block;height:100%;background:var(--blue);border-radius:999px}
.io-detail{margin-top:12px}
.io-detail-grid{display:grid;grid-template-columns:320px 1fr;gap:12px;align-items:start}
.io-profile{padding:14px}
.io-profile-name{font-family:var(--fd);font-size:19px;color:var(--tx);line-height:1.2}
.io-profile-sub{font-size:11.5px;color:var(--t3);margin-top:4px}
.io-profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.io-mini-stat{border:1px solid var(--border);border-radius:var(--r);padding:9px;background:var(--paper)}
.io-mini-v{font-family:var(--fm);font-size:15px;font-weight:700;color:var(--tx)}
.io-mini-l{font-size:9.5px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:700;margin-top:3px}
.io-table-wrap{overflow:auto}
.io-table{width:100%;border-collapse:collapse;font-size:11.5px;min-width:980px}
.io-table th{position:sticky;top:0;background:#f1f0ec;border-bottom:1px solid var(--border2);padding:8px 9px;text-align:left;font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;z-index:1}
.io-table td{border-bottom:1px solid var(--border);padding:8px 9px;color:var(--t2);vertical-align:top}
.io-table tbody tr:hover{background:#fbfaf7}
.io-table .strong{font-weight:700;color:var(--tx)}
.io-money{font-family:var(--fm);font-weight:700;text-align:right;color:var(--tx);white-space:nowrap}
.io-parent-money{font-family:var(--fm);text-align:right;color:var(--t3);white-space:nowrap}
.io-tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;background:var(--paper);border:1px solid var(--border);font-size:10px;color:var(--t2);font-weight:600;white-space:nowrap}
.io-empty{padding:24px;text-align:center;color:var(--t3);font-size:12.5px}
@media(max-width:1100px){
  .io-layout,.io-detail-grid{grid-template-columns:1fr}
  .io-kpis{grid-template-columns:repeat(3,1fr)}
  .io-side-list{max-height:none}
}
@media(max-width:720px){
    .io-head{display:block}
  .io-controls{justify-content:flex-start;margin-top:12px}
  .io-search{width:100%}
  .io-kpis{grid-template-columns:1fr 1fr}
}

/* Corporate partner portfolio */
.cp-page{padding:18px 24px 38px;background:var(--paper);min-height:calc(100vh - 92px)}
.cp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.cp-title h1{font-family:var(--fd);font-size:27px;line-height:1.15;color:var(--tx);letter-spacing:0;margin:0 0 4px}
.cp-title p{font-size:13px;color:var(--t3);max-width:760px}
.cp-filter{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cp-btn{border:1px solid var(--border);background:var(--sf);color:var(--t2);border-radius:var(--r);padding:7px 10px;font-family:var(--fb);font-size:11.5px;font-weight:600;cursor:pointer;transition:all .12s}
.cp-btn:hover{border-color:var(--border2);color:var(--tx)}
.cp-btn.active{background:#002D72;border-color:#002D72;color:#fff}
.cp-kpis{display:flex;align-items:center;gap:0;background:var(--sf);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--sh);overflow:hidden;margin-bottom:14px}
.cp-kpi{padding:12px 18px;border-right:1px solid var(--border);min-width:132px}
.cp-kpi:last-child{border-right:0}
.cp-kpi b{display:block;font-family:var(--fd);font-size:20px;line-height:1.05;color:var(--tx);font-weight:700}
.cp-kpi span{display:block;margin-top:4px;font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700}
.cp-sector-row{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.cp-sector{border:1px solid var(--border);background:rgba(255,255,255,.72);border-radius:999px;padding:5px 9px;font-size:10.5px;font-weight:700;color:var(--t2);cursor:pointer;display:flex;align-items:center;gap:6px}
.cp-sector.active{background:var(--sf);border-color:var(--tx);color:var(--tx)}
.cp-dot{width:8px;height:8px;border-radius:50%;background:var(--c)}
.cp-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}
.cp-col{background:rgba(255,255,255,.62);border:1px solid var(--border);border-radius:var(--r2);min-height:360px;overflow:hidden}
.cp-col-h{padding:11px 12px;border-top:4px solid var(--c);border-bottom:1px solid var(--border);background:var(--sf)}
.cp-col-h strong{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--tx)}
.cp-col-h span{display:block;font-size:10.5px;color:var(--t3);margin-top:3px;line-height:1.35}
.cp-list{padding:8px;display:flex;flex-direction:column;gap:7px}
.cp-card{appearance:none;-webkit-appearance:none;border:1px solid var(--border);background:var(--sf);border-radius:var(--r);padding:9px 10px;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s;min-height:64px;position:relative;width:100%;display:block;text-align:left;font-family:var(--fb);color:inherit}
.cp-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);border-radius:var(--r) 0 0 var(--r)}
.cp-card:hover{transform:translateY(-1px);box-shadow:var(--sh2);border-color:var(--border2)}
.cp-card-name{display:block;font-weight:700;font-size:12.5px;color:var(--tx);line-height:1.25;padding-right:18px}
.cp-card-sector{display:block;font-size:10.5px;color:var(--t3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-card-line{display:block;font-family:var(--fm);font-size:10.5px;color:var(--t2);margin-top:6px}
.cp-pips{position:absolute;right:8px;top:8px;display:flex;gap:4px}
.cp-pip{width:7px;height:7px;border-radius:50%;background:var(--c);opacity:.78}
.cp-empty{padding:28px 12px;color:var(--t3);font-size:12px;text-align:center}
.cp-note{margin-top:12px;font-size:11.5px;color:var(--t3);line-height:1.6}
.cp-dim{position:fixed;inset:0;background:rgba(14,26,38,.26);backdrop-filter:blur(2px);z-index:9000;display:none}
.cp-dim.open{display:block}
.cp-drawer{position:fixed;top:52px;right:0;bottom:0;width:min(1120px,88vw);background:var(--paper);z-index:9001;box-shadow:-12px 0 34px rgba(14,26,38,.22);transform:translateX(104%);transition:transform .18s ease;overflow-y:auto;border-left:1px solid var(--border)}
.cp-drawer.open{transform:translateX(0)}
.cp-drawer-head{background:var(--sf);border-top:5px solid var(--c);border-bottom:1px solid var(--border);padding:23px 28px 18px;position:sticky;top:0;z-index:2}
.cp-drawer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.cp-brand{display:flex;align-items:center;gap:14px;min-width:0}
.cp-mark{width:48px;height:48px;border-radius:10px;background:var(--c);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--fd);font-size:23px;font-weight:700;flex-shrink:0}
.cp-brand h2{font-family:var(--fd);font-size:29px;line-height:1.08;margin:0;color:var(--tx)}
.cp-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:7px;font-size:11px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:0}
.cp-stage{display:inline-flex;align-items:center;gap:6px;color:var(--tx)}
.cp-close{border:1px solid var(--border);background:var(--sf);border-radius:var(--r);height:34px;width:34px;font-size:20px;line-height:1;cursor:pointer;color:var(--t2)}
.cp-close:hover{border-color:var(--tx);color:var(--tx)}
.cp-kpi-clusters{display:grid;grid-template-columns:1.3fr .95fr .8fr;gap:0;border:1px solid var(--border);border-radius:var(--r);margin-top:18px;overflow:hidden;background:#fff}
.cp-cluster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-right:1px solid var(--border)}
.cp-cluster:first-child{grid-template-columns:repeat(3,minmax(0,1fr))}
.cp-cluster:last-child{border-right:0}
.cp-metric{padding:10px 13px;border-right:1px solid var(--border)}
.cp-metric:last-child{border-right:0}
.cp-metric b{display:block;font-family:var(--fd);font-size:17px;color:var(--tx);line-height:1.1}
.cp-metric span{display:block;margin-top:3px;font-size:9.5px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700}
.cp-drawer-body{padding:24px 28px 36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);gap:24px;align-items:start}
.cp-section{background:var(--sf);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--sh);padding:17px 18px;margin-bottom:15px;border-left:3px solid var(--c)}
.cp-section h3{font-family:var(--fd);font-size:14px;color:var(--tx);margin:0 0 12px}
.cp-fy-row{display:grid;grid-template-columns:48px minmax(0,1fr) 82px;gap:10px;align-items:center;margin:8px 0}
.cp-fy-label{font-family:var(--fm);font-size:11px;color:var(--t2)}
.cp-bar-track{height:9px;background:var(--paper2);border-radius:99px;overflow:hidden}
.cp-bar{height:100%;background:var(--c);border-radius:99px}
.cp-fy-val{text-align:right;font-family:var(--fm);font-size:11px;color:var(--tx)}
.cp-channel-row{display:grid;grid-template-columns:120px minmax(0,1fr) 86px;gap:10px;align-items:center;margin:9px 0}
.cp-channel-row.future{opacity:.48}
.cp-area-chip,.cp-small-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--paper);border-radius:999px;padding:5px 8px;font-size:10.5px;color:var(--t2);font-weight:700;margin:0 5px 6px 0}
.cp-area-chip.active{background:var(--c);border-color:var(--c);color:#fff}
.cp-posture{font-family:var(--fd);font-size:14px;line-height:1.65;color:var(--ink2);font-style:italic}
.cp-fac-controls{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}
.cp-fac-card{border:1px solid var(--border);border-radius:var(--r);background:#fff;margin-bottom:10px;overflow:hidden}
.cp-fac-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px 13px;background:var(--sf);cursor:pointer}
.cp-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--c);font-size:10px;font-weight:800}
.cp-fac-name{font-weight:800;color:var(--tx);font-size:12.5px}
.cp-fac-sub{font-size:10.5px;color:var(--t3);margin-top:1px}
.cp-funded-line{font-family:var(--fm);font-size:10.5px;color:var(--t2);margin-top:6px}
.cp-pending-note{color:var(--t3);font-style:italic}
.cp-projects{border-top:1px solid var(--border);padding:8px 10px 10px;background:var(--paper)}
.cp-proj{border:1px solid var(--border);background:#fff;border-radius:var(--r);padding:9px 10px;margin-top:7px}
.cp-proj.pending{opacity:.62;border-style:dashed;background:#faf9f6}
.cp-proj-title{font-weight:700;font-size:11.5px;line-height:1.35;color:var(--tx)}
.cp-proj-meta{font-family:var(--fm);font-size:10.5px;color:var(--t2);margin-top:5px}
.cp-tags{margin-top:7px}
.cp-tag{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:3px 6px;font-size:9.5px;color:var(--t3);font-weight:700;margin:0 4px 4px 0;background:var(--sf)}
@media(max-width:1180px){.cp-board{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-drawer{width:94vw}.cp-drawer-body{grid-template-columns:1fr}.cp-kpi-clusters{grid-template-columns:1fr}.cp-cluster{border-right:0;border-bottom:1px solid var(--border)}.cp-cluster:last-child{border-bottom:0}}
@media(max-width:760px){.cp-page{padding:14px}.cp-head{display:block}.cp-filter{justify-content:flex-start;margin-top:12px}.cp-kpis{display:grid;grid-template-columns:1fr 1fr}.cp-kpi{border-bottom:1px solid var(--border)}.cp-board{grid-template-columns:1fr}.cp-drawer{top:0;width:100vw}.cp-drawer-head{padding:18px}.cp-drawer-body{padding:18px}.cp-brand h2{font-size:22px}.cp-kpi-clusters,.cp-cluster{display:block}.cp-metric{border-right:0;border-bottom:1px solid var(--border)}}

/* Industry v10 alignment */
.cp-page{--cp-primary:#002D72;--cp-link:#0077D8;--cp-ink:#0e1827;--cp-muted:#5e6b79;--cp-panel:#fff;--cp-soft:#eef3fb;--cp-warm:#fbfaf6;--cp-gold:#CBA052;padding:18px 28px 36px;max-width:1680px;margin:0 auto}
.cp-title h1{font-size:21px;letter-spacing:0;color:var(--cp-ink);font-weight:800}
.cp-title p{font-size:12px;color:var(--cp-muted);max-width:820px}
.cp-filter{background:var(--paper2);padding:4px;border-radius:9px;gap:3px;border:1px solid var(--border)}
.cp-btn{border:0;background:transparent;border-radius:6px;padding:6px 12px;font-size:11.5px;font-weight:800}
.cp-btn:hover{background:var(--cp-soft);color:var(--cp-ink)}
.cp-btn.active{background:var(--cp-primary);color:#fff}
.cp-kpis{align-items:baseline;gap:28px;padding:14px 17px;background:var(--cp-panel);box-shadow:var(--sh);border-radius:10px}
.cp-kpi{border-right:0;min-width:0;padding:0}
.cp-kpi:not(:last-child){padding-right:28px;border-right:1px solid var(--border)}
.cp-kpi b{font-size:20px;color:var(--cp-ink);font-weight:800}
.cp-kpi span{font-size:11px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--cp-muted)}
.cp-sector-row{gap:5px;margin-bottom:10px}
.cp-sector{background:var(--cp-panel);padding:5px 10px;font-size:11px;border-radius:999px;box-shadow:var(--sh)}
.cp-sector:hover{border-color:var(--cp-link);background:var(--cp-soft);color:var(--cp-ink)}
.cp-sector.active{background:var(--cp-primary);border-color:var(--cp-primary);color:#fff;box-shadow:none}
.cp-board{gap:10px}
.cp-col{background:transparent;border:0;border-radius:0;min-height:0;overflow:visible}
.cp-col-h{padding:9px 10px 11px;border-top:0;border-bottom:2px solid var(--c);background:transparent}
.cp-col-h strong{font-size:12px;text-transform:uppercase;letter-spacing:0;color:var(--cp-ink)}
.cp-col-h strong em{font-family:var(--fm);font-style:normal;color:var(--c);font-size:11px}
.cp-col-h span{display:none}
.cp-list{padding:8px 0;gap:5px;max-height:780px;overflow:auto;padding-right:2px}
.cp-card{border-left:3px solid var(--c);min-height:64px;padding:10px 11px 11px;border-radius:9px;background:var(--cp-panel);box-shadow:var(--sh)}
.cp-card-sector.inferred{font-style:italic;color:var(--t3)}
.cp-more{text-align:center;font-size:10.5px;color:var(--t3);font-style:italic;padding:7px 4px 3px;font-family:var(--fm);letter-spacing:0}
.cp-card:before{display:none}
.cp-card:hover{background:var(--cp-warm);box-shadow:var(--sh2);border-color:var(--border2)}
.cp-card-name{font-size:12.5px;color:var(--cp-ink);font-weight:800}
.cp-card-sector{font-weight:500}
.cp-card-line{font-weight:500;line-height:1.3}
.cp-dim{background:rgba(14,26,38,.46);z-index:9000;backdrop-filter:blur(2px)}
.cp-drawer{top:0;height:100vh;width:min(1080px,96vw);background:var(--sf);z-index:9001;box-shadow:0 12px 40px rgba(14,26,38,.18),0 4px 12px rgba(14,26,38,.08);transition:transform .26s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;border-left:0}
.cp-drawer-head{flex-shrink:0;background:var(--cp-panel);position:relative;top:auto;border:0;padding:24px 28px 16px}
.cp-drawer-head:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c,var(--slate))}
.cp-drawer-top{gap:18px}
.cp-mark{border-radius:9px;font-size:20px;box-shadow:var(--sh);font-weight:800}
.cp-brand h2{font-size:28px;letter-spacing:0;color:var(--cp-ink);font-weight:800}
.cp-meta{gap:14px;margin-top:8px}
.cp-stage{font-size:10.5px;letter-spacing:0;color:var(--stage,var(--slate));font-weight:800}
.cp-drawer-tools{display:flex;align-items:flex-start;gap:12px;margin-left:auto}
.cp-score-card{position:relative;width:154px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--sh);color:var(--cp-ink)}
.cp-score-summary{list-style:none;cursor:pointer;padding:10px 11px 8px;display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:8px;align-items:start}
.cp-score-summary::-webkit-details-marker{display:none}
.cp-score-summary span{display:flex;align-items:baseline;gap:2px;line-height:1}
.cp-score-summary b{font-family:var(--fd);font-size:24px;font-weight:800}
.cp-score-summary em{font-family:var(--fm);font-size:10px;font-style:normal;color:var(--t3);font-weight:700}
.cp-score-summary small{grid-column:1/2;font-size:9.5px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:800;line-height:1.3}
.cp-score-summary i{grid-column:2/3;grid-row:1/3;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--paper2);color:var(--t2);font-size:11px;font-family:var(--fm);font-style:normal;font-weight:800}
.cp-score-card:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.cp-score-meter{height:4px;background:var(--paper2);border-radius:0 0 10px 10px;overflow:hidden}
.cp-score-meter span{display:block;height:100%;background:var(--stage,var(--cp-primary));border-radius:0 99px 99px 0}
.cp-score-popover{display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(340px,78vw);padding:13px 14px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 40px rgba(14,26,38,.18);z-index:5}
.cp-score-card[open] .cp-score-popover{display:block}
.cp-score-popover p{margin:0 0 10px;font-size:11.5px;line-height:1.5;color:var(--t2)}
.cp-score-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid var(--paper2);padding:8px 0}
.cp-score-row b,.cp-score-row strong{display:block;font-size:11px;color:var(--cp-ink);font-weight:800}
.cp-score-row span{display:block;margin-top:2px;font-size:10px;color:var(--t3);line-height:1.35}
.cp-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.cp-kpi-clusters{display:flex;align-items:flex-end;gap:0;margin-top:22px;border:0;border-top:1px solid var(--paper2);border-radius:0;padding-top:16px;background:transparent;overflow:visible}
.cp-cluster{display:flex;gap:24px;padding:0 22px;border:0;border-right:1px solid var(--paper2)}
.cp-cluster:first-child{padding-left:0}
.cp-cluster:last-child{border-right:0;padding-right:0}
.cp-metric{border:0;padding:0;display:flex;flex-direction:column;gap:5px}
.cp-metric b{font-size:22px;letter-spacing:0;color:var(--cp-ink);font-weight:800}
.cp-cluster:first-child .cp-metric:nth-child(-n+2) b{font-size:26px}
.cp-metric span{font-size:9.5px;letter-spacing:0}
.cp-drawer-body{flex:1;overflow-y:auto;background:var(--sf);padding:24px 28px 36px;display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}
.cp-drawer-body>div{min-width:0;display:flex;flex-direction:column;gap:24px}
.cp-section{position:relative;padding:0 0 0 14px;background:transparent;border:0;border-radius:0;box-shadow:none;margin:0;border-left:0}
.cp-section:before{content:"";position:absolute;left:0;top:4px;bottom:0;width:2px;background:var(--c,var(--paper2));border-radius:1px;opacity:.55}
.cp-section h3{font-size:13px;letter-spacing:0;margin:0 0 11px;color:var(--cp-ink);font-weight:800}
.cp-fy-row{grid-template-columns:42px minmax(0,1fr) 70px;gap:10px;margin:7px 0;font-size:11px}
.cp-fy-label{font-size:10.5px;color:var(--t3);font-weight:600}
.cp-bar-track{height:18px;border-radius:3px}
.cp-bar{border-radius:3px}
.cp-fy-val{font-size:11px;font-weight:600}
.cp-channel-row{grid-template-columns:96px minmax(0,1fr) auto;font-size:11px}
.cp-channel-row .cp-bar-track{height:8px;border-radius:4px}
.cp-area-bar{margin:9px 0}
.cp-area-bar-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:11px;color:var(--t2)}
.cp-area-bar-top span{font-weight:800;color:var(--cp-ink)}
.cp-area-bar-top b{font-family:var(--fm);font-size:10.5px;color:var(--t3)}
.cp-small-chip,.cp-area-chip{border-radius:999px;background:var(--sf);padding:5px 10px;font-size:10.5px;font-weight:800}
.cp-posture{border-left:3px solid var(--stage,var(--slate));padding:10px 0 10px 16px;font-size:13.5px;line-height:1.55;color:var(--cp-ink)}
.cp-fac-controls{margin:8px 0 14px}
.cp-fac-card{border-radius:var(--r2);box-shadow:none}
.cp-fac-card details{display:block}
.cp-fac-card summary{list-style:none;cursor:pointer;padding:11px 14px;position:relative}
.cp-fac-card summary::-webkit-details-marker{display:none}
.cp-fac-card summary:after{content:"+";position:absolute;right:14px;top:11px;font-family:var(--fm);color:var(--t3);font-size:14px;font-weight:600}
.cp-fac-card details[open] summary:after{content:"−"}
.cp-fac-head{display:flex;align-items:flex-start;gap:11px;padding:0;background:transparent}
.cp-avatar{flex-shrink:0}
.cp-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.cp-note-tight{margin-top:8px}
.cp-empty-compact{padding:10px;text-align:left}
.cp-funded-line{padding-left:42px;margin-top:9px}
.cp-projects{padding:10px 14px 13px 56px;background:transparent;border-top:1px solid var(--paper2);display:flex;flex-direction:column;gap:6px}
.cp-proj{background:#fbfaf7;padding:10px 12px;margin-top:0}
.cp-proj.pending{background:var(--paper);border-color:var(--border2)}
@media(max-width:1280px){.cp-drawer-body{grid-template-columns:1fr}.cp-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cp-page{padding:14px}.cp-kpis{flex-wrap:wrap;gap:12px 18px}.cp-kpi:not(:last-child){padding-right:0;border-right:0}.cp-board{grid-template-columns:1fr}.cp-drawer{width:100vw}.cp-drawer-top{display:grid;grid-template-columns:minmax(0,1fr) auto}.cp-drawer-tools{grid-column:1/3;width:100%;justify-content:space-between}.cp-score-card{width:min(220px,calc(100vw - 88px))}.cp-score-popover{position:fixed;left:14px;right:14px;top:112px;width:auto}.cp-drawer-body{display:block;padding:14px}.cp-drawer-body>div{display:flex;gap:24px}.cp-kpi-clusters{display:block}.cp-cluster{display:flex;border-right:0;border-bottom:1px solid var(--paper2);padding:12px 0}.cp-cluster:first-child{padding-top:0}.cp-metric{border-bottom:0}}

/* Department activity map */
.dm-page{padding:18px 24px 34px;background:var(--paper);min-height:calc(100vh - 92px)}
.dm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.dm-kicker{font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:4px}
.dm-title{font-family:var(--fd);font-size:27px;line-height:1.15;color:var(--tx);margin:0}
.dm-sub{font-size:12.5px;color:var(--t3);max-width:780px;line-height:1.55;margin-top:5px}
.dm-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dm-select,.dm-search{height:32px;border:1px solid var(--border2);border-radius:var(--r);background:var(--sf);font-family:var(--fb);font-size:12px;color:var(--tx);padding:0 10px;outline:none}
.dm-search{width:240px}
.dm-select:focus,.dm-search:focus{border-color:var(--blue)}
.dm-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}
.dm-kpi{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);padding:11px 12px;box-shadow:var(--sh)}
.dm-kpi-v{font-family:var(--fm);font-size:20px;font-weight:700;color:var(--tx);line-height:1.05;white-space:nowrap}
.dm-kpi-l{font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;margin-top:5px}
.dm-kpi-s{font-size:11px;color:var(--t3);margin-top:2px;line-height:1.35}
.dm-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.dm-signal-card{overflow:hidden}
.dm-signal-list{padding:9px 10px 10px;display:grid;gap:8px}
.dm-signal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;border:1px solid var(--border);border-radius:var(--r);background:#fbfaf7;padding:8px 9px}
.dm-signal-main{min-width:0}
.dm-signal-name{font-size:12px;font-weight:800;color:var(--tx);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-signal-meta{font-size:10.5px;color:var(--t3);line-height:1.3;margin-top:2px}
.dm-signal-val{font-family:var(--fm);font-size:12px;font-weight:800;color:var(--tx);white-space:nowrap;text-align:right}
.dm-signal-bar{grid-column:1/-1;height:6px;background:var(--paper3);border-radius:999px;overflow:hidden}
.dm-signal-bar span{display:block;height:100%;width:0;background:var(--blue);border-radius:999px}
.dm-layout{display:grid;grid-template-columns:300px minmax(0,1fr) 330px;gap:12px;align-items:start}
.dm-panel{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);min-width:0}
.dm-panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid var(--border)}
.dm-panel-t{font-size:13px;font-weight:700;color:var(--tx)}
.dm-panel-s{font-size:11.5px;color:var(--t3);margin-top:2px;line-height:1.35}
.dm-list{display:flex;flex-direction:column;gap:7px;padding:10px;max-height:650px;overflow:auto}
.dm-fac-card{appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:var(--r);background:#fbfaf7;padding:9px 10px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s;text-align:left;font-family:var(--fb);color:inherit;width:100%}
.dm-fac-card:hover{border-color:var(--ink);background:#fff}
.dm-fac-card.active{border-color:var(--blue);background:#eef6ff;box-shadow:0 0 0 1px rgba(0,105,192,.15)}
.dm-fac-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.dm-fac-name{font-size:12.5px;font-weight:700;color:var(--tx);line-height:1.25}
.dm-fac-rank{font-size:10.5px;color:var(--t3);margin-top:2px;line-height:1.3}
.dm-fac-money{font-family:var(--fm);font-size:12px;font-weight:700;color:var(--tx);white-space:nowrap}
.dm-fac-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:10.5px;color:var(--t3)}
.dm-unit-pills{display:flex;gap:5px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--border);background:#fbfaf7}
.dm-pill{border:1px solid var(--border2);border-radius:999px;background:var(--sf);color:var(--t2);font-family:var(--fb);font-size:11px;font-weight:600;padding:4px 9px;cursor:pointer}
.dm-pill.active{background:var(--ink);border-color:var(--ink);color:#fff}
.dm-pill:hover:not(.active){border-color:var(--ink);color:var(--ink)}
.dm-matrix-wrap{overflow:auto;padding:12px 14px 15px}
.dm-matrix{display:grid;gap:4px;min-width:760px}
.dm-matrix-mobile{display:none}
.dm-matrix-row{display:grid;grid-template-columns:172px repeat(var(--dm-cols,8),minmax(82px,1fr));gap:4px;align-items:stretch}
.dm-mh,.dm-fh{font-size:10px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:0;line-height:1.25;padding:6px;display:flex;align-items:end}
.dm-fh{appearance:none;-webkit-appearance:none;background:transparent;border:0;text-align:left;font-family:var(--fb);text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--tx);align-items:center;border-radius:4px;cursor:pointer;width:100%}
.dm-fh:hover{background:var(--paper)}
.dm-fh.active{background:#eef6ff;color:var(--blue)}
.dm-cell{appearance:none;-webkit-appearance:none;min-height:38px;border:1px solid var(--border);border-radius:5px;background:var(--paper);padding:5px 6px;display:flex;flex-direction:column;justify-content:center;gap:2px;cursor:pointer;transition:filter .12s,border-color .12s;text-align:left;font-family:var(--fb);color:inherit}
.dm-cell-valued{background:rgba(0,105,192,var(--dm-alpha,.2))}
.dm-cell:hover{filter:brightness(.97);border-color:var(--ink)}
.dm-cell.active{outline:2px solid var(--ink);outline-offset:1px}
.dm-cell-empty{background:#f2f1ed;color:transparent;cursor:default}
.dm-cell-empty:hover{filter:none;border-color:var(--border)}
.dm-cell-v{font-family:var(--fm);font-size:11px;font-weight:700;color:var(--tx);line-height:1}
.dm-cell-l{font-size:9.5px;color:var(--t3);line-height:1}
.dm-units{display:flex;flex-direction:column;gap:7px;padding:10px;max-height:650px;overflow:auto}
.dm-unit-row{appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:var(--r);padding:9px 10px;background:#fbfaf7;cursor:pointer;transition:border-color .12s,background .12s;text-align:left;font-family:var(--fb);color:inherit;width:100%}
.dm-unit-row:hover{border-color:var(--ink);background:#fff}
.dm-unit-row.active{border-color:var(--blue);background:#eef6ff}
.dm-unit-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dm-unit-name{font-size:12.5px;font-weight:700;color:var(--tx);line-height:1.25}
.dm-unit-type{font-size:10.5px;color:var(--t3);margin-top:3px}
.dm-unit-val{font-family:var(--fm);font-size:12px;font-weight:700;color:var(--tx);white-space:nowrap}
.dm-bar{height:5px;background:var(--paper3);border-radius:999px;overflow:hidden;margin-top:7px}
.dm-bar span{display:block;height:100%;background:var(--dm-color,var(--blue));border-radius:999px}
.dm-detail{margin-top:12px}
.dm-detail-body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px;padding:12px}
.dm-profile{background:#fbfaf7;border:1px solid var(--border);border-radius:var(--r);padding:13px}
.dm-profile-name{font-family:var(--fd);font-size:19px;color:var(--tx);line-height:1.2}
.dm-profile-sub{font-size:11.5px;color:var(--t3);line-height:1.45;margin-top:4px}
.dm-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.dm-mini{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);padding:8px}
.dm-mini-v{font-family:var(--fm);font-size:14px;font-weight:700;color:var(--tx)}
.dm-mini-l{font-size:9.5px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:0;margin-top:3px}
.dm-alloc{margin-top:13px;display:flex;flex-direction:column;gap:7px}
.dm-alloc-row{display:grid;grid-template-columns:88px 1fr 58px;gap:8px;align-items:center;font-size:10.5px;color:var(--t2)}
.dm-track{height:6px;background:var(--paper3);border-radius:999px;overflow:hidden}
.dm-track span{display:block;height:100%;background:var(--dm-color,var(--blue));border-radius:999px}
.dm-alloc-val{text-align:right;font-family:var(--fm)}
.dm-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--r)}
.dm-table{width:100%;border-collapse:collapse;font-size:11.5px;min-width:780px}
.dm-table th{position:sticky;top:0;background:#f1f0ec;border-bottom:1px solid var(--border2);padding:8px 9px;text-align:left;font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;z-index:1}
.dm-table th.dm-money-head{text-align:right}
.dm-table td{border-bottom:1px solid var(--border);padding:8px 9px;color:var(--t2);vertical-align:top}
.dm-table tbody tr:hover{background:#fbfaf7}
.dm-strong{font-weight:700;color:var(--tx)}
.dm-money{font-family:var(--fm);font-weight:700;text-align:right;color:var(--tx);white-space:nowrap}
.dm-empty{padding:22px;text-align:center;color:var(--t3);font-size:12.5px}
.dm-empty-tight{padding:12px}
.dm-io-note{font-size:10.5px;color:var(--t3);margin-top:3px}
@media(max-width:1180px){
  .dm-layout,.dm-detail-body,.dm-signal-grid{grid-template-columns:1fr}
  .dm-list,.dm-units{max-height:none}
  .dm-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .dm-page{padding:14px}
  .dm-head{display:block}
  .dm-controls{justify-content:flex-start;margin-top:12px}
  .dm-search{width:100%}
  .dm-kpis{grid-template-columns:1fr 1fr}
  .dm-matrix-wrap{overflow:visible;padding:10px}
  .dm-matrix{display:none}
  .dm-matrix-mobile{display:grid;gap:9px}
  .dm-mobile-fac-card{border:1px solid var(--border);border-radius:var(--r);background:#fbfaf7;overflow:hidden}
  .dm-mobile-fac-card.active{border-color:var(--blue);box-shadow:0 0 0 1px rgba(0,105,192,.12)}
  .dm-mobile-fac-head{appearance:none;-webkit-appearance:none;border:0;background:var(--sf);width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 11px;text-align:left;font-family:var(--fb);color:inherit;cursor:pointer}
  .dm-mobile-fac-head:hover{background:#fff}
  .dm-mobile-fac-head>span:first-child,.dm-mobile-loc-main{min-width:0}
  .dm-mobile-fac-name{display:block;font-size:12.5px;font-weight:800;color:var(--tx);line-height:1.25}
  .dm-mobile-fac-meta{display:block;font-size:10.5px;color:var(--t3);line-height:1.3;margin-top:2px}
  .dm-mobile-fac-total{font-family:var(--fm);font-size:13px;font-weight:800;color:var(--tx);white-space:nowrap}
  .dm-mobile-locs{display:grid;gap:6px;padding:9px}
  .dm-mobile-loc{appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-left:3px solid var(--dm-color,var(--blue));border-radius:6px;background:var(--sf);display:grid;grid-template-columns:minmax(0,1fr) 78px auto;gap:8px;align-items:center;padding:8px;text-align:left;font-family:var(--fb);color:inherit;cursor:pointer}
  .dm-mobile-loc:hover{border-color:var(--ink);border-left-color:var(--dm-color,var(--blue))}
  .dm-mobile-loc.active{background:#eef6ff;border-color:var(--blue);border-left-color:var(--dm-color,var(--blue))}
  .dm-mobile-loc-unit{display:block;font-size:11.5px;font-weight:800;color:var(--tx);line-height:1.1}
  .dm-mobile-loc-type{display:block;font-size:9.5px;color:var(--t3);line-height:1.2;margin-top:2px}
  .dm-mobile-loc-bar{height:7px;background:var(--paper3);border-radius:999px;overflow:hidden}
  .dm-mobile-loc-fill{display:block;height:100%;background:var(--dm-color,var(--blue));border-radius:999px}
  .dm-mobile-loc-val{font-family:var(--fm);font-size:11.5px;font-weight:800;color:var(--tx);white-space:nowrap;text-align:right}
  .dm-mobile-empty,.dm-mobile-more{font-size:11px;color:var(--t3);padding:6px 2px}
}

/* Briefing page (front page layout) */
#briefing-page{display:none}
.br-page{padding:18px 28px 40px;background:var(--paper);min-height:calc(100vh - 92px)}
.br-head{margin-bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:12px;gap:18px;flex-wrap:wrap}
.br-head h1{font-family:var(--fd);font-size:34px;font-weight:700;color:var(--ink);margin:0;letter-spacing:0;line-height:1.1}
.br-kicker{font-size:10px;letter-spacing:0;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:4px}
.br-head .br-edition{text-align:right;font-size:11px;color:var(--t3);letter-spacing:0;text-transform:uppercase;font-weight:700}
.br-head .br-edition strong{display:block;color:var(--tx);font-size:12px;font-weight:700;margin-top:3px;letter-spacing:0}
.br-card{background:var(--sf);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);min-width:0}
.br-card-section{overflow:hidden;margin-bottom:14px}
.br-unavailable{padding:30px;text-align:center;color:var(--t3)}
.br-card-h{padding:11px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.br-card-t{font-size:12px;font-weight:700;color:var(--tx);letter-spacing:0}
.br-card-s{font-size:11px;color:var(--t3);font-weight:500}
.br-mono{font-family:var(--fm);font-variant-numeric:tabular-nums}
.br-up{color:#1a5c2e}
.br-dn{color:#a32020}
.br-flat{color:var(--t3)}
.br-pill{display:inline-block;padding:2px 7px;border-radius:9px;font-size:10px;font-weight:600;letter-spacing:0}
.br-pill.pos{background:#e5f0e0;color:#1a5c2e}
.br-pill.neg{background:#fae8e6;color:#a32020}
.br-pill.warn{background:#fdf3df;color:#7c4e0a}
.br-pill.muted{background:var(--paper3);color:var(--t2)}
.br-hero{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--border);border-radius:var(--r);background:var(--sf);box-shadow:var(--sh);margin-bottom:14px}
.br-hero-cell{padding:14px 16px;border-right:1px solid var(--border);position:relative}
.br-hero-cell:last-child{border-right:0}
.br-hero-l{font-size:9.5px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase}
.br-hero-v{font-family:var(--fm);font-size:23px;font-weight:700;color:var(--ink);line-height:1.05;margin-top:4px}
.br-hero-d{font-size:11px;color:var(--t2);margin-top:3px}
.br-spark{margin-top:10px;height:28px;display:flex;align-items:end;gap:3px}
.br-spark span{flex:1;background:var(--ink);opacity:.55;border-radius:1px 1px 0 0;min-height:2px}
.br-spark span.last{background:var(--gold);opacity:.85}
.br-spark-bar{height:2px}
.br-cols3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}
.br-col h3{margin:0;font-family:var(--fd);font-size:16px;font-weight:700;color:var(--ink);padding:11px 14px;border-bottom:2px solid var(--gold);background:#fdf8ef;border-radius:var(--r) var(--r) 0 0}
.br-col h3.neg{color:#a32020;border-bottom-color:#a32020;background:#fae8e6}
.br-col h3.warn{color:#7c4e0a;border-bottom-color:#7c4e0a;background:#fdf3df}
.br-col-body{background:var(--sf);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--r) var(--r);box-shadow:var(--sh)}
.br-empty{padding:18px;text-align:center;color:var(--t3);font-size:12px}
.br-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;padding:9px 13px;border-bottom:1px solid var(--border);align-items:center}
.br-item:last-child{border-bottom:0}
.br-rank{font-family:var(--fm);font-size:11px;font-weight:700;color:var(--t3);width:18px;text-align:right}
.br-item-name{font-size:12.5px;font-weight:700;color:var(--tx);line-height:1.2}
.br-item-meta{font-size:10.5px;color:var(--t3);margin-top:2px}
.br-item-num{text-align:right}
.br-item-num .v{font-family:var(--fm);font-size:13px;font-weight:700}
.br-item-num .l{font-size:9.5px;color:var(--t3);margin-top:1px;font-weight:500}
.br-highlights{margin-bottom:14px;background:var(--sf);border-radius:var(--r);box-shadow:var(--sh)}
.br-highlights-h{padding:11px 14px;border:1px solid var(--border);border-bottom:2px solid var(--ink);background:var(--paper);border-radius:var(--r) var(--r) 0 0;display:flex;align-items:center;gap:10px;justify-content:space-between}
.br-highlights-h h3{margin:0;font-family:var(--fd);font-size:15px;color:var(--ink);font-weight:700}
.br-hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--r) var(--r);overflow:hidden}
.br-hl-card{background:var(--sf);padding:13px 14px;display:flex;flex-direction:column;gap:5px}
.br-hl-empty{grid-column:1/-1;text-align:center;color:var(--t3)}
.br-hl-tag{font-size:9px;font-weight:700;color:#A37F35;letter-spacing:0;text-transform:uppercase}
.br-hl-amt{font-family:var(--fm);font-size:21px;font-weight:700;color:var(--ink);line-height:1}
.br-hl-pi{font-size:13px;font-weight:700;color:var(--tx)}
.br-hl-title{font-size:11.5px;color:var(--t2);line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}
.br-hl-spons{font-size:10px;color:var(--t3);margin-top:auto;padding-top:4px}
.br-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.br-table{width:100%;border-collapse:collapse;font-size:12px}
.br-table th{text-align:left;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:0;padding:8px 13px;border-bottom:1px solid var(--border)}
.br-table th.r{text-align:right}
.br-table td{padding:7px 13px;border-bottom:1px solid var(--border);font-size:12px}
.br-table tr:last-child td{border-bottom:0}
.br-table td.r{text-align:right;font-family:var(--fm);font-weight:700}
.br-table tr:hover td{background:var(--paper)}
.br-table .nm{font-weight:700;color:var(--tx)}
.br-table .sub{color:var(--t3);font-size:10.5px;margin-top:1px}

/* Briefing analytics panels */
.br-card-foot{padding:9px 14px;background:var(--paper);border-top:1px solid var(--border);font-size:10.5px;color:var(--t3);font-style:italic}
.br-card-foot-readable{padding:10px 14px;line-height:1.5;font-style:normal}
.br-table-th-c{text-align:center}
.br-prev-count{color:var(--t3);font-weight:400;font-size:11px}
.br-pressure-v{font-family:var(--fm);font-weight:700}
.br-table .br-up{color:#1a5c2e;font-weight:700}
.br-table .br-dn{color:#a32020;font-weight:700}
.br-table .br-flat-c{color:var(--t3);font-weight:600}
.br-sigpill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:11px;letter-spacing:0;text-transform:uppercase;font-family:var(--fb)}
.br-sigpill .br-sigdot{display:inline-block;width:6px;height:6px;border-radius:50%}
.br-sig-cliff{background:#f1c4c0;color:#a32020}
.br-sig-cliff .br-sigdot{background:#a32020}
.br-sig-watch{background:#f5d59a;color:#7c4e0a}
.br-sig-watch .br-sigdot{background:#7c4e0a}
.br-sig-volatile{background:#fdf3df;color:#7c4e0a;border:1px dashed #7c4e0a}
.br-sig-volatile .br-sigdot{background:#7c4e0a}
.br-sig-flat{background:var(--paper3);color:var(--t2)}
.br-sig-flat .br-sigdot{background:var(--t3)}
.br-sig-healthy{background:#E5F0E0;color:#1a5c2e}
.br-sig-healthy .br-sigdot{background:#1a5c2e}
.br-area-tag{display:inline-block;width:18px;height:18px;border-radius:4px;text-align:center;line-height:18px;font-size:11px;font-weight:700;margin-right:6px;vertical-align:middle}
.br-tag-grow{background:#E5F0E0;color:#1a5c2e}
.br-tag-decline{background:#fae8e6;color:#a32020}
.br-tag-invest{background:#f5d59a;color:#7c4e0a}
.br-tag-flat{background:var(--paper3);color:var(--t3)}
.br-pbar{display:inline-block;width:50px;height:7px;background:var(--paper3);border-radius:3px;vertical-align:middle;margin-right:6px;overflow:hidden;position:relative}
.br-pbar .br-pfill{height:100%;width:0;background:var(--gold);position:absolute;top:0;left:0;border-radius:3px}
.br-pbar.br-pbar-high .br-pfill{background:#a32020}
.br-pbar.br-pbar-mid .br-pfill{background:#7c4e0a}
.br-row-flag td{background:#fff8ec !important}
.br-row-flag td:first-child{box-shadow:inset 3px 0 0 #7c4e0a}
@media(max-width:1180px){
  .br-cols3,.br-numbers{grid-template-columns:1fr}
  .br-hero{grid-template-columns:repeat(3,1fr)}
  .br-hero-cell:nth-child(3n){border-right:0}
  .br-hl-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .br-page{padding:14px}
  .br-hero{grid-template-columns:repeat(2,1fr)}
  .br-hero-cell:nth-child(2n){border-right:0}
  .br-head h1{font-size:24px}
}

/* Briefing pending pipeline panel */
.pp-table{width:100%;border-collapse:collapse;font-size:13px}
.pp-table th{text-align:left;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:0;padding:10px 16px;border-bottom:1px solid var(--border);background:#fbfaf6}
.pp-table th.r{text-align:right}
.pp-table th.fy26{background:#fdf8ef;color:#A37F35}
.pp-table th.total{background:var(--paper3);color:var(--ink);border-left:2px solid var(--border2,#CFCBBE)}
.pp-table td{padding:11px 16px;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:middle}
.pp-table tr:last-child td{border-bottom:0}
.pp-table td.r{text-align:right;font-family:var(--fm);font-weight:700;font-variant-numeric:tabular-nums}
.pp-table td.fy26{background:#fdf8ef}
.pp-table td.total{background:var(--paper3);font-weight:800;font-size:14px;border-left:2px solid var(--border2,#CFCBBE)}
.pp-table .nm{font-weight:700;color:var(--tx)}
.pp-tier-row{transition:background 80ms}
.pp-tier-row:hover td{background:var(--paper)}
.pp-tier-row.open td{background:#fdf8ef !important}
.pp-tier-row.open td.fy26{background:#f7eed5 !important}
.pp-tier-row.open td.total{background:#ecdfba !important}
.pp-tier-row td:first-child{position:relative}
.pp-tier-toggle{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:0}
.pp-tier-toggle::before{content:'\203A';display:inline-block;transform:rotate(0deg);transition:transform 150ms;color:#A37F35;font-size:18px;font-weight:700;line-height:1}
.pp-tier-row.open .pp-tier-toggle::before{transform:rotate(90deg)}
.pp-drill{display:none;background:#fdfcf7}
.pp-drill.open{display:table-row}
.pp-drill td{padding:0;border-bottom:2px solid var(--gold)}
.pp-drill-inner{max-height:380px;overflow-y:auto;border-top:1px solid var(--border);background:#fdfcf7}
.pp-drill-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
.pp-col-fy{width:7%}
.pp-col-pi{width:21%}
.pp-col-unit{width:23%}
.pp-col-sponsor{width:34%}
.pp-col-amount{width:15%}
.pp-drill-table th{position:sticky;top:0;background:#f4eee0;font-size:9.5px;font-weight:700;color:#A37F35;letter-spacing:0;text-transform:uppercase;padding:9px 14px;border-bottom:1px solid var(--border);text-align:left;z-index:1;vertical-align:bottom}
.pp-drill-table th.r{text-align:right}
.pp-drill-table th .head-sub{display:block;font-size:8.5px;font-weight:500;color:#bea05a;text-transform:none;letter-spacing:0;margin-top:2px;font-style:italic}
.pp-drill-table td{padding:11px 14px;border-bottom:1px solid var(--border);font-size:12.5px;vertical-align:top;overflow:hidden;text-overflow:ellipsis}
.pp-drill-table tr:last-child td{border-bottom:0}
.pp-drill-table tr:nth-child(even) td{background:#faf6e9}
.pp-drill-table tr:hover td{background:#fdf8ef}
.pp-drill-table td.fy{font-family:var(--fm);font-size:11px;font-weight:700;letter-spacing:0;white-space:nowrap}
.pp-drill-table td.fy .fyk{display:inline-block;padding:3px 7px;border-radius:9px;background:#ecdfba;color:#7c4e0a;font-weight:700}
.pp-drill-table td.fy .fyk.fy26{background:var(--gold);color:#fff}
.pp-drill-table td.pi{font-weight:700;color:var(--ink);font-size:13px}
.pp-drill-table td.pi .pi-sub{display:block;font-weight:500;color:var(--t2);font-size:10.5px;margin-top:2px;font-family:var(--fb)}
.pp-drill-table td.unit .unit-code{display:inline-block;padding:2px 7px;border-radius:4px;background:#eee9d9;color:var(--t2);font-family:var(--fm);font-size:10.5px;font-weight:700;margin-bottom:3px;letter-spacing:0}
.pp-drill-table td.unit .unit-name{display:block;color:var(--tx);font-size:11.5px;line-height:1.3;font-weight:500}
.pp-drill-table td.spons{color:var(--tx);font-size:12px;line-height:1.35}
.pp-drill-table td.spons .agency-badge{display:inline-block;padding:2px 7px;border-radius:4px;background:var(--ink);color:#fff;font-family:var(--fm);font-size:9.5px;font-weight:700;letter-spacing:0;margin-bottom:3px;text-transform:uppercase}
.pp-drill-table td.spons .agency-badge.NIH{background:#1a5fa8}
.pp-drill-table td.spons .agency-badge.NSF{background:#0d6e54}
.pp-drill-table td.spons .agency-badge.DOD{background:#546372}
.pp-drill-table td.spons .agency-badge.DOE{background:#7c4e0a}
.pp-drill-table td.spons .agency-badge.NIST{background:#a32020}
.pp-drill-table td.spons .agency-badge.ARPA{background:#4a2d99}
.pp-drill-table td.spons .agency-badge.Industry{background:#2d6e8a}
.pp-drill-table td.spons .agency-badge.Foundations{background:#b8922a}
.pp-drill-table td.spons .agency-badge.Other{background:#9eadb8;color:var(--ink)}
.pp-drill-table td.spons .spons-name{display:block;color:var(--tx);font-weight:500}
.pp-drill-table td.amt{text-align:right;font-family:var(--fm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);font-size:13.5px;white-space:nowrap;letter-spacing:0}
.pp-drill-table td.amt .amt-sub{display:block;font-family:var(--fb);font-size:9.5px;font-weight:500;color:var(--t3);margin-top:2px;font-style:italic;letter-spacing:0;text-transform:uppercase}
.pp-summary-row td{background:var(--paper);border-top:2px solid var(--ink);font-weight:800;color:var(--ink)}
.pp-summary-row td:first-child{padding-left:16px}
.pp-summary-row td.r{font-size:14px}
.pp-summary-sub td{background:var(--paper);font-size:11.5px;color:var(--t2);font-weight:500;font-style:italic;padding-top:2px;padding-bottom:9px;border-top:0}
.pp-summary-sub td:first-child{padding-left:16px}
.pp-summary-sub td.r{font-style:normal;font-family:var(--fm);font-weight:600;color:#A37F35}
.pp-help{padding:7px 14px;background:#fbf7ec;border-top:1px solid var(--border);font-size:10.5px;color:#A37F35;text-align:center;font-weight:600;letter-spacing:0}

/* ===== Sponsors Battlecard ===== */
#agency-page{--spbc-primary:#002D72;--spbc-link:#0077D8;--spbc-ink:#0e1827;--spbc-muted:#5e6b79;--spbc-panel:#fff;--spbc-soft:#eef3fb;--spbc-warm:#fbfaf6;--spbc-gold:#CBA052;--spbc-success:#008767;--spbc-danger:#A6192E}
.spbc-layout{display:grid;grid-template-columns:252px 1fr;gap:18px;align-items:start;padding:0 0 24px}
.spbc-list{background:transparent;display:flex;flex-direction:column;gap:7px;max-height:1200px;overflow-y:auto;padding-right:4px;position:sticky;top:8px}
.spbc-list::-webkit-scrollbar{width:6px}
.spbc-list::-webkit-scrollbar-track{background:var(--paper3)}
.spbc-list::-webkit-scrollbar-thumb{background:var(--border2,#CFCBBE);border-radius:3px}
.spbc-item{background:var(--spbc-panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;display:flex;gap:10px;align-items:center;transition:background 120ms,border-color 120ms,box-shadow 120ms,transform 120ms;text-align:left;font-family:var(--fb);box-shadow:var(--sh)}
.spbc-item:hover{border-color:var(--spbc-link);background:var(--spbc-soft);transform:translateY(-1px)}
.spbc-item.active{border-color:var(--spbc-primary);background:var(--spbc-soft);box-shadow:0 0 0 1px rgba(0,45,114,.12),var(--sh)}
.spbc-icon{width:34px;height:34px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--spbc-color,var(--spbc-ink));color:#fff;font-size:9.5px;font-weight:800;font-family:var(--fb);letter-spacing:0;flex-shrink:0;line-height:1;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.14)}
.spbc-icon-mark{width:38px;height:38px;flex-direction:column;gap:1px;padding:3px}
.spbc-mark-main{display:block;font-size:9.5px;font-weight:900;letter-spacing:0;line-height:1}
.spbc-mark-sub{display:block;font-size:7px;font-weight:800;letter-spacing:0;line-height:1;color:rgba(255,255,255,.76)}
.spbc-info{flex:1;min-width:0}
.spbc-name{font-size:13px;font-weight:800;color:var(--spbc-ink);line-height:1.15;margin-bottom:2px}
.spbc-meta{font-size:10.5px;color:var(--t3);font-family:var(--fm);font-weight:600;line-height:1.3}
.spbc-card{background:var(--spbc-panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh);overflow:hidden;margin-bottom:14px}
.spbc-card.primary{border-top:4px solid var(--spbc-primary);box-shadow:var(--sh2)}
.spbc-h{padding:18px 22px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.spbc-h-title{display:flex;align-items:flex-start;gap:14px;min-width:min(560px,100%)}
.spbc-bc-mark{width:58px;height:58px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--spbc-color,var(--spbc-primary));color:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.16),0 8px 20px rgba(0,45,114,.16);flex-shrink:0}
.spbc-bc-mark .spbc-mark-main{font-size:13px}
.spbc-bc-mark .spbc-mark-sub{font-size:8px}
.spbc-h h3{font-family:var(--fd);font-size:24px;font-weight:800;color:var(--spbc-ink);margin:0 0 5px;letter-spacing:0}
.spbc-h .spbc-sub{font-size:12.5px;color:var(--spbc-muted);margin:0;max-width:700px}
.spbc-id-line{margin-top:6px;font:700 10.5px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3)}
.spbc-tag{font-size:11px;font-weight:800;color:var(--spbc-ink);background:var(--spbc-warm);border:1px solid var(--border);border-radius:999px;padding:5px 11px;white-space:nowrap;flex-shrink:0}
.spbc-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--spbc-warm)}
.spbc-kpi-card{padding:0 16px;border-right:1px solid var(--border);position:relative}
.spbc-kpi-card:first-child{padding-left:0}
.spbc-kpi-card:last-child{border-right:0}
.spbc-kpi-v{font-family:var(--fm);font-size:26px;font-weight:800;color:var(--spbc-ink);line-height:1.05;letter-spacing:0}
.spbc-kpi-l{font-family:var(--fb);font-size:9.5px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin-top:5px}
.spbc-split{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 22px;border-bottom:1px solid var(--border);background:var(--spbc-warm);font-family:var(--fb)}
.spbc-split-seg{font-size:12px;font-weight:800;color:var(--spbc-ink);padding:3px 9px;border-radius:4px;letter-spacing:0}
.spbc-split-direct{background:#e7efe5;color:#2f5d3a}
.spbc-split-pt{background:#efe7d8;color:#7a5a1e}
.spbc-split-via{font-size:11px;font-weight:600;color:var(--t3);letter-spacing:0;line-height:1.35}
.spbc-dark-strip{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:7px;padding:14px 22px 18px;background:var(--spbc-panel)}
.spbc-dark-cell{background:var(--spbc-ink);color:#fff;padding:12px 14px;border-radius:7px;display:flex;flex-direction:column;justify-content:center}
.spbc-dark-cell .spbc-dc-l{font-family:var(--fb);font-size:9.5px;font-weight:700;color:#a8b3c4;letter-spacing:0;text-transform:uppercase;margin-bottom:1px;line-height:1.3}
.spbc-dark-cell .spbc-dc-l-strong{font-size:13px;font-weight:700;color:#fff;letter-spacing:0;text-transform:none;line-height:1.2;margin-bottom:3px}
.spbc-dark-cell .spbc-dc-v{font-family:var(--fm);font-size:22px;font-weight:800;color:#fff;line-height:1;letter-spacing:0}
.spbc-dark-cell.label-only{padding:11px 16px}
.spbc-yoy{display:inline-block;margin-top:6px;padding:2px 7px;border-radius:999px;font:700 10px var(--fb);letter-spacing:0;white-space:nowrap}
.spbc-yoy-up{background:rgba(95,191,135,.18);color:#7ee0a3}
.spbc-yoy-down{background:rgba(232,108,89,.22);color:#ffb09c}
.spbc-yoy-flat{background:rgba(255,255,255,.12);color:#c8d2dc}
.spbc-charts-card{padding:18px 22px}
.spbc-charts-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.spbc-charts-h .spbc-chart-title{font-family:var(--fd);font-size:14px;font-weight:700;color:var(--ink);margin:0 0 3px}
.spbc-charts-h .spbc-chart-sub{font-size:12px;color:var(--t2);margin:0;line-height:1.5;max-width:780px}
.spbc-charts-h .spbc-chart-tag{font-size:10.5px;font-weight:800;color:#6d4c0a;background:#fdf8ef;border:1px solid var(--spbc-gold);border-radius:999px;padding:4px 10px;font-family:var(--fm);letter-spacing:0;flex-shrink:0;white-space:nowrap}
.spbc-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.spbc-chart-block .spbc-cb-l{font-size:10px;font-weight:700;color:var(--t3);letter-spacing:0;text-transform:uppercase;margin-bottom:11px}
.spbc-cb-hint{font:600 10px var(--fb);color:var(--t3);margin-left:6px;letter-spacing:0;text-transform:none}
.spbc-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:end;height:84px;margin-bottom:6px}
.spbc-bar{border-radius:3px 3px 0 0;min-height:3px;position:relative}
.spbc-bar.spend{background:#1a5fa8}
.spbc-bar.spend.dim{background:#7896c0}
.spbc-bar.won{background:#1a5c2e}
.spbc-bar.won.dim{background:#76a78b}
.spbc-bench{position:absolute;left:-2px;right:-2px;bottom:0;height:var(--spbc-bench-height,0);border-top:2px dashed rgba(14,26,38,.6);pointer-events:none}
.spbc-bar-labels{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.spbc-bar-l{font-family:var(--fm);font-size:10.5px;color:var(--t3);font-weight:600;text-align:center;letter-spacing:0}
.spbc-tri-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px;align-items:start}
.spbc-tri-card{background:var(--spbc-panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh);overflow:hidden}
.spbc-tri-h{padding:11px 16px 9px;border-bottom:1px solid var(--border);font-size:10px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:0;background:var(--spbc-warm)}
.spbc-muted-inline{font-weight:500;color:var(--t3);font-size:11px}
.spbc-tri-body{padding:6px 0}
.spbc-fac-row{appearance:none;-webkit-appearance:none;width:100%;padding:10px 16px;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;text-align:left;cursor:default}
.spbc-fac-row:last-child{border-bottom:0}
.spbc-fac-row[data-action]{cursor:pointer}
.spbc-fac-row[data-action]:hover{background:var(--spbc-soft)}
.spbc-fac-row[data-action]:hover .spbc-fac-name{text-decoration:underline;text-underline-offset:3px}
.spbc-fac-avatar{width:30px;height:30px;border-radius:50%;background:var(--spbc-color,#0e1827);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-family:var(--fb);flex-shrink:0;letter-spacing:0}
.spbc-fac-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.spbc-empty-row{color:var(--t3);font-style:italic;cursor:default}
.spbc-empty-row:hover{background:transparent}
.spbc-fac-info{display:block;flex:1;min-width:0}
.spbc-fac-name{display:block;font-size:13px;font-weight:700;color:var(--spbc-ink);line-height:1.2}
.spbc-fac-role{display:block;font-size:11px;color:var(--t3);font-weight:500;margin-top:1px}
.spbc-fac-amt{font-family:var(--fm);font-size:12px;font-weight:800;color:var(--spbc-ink);text-align:right;flex-shrink:0;letter-spacing:0}
.spbc-fac-foot{padding:9px 16px;font-size:11px;color:var(--t3);font-style:italic;line-height:1.5;border-top:1px solid var(--border);background:var(--paper)}
.spbc-watch-row{padding:11px 16px;border-bottom:1px solid var(--border)}
.spbc-watch-row:last-child{border-bottom:0}
.spbc-watch-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.spbc-watch-pi{font-size:12.5px;font-weight:800;color:var(--spbc-ink);line-height:1.2;letter-spacing:0}
.spbc-watch-ask{font-family:var(--fm);font-size:12px;font-weight:700;color:#A37F35;letter-spacing:0;flex-shrink:0}
.spbc-watch-title{font-size:12px;font-weight:500;color:var(--t1);line-height:1.35;margin-top:3px}
.spbc-watch-meta{font-size:10.5px;color:var(--t3);font-weight:500;margin-top:3px;letter-spacing:0}
.spbc-watch-meta .spbc-dept{color:var(--t2);font-weight:600}
.spbc-prompt-row{padding:11px 16px;border-bottom:1px solid var(--border)}
.spbc-prompt-row:last-child{border-bottom:0}
.spbc-prompt-q{font-size:12.5px;font-weight:700;color:var(--spbc-ink);margin-bottom:3px;line-height:1.35}
.spbc-prompt-q::before{content:"";display:inline-block;width:7px;height:7px;background:var(--spbc-gold);border-radius:50%;margin-right:7px;vertical-align:middle;margin-top:-2px}
.spbc-prompt-a{font-size:11px;color:var(--t2);line-height:1.5;padding-left:14px}
@media(max-width:1100px){
.spbc-layout{grid-template-columns:1fr}
.spbc-list{position:static;max-height:none}
.spbc-kpi-strip,.spbc-dark-strip,.spbc-charts-grid,.spbc-tri-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
.spbc-layout{padding:0 14px 24px}
.spbc-layout,.spbc-list,.spbc-battlecard,.spbc-card{min-width:0;width:100%;max-width:100%}
.spbc-list{padding-right:0;overflow-x:hidden}
.spbc-item{width:100%;min-width:0;max-width:100%;padding:9px 10px}
.spbc-info{min-width:0;overflow:hidden}
.spbc-name,.spbc-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spbc-h{padding:15px 16px 14px}
.spbc-h-title{gap:11px}
.spbc-bc-mark{width:48px;height:48px;border-radius:10px}
.spbc-bc-mark .spbc-mark-main{font-size:11px}
.spbc-h h3{font-size:21px}
.spbc-kpi-strip,.spbc-dark-strip,.spbc-charts-grid,.spbc-tri-grid{grid-template-columns:1fr}
.spbc-kpi-strip{padding:14px 16px}
.spbc-kpi-card{padding:10px 0;border-right:0;border-bottom:1px solid var(--border)}
.spbc-kpi-card:first-child{padding-left:0;padding-top:0}
.spbc-kpi-card:last-child{border-bottom:0;padding-bottom:0}
.spbc-dark-strip{padding:12px 16px 16px}
.spbc-charts-card{padding:15px 16px}
.spbc-charts-h{display:block}
.spbc-charts-h .spbc-chart-tag{display:inline-flex;margin-top:8px}
.spbc-watch-head{align-items:flex-start}
}

/* ── Benchmark helper fragments ────────────────────────────── */


/* ── Publication sections ──────────────────────────────────── */
.ph-pub-activity {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.10);
}
.ph-pub-activity .ph-stat-v {
  font-size: 18px;
}
.tag.topic-pill {
  background: #E1F5EE;
  color: #04342C;
  border-color: rgba(13,110,84,0.2);
}
.sig-card {
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 10px 12px;
  background: var(--sf);
  margin-top: 6px;
}
.sig-cat { margin-bottom: 12px; }
.sig-cat:last-child { margin-bottom: 0; }
.sig-cat-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.sig-letter {
  background: var(--ph-color,#854F0B);
  color: white;
  font-size: 10px;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 3px;
}
.sig-cat-label {
  font-size: 10px;
  color: var(--t3);
  letter-spacing:0;
  text-transform: uppercase;
}
.sig-row {
  display: block;
  padding: 6px 10px;
  margin-bottom: 4px;
  text-decoration: none;
  color: inherit;
  border-left: 3px solid #BA7517;
  background: #FAEEDA;
  border-radius: 0 4px 4px 0;
}
.sig-cat-recent .sig-row {
  border-left-color: #1D9E75;
  background: #E1F5EE;
}
.sig-row:hover { filter: brightness(0.97); }
.sig-title {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
}
.sig-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 2px;
  font-size: 11px;
}
.sig-venue { color: #633806; }
.sig-cat-recent .sig-venue { color: #04342C; }
.sig-cites { color: var(--t3); }
.sig-oa-link {
  font-size: 11px;
  color: var(--blue);
  text-decoration: none;
}
.sig-oa-link:hover { text-decoration: underline; }


/* ============================================================
   Priority Area Brief (.ab-*)
   External-audience one-pager for priority areas.
   Renders inside the existing .op-page modal container.
   Brand: --ink (navy header/footer), --gold/--gold2 (Hopkins
   gold accents), --gold-lt (cream callout), serif body type
   for narrative, sans for labels and metadata.
   ============================================================ */
.ab { font-family: var(--fb), system-ui, sans-serif; color: var(--ink); background: #fff; }
.ab .ab-page1 { padding: 0 0 28px; }
.ab .ab-page2 { padding: 0 0 0; border-top: 1px solid #ece8db; page-break-before: always; }

/* --- HEADER BAND --- */
.ab-hdr { background: var(--ink); position: relative; overflow: hidden; }
.ab-hdr-mini { padding-bottom: 0; }
.ab-hdr::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--gold); }
.ab-hdr-watermark {
  position: absolute; top: -28px; left: -22px; right: -22px; bottom: -34px;
  font-family: var(--fd), Georgia, 'Source Serif Pro', serif;
  font-weight: 700; font-size: 260px; line-height: 1;
  color: rgba(255,255,255,0.04); letter-spacing:0;
  text-align: left; pointer-events: none; user-select: none;
  white-space: nowrap; overflow: hidden;
}
.ab-hdr-row {
  position: relative;
  display: grid; grid-template-columns: 1fr auto; gap: 24px;
  align-items: flex-end;
  padding: 26px 32px 22px;
}
.ab-hdr-mini .ab-hdr-row { padding: 18px 32px 16px; }
.ab-hdr-eyebrow { font-family: var(--fb); font-size: 10px; letter-spacing:0; text-transform: uppercase; color: var(--gold2); margin-bottom: 8px; font-weight: 500; }
.ab-hdr-title {
  font-family: var(--fd), Georgia, 'Source Serif Pro', serif;
  font-weight: 400; font-size: 36px; line-height: 1.05; margin: 0;
  color: #fff; letter-spacing:0;
}
.ab-hdr-title-mini { font-size: 26px; }
.ab-hdr-right { text-align: right; padding-left: 18px; border-left: 1px solid rgba(212,170,68,0.35); min-width: 170px; }
.ab-hdr-poweredby { font-size: 9.5px; letter-spacing:0; text-transform: uppercase; color: rgba(170,198,230,.65); margin-bottom: 6px; font-weight: 500; }
.ab-hdr-ort {
  font-family: var(--fd), Georgia, serif;
  font-weight: 500; font-size: 16px; line-height: 1.2; color: #fff; margin-bottom: 4px;
}
.ab-hdr-school { font-size: 10.5px; color: rgba(170,198,230,.55); letter-spacing:0; }
.ab-hdr-rule { width: 34px; height: 1.5px; background: var(--gold); margin: 8px 0 0 auto; }

/* --- KPI STRIP --- */
.ab-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); background: #fbfaf6; border-bottom: 1px solid #ece8db; }
.ab-kpi-cell { padding: 14px 22px; border-right: 1px solid #ece8db; }
.ab-kpi-cell:last-child { border-right: 0; }
.ab-kpi-v { font-family: var(--fd), Georgia, serif; font-size: 24px; font-weight: 500; color: var(--ink); line-height: 1; }
.ab-kpi-l { font-size: 10px; letter-spacing:0; text-transform: uppercase; color: #5f7080; margin-top: 5px; }

/* --- BODY --- */
.ab-body { padding: 24px 32px 28px; }
.ab-narrative { font-family: var(--fd), Georgia, serif; font-size: 14.5px; line-height: 1.65; margin: 0 0 22px; color: var(--ink2); }

.ab-sec-label { display: flex; align-items: baseline; gap: 10px; margin: 4px 0 12px; }
.ab-pip { display: inline-block; width: 4px; height: 14px; background: var(--gold); flex-shrink: 0; }
.ab-sec-label > :not(.ab-pip):not(:first-child),
.ab-sec-label { font-size: 10px; font-weight: 600; letter-spacing:0; text-transform: uppercase; color: var(--ink); }

/* "What we bring" — gold top rule cards */
.ab-bring { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 24px; }
.ab-bring-card { border-top: 2px solid var(--gold); padding: 10px 0 0; }
.ab-bring-h { font-family: var(--fd), Georgia, serif; font-size: 14px; font-weight: 500; color: var(--ink); margin-bottom: 4px; }
.ab-bring-d { font-size: 11.5px; line-height: 1.55; color: var(--ink3); }

/* Two-column area: capabilities + institutes */
.ab-two-col { display: grid; grid-template-columns: 1.4fr 1fr; gap: 26px; margin-bottom: 24px; }
.ab-caps { font-size: 13px; line-height: 1.6; margin: 0; padding: 0; list-style: none; }
.ab-caps li { padding: 6px 0; border-bottom: 1px solid #ece8db; color: var(--ink2); }
.ab-caps li:last-child { border-bottom: 0; }
.ab-institutes { display: flex; flex-direction: column; gap: 8px; }
.ab-inst { background: #fbfaf6; border-left: 3px solid var(--ink); padding: 10px 14px; }
.ab-inst-k { font-family: var(--fd), Georgia, serif; font-size: 13px; font-weight: 500; color: var(--ink); }
.ab-inst-n { font-size: 11px; color: #5f7080; }
.ab-inst-empty { font-size: 12px; color: #8a93a0; padding: 8px 0; }

/* "Why partner" cream callout */
.ab-why { background: var(--gold-lt); border-top: 3px solid var(--gold); padding: 18px 22px; }
.ab-why-h { font-size: 10px; font-weight: 600; letter-spacing:0; text-transform: uppercase; color: #7a5a1f; margin-bottom: 8px; }
.ab-why p { font-family: var(--fd), Georgia, serif; font-size: 13.5px; line-height: 1.65; color: #3d2e0f; margin: 0; }

/* --- PAGE 2 FACULTY ROSTER --- */
.ab-rich-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.ab-fac-rich { display: grid; grid-template-columns: 56px 1fr; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #ece8db; break-inside: avoid; page-break-inside: avoid; }
.ab-fac-avatar { width: 56px; height: 56px; border-radius: 50%; background: #d8e1ed; color: var(--ink); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; overflow: hidden; flex-shrink: 0; }
.ab-fac-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-fac-name { font-family: var(--fd), Georgia, serif; font-size: 14px; font-weight: 500; color: var(--ink); }
.ab-fac-title { font-size: 11px; color: #5f7080; margin-bottom: 5px; }
.ab-fac-bio { font-size: 12px; line-height: 1.45; color: var(--ink2); margin-bottom: 5px; }
.ab-fac-tags { display: flex; gap: 4px; flex-wrap: wrap; }
.ab-fac-tag { font-size: 10px; padding: 2px 7px; border-radius: 999px; background: var(--blue-lt); color: #00427c; }

.ab-h3 { font-family: var(--fb), system-ui, sans-serif; font-size: 11px; font-weight: 600; letter-spacing:0; text-transform: uppercase; color: var(--ink); margin: 24px 0 12px; padding-top: 14px; border-top: 1px solid #ece8db; }
.ab-h3:first-of-type { border-top: 0; padding-top: 0; margin-top: 4px; }

.ab-compact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px 16px; margin-bottom: 8px; }
.ab-fac-compact { display: flex; align-items: center; gap: 8px; break-inside: avoid; page-break-inside: avoid; }
.ab-fac-cavatar { width: 28px; height: 28px; border-radius: 50%; background: #d8e1ed; color: var(--ink); display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 600; overflow: hidden; flex-shrink: 0; }
.ab-fac-cavatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-fac-cname { font-size: 12px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ink); }
.ab-fac-ctitle { font-size: 10.5px; color: #5f7080; }

/* Footer band */
.ab-foot {
  background: var(--ink); padding: 12px 32px;
  font-size: 10.5px; color: rgba(170,198,230,.55); letter-spacing:0;
  display: flex; justify-content: space-between; align-items: center;
}

@media print {
  .ab-body { padding: 18px 22px 14px; }
  .ab-hdr-row { padding: 18px 22px 14px; }
  .ab-foot { padding: 10px 22px; }
  .ab-fac-rich, .ab-fac-compact { break-inside: avoid; }
}
@media(max-width:720px){
  .ab-hdr-row,.ab-two-col,.ab-rich-grid{grid-template-columns:1fr}
  .ab-hdr-right{text-align:left;border-left:0;border-top:1px solid rgba(212,170,68,0.35);padding-left:0;padding-top:14px}
  .ab-hdr-rule{margin-left:0}
  .ab-bring,.ab-compact-grid{grid-template-columns:1fr}
  .ab-foot{align-items:flex-start;flex-direction:column;gap:4px}
}

/* Pipeline analytics page */
#pipeline-page{background:var(--paper)}
.pl-wrap{padding:18px 22px 40px}
.pl-empty{padding:60px;text-align:center;color:var(--t3)}
.pl-sec-label{font:700 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3);margin:2px 0 8px}
.pl-sec-label-spaced{margin-top:6px}
.pl-note{font-size:11px;color:var(--t3);margin:6px 0 0;padding:0 4px;line-height:1.45}
.pl-card{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh);overflow:hidden;min-width:0}
.pl-card-head{padding:13px 16px 10px;border-bottom:1px solid var(--border);background:#fbfaf7;display:flex;align-items:center;gap:10px}
.pl-card-head h3{margin:0;font:700 14px var(--fb);color:var(--tx)}
.pl-card-head .pl-sub{font-size:12px;color:var(--t3);margin-left:auto;text-align:right}
.pl-card-body{padding:14px 16px}
.pl-card-body-tight{padding:6px 16px 12px}
.pl-card-body-compact{padding:10px 16px 14px}
.pl-row{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-bottom:18px}
.pl-row-top{margin-top:18px}
.pl-row-even{grid-template-columns:1fr 1fr}
.pl-funnel{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr;gap:0;align-items:stretch;margin-bottom:10px}
.pl-stage{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 16px;box-shadow:var(--sh);position:relative;overflow:hidden}
.pl-stage::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pl-stage-color,#CBA052)}
.pl-stage-label{font:700 10px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--t3)}
.pl-stage-val{margin-top:6px;font:800 26px var(--fb);line-height:1.05;color:var(--tx)}
.pl-stage-meta{margin-top:4px;font-size:12px;color:var(--t2)}
.pl-stage-delta-wrap{margin-top:8px}
.pl-arrow{display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:22px;font-weight:900}
.pl-delta{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font:700 11px var(--fb)}
.pl-delta-up{background:#e6f0ea;color:#2f7d4f}
.pl-delta-down{background:#fbe9e6;color:#a03a2c}
.pl-delta-flat{background:#efede7;color:var(--t2)}
.pl-mom{display:grid;grid-template-columns:4px minmax(0,1.2fr) 78px 90px minmax(0,1.4fr) 110px;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--border)}
.pl-mom:last-child{border-bottom:0}
.pl-mom-bar{width:4px;height:38px;border-radius:2px;background:var(--pl-color,#CBA052)}
.pl-mom-name{font:700 13px var(--fb);color:var(--tx);min-width:0}
.pl-mom-name span{display:block;font:500 11px var(--fb);color:var(--t3);margin-top:2px}
.pl-mom-wr{text-align:center}
.pl-mom-wr b{display:block;font:800 16px var(--fb);color:var(--tx)}
.pl-mom-wr span{font:700 9px var(--fb);color:var(--t3);letter-spacing:0;text-transform:uppercase}
.pl-mom-spend{text-align:center}
.pl-mom-spend b{display:block;font:800 15px var(--fb);color:var(--tx)}
.pl-mom-spend span{font:700 9px var(--fb);color:var(--t3);letter-spacing:0;text-transform:uppercase}
.pl-mom-spark{position:relative;min-width:0}
.pl-spark-svg{width:100%;height:38px;display:block}
.pl-spark-award{color:var(--pl-color,#0e8a6b)}
.pl-mom-trend-wrap{display:flex;justify-content:flex-end}
.pl-trend{font:700 11px var(--fb);padding:4px 9px;border-radius:999px;display:inline-block;white-space:nowrap}
.pl-trend-hot{background:#fbe9e6;color:#a03a2c}
.pl-trend-warm{background:#fbf2dd;color:#a86a14}
.pl-trend-cool{background:#e6f0ea;color:#2f7d4f}
.pl-trend-flat{background:#efede7;color:var(--t2)}
.pl-spark-legend{display:flex;gap:14px;padding:10px 0 0;font-size:11px;color:var(--t3)}
.pl-spark-legend i{display:inline-block;width:12px;height:2px;vertical-align:middle;margin-right:5px}
.pl-line-sub{background:#cfc6b0}
.pl-line-award{background:#0e8a6b}
.pl-mix{display:flex;flex-direction:column;gap:12px}
.pl-mix-row{display:grid;grid-template-columns:130px 1fr 80px;gap:10px;align-items:center}
.pl-mix-row.pl-mix-child{padding-left:18px;opacity:.92}
.pl-mix-row.pl-mix-child .pl-mix-name{font-weight:600;font-size:11px;color:var(--t2)}
.pl-mix-row.pl-mix-child .pl-mix-name span{font-size:10px}
.pl-mix-name{font:700 12px var(--fb);color:var(--tx)}
.pl-mix-name span{display:block;font:500 11px var(--fb);color:var(--t3);margin-top:1px}
.pl-mix-bars{position:relative;height:30px}
.pl-mix-bar{position:absolute;left:0;height:12px;border-radius:3px;width:var(--pl-width,0%)}
.pl-mix-now{top:0;background:var(--ink)}
.pl-mix-prior{top:16px;background:#cfc6b0}
.pl-mix-val{font:800 14px var(--fb);text-align:right;color:var(--tx)}
.pl-mix-val small{display:block;font:700 10px var(--fb);color:var(--t3);margin-top:2px}
.pl-mix-legend{display:flex;gap:14px;padding-top:6px;font-size:11px;color:var(--t3);flex-wrap:wrap}
.pl-mix-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:middle}
.pl-legend-now{background:var(--ink)}
.pl-legend-prior{background:#cfc6b0}
.pl-mix-callout{background:#fdf5dc;border-left:3px solid var(--gold);padding:10px 12px;margin-top:14px;border-radius:0 4px 4px 0;font-size:12px;line-height:1.5;color:var(--tx)}
.pl-mix-callout b{color:var(--ink)}
.pl-unit-row{display:grid;grid-template-columns:160px minmax(0,1fr) 90px;gap:10px;align-items:center;padding:6px 0}
.pl-unit-name{font:700 12px var(--fb);color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-unit-name span{display:block;font:500 10.5px var(--fb);color:var(--t3);margin-top:1px}
.pl-unit-bar-wrap{position:relative;height:18px;background:#f4efe4;border-radius:4px;overflow:hidden}
.pl-unit-bar{position:absolute;left:0;top:0;bottom:0;width:var(--pl-width,0%);height:100%;border-radius:4px 0 0 4px;background:var(--pl-color,#002D72)}
.pl-unit-bar-prior{background:repeating-linear-gradient(45deg,#d6cdb6,#d6cdb6 3px,#cfc6b0 3px,#cfc6b0 6px);opacity:.55}
.pl-unit-val{text-align:right;font:800 13px var(--fb);color:var(--tx)}
.pl-unit-val small{display:block;font:700 9.5px var(--fb);color:var(--t3);margin-top:1px}
.pl-fund-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.pl-fund-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:12px}
.pl-fund-dot{width:10px;height:10px;border-radius:2px;background:var(--pl-color,#CBA052)}
.pl-fund-label{font:700 12px var(--fb);color:var(--tx)}
.pl-fund-val{font:800 12.5px var(--fb);color:var(--tx)}
.pl-fund-pct{font:600 11px var(--fb);color:var(--t3);width:42px;text-align:right}
.pl-fa-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px;border-top:1px solid var(--border)}
.pl-fa-stat{background:#fbfaf7;border:1px solid var(--border);border-radius:8px;padding:8px 11px}
.pl-fa-stat b{display:block;font:800 17px var(--fb);color:var(--tx);line-height:1.05}
.pl-fa-stat span{display:block;font:600 10px var(--fb);color:var(--t3);letter-spacing:0;text-transform:uppercase;margin-top:3px}
.pl-li{display:grid;grid-template-columns:minmax(0,1.4fr) 92px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}
.pl-li:last-child{border-bottom:0}
.pl-li-title{font:700 13px var(--fb);color:var(--tx);overflow:hidden;text-overflow:ellipsis}
.pl-li-title span{display:block;font:500 11px var(--fb);color:var(--t3);margin-top:2px}
.pl-li-amt{text-align:right;font:800 14px var(--fb);color:var(--tx)}
.pl-li-amt small{display:block;font:600 10px var(--fb);color:var(--t3);margin-top:1px}
.pl-li-meta{font-size:11.5px;color:var(--t2)}
.pl-li-meta b{display:block;font:700 11px var(--fb);color:var(--tx)}
.pl-li-tag{display:inline-block;padding:2px 7px;border-radius:4px;font:700 10px var(--fb);background:var(--pl-tag-bg,#efede7);color:var(--pl-tag-color,#3a4a5a);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-chart-card{margin-bottom:18px}
.pl-chart-body{padding:14px 18px}
.pl-chart-svg{width:100%;height:170px;display:block}
.pl-watch{background:#fbf6e9;border:1px solid var(--gold);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pl-watch-label{font:800 11px var(--fb);letter-spacing:0;text-transform:uppercase;color:var(--ink)}
.pl-watch-chip{display:inline-flex;align-items:center;gap:8px;font:700 12px var(--fb);color:var(--ink);padding:6px 12px;background:#fff;border:1px solid #cfc6b0;border-radius:999px}
.pl-watch-chip b{color:#a03a2c;font-size:14px}
.pl-watch-chip.pl-watch-warn b{color:#a86a14}
.pl-watch-chip.pl-watch-flat b{color:var(--t2)}
@media(max-width:980px){
  .pl-funnel,.pl-row,.pl-row-even{grid-template-columns:1fr}
  .pl-arrow{display:none}
  .pl-card-head{align-items:flex-start;flex-direction:column}
  .pl-card-head .pl-sub{margin-left:0;text-align:left}
}
@media(max-width:720px){
  .pl-wrap{padding:16px 14px 32px}
  .pl-mom,.pl-mix-row,.pl-unit-row,.pl-li{grid-template-columns:1fr}
  .pl-mom-wr,.pl-mom-spend,.pl-unit-val,.pl-li-amt{text-align:left}
  .pl-fa-strip{grid-template-columns:1fr}
}
/* ===== Briefing: five-movement State of WSE Research layout ===== */
.br-subhead{font-size:12.5px;color:var(--t2);margin-top:6px;max-width:760px;line-height:1.45}
.br-command{margin-bottom:24px;background:linear-gradient(180deg,#fff,#f7f5ef);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh2);padding:18px}
.br-command-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:14px}
.br-command-kicker{font-size:10px;font-weight:800;letter-spacing:0;text-transform:uppercase;color:var(--gold2)}
.br-command h2{font-family:var(--fd);font-size:28px;font-weight:800;color:var(--ink);line-height:1.05;margin:2px 0 4px;letter-spacing:0}
.br-command p{margin:0;max-width:760px;font-size:12.5px;line-height:1.45;color:var(--t2)}
.br-command-asof{text-align:right;font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:800;white-space:nowrap}
.br-command-asof strong{display:block;margin-top:3px;color:var(--tx);font-family:var(--fm);font-size:12px;letter-spacing:0}
.br-command-leads{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:12px}
.br-command-lead{background:var(--ink);color:#fff;border-radius:10px;padding:14px 16px;box-shadow:var(--sh)}
.br-command-lead:nth-child(2){background:var(--blue)}
.br-command-lead:nth-child(3){background:var(--green)}
.br-command-l{font-size:9.5px;text-transform:uppercase;letter-spacing:0;font-weight:800;color:inherit;opacity:.72}
.br-command-v{font-family:var(--fm);font-size:28px;font-weight:800;line-height:1;margin-top:6px}
.br-command-d{font-size:11px;line-height:1.35;margin-top:6px;color:inherit;opacity:.76}
.br-command-micros{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.br-command-micro{background:var(--sf);border:1px solid var(--border);border-radius:9px;padding:11px 12px;min-width:0;box-shadow:var(--sh)}
.br-command-micro.warn{border-color:#ead2a0;background:#fffaf0}
.br-command-v2{font-family:var(--fm);font-size:18px;font-weight:800;color:var(--ink);line-height:1.05;margin-top:4px}
.br-mini-bar{height:5px;background:var(--paper3);border-radius:99px;overflow:hidden;margin-top:9px}
.br-mini-bar span{display:block;height:100%;width:var(--br-width,0%);background:var(--gold);border-radius:99px}
.br-command-note{font-size:10px;color:var(--t3);margin-top:5px}
.br-command-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.5fr);gap:14px;align-items:start}
.br-command-panel{background:var(--sf);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh);min-width:0;overflow:hidden}
.br-command-panel-h{padding:10px 13px;border-bottom:1px solid var(--border);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase;color:var(--ink);background:#fbfaf6}
.br-signals{display:grid;gap:0}
.br-signal{padding:11px 13px;border-bottom:1px solid var(--border);border-left:3px solid var(--slate)}
.br-signal:last-child{border-bottom:0}
.br-signal.good{border-left-color:var(--green)}
.br-signal.watch{border-left-color:var(--amber)}
.br-signal-l{font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:800}
.br-signal-v{font-size:16px;font-weight:800;color:var(--ink);margin-top:2px}
.br-signal-d{font-size:11px;color:var(--t2);margin-top:2px;line-height:1.35}
.br-command-watch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.br-command-list{display:flex;flex-direction:column}
.br-command-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:9px 12px;border-bottom:1px solid var(--border);align-items:center}
.br-command-row:last-child{border-bottom:0}
.br-glance{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:22px}
.br-chip{background:var(--sf);border:1px solid var(--border);border-top:3px solid var(--slate);border-radius:var(--r);padding:10px 12px;box-shadow:var(--sh);min-width:0}
.br-chip.g{border-top-color:var(--green)}
.br-chip.a{border-top-color:var(--amber)}
.br-chip.n{border-top-color:var(--slate)}
.br-chip-l{font-size:9.5px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--t3)}
.br-chip-v{font-size:14px;font-weight:700;color:var(--ink);margin-top:3px;line-height:1.15}
.br-chip-s{font-size:11px;color:var(--t2);margin-top:2px;line-height:1.3}
.br-chip-b{font-size:10px;font-weight:700;margin-top:6px}
.br-chip-b.br-bg{color:var(--green)}
.br-chip-b.br-ba{color:var(--amber)}
.br-chip-b.br-bn{color:var(--slate)}
.br-mv{margin-bottom:26px;padding-top:6px}
.br-mv-eyebrow{font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--blue)}
.br-mv-h{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--ink);margin:3px 0 4px;line-height:1.15}
.br-mv-tldr{font-size:12.5px;color:var(--t2);max-width:800px;line-height:1.5;margin-bottom:14px}
.br-hero.br-hero-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.br-spark-wrap{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px}
.br-spark-wrap .br-spark{margin-top:0;min-width:160px;max-width:280px;flex:1}
.br-spark-cap{font-size:10.5px;color:var(--t3);letter-spacing:0}
.br-cols2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.br-cols1{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px}
.br-stack-wrap{margin-bottom:14px}
.br-stack{display:flex;height:18px;border-radius:5px;overflow:hidden;border:1px solid var(--border);background:var(--paper3)}
.br-stack-seg{display:block;height:100%;width:var(--br-width,0%)}
.br-stack-seg.s-fed{background:var(--ink2)}
.br-stack-seg.s-ind{background:var(--gold)}
.br-stack-seg.s-fnd{background:var(--teal)}
.br-stack-seg.s-oth{background:var(--paper3)}
.br-stack-leg{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px;font-size:11.5px;color:var(--t2)}
.br-stack-leg span{display:flex;align-items:center;gap:5px}
.br-stack-leg i{width:11px;height:11px;border-radius:3px;display:inline-block}
.br-stack-leg i.s-fed{background:var(--ink2)}
.br-stack-leg i.s-ind{background:var(--gold)}
.br-stack-leg i.s-fnd{background:var(--teal)}
.br-stack-leg i.s-oth{background:var(--paper3);border:1px solid var(--border)}
.br-pubs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}
.br-pub{border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;background:var(--paper);min-width:0}
.br-pub-venue{font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--gold2)}
.br-pub-title{font-size:12.5px;color:var(--ink);margin:3px 0;line-height:1.3}
.br-pub-meta{font-size:11px;color:var(--t3)}
.br-ph{border-style:dashed;border-color:var(--blue);margin-bottom:14px}
.br-ph-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px}
.br-ph-cell{text-align:center;background:var(--paper);border-radius:var(--r);padding:12px 6px}
.br-ph-v{font-size:18px;font-weight:700;color:var(--t3)}
.br-ph-l{font-size:11px;color:var(--t2);margin-top:2px}
.br-foot-final{border:1px solid var(--border);border-radius:var(--r);margin-top:8px}
@media(max-width:900px){
  .br-command-head,.br-command-grid{display:block}
  .br-command-asof{text-align:left;margin-top:10px}
  .br-command-leads,.br-command-micros,.br-command-watch{grid-template-columns:1fr}
  .br-command-panel{margin-bottom:12px}
  .br-glance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .br-pubs,.br-ph-grid{grid-template-columns:1fr 1fr}
  .br-cols2{grid-template-columns:1fr}
}
@media(max-width:680px){
  .br-command{padding:14px;border-radius:10px}
  .br-command h2{font-size:23px}
  .br-hero.br-hero-3{grid-template-columns:1fr}
  .br-glance,.br-pubs,.br-ph-grid{grid-template-columns:1fr}
}

/* Grant Depot page */
#gd-page{--navy:#002D72;--blue:#0077D8;--blue2:#378ADD;--orange:#CBA052;--green:#275E3D;--red:#A6192E;--ink:#0e1a26;--mut:#546372;--line:#d8d5ce;--bg:#f6f5f1;--card:#fff;--gd-soft:#f3f6fb;--gd-soft2:#f8f7f3;--gd-shadow:0 1px 3px rgba(14,26,38,.08),0 2px 8px rgba(14,26,38,.05);--gd-shadow2:0 8px 28px rgba(14,26,38,.12)}
#gd-page *{box-sizing:border-box}
#gd-page .sresults{position:absolute;top:46px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--gd-shadow2);max-height:60vh;overflow:auto;display:none;z-index:60}
#gd-page .sresults.open{display:block}
#gd-page .sgroup{font-size:10.5px;text-transform:uppercase;letter-spacing:0;color:var(--mut);padding:9px 14px 4px;background:var(--gd-soft2);position:sticky;top:0}
#gd-page .sitem{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;color:var(--ink);border:0;border-bottom:1px solid #f1f3f7;background:#fff;width:100%;font:inherit;text-align:left}
#gd-page .sitem:hover,#gd-page .sitem.active{background:var(--gd-soft)}
#gd-page .stype{font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;text-transform:uppercase;letter-spacing:0;flex:none}
#gd-page .stype.fac{background:#ddeaf8;color:#002D72}
#gd-page .stype.grant{background:#d8ece2;color:#275E3D}
#gd-page .stype.io{background:#ece0ec;color:#51284F}
#gd-page .sitem .sname{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gd-page .sitem .smeta{color:var(--mut);font-size:12px;flex:none}
#gd-page .snone{padding:14px;color:var(--mut);font-style:italic}
#gd-page .crumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:18px 0 14px;font-size:13px;color:var(--mut)}
#gd-page .crumb button{background:none;border:none;color:var(--blue);font:inherit;cursor:pointer;padding:2px 4px;border-radius:4px}
#gd-page .crumb button:hover{background:var(--blue-lt);text-decoration:underline}
#gd-page .crumb .sep{color:#b9c2cf}
#gd-page .crumb .here{color:var(--ink);font-weight:600}
#gd-page h1.page{font-family:var(--fd);font-size:24px;font-weight:500;margin:4px 0 2px;color:var(--navy);letter-spacing:0}
#gd-page .sub{color:var(--mut);margin:0 0 18px;font-size:13.5px}
#gd-page .grid{display:grid;gap:14px}
#gd-page .g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:880px){#gd-page .g3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){#gd-page .g3{grid-template-columns:1fr}}
#gd-page .card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 17px;cursor:pointer;transition:background .13s,border-color .13s,box-shadow .13s,transform .13s;text-align:left;width:100%;font:inherit;color:inherit;box-shadow:var(--gd-shadow)}
#gd-page .card:hover{border-color:var(--blue);box-shadow:var(--gd-shadow2);transform:translateY(-1px)}
#gd-page .card .cn{font-weight:680;font-size:15px;color:var(--navy);margin-bottom:10px;display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
#gd-page .chev{color:var(--blue2);font-weight:700}
#gd-page .statline{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}
#gd-page .stat .v{font-weight:700;font-size:16px;color:var(--ink)}
#gd-page .stat .l{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:0}
#gd-page .kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:6px 0 22px}
@media(max-width:880px){#gd-page .kpis{grid-template-columns:repeat(2,1fr)}}
#gd-page .kpi{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:13px 14px;box-shadow:var(--gd-shadow)}
#gd-page .kpi .l{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:0;margin-bottom:4px}
#gd-page .kpi .v{font-size:20px;font-weight:740;color:var(--navy)}
#gd-page .kpi .v.sm{font-size:16px}
#gd-page table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--gd-shadow)}
#gd-page th,#gd-page td{padding:10px 13px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}
#gd-page th{background:var(--gd-soft2);color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:0;font-weight:680}
#gd-page tbody tr{cursor:default}
#gd-page tbody tr:hover{background:var(--gd-soft)}
#gd-page td.num,#gd-page th.num{text-align:right;font-variant-numeric:tabular-nums}
#gd-page .pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:650;white-space:nowrap}
#gd-page .pill.fed{background:#ddeaf8;color:#002D72}
#gd-page .pill.ind{background:#d8ece2;color:#275E3D}
#gd-page .pill.found{background:#ece0ec;color:#51284F}
#gd-page .pill.nonprofit{background:#fdf0e8;color:#964F2E}
#gd-page .pill.he{background:#eef0f2;color:#5b6675}
#gd-page .pill.state{background:#f3f0e6;color:#8a6b1a}
#gd-page .pill.gov{background:#eef0f2;color:#5b6675}
#gd-page .pill.pending{background:#fff2d9;color:#8a6310}
#gd-page .org{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:#d0ece6;color:#008767;white-space:nowrap}
#gd-page .org.home{background:#eef0f2;color:#5b6675}
#gd-page .orgwrap{display:flex;gap:5px;flex-wrap:wrap}
#gd-page .badge{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px}
#gd-page .badge.roster{background:#e7f0fb;color:#185FA5}
#gd-page .badge.affil{background:#f0ece0;color:#8a6b1a}
#gd-page .flagdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
#gd-page .sec{margin:26px 0 10px;font-size:12px;font-weight:740;text-transform:uppercase;letter-spacing:0;color:var(--mut);display:flex;align-items:center;gap:9px}
#gd-page .sec .ct{background:#eef1f5;color:var(--mut);border-radius:20px;padding:1px 9px;font-size:11px}
#gd-page .back{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font:inherit;cursor:pointer;color:var(--blue);font-weight:600;font-size:13px;box-shadow:var(--gd-shadow)}
#gd-page .back:hover{background:var(--gd-soft);border-color:var(--blue)}
#gd-page .gd-head{background:linear-gradient(180deg,#fff,var(--gd-soft2));border:1px solid var(--line);border-radius:8px;padding:20px 22px;margin-bottom:16px;box-shadow:var(--gd-shadow)}
#gd-page .gd-title{font-family:var(--fd);font-size:21px;font-weight:500;color:var(--navy);margin:0 0 6px;line-height:1.3}
#gd-page .gd-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:var(--mut);font-size:13px}
#gd-page .gd-meta b{color:var(--ink)}
#gd-page .gd-admin{margin-top:10px;font-size:12.5px;color:var(--mut);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#gd-page .gd-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
@media(max-width:880px){#gd-page .gd-cols{grid-template-columns:1fr}}
#gd-page .panel{position:static;display:block;width:auto;height:auto;transform:none;transition:none;z-index:auto;overflow:visible;flex-direction:initial;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:17px 18px;margin-bottom:16px;box-shadow:var(--gd-shadow)}
#gd-page .panel h3{margin:0 0 13px;font-size:12px;text-transform:uppercase;letter-spacing:0;color:var(--mut)}
#gd-page .fin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
#gd-page .fin-grid .l{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:0}
#gd-page .fin-grid .v{font-size:18px;font-weight:730;color:var(--ink)}
#gd-page .fin-grid .v.warn{color:var(--red)}
#gd-page .fin-grid .v.good{color:var(--green)}
#gd-page .gd-forecast-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
#gd-page .gd-forecast-head h3{margin:0}
#gd-page .gd-forecast-status{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:720;white-space:nowrap}
#gd-page .gd-forecast-status.ok{background:#e6f6ef;color:#147a57}
#gd-page .gd-forecast-status.cau{background:#fff7e6;color:#7a5a12}
#gd-page .gd-forecast-status.warn{background:#fdeee7;color:#9a3f12}
#gd-page .gd-forecast-status.muted{background:#eef0f2;color:var(--mut)}
#gd-page .gd-forecast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}
@media(max-width:760px){#gd-page .gd-forecast-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){#gd-page .gd-forecast-grid{grid-template-columns:1fr}}
#gd-page .gd-forecast-card{background:var(--gd-soft2);border:1px solid var(--line);border-radius:8px;padding:10px 11px;min-width:0}
#gd-page .gd-forecast-card .l{font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:0;margin-bottom:4px}
#gd-page .gd-forecast-card .v{font-size:15px;font-weight:730;color:var(--ink);white-space:nowrap}
#gd-page .gd-forecast-card.warn .v{color:var(--red)}
#gd-page .gd-forecast-card.cau .v{color:#8a6310}
#gd-page .gd-forecast-card.ok .v{color:var(--green)}
#gd-page .gd-forecast-card.muted .v{color:var(--mut)}
#gd-page .gd-runway-track{height:11px;border-radius:999px;background:#eef1f5;overflow:hidden;border:1px solid #dce2ea}
#gd-page .gd-runway-fill{display:block;height:100%;width:var(--gd-width,0%);background:var(--green)}
#gd-page .gd-runway-fill.cau{background:var(--orange)}
#gd-page .gd-runway-fill.warn{background:var(--red)}
#gd-page .gd-runway-fill.muted{background:#9aa5b3}
#gd-page .gd-runway-labels{display:flex;justify-content:space-between;gap:12px;margin-top:4px;color:var(--mut);font-size:10.5px}
#gd-page .iotab{width:100%;border:none}
#gd-page .iotab th,#gd-page .iotab td{padding:8px 6px;font-size:12.5px;border-bottom:1px dashed var(--line)}
#gd-page .iotab th{background:none;padding-top:0}
#gd-page .iobar{height:6px;border-radius:4px;background:#eef1f5;overflow:hidden;min-width:54px;margin-top:3px}
#gd-page .iobar>span{display:block;height:100%;background:var(--blue);width:var(--gd-width,0%)}
#gd-page .io-id{font-family:var(--fcode);color:var(--mut);font-size:11px}
#gd-page .link,#gd-page .gd-rowlink{background:none;border:0;border-bottom:1px dotted var(--blue2);color:var(--blue);cursor:pointer;font:inherit;padding:0;text-align:left}
#gd-page .gd-rowlink{border-bottom:0;color:var(--navy);font-weight:650}
#gd-page .link:hover,#gd-page .gd-rowlink:hover{background:var(--blue-lt)}
#gd-page .ctx-item{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
#gd-page .ctx-item:last-child{border:none}
#gd-page .alert{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border-radius:9px;font-size:12.5px;margin-bottom:8px}
#gd-page .alert.warn{background:#fdeee7;color:#9a3f12}
#gd-page .alert.cau{background:#fff7e6;color:#7a5a12}
#gd-page .alert.ok{background:#e6f6ef;color:#147a57}
#gd-page .muted{color:var(--mut)}
#gd-page .searchbar{margin:0 0 14px}
#gd-page .searchbar input{width:100%;max-width:340px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font:inherit}
#gd-page .empty{color:var(--mut);font-style:italic;padding:18px 0}
#gd-page .note{font-size:11.5px;color:var(--mut);margin-top:6px}
#gd-page .facmeta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:-8px 0 18px}
#gd-page .fac-header{display:flex;gap:18px;align-items:flex-start;margin:14px 0 20px}
#gd-page .fac-av{width:88px;height:88px;border-radius:14px;object-fit:cover;flex:none;box-shadow:0 2px 10px rgba(8,30,60,.18)}
#gd-page .fac-av-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#185FA5,#002D72);color:#fff;font-weight:700;font-size:30px;letter-spacing:0}
#gd-page .fac-hmain{flex:1;min-width:0}
#gd-page .fac-title{color:var(--ink);font-weight:600;font-size:14px;margin-top:4px}
#gd-page .fac-bio{color:var(--mut);font-size:13px;margin-top:9px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#gd-page .fac-bio.open{display:block;-webkit-line-clamp:unset}
#gd-page .biotoggle{background:none;border:0;color:var(--blue);font:inherit;font-weight:600;font-size:12px;cursor:pointer;display:inline-block;margin-top:5px;padding:0}
@media(max-width:560px){#gd-page .fac-header{flex-direction:column}}
#gd-page .card-ntt{border-color:#cdbf9a;background:linear-gradient(180deg,#fffdf6,#fff)}
#gd-page .card-ntt:hover{border-color:#bfa86a}
#gd-page .ntt-tag{font-size:11.5px;color:#8a6b1a;font-weight:600;margin:-4px 0 8px}
#gd-page .badge.appt{background:#f0ece0;color:#8a6b1a;margin-left:4px}
#gd-page .badge.appt.research{background:#e9eefb;color:#3a4fa0}
#gd-page .badge.appt.teaching{background:#eaf6ee;color:#2a7a4a}
#gd-page .dchart-panel{margin:6px 0 22px}
#gd-page .dchart-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:6px}
#gd-page .dchart-head h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:0;color:var(--mut)}
#gd-page .dmetric{display:flex;gap:6px;flex-wrap:wrap}
#gd-page .dmetric button{background:#f0f3f8;border:1px solid var(--line);border-radius:7px;padding:5px 11px;font:inherit;font-size:12px;cursor:pointer;color:var(--mut)}
#gd-page .dmetric button.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
#gd-page .dchart-wrap{position:relative;height:310px;margin-top:6px}
#gd-page .dchart-note{font-size:11.5px;color:var(--mut);margin-top:8px}
#gd-page .gd-chart-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:12px}
#gd-page .gd-chart-actions button{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f7f9fc;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;font:inherit;font-size:12px;padding:8px 10px;text-align:left}
#gd-page .gd-chart-actions button:hover{background:#eef5ff;border-color:var(--blue2)}
#gd-page .gd-chart-actions strong{color:var(--navy);font-weight:720;white-space:nowrap}
#gd-page .gd-attention-panel{margin:0 0 18px;padding:16px}
#gd-page .gd-attention-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}
#gd-page .gd-attention-head h3{margin:0 0 4px}
#gd-page .gd-attention-head p{margin:0;color:var(--mut);font-size:12.5px;line-height:1.4}
#gd-page .gd-attention-count{flex:0 0 auto;border:1px solid #d9c58e;background:#fff8e6;color:#7a5a12;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:720}
#gd-page .gd-attention-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px}
#gd-page .gd-attn-item{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"kind main" "kind meta";gap:5px 10px;align-items:center;width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;text-align:left;padding:10px 11px;cursor:pointer}
#gd-page .gd-attn-item:hover{border-color:var(--blue2);background:#f7fbff}
#gd-page .gd-attn-item.warn{border-left:4px solid var(--red)}
#gd-page .gd-attn-item.cau{border-left:4px solid var(--orange)}
#gd-page .gd-attn-kind{grid-area:kind;align-self:start;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:740;text-transform:uppercase;letter-spacing:0;white-space:nowrap}
#gd-page .gd-attn-item.warn .gd-attn-kind{background:#fdeee7;color:#9a3f12}
#gd-page .gd-attn-item.cau .gd-attn-kind{background:#fff7e6;color:#7a5a12}
#gd-page .gd-attn-main{grid-area:main;min-width:0}
#gd-page .gd-attn-main b{display:block;color:var(--navy);font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gd-page .gd-attn-main span{display:block;color:var(--mut);font-size:11.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gd-page .gd-attn-meta{grid-area:meta;display:flex;align-items:center;gap:8px;min-width:0;color:var(--mut);font-size:11.5px}
#gd-page .gd-attn-meta b{color:var(--ink);font-size:12.5px;white-space:nowrap}
#gd-page .gd-attn-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gd-page .gd-attention-empty{border:1px dashed var(--line);border-radius:10px;padding:14px;color:var(--mut);font-size:12.5px;background:#fafbfc}
#gd-page .profile{background:linear-gradient(180deg,#fff,var(--gd-soft2));border:1px solid var(--line);border-radius:8px;padding:22px 24px;margin:14px 0 20px;box-shadow:var(--gd-shadow)}
#gd-page .profile-top{display:flex;gap:22px;align-items:center}
#gd-page .pf-photo{width:104px;height:104px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 3px 12px rgba(8,30,60,.20);border:3px solid #fff;outline:1px solid var(--line)}
#gd-page .pf-photo-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#185FA5,#002D72);color:#fff;font-weight:700;font-size:34px;letter-spacing:0}
#gd-page .pf-id{flex:1;min-width:0}
#gd-page .pf-name{font-family:var(--fd);font-size:25px;font-weight:500;color:var(--navy);line-height:1.12}
#gd-page .pf-rank{margin-top:7px;font-size:13.5px}
#gd-page .pf-titletext{color:var(--mut);font-weight:500;margin-left:4px}
#gd-page .pf-dept{margin-top:7px;font-size:12.5px;color:var(--mut);display:flex;gap:7px;align-items:center;flex-wrap:wrap}
#gd-page .pf-sep{color:#c2cad6}
#gd-page .pf-stats{display:flex;flex:none}
#gd-page .pf-stat{padding:0 18px;text-align:center;border-left:1px solid var(--line)}
#gd-page .pf-stat:first-child{border-left:none;padding-left:0}
#gd-page .pf-stat .v{font-size:21px;font-weight:740;color:var(--navy);white-space:nowrap}
#gd-page .pf-stat .l{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:0;margin-top:3px}
#gd-page .pf-bio{margin-top:16px;padding-top:15px;border-top:1px solid var(--line);color:var(--mut);font-size:13.5px;line-height:1.6}
#gd-page .pf-bio.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:860px){#gd-page .profile-top{flex-wrap:wrap}#gd-page .pf-stats{width:100%;margin-top:14px;justify-content:space-between}#gd-page .pf-stat{padding:0 6px}}
#gd-page #ftab th.num{white-space:normal;line-height:1.25}
#gd-page #ftab td.num{white-space:nowrap}
#gd-page #ftab th:nth-child(2){width:128px}
#gd-page #ftab th:nth-child(3),#gd-page #ftab th:nth-child(4),#gd-page #ftab th:nth-child(5){width:92px}
#gd-page #ftab th:nth-child(7),#gd-page #ftab th:nth-child(8){width:108px}
#gd-page #gtab th.num{white-space:normal}
#gd-page #gtab td.num{white-space:nowrap}
#gd-page #iotab2 td.num,#gd-page #iotab2 th.num{white-space:nowrap;width:120px}
#gd-page .grp-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:2px}
#gd-page .grp-toggle{display:inline-flex;background:var(--paper2);border:1px solid var(--line);border-radius:8px;padding:3px}
#gd-page .grp-toggle button{background:none;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--mut);padding:6px 15px;border-radius:7px;cursor:pointer}
#gd-page .grp-toggle button.on{background:#fff;color:var(--navy);box-shadow:var(--gd-shadow)}
#gd-page .card-center{border-color:#bcd6e6;background:linear-gradient(180deg,#f8fbfe,#fff)}
#gd-page .card-center:hover{border-color:var(--blue)}
#gd-page table.gtab{table-layout:fixed}
#gd-page table.gtab th,#gd-page table.gtab td{vertical-align:top}
#gd-page table.gtab tbody tr{transition:background .1s}
#gd-page .gcol-id{width:76px;font-family:var(--fcode);color:#8a95a5;font-size:12px;white-space:nowrap}
#gd-page .gcol-title{width:30%}
#gd-page .gcol-title b{font-weight:650;color:var(--navy)}
#gd-page .gcol-pi{width:120px}
#gd-page .gcol-spon{font-size:12px;color:var(--mut);line-height:1.35}
#gd-page table.gtab td.num,#gd-page table.gtab th.num{width:104px;white-space:nowrap}
#gd-page .gcol-lives{width:210px}
#gd-page .gd-toolbar{display:flex;justify-content:flex-end;margin:2px 0 4px}
#gd-page .gd-searchwrap{position:relative;flex:1 1 360px;max-width:520px}
#gd-page .gd-searchwrap input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;background:#fff;color:var(--ink);box-shadow:var(--gd-shadow)}
#gd-page .gd-searchwrap input:focus{outline:2px solid var(--blue2)}
#gd-page .gd-si{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8a95a5;font-size:15px}
#gd-page .gd-empty{padding:40px;text-align:center;color:var(--mut)}
#gd-page .gd-mt14{margin-top:14px}
#gd-page .gd-mt4{margin-top:4px}
#gd-page .gd-mb9{margin-bottom:9px}
#gd-page .gd-pad-sm{padding:13px 16px}
#gd-page .gd-note-tight{margin:-2px 0 9px}
#gd-page .gd-iolist{font-size:12.5px}
#gd-page .gd-norow{cursor:default}
#gd-page .gd-admin-b{color:var(--ink)}
#gd-page .flagdot-soon{background:var(--red)}
#gd-page tr.gd-hidden{display:none}
@media(max-width:720px){
  #gd-page{padding:16px 14px}
  #gd-page .gd-toolbar{justify-content:stretch}
  #gd-page .gd-searchwrap{max-width:none;flex-basis:auto}
  #gd-page .crumb{margin:14px 0 12px;font-size:12px}
  #gd-page h1.page{font-size:22px}
  #gd-page .kpis{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}
  #gd-page .kpi{padding:11px 12px}
  #gd-page .kpi .v{font-size:18px}
  #gd-page .profile{padding:16px;margin:12px 0 16px}
  #gd-page .profile-top{align-items:flex-start}
  #gd-page .pf-photo{width:82px;height:82px}
  #gd-page .pf-name{font-size:22px}
  #gd-page .pf-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:12px}
  #gd-page .pf-stat,#gd-page .pf-stat:first-child{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;text-align:left}
  #gd-page .pf-stat .v{font-size:16px}
  #gd-page .pf-stat .l{font-size:9.5px}
  #gd-page table.gd-mobile-cards{display:block;border:0;background:transparent;box-shadow:none;overflow:visible}
  #gd-page table.gd-mobile-cards thead{display:none}
  #gd-page table.gd-mobile-cards tbody{display:grid;gap:9px}
  #gd-page table.gd-mobile-cards tr{display:block;border:1px solid var(--line);border-radius:9px;background:var(--card);box-shadow:var(--gd-shadow);overflow:hidden}
  #gd-page table.gd-mobile-cards tr:hover{background:var(--card)}
  #gd-page table.gd-mobile-cards td{display:grid;grid-template-columns:minmax(96px,36%) minmax(0,1fr);gap:9px;align-items:start;width:auto!important;padding:8px 11px;border-bottom:1px dashed var(--line);text-align:left!important;font-size:12.5px;white-space:normal;overflow-wrap:anywhere}
  #gd-page table.gd-mobile-cards td:last-child{border-bottom:0}
  #gd-page table.gd-mobile-cards td::before{content:attr(data-label);font-size:10px;font-weight:760;letter-spacing:0;text-transform:uppercase;color:var(--mut);line-height:1.3}
  #gd-page table.gd-mobile-cards td:empty::before{content:""}
  #gd-page table.gd-mobile-cards .gcol-id,#gd-page table.gd-mobile-cards .gcol-pi,#gd-page table.gd-mobile-cards .gcol-title,#gd-page table.gd-mobile-cards .gcol-lives,#gd-page table.gd-mobile-cards td.num,#gd-page table.gd-mobile-cards th.num{width:auto;white-space:normal}
  #gd-page table.gd-mobile-cards .gcol-title{font-size:13px}
  #gd-page table.gd-mobile-cards .gd-rowlink{font-weight:760;line-height:1.35}
  #gd-page table.gd-mobile-cards .orgwrap{justify-content:flex-start}
  #gd-page table.gd-mobile-cards .iobar{max-width:160px}
  #gd-page .sec{margin-top:22px}
  #gd-page .gd-head{padding:16px}
  #gd-page .gd-title{font-size:19px}
  #gd-page .fin-grid{grid-template-columns:1fr 1fr}
}

/* Newsroom / Marketing & Communications */
#newsroom-page{padding:28px 32px 42px;background:linear-gradient(180deg,#f6f8fb,#eef3f8);min-height:calc(100vh - 92px);color:var(--ink)}
#newsroom-page .nr-page{max-width:1540px;margin:0 auto}
#newsroom-page .nr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
#newsroom-page .nr-kicker,#newsroom-page .nr-eyebrow{font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase;color:var(--blue)}
#newsroom-page h1{font-family:var(--fd);font-size:42px;font-weight:600;line-height:1.05;color:var(--navy);margin:7px 0 8px;letter-spacing:0}
#newsroom-page h2{font-family:var(--fd);font-size:24px;font-weight:600;line-height:1.15;color:var(--navy);margin:4px 0 6px;letter-spacing:0}
#newsroom-page h3{font-family:var(--fb);font-size:17px;line-height:1.25;color:var(--ink);margin:10px 0 8px;letter-spacing:0}
#newsroom-page p{margin:0;color:var(--mut);font-size:14px;line-height:1.5;max-width:760px}
#newsroom-page .nr-head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
#newsroom-page .nr-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;padding:8px 12px;font:700 12px var(--fb);text-decoration:none;cursor:pointer;box-shadow:0 1px 3px rgba(14,26,38,.06)}
#newsroom-page .nr-btn:hover{background:#f8fbff;border-color:#b7c9df}
#newsroom-page .nr-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
#newsroom-page .nr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
#newsroom-page .nr-kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px 18px;box-shadow:0 8px 24px rgba(14,26,38,.07)}
#newsroom-page .nr-kpi b{display:block;color:var(--navy);font:800 29px var(--fb);line-height:1;margin-bottom:5px}
#newsroom-page .nr-kpi span{display:block;color:var(--mut);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0}
#newsroom-page .nr-section{margin:24px 0 30px}
#newsroom-page .nr-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
#newsroom-page .nr-result-count{color:var(--mut);font-size:13px;font-weight:700;white-space:nowrap}
#newsroom-page .nr-controls{display:flex;align-items:center;gap:10px;margin-bottom:10px}
#newsroom-page .nr-search{flex:1 1 420px;min-width:0;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:500 14px var(--fb);padding:11px 15px;box-shadow:0 1px 3px rgba(14,26,38,.05)}
#newsroom-page .nr-search:focus,#newsroom-page .nr-select:focus,#newsroom-page .nr-btn:focus,#newsroom-page button:focus{outline:2px solid var(--blue2);outline-offset:2px}
#newsroom-page .nr-select{flex:0 0 160px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:600 13px var(--fb);padding:9px 10px}
#newsroom-page .nr-chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
#newsroom-page .nr-chip{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:750 12px var(--fb);padding:7px 12px;cursor:pointer}
#newsroom-page .nr-chip span{color:var(--mut);margin-left:4px}
#newsroom-page .nr-chip.active{background:var(--nr-color,var(--blue));border-color:var(--nr-color,var(--blue));color:#fff}
#newsroom-page .nr-chip.active span{color:rgba(255,255,255,.85)}
#newsroom-page .nr-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
#newsroom-page .nr-story{background:#fff;border:1px solid var(--line);border-left:4px solid var(--nr-color,var(--blue));border-radius:9px;padding:16px 17px;box-shadow:0 8px 26px rgba(14,26,38,.08);min-width:0}
#newsroom-page .nr-story-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px}
#newsroom-page .nr-area{background:var(--nr-color,var(--blue));color:#fff;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0}
#newsroom-page .nr-score{background:#edf5ff;color:var(--blue);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap}
#newsroom-page .nr-source-line{display:flex;align-items:center;gap:9px;margin:10px 0 11px}
#newsroom-page .nr-avatar,#newsroom-page .nr-source-avatar{width:30px;height:30px;border-radius:999px;background:var(--nr-color,var(--blue));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex:0 0 auto}
#newsroom-page .nr-source-line b,#newsroom-page .nr-source-main b{display:block;color:var(--ink);font-size:13px}
#newsroom-page .nr-source-line small,#newsroom-page .nr-source-main small{display:block;color:var(--mut);font-size:11.5px;margin-top:1px}
#newsroom-page .nr-why{background:#f6f8fb;border-radius:8px;padding:10px 11px;color:#3d4c5c;font-size:12.5px;line-height:1.45;max-width:none}
#newsroom-page .nr-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
#newsroom-page .nr-tag{display:inline-flex;align-items:center;border-radius:999px;background:#eef2f7;color:#405064;font-size:11px;font-weight:700;padding:3px 8px}
#newsroom-page .nr-card-foot{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:13px;padding-top:11px;color:var(--mut);font-size:11.5px}
#newsroom-page .nr-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;margin:26px 0}
#newsroom-page .nr-card{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px rgba(14,26,38,.07);overflow:hidden}
#newsroom-page .nr-card-head{padding:16px 18px;border-bottom:1px solid var(--line)}
#newsroom-page .nr-awards,#newsroom-page .nr-sources{padding:8px 0}
#newsroom-page .nr-award-row{width:100%;display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:14px;align-items:center;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;text-align:left;padding:13px 18px;cursor:pointer}
#newsroom-page .nr-award-row:last-child{border-bottom:0}
#newsroom-page .nr-award-row:hover{background:#f8fbff}
#newsroom-page .nr-award-row b{display:block;color:var(--ink);font-size:13.5px;line-height:1.3}
#newsroom-page .nr-award-row small{display:block;color:var(--mut);font-size:11.5px;margin-top:2px}
#newsroom-page .nr-award-tag{justify-self:start;border-radius:999px;background:#e9f6ef;color:#11734f;padding:4px 9px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:0;white-space:nowrap}
#newsroom-page .nr-source{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}
#newsroom-page .nr-source:last-child{border-bottom:0}
#newsroom-page .nr-source-main{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;padding:0;min-width:0}
#newsroom-page .nr-source-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
#newsroom-page .nr-source-tags span{background:#eef2f7;color:#405064;border-radius:5px;font-size:10.5px;font-weight:700;padding:3px 6px}
#newsroom-page .nr-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
#newsroom-page .nr-proof{position:relative;background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px 42px 16px 17px;box-shadow:0 8px 24px rgba(14,26,38,.06)}
#newsroom-page .nr-proof b{display:block;color:var(--navy);font-size:27px;line-height:1;margin-bottom:6px}
#newsroom-page .nr-proof span{display:block;color:var(--mut);font-size:12.5px;line-height:1.35}
#newsroom-page .nr-copy{position:absolute;right:10px;top:10px;border:1px solid var(--line);background:#fff;color:var(--mut);border-radius:6px;padding:4px 6px;font-size:10px;font-weight:700;cursor:pointer}
#newsroom-page .nr-copy:hover{color:var(--blue);border-color:#b7c9df}
#newsroom-page .nr-theme-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
#newsroom-page .nr-theme{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:132px;border:1px solid var(--line);border-top:3px solid var(--nr-color,var(--blue));border-radius:9px;background:#fff;color:var(--ink);font:inherit;text-align:left;padding:14px 13px;box-shadow:0 8px 24px rgba(14,26,38,.07);cursor:pointer}
#newsroom-page .nr-theme:hover{background:#f8fbff;border-color:#b7c9df;border-top-color:var(--nr-color,var(--blue))}
#newsroom-page .nr-theme-dot{width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--nr-color,var(--blue)) 14%,#fff);border:1px solid color-mix(in srgb,var(--nr-color,var(--blue)) 24%,#fff)}
#newsroom-page .nr-theme b{color:var(--ink);font-size:13px;line-height:1.2}
#newsroom-page .nr-theme span,#newsroom-page .nr-theme small{color:var(--mut);font-size:11.5px;line-height:1.35}
#newsroom-page .nr-empty{background:#fff;border:1px dashed var(--line);border-radius:9px;padding:24px;color:var(--mut);font-size:13px}
#newsroom-page .nr-more{grid-column:1/-1;text-align:center;padding:6px}
.nr-panel h3{font-family:var(--fd);font-size:21px;line-height:1.25;color:var(--navy);margin:4px 0 10px}
.nr-panel .nr-panel-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.nr-panel .nr-panel-link{border:0;background:#eef5ff;color:var(--blue);border-radius:999px;padding:4px 8px;font:700 11px var(--fb);cursor:pointer}
@media(max-width:1160px){
  #newsroom-page .nr-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #newsroom-page .nr-theme-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #newsroom-page .nr-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  #newsroom-page{padding:18px 14px 32px}
  #newsroom-page .nr-head,#newsroom-page .nr-section-head{flex-direction:column;align-items:flex-start}
  #newsroom-page h1{font-size:34px}
  #newsroom-page .nr-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  #newsroom-page .nr-story-grid,#newsroom-page .nr-two{grid-template-columns:1fr}
  #newsroom-page .nr-controls{flex-direction:column;align-items:stretch}
  #newsroom-page .nr-search,#newsroom-page .nr-select{flex-basis:auto;width:100%}
  #newsroom-page .nr-award-row{grid-template-columns:1fr auto;gap:8px}
  #newsroom-page .nr-award-tag{grid-column:1/-1}
  #newsroom-page .nr-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  #newsroom-page .nr-kpis,#newsroom-page .nr-proof-grid,#newsroom-page .nr-theme-grid{grid-template-columns:1fr}
  #newsroom-page .nr-card-foot{align-items:flex-start;flex-direction:column}
}

/* styles/exp-atlas-v2.css */
/* ============================================================
   Codex Expertise layout
   Replaces the prior exp-atlas-v2 concept. Drives the
   Priority-Area atlas + intersection story panel, and the
   combined Departments + Centers/Institutes browse surface.
   Ported from template_integrated.html (2026-05-29 bundle).
   ============================================================ */

.cx-wrap { padding: 18px 24px 34px; background: var(--paper); }

.cx-head { background: var(--sf); border: 1px solid var(--border); border-radius: var(--r2); box-shadow: var(--sh); overflow: hidden; margin-bottom: 12px; }
.cx-head-row { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.cx-title b { display: block; font: 700 20px var(--fd); color: var(--tx); line-height: 1.15; }
.cx-title span { display: block; color: var(--t3); font-size: 12px; margin-top: 3px; }

.cx-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.cx-search { height: 32px; width: min(360px, 28vw); border: 1px solid var(--border2); border-radius: 999px; background: #fff; padding: 0 12px; font-size: 12px; color: var(--tx); outline: none; }
.cx-select { height: 32px; border: 1px solid var(--border2); border-radius: var(--r); background: #fff; color: var(--tx); padding: 0 9px; font-size: 12px; font-weight: 650; }
.cx-gold { height: 32px; border: 0; background: #CBA052; color: #061933; border-radius: var(--r); padding: 0 13px; font-weight: 800; font-size: 12px; white-space: nowrap; cursor: pointer; }

.cx-seg { display: inline-flex; background: var(--paper); border: 1px solid var(--border); border-radius: 7px; padding: 3px; }
.cx-seg button { border: 0; background: transparent; border-radius: 5px; padding: 6px 12px; font-size: 12px; color: var(--t2); font-weight: 800; cursor: pointer; }
.cx-seg button.active { background: #fff; color: var(--tx); box-shadow: var(--sh); }
.cx-seg button[aria-selected="true"] { background: #fff; color: var(--tx); box-shadow: var(--sh); }

.cx-tile-strip { display: grid; grid-template-columns: repeat(8, minmax(132px, 1fr)); gap: 8px; padding: 10px 12px; background: #fbfaf7; }
.cx-pa-strip { grid-template-columns: repeat(7, minmax(145px, 1fr)); }
.cx-tile { background: #fff; border: 1px solid var(--border); border-top: 3px solid var(--c, #0077D8); border-radius: 7px; padding: 9px 10px; text-align: left; min-height: 54px; box-shadow: 0 1px 4px rgba(14,26,38,.08); display: flex; align-items: center; cursor: pointer; }
.cx-tile.active,
.cx-tile[aria-selected="true"] { outline: 2px solid color-mix(in srgb, var(--c, #0077D8) 35%, #fff); background: color-mix(in srgb, var(--c, #0077D8) 7%, #fff); }
.cx-tile span { font-size: 12px; font-weight: 800; color: var(--tx); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.25; }
.cx-pa-strip .cx-tile { align-items: flex-start; min-height: 72px; }
.cx-pa-strip .cx-tile span { display: block; -webkit-line-clamp: unset; -webkit-box-orient: initial; overflow: visible; white-space: normal; overflow-wrap: break-word; }

.cx-entity-layout { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 12px; align-items: start; }
.cx-filter { background: #fff; border: 1px solid var(--border); border-radius: var(--r2); box-shadow: var(--sh); position: sticky; top: 146px; max-height: calc(100vh - 164px); overflow: auto; }
.cx-filter-head { padding: 12px 13px; border-bottom: 1px solid var(--border); background: #fbfaf7; }
.cx-filter-head b { display: block; font-size: 13px; }
.cx-filter-head span { display: block; color: var(--t3); font-size: 11px; margin-top: 2px; }
.cx-filter-group { padding: 11px 12px; border-bottom: 1px solid var(--border); }
.cx-filter-label { font-size: 10px; color: var(--t3); font-weight: 900; text-transform: uppercase; margin-bottom: 8px; }
.cx-filter-row { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 4px 0; color: var(--t2); cursor: pointer; }
.cx-filter-row input { width: 13px; height: 13px; margin: 0; }
.cx-filter-row span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; }
.cx-filter-row em { font-style: normal; color: var(--t3); font-size: 11px; font-variant-numeric: tabular-nums; }
.cx-clear { width: 100%; height: 30px; border: 1px solid var(--border); background: #fff; border-radius: var(--r); color: var(--t2); font-weight: 800; font-size: 12px; cursor: pointer; }

.cx-band { background: #fff; border: 1px solid var(--border); border-radius: var(--r2); box-shadow: var(--sh); overflow: hidden; margin-bottom: 10px; border-top: 3px solid var(--c, #0077D8); }
.cx-band-top { display: grid; grid-template-columns: minmax(280px, 1fr) auto; gap: 18px; align-items: center; padding: 13px 16px; border-bottom: 1px solid var(--border); }
.cx-band-title b { display: block; font: 700 20px var(--fd); color: var(--tx); line-height: 1.15; }
.cx-band-title span { display: block; color: var(--t3); font-size: 12px; margin-top: 3px; }
.cx-kpis { display: grid; grid-template-columns: repeat(4, 112px); border-left: 1px solid var(--border); }
.cx-kpi { padding: 0 13px; text-align: center; border-right: 1px solid var(--border); }
.cx-kpi:last-child { border-right: 0; }
.cx-kpi b { display: block; font: 800 18px var(--fb); color: var(--tx); line-height: 1.05; }
.cx-kpi span { display: block; font-size: 9.5px; color: var(--t3); font-weight: 800; text-transform: uppercase; margin-top: 3px; }

.cx-coverage { padding: 10px 16px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; background: #fbfaf7; }
.cx-cov-top { display: flex; justify-content: space-between; gap: 6px; font-size: 10.5px; color: var(--t2); font-weight: 800; }
.cx-cov-top span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-track { height: 7px; background: #e8e3da; border-radius: 999px; overflow: hidden; }
.cx-fill { height: 100%; background: var(--c, #0077D8); border-radius: 999px; }

.cx-fac-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.cx-fac-head b { font-weight: 900; }
.cx-chip { border: 1px solid var(--border); border-radius: 999px; background: #fff; padding: 3px 9px; font-size: 11px; font-weight: 800; color: var(--t2); }

.cx-fac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(252px, 1fr)); gap: 10px; }
.cx-fac { background: #fff; border: 1px solid var(--border); border-left: 3px solid var(--c, #0077D8); border-radius: var(--r2); box-shadow: var(--sh); padding: 12px; min-height: 154px; display: flex; flex-direction: column; gap: 8px; cursor: pointer; text-align: left; font: inherit; }
.cx-fac:hover { border-color: var(--c, #0077D8); box-shadow: var(--sh2); }
.cx-fac-top { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 9px; align-items: start; }
.cx-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--c, #0077D8); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 11px; overflow: hidden; }
.cx-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cx-name { font: 700 15px var(--fd); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--tx); }
.cx-title-small { font-size: 11px; color: var(--t3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.cx-pubs { text-align: right; font-weight: 900; color: var(--t2); }
.cx-pubs span { display: block; font-size: 9px; color: var(--t3); text-transform: uppercase; }

.cx-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.cx-tag { border-radius: 5px; padding: 2px 7px; font-size: 10px; font-weight: 800; background: #eef3fb; color: #00549f; }
.cx-tag.sub { background: #e4f3ee; color: #007a63; }
.cx-tag.neutral { background: #efede7; color: var(--t2); }

.cx-research { font-size: 11.5px; color: var(--t2); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cx-fac-foot { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 7px; border-top: 1px dashed var(--border); }
.cx-agency { display: inline-block; background: #0b559f; color: #fff; border-radius: 4px; padding: 2px 6px; font-size: 9.5px; font-weight: 900; margin-right: 4px; }
.cx-profile { border: 0; background: transparent; color: #0b559f; font-weight: 900; font-size: 11px; cursor: pointer; }

.cx-atlas-grid { display: grid; grid-template-columns: minmax(400px, .9fr) minmax(500px, 1.1fr); gap: 12px; align-items: stretch; }
.cx-panel { background: #fff; border: 1px solid var(--border); border-radius: var(--r2); box-shadow: var(--sh); overflow: hidden; }
.cx-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.cx-panel-head-flush { padding: 0 0 10px; border: 0; }
.cx-panel-head-inner { padding: 14px 0 0; border: 0; }
.cx-panel-head h3 { margin: 0; font-size: 13px; color: var(--tx); font-weight: 800; }
.cx-panel-head span { font-size: 11px; color: var(--t3); }

.cx-map-wrap { padding: 14px; background: #fff; }
.cx-map { height: 410px; max-height: 440px; border: 1px solid var(--border); border-radius: 8px; background: linear-gradient(180deg, #fbfaf7, #f2f0ea); position: relative; overflow: hidden; }
.cx-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.cx-map-buttons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cx-map-buttons .legend-btn { border: 1px solid var(--border); background: #fff; border-radius: 999px; padding: 4px 10px; font-size: 11px; font-weight: 800; color: var(--t2); cursor: pointer; }
.cx-map-buttons .legend-btn.active,
.cx-map-buttons .legend-btn[aria-pressed="true"] { background: #061933; color: #fff; border-color: #061933; }

.cx-node { position: absolute; transform: translate(-50%, -50%); border: 1px solid color-mix(in srgb, var(--c) 52%, #fff); background: color-mix(in srgb, var(--c) 14%, #fff); border-radius: 999px; box-shadow: 0 8px 20px rgba(14,26,38,.08); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 9px; color: var(--tx); transition: .15s; cursor: pointer; }
.cx-node.active,
.cx-node[aria-pressed="true"] { outline: 3px solid color-mix(in srgb, var(--c) 22%, transparent); border-color: var(--c); transform: translate(-50%, -50%) scale(1.03); }
.cx-node b { font-size: 12px; line-height: 1.1; }
.cx-node em { font-style: normal; color: var(--t2); font-size: 10px; margin-top: 3px; }

.cx-lens { border-top: 3px solid var(--c, #0077D8); display: flex; flex-direction: column; }
.cx-lens-main { padding: 16px; }
.cx-lens-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; }
.cx-lens-title { font: 700 24px var(--fd); line-height: 1.08; color: var(--tx); }
.cx-lens-def { margin-top: 5px; color: var(--t3); line-height: 1.55; font-size: 12.5px; }
.cx-lens-count { font: 900 30px var(--fb); color: var(--c, #0077D8); text-align: right; line-height: 1; }
.cx-lens-count span { display: block; font: 800 10px var(--fb); color: var(--t3); text-transform: uppercase; margin-top: 4px; }

.cx-subthemes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.cx-subtheme { appearance: none; border: 1px solid color-mix(in srgb, var(--c) 25%, var(--border)); background: color-mix(in srgb, var(--c) 7%, #fff); border-radius: 999px; padding: 5px 9px; font: 800 11px var(--fb); color: var(--t2); cursor: pointer; text-align: left; }
.cx-subtheme:hover { border-color: color-mix(in srgb, var(--c) 48%, var(--border)); box-shadow: 0 2px 8px rgba(14,26,38,.08); }
.cx-subtheme.active,
.cx-subtheme[aria-pressed="true"] { background: var(--c, #0077D8); border-color: var(--c, #0077D8); color: #fff; }
.cx-subtheme b { color: var(--c, #0077D8); }
.cx-subtheme.active b,
.cx-subtheme[aria-pressed="true"] b { color: #fff; }

.cx-bars { display: grid; gap: 7px; margin-top: 9px; }
.cx-bar-row { display: grid; grid-template-columns: 92px minmax(0, 1fr) 36px; gap: 8px; align-items: center; }
.cx-bar-row b { font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cx-bar-row span { font: 800 11px var(--fb); color: var(--t3); text-align: right; }

.cx-drill { margin-top: auto; padding: 12px 16px; background: #fbfaf7; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cx-drill span { font-size: 12px; color: var(--t2); }
.cx-drill button { border: 0; background: var(--c, #0077D8); color: #fff; border-radius: 999px; padding: 7px 12px; font-size: 11.5px; font-weight: 800; cursor: pointer; }

.cx-lower { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; margin-top: 12px; }
.cx-heat-wrap { padding: 12px 14px 14px; overflow-x: auto; }
.cx-heat-grid { display: grid; grid-template-columns: 120px repeat(11, 1fr); gap: 3px; min-width: 900px; }
.cx-heat-grid > div, .cx-heat-grid > .cell { min-height: 34px; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: 11px; border: 0; }
.cx-heat-grid > .h-area { justify-content: flex-start; background: #f1efe9; font-weight: 900; color: var(--t2); padding-left: 8px; }
.cx-heat-grid > .h-dept { background: #f1efe9; font-size: 10px; color: var(--t2); font-weight: 900; text-transform: uppercase; }
.cx-heat-grid > .cell { font-weight: 900; background: color-mix(in srgb, var(--c) calc(var(--a) * .24%), #fff); cursor: pointer; color: var(--tx); }
.cx-heat-mobile { display: none; }
.cx-heat-card { width: 100%; border: 1px solid var(--border); border-left: 3px solid var(--c, #0077D8); border-radius: 8px; background: #fff; box-shadow: 0 1px 4px rgba(14,26,38,.07); padding: 10px 11px; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.cx-heat-card.active, .cx-heat-card[aria-pressed="true"] { background: color-mix(in srgb, var(--c, #0077D8) 7%, #fff); border-color: color-mix(in srgb, var(--c, #0077D8) 45%, var(--border)); }
.cx-heat-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.cx-heat-card-title { font: 800 13px var(--fb); color: var(--tx); line-height: 1.25; }
.cx-heat-card-total { font: 800 10px var(--fb); color: var(--t3); text-transform: uppercase; white-space: nowrap; }
.cx-heat-card-bars { display: grid; gap: 6px; }
.cx-heat-bar { display: grid; grid-template-columns: 48px minmax(0, 1fr) 24px; align-items: center; gap: 8px; }
.cx-heat-bar-label { font: 800 10.5px var(--fb); color: var(--t2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-heat-bar-track { height: 7px; border-radius: 999px; background: #e8e3da; overflow: hidden; }
.cx-heat-bar-fill { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--c, #0077D8); }
.cx-heat-bar-value { text-align: right; font: 800 10.5px var(--fb); color: var(--t3); }
.cx-heat-empty { display: block; color: var(--t3); font-size: 11px; }

.cx-bridge { padding: 14px; }
.cx-bridge-list { display: grid; gap: 8px; margin-top: 10px; align-content: start; }
.cx-bridge .cx-bar-row { grid-template-columns: 170px minmax(0, 1fr) 36px; }

.cx-story { margin-top: 12px; border-top: 3px solid var(--c, #0077D8); }
.cx-story-body { padding: 14px; display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 14px; align-items: stretch; }
.cx-story-controls { background: #fbfaf7; border: 1px solid var(--border); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.cx-story-controls label { font-size: 10px; text-transform: uppercase; color: var(--t3); font-weight: 900; letter-spacing:0; }
.cx-story-controls select { width: 100%; height: 32px; border: 1px solid var(--border2); border-radius: var(--r); background: #fff; color: var(--tx); padding: 0 8px; font-size: 12px; font-weight: 700; }
.cx-story-score { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: auto; }
.cx-story-kpi { background: #fff; border: 1px solid var(--border); border-radius: 7px; padding: 8px; }
.cx-story-kpi b { display: block; font-size: 18px; color: var(--c, #0077D8); }
.cx-story-kpi span { font-size: 9.5px; text-transform: uppercase; color: var(--t3); font-weight: 900; }

.cx-story-main { display: grid; grid-template-columns: 1.1fr .9fr; gap: 14px; min-width: 0; }
.cx-story-title { font: 700 20px var(--fd); color: var(--tx); line-height: 1.15; margin-bottom: 5px; }
.cx-story-copy { font-size: 12.5px; color: var(--t2); line-height: 1.55; max-width: 760px; }
.cx-story-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cx-story-chip { border: 1px solid color-mix(in srgb, var(--c) 25%, var(--border)); background: color-mix(in srgb, var(--c) 7%, #fff); border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 800; color: var(--t2); }
.cx-story-chip b { color: var(--c, #0077D8); }
.cx-story-list { border-left: 1px solid var(--border); padding-left: 14px; display: grid; gap: 8px; align-content: start; }
.cx-story-list h4 { margin: 0; font-size: 10px; text-transform: uppercase; color: var(--t3); font-weight: 900; }
.cx-person { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; align-items: center; width: 100%; border: 0; background: none; padding: 0; text-align: left; color: inherit; font: inherit; cursor: pointer; }
.cx-mini-avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--c, #0077D8); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 900; overflow: hidden; }
.cx-mini-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cx-person b { display: block; font-size: 12px; }
.cx-person span { display: block; font-size: 10.5px; color: var(--t3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cx-person em { font-style: normal; font-size: 10px; color: var(--t3); font-weight: 800; }

@media (max-width: 1200px) {
  .cx-atlas-grid, .cx-lower, .cx-entity-layout, .cx-story-body, .cx-story-main { grid-template-columns: 1fr; }
  .cx-tile-strip { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
  .cx-search { width: 260px; }
  .cx-filter { position: static; max-height: none; }
  .cx-story-list { border-left: 0; border-top: 1px solid var(--border); padding-left: 0; padding-top: 12px; }
}

@media (max-width: 760px) {
  .cx-wrap { padding: 14px; }
  .cx-head-row { display: block; }
  .cx-actions { justify-content: flex-start; margin-top: 10px; }
  .cx-search { width: 100%; }
  .cx-tile-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cx-bridge .cx-bar-row { grid-template-columns: 110px minmax(0, 1fr) 32px; }
  .cx-kpis { grid-template-columns: repeat(2, 1fr); border-left: 0; }
  .cx-coverage { grid-template-columns: repeat(2, 1fr); }
  .cx-fac-grid { grid-template-columns: 1fr; }
  .cx-heat-wrap { overflow: visible; padding: 10px; }
  .cx-heat-grid { display: none; }
  .cx-heat-mobile { display: grid; gap: 8px; }
}

/* styles/ep.css */
.cp-card-ep{display:block;font-size:10.5px;color:var(--t2);margin-top:5px;padding-top:5px;border-top:1px dotted var(--border);font-family:var(--fb)}
.cp-card-ep.cp-card-ep-empty{color:var(--t3);font-style:italic;font-weight:400}
.cp-card-ep b{color:#854F0B;font-family:var(--fm);font-weight:800}
.cp-card-ep-sub{color:var(--t3);font-size:9.5px;margin-left:4px}
.cp-card-ep-badge{display:inline-block;padding:1px 6px;font-size:8.5px;background:#CBA052;color:#2C2C2A;border-radius:3px;margin-right:5px;font-weight:800;letter-spacing:0;vertical-align:middle;font-family:var(--fb)}
.cp-kpi-ep b{color:#854F0B}

/* EP Enrollment dedicated view */
.ep-view{padding:20px 28px;background:var(--bg)}
.ep-summary-bar{display:flex;gap:24px;align-items:baseline;margin-bottom:16px;padding:14px 18px;background:var(--sf);border-radius:6px;border-left:3px solid #CBA052}
.ep-summary-val{font-family:var(--fm);font-weight:800;color:var(--tx);font-size:18px;line-height:1}
.ep-summary-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:0;font-weight:700;margin-top:3px}
.ep-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.ep-search{flex:1;max-width:380px;min-width:200px;padding:8px 12px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:var(--fb);background:var(--bg);color:var(--tx)}
.ep-search:focus{outline:none;border-color:#CBA052}
.ep-sort{padding:8px 12px;border:1px solid var(--border);border-radius:5px;font-size:12px;background:var(--bg);color:var(--tx);font-family:var(--fb);cursor:pointer}
.ep-count-note{font-size:11px;color:var(--t3);margin-left:auto}
.ep-table-wrap{background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.ep-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--fb)}
.ep-table th{text-align:left;padding:10px 12px;font-size:9.5px;text-transform:uppercase;letter-spacing:0;color:var(--t3);font-weight:700;border-bottom:2px solid var(--border);background:var(--sf);user-select:none;white-space:nowrap}
.ep-table th.num{text-align:right}
.ep-table-rank-col{width:36px}
.ep-table-trend-col{width:88px;text-align:center!important}
.ep-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--t2)}
.ep-table tr:last-child td{border-bottom:0}
.ep-table tbody tr{transition:background .12s}
.ep-table tbody tr:hover td{background:var(--sf)}
.ep-table-rank{color:var(--t3);font-family:var(--fm)}
.ep-table-trend{text-align:center}
.ep-table-num{font-family:var(--fm);font-weight:700;color:var(--tx);text-align:right;white-space:nowrap}
.ep-table-num-partial{color:var(--t3)}
.ep-table-name{font-weight:600;color:var(--tx)}
.ep-table-open{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;padding:0;margin:0;display:inline-flex;align-items:center;gap:6px;max-width:100%;cursor:pointer}
.ep-table-open:hover .ep-table-open-name{text-decoration:underline;text-underline-offset:3px}
.ep-table-open-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep-table-sector{font-size:11px;color:var(--t3)}
.ep-spark{display:block;margin:0 auto}
.ep-only-badge{display:inline-block;background:#CBA052;color:#2C2C2A;padding:1px 5px;font-size:8.5px;font-weight:800;border-radius:2px;margin-left:6px;vertical-align:middle;letter-spacing:0}
.ep-empty{padding:32px;text-align:center;color:var(--t3);font-size:12.5px}

/* EP featured-cards layout */
.ep-section-label{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:0;font-weight:700;margin:0 4px 8px;font-family:var(--fb)}
.ep-featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.ep-card{appearance:none;-webkit-appearance:none;background:#FBF6EA;border:1px solid #E8DDC2;border-left:4px solid var(--c);padding:10px 12px;cursor:pointer;transition:background .12s,border-color .12s;display:flex;flex-direction:column;min-height:118px;position:relative;color:inherit;font:inherit;text-align:left}
.ep-card::after{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 14px 14px 0;border-color:transparent #CBA052 transparent transparent}
.ep-card:hover{background:#F5EBD0;border-color:#CBA052}
.ep-card-pips{display:flex;gap:4px;margin-bottom:6px;min-height:6px}
.ep-card-pip{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--c)}
.ep-card-badge{display:inline-block;background:#CBA052;color:#2C2C2A;padding:1px 5px;font-size:8.5px;font-weight:800;border-radius:2px;margin-bottom:6px;letter-spacing:0;align-self:flex-start;font-family:var(--fb)}
.ep-card-name{font-family:var(--fb);font-weight:600;font-size:12.5px;color:var(--tx);line-height:1.2}
.ep-card-sector{font-size:10.5px;color:var(--c);margin:2px 0 6px;font-family:var(--fb);font-weight:600;opacity:.85}
.ep-card-stats{display:flex;align-items:baseline;gap:5px;margin-bottom:4px}
.ep-card-current{font-family:var(--fm);font-weight:800;font-size:16px;color:#854F0B;line-height:1}
.ep-card-sub{font-size:10px;color:var(--t3);font-family:var(--fb)}
.ep-card-spark{margin-top:auto}
.ep-divider{text-align:center;font-size:11px;color:var(--t3);margin:12px 0;font-family:var(--fb)}
@media (max-width:1100px){.ep-featured-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:850px){.ep-featured-grid{grid-template-columns:repeat(2,1fr)}}

/* EP info in company drawer */
.cp-cluster-ep .cp-metric b{color:#854F0B}
.ep-drawer-summary{display:flex;gap:18px;margin-bottom:12px;flex-wrap:wrap}
.ep-drawer-stat b{font-family:var(--fm);font-weight:800;color:#854F0B;font-size:17px;display:block;line-height:1}
.ep-drawer-stat span{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:0;font-weight:600;margin-top:3px;display:block}
.ep-drawer-bars{margin-top:6px}
.ep-drawer-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:11.5px;font-family:var(--fb)}
.ep-drawer-lbl{width:48px;color:var(--t3);font-weight:600;font-family:var(--fm)}
.ep-drawer-track{flex:1;height:13px;background:var(--sf);border-radius:3px;overflow:hidden}
.ep-drawer-fill{display:block;height:100%;background:#CBA052;border-radius:3px;transition:width .3s}
.ep-drawer-fill.partial{background:repeating-linear-gradient(45deg,#CBA052,#CBA052 4px,rgba(203,160,82,.55) 4px,rgba(203,160,82,.55) 8px)}
.ep-drawer-val{width:48px;text-align:right;font-family:var(--fm);font-weight:700;color:var(--tx)}
.ep-drawer-partial-note{font-size:10.5px;color:var(--t3);margin-top:8px;font-style:italic}
.cp-drawer-ep-only-note{padding:10px 14px;background:rgba(203,160,82,.1);border-left:3px solid #CBA052;border-radius:4px;font-size:12px;color:var(--t2);margin-bottom:14px;line-height:1.5}
.cp-drawer-ep-only-note b{color:#854F0B}
.cp-drawer-ep-only-faded{opacity:.45}

/* styles/data-freshness.css */
#data-freshness{
  display:inline-flex;
  align-items:center;
  max-width:370px;
  min-height:30px;
  font-family:var(--fb);
  font-size:10px;
  color:#d8e7f9;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:0 10px;
  letter-spacing:0;
  line-height:1.3;
  white-space:nowrap;
}
.data-freshness-row{display:flex;gap:7px;align-items:center;min-width:0}
.data-freshness-label{color:#f2d89d;font-weight:800;text-transform:uppercase;letter-spacing:0}
#data-freshness-access,
#data-freshness-snapshot,
#data-freshness-size{overflow:hidden;text-overflow:ellipsis}
.data-freshness-sep{color:rgba(216,231,249,.45)}
#data-freshness[data-access-class="restricted"]{border-color:rgba(203,160,82,.44);background:rgba(203,160,82,.08)}
#data-freshness[data-freshness-age="aging"]{border-color:rgba(203,160,82,.58);background:rgba(203,160,82,.12)}
#data-freshness[data-freshness-age="stale"]{border-color:rgba(166,25,46,.5);background:rgba(166,25,46,.12)}
@media (max-width: 1280px){
  #data-freshness-size,
  .data-freshness-sep-size{display:none}
}
@media (max-width: 1179px){#data-freshness{display:none}}
body.home-active #data-freshness{display:none}

/* styles/panel-info.css */
/* Plain-language panel information tooltips. */
.panel-info-button{appearance:none;-webkit-appearance:none;background:none;border:1.5px solid currentColor;border-radius:999px;color:inherit;cursor:help;display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;margin-left:7px;padding:0;position:relative;vertical-align:middle;opacity:.46;font:800 9.5px/1 var(--fb,system-ui,sans-serif);letter-spacing:0;text-transform:none}
.panel-info-button::before{content:'i'}
.panel-info-button:hover,.panel-info-button:focus-visible{opacity:.96}
.panel-info-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.panel-info-popover{position:absolute;top:calc(100% + 9px);right:-10px;z-index:620;width:280px;max-width:min(74vw,320px);padding:10px 12px;border-radius:8px;background:#111827;color:#f8fafc;box-shadow:0 10px 28px rgba(14,26,38,.28);font:500 12px/1.55 var(--ft,system-ui,sans-serif);text-align:left;white-space:normal;text-transform:none;letter-spacing:0;visibility:hidden;opacity:0;transition:opacity .12s ease;pointer-events:none}
.panel-info-popover::before{content:'';position:absolute;top:-5px;right:13px;width:10px;height:10px;background:#111827;transform:rotate(45deg)}
.panel-info-button:hover .panel-info-popover,.panel-info-button:focus .panel-info-popover,.panel-info-button:focus-visible .panel-info-popover{visibility:visible;opacity:1}
.panel-info-button.panel-info-flip .panel-info-popover{right:auto;left:-10px}
.panel-info-button.panel-info-flip .panel-info-popover::before{right:auto;left:13px}
.panel-info-button.panel-info-up .panel-info-popover{top:auto;bottom:calc(100% + 9px)}
.panel-info-button.panel-info-up .panel-info-popover::before{top:auto;bottom:-5px}

@media(max-width:640px){.panel-info-popover{width:230px;max-width:72vw}}
@media print{.panel-info-button{display:none!important}}
