/* Research institute: compact banner, clear navigation, useful information. */
:root {
  --ink: #26384b;
  --navy: #203f64;
  --blue: #285f9b;
}
.wrap {
  width: min(1200px, calc(100% - 64px));
}
body {
  color: #26384b;
}
.button {
  background: #285f9b;
  border-color: #285f9b;
  border-radius: 4px;
  font-weight: 500;
}
.button:hover {
  background: #204e80;
  border-color: #204e80;
}
.institution-header {
  position: relative;
  border: 0;
}
.institution-header .header-main {
  height: 88px;
  gap: 30px;
}
.institution-header .generated-brand .full-logo-frame {
  width: 230px;
}
.institution-search {
  display: flex;
  align-items: center;
  width: 320px;
  margin-left: auto;
  border: 1px solid #c9d5e2;
  border-radius: 4px;
  height: 40px;
  background: #fff;
}
.institution-search input {
  width: 100%;
  min-width: 0;
  padding: 10px 13px;
  border: 0;
  background: transparent;
  font-size: 12px;
  color: #26384b;
  outline-offset: 1px;
}
.institution-search button {
  padding: 10px 13px;
  color: #285f9b;
  display: flex;
}
.institution-search .icon {
  width: 18px;
  height: 18px;
}
.institution-header .clean-tools {
  gap: 22px;
  margin: 0;
}
.institution-header .header-library {
  display: block;
  font-size: 12px;
}
.institution-header .clean-tools .button {
  background: #fff;
  border: 1px solid #b8c8da;
  color: #294f78;
  border-radius: 4px;
  font-weight: 500;
}
.institution-nav-band {
  border-top: 1px solid #e7ecf2;
  border-bottom: 2px solid #29496c;
}
.institution-header .clean-nav {
  display: flex;
  justify-content: flex-start;
  gap: 0;
  margin: 0 auto;
}
.institution-header .clean-nav > a {
  flex: 1;
  font-size: 15px;
  font-weight: 550;
  color: #233b55;
  text-align: center;
  padding: 16px 12px;
  min-height: 53px;
  transition:
    background 0.15s,
    color 0.15s;
}
.institution-header .clean-nav > a:hover,
.institution-header .clean-nav > a.active {
  background: #f0f5fa;
  color: #235d9a;
}
.institution-header .clean-nav > .mobile-nav-extra {
  display: none;
}
.portal-home {
  padding-top: 24px;
}
.portal-banner {
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px 56px;
  background: #edf3f8;
  border: 1px solid #e1e9f1;
  border-radius: 6px;
  overflow: hidden;
}
.portal-banner-copy > p {
  font-size: 13px;
  color: #456b93;
  margin-bottom: 16px;
}
.portal-banner h1 {
  font-size: 34px;
  font-weight: 450;
  line-height: 1.4;
  letter-spacing: -0.045em;
  color: #243e5b;
  margin: 0;
}
.portal-banner-links {
  margin-top: 23px;
  display: flex;
  gap: 24px;
  align-items: center;
}
.portal-banner-links .button {
  min-height: 38px;
  padding: 9px 20px;
  font-size: 12px;
}
.portal-text-link {
  font-size: 12px;
  color: #4f6881;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.portal-portrait {
  display: flex;
  align-items: center;
  gap: 24px;
  align-self: flex-end;
  margin-bottom: -30px;
  flex-shrink: 0;
}
.portal-portrait > img {
  height: 250px;
  width: 210px;
  object-fit: cover;
  object-position: center top;
  border-radius: 4px 4px 0 0;
  filter: none;
}
.portal-portrait > div {
  display: flex;
  flex-direction: column;
  gap: 9px;
  max-width: 125px;
}
.portal-portrait strong {
  font-size: 17px;
  font-weight: 500;
}
.portal-portrait span {
  font-size: 11px;
  color: #64758a;
  line-height: 1.7;
  word-break: keep-all;
}
.portal-shortcuts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 18px;
  border: 1px solid #dee6ef;
  border-radius: 5px;
  min-height: 68px;
}
.portal-shortcuts a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  font-size: 13px;
  font-weight: 500;
  color: #354d68;
  padding: 17px 10px;
  transition: background 0.15s;
}
.portal-shortcuts a + a {
  border-left: 1px solid #e6ecf2;
}
.portal-shortcuts a:hover {
  background: #f1f6fb;
}
.portal-shortcuts .icon {
  width: 22px;
  height: 22px;
  stroke-width: 1.4;
  color: #426c96;
}
.portal-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 40px;
  padding-top: 38px;
}
.portal-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 36px;
  gap: 20px;
  margin-bottom: 15px;
}
.portal-section-heading h2 {
  font-size: 23px;
  font-weight: 550;
  letter-spacing: -0.035em;
}
.portal-section-heading > a {
  font-size: 11px;
  color: #66778a;
  padding: 8px 0;
}
.portal-section-heading > a:hover {
  color: #285f9b;
  text-decoration: underline;
}
.portal-tabs {
  display: flex;
  border-top: 2px solid #345679;
  border-bottom: 1px solid #dae3ed;
  background: #f6f8fb;
}
.portal-tabs button {
  padding: 13px 19px;
  font-size: 12px;
  font-weight: 450;
  color: #657587;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.portal-tabs button.active {
  color: #285f9b;
  background: white;
  border-bottom-color: #285f9b;
  font-weight: 550;
}
.portal-report-row {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 74px 28px;
  align-items: center;
  gap: 14px;
  min-height: 77px;
  padding: 13px 0;
  border-bottom: 1px solid #e5ebf2;
}
.portal-category {
  padding: 5px 4px;
  border: 1px solid #d8e4f1;
  border-radius: 3px;
  font-size: 10px;
  text-align: center;
  color: #436b97;
  background: #f1f6fd;
}
.portal-category.category-weekly {
  color: #36756d;
  background: #f0f8f6;
  border-color: #d5e8e3;
}
.portal-category.category-indepth {
  color: #526396;
  background: #f2f3f9;
  border-color: #dcdfee;
}
.portal-report-row h3 {
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: -0.025em;
  word-break: keep-all;
}
.portal-report-row a:hover h3 {
  color: #285f9b;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.portal-report-topic {
  display: flex;
  gap: 12px;
  color: #758497;
  font-size: 10px;
  margin-top: 5px;
  line-height: 1.4;
}
.portal-report-topic > span {
  color: #8a97a7;
}
.portal-report-row time {
  font-size: 10px;
  color: #7b8999;
  text-align: right;
}
.portal-report-row .save-button {
  min-width: 28px;
  min-height: 28px;
  width: 28px;
  height: 28px;
  color: #8190a1;
}
.portal-report-row .save-button.saved {
  color: #285f9b;
  background: #edf4fc;
}
.portal-topic-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  padding-top: 17px;
  font-size: 10px;
  color: #6e8095;
}
.portal-topic-links > span {
  color: #344f6c;
  font-weight: 550;
}
.portal-topic-links a:hover {
  text-decoration: underline;
  color: #285f9b;
}
.portal-help .portal-section-heading {
  margin-bottom: 15px;
}
.portal-pdf-guide {
  border: 1px solid #dce5ee;
  border-top: 2px solid #345679;
  padding: 23px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background: #f4f7fb;
  min-height: 163px;
}
.portal-pdf-guide h3,
.portal-membership-guide h3 {
  font-size: 16px;
  font-weight: 550;
  margin: 0 0 9px;
}
.portal-pdf-guide p,
.portal-membership-guide p {
  font-size: 11px;
  color: #738398;
  line-height: 1.6;
}
.portal-pdf-guide img {
  width: 66px;
  height: 94px;
  object-fit: cover;
  border: 1px solid #dce3ec;
}
.portal-small-button {
  display: inline-flex;
  align-items: center;
  margin-top: 16px;
  border: 1px solid #c2cfde;
  background: white;
  color: #48688b;
  padding: 7px 11px;
  border-radius: 3px;
  font-size: 10px;
}
.portal-membership-guide {
  border: 1px solid #dce5ee;
  border-top: 0;
  padding: 23px 20px;
}
.portal-membership-guide > a {
  display: inline-block;
  font-size: 11px;
  color: #426b98;
  margin-top: 19px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.portal-help-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 14px;
  border: 1px solid #dce5ee;
  border-radius: 3px;
}
.portal-help-links a {
  padding: 14px 6px;
  text-align: center;
  font-size: 11px;
  color: #536b86;
}
.portal-help-links a + a {
  border-left: 1px solid #dce5ee;
}
.portal-help-links a:hover {
  background: #f4f7fb;
}
.portal-media {
  padding-top: 42px;
  padding-bottom: 35px;
}
.portal-media-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  border-top: 2px solid #345679;
  padding-top: 20px;
}
.portal-media-image {
  display: block;
  aspect-ratio: 1.9;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  background: #edf3f8;
}
.portal-media-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  transition: transform 0.2s;
}
.portal-media-image:hover > img {
  transform: scale(1.02);
}
.portal-media-image > span {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: #ffffffed;
  border-radius: 50%;
  color: #315678;
}
.portal-media-image .icon {
  width: 13px;
  height: 13px;
}
.portal-media-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 10px;
  color: #718297;
  margin: 12px 0 8px;
}
.portal-media-meta > span {
  color: #426992;
}
.portal-media-grid h3 {
  font-size: 14px;
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: -0.025em;
  word-break: keep-all;
}
.portal-business {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border: 1px solid #dce5ee;
  background: #f6f8fb;
  border-radius: 4px;
  padding: 24px 28px;
  margin-bottom: 40px;
}
.portal-business h2 {
  font-size: 17px;
  font-weight: 500;
}
.portal-business p {
  font-size: 11px;
  color: #77869a;
  margin-top: 8px;
}
.portal-business .button {
  font-size: 11px;
  min-height: 36px;
  padding: 9px 20px;
}
.quiet-footer {
  background: #f7f8fa;
  padding-top: 32px;
}
.quiet-footer-top {
  padding-bottom: 22px;
}
.page-intro h1 {
  font-size: 32px;
  font-weight: 500;
}
@media (max-width: 1100px) {
  .institution-header .header-main {
    gap: 22px;
  }
  .institution-search {
    width: 255px;
  }
  .institution-header .generated-brand .full-logo-frame {
    width: 210px;
  }
  .institution-header .clean-tools {
    gap: 16px;
  }
  .portal-banner {
    padding: 30px 36px;
  }
  .portal-banner h1 {
    font-size: 30px;
  }
  .portal-portrait {
    gap: 18px;
  }
  .portal-portrait > img {
    width: 185px;
    height: 235px;
  }
  .portal-portrait > div {
    max-width: 110px;
  }
  .portal-main-grid {
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) 275px;
  }
  .portal-report-row {
    gap: 10px;
    grid-template-columns: 67px minmax(0, 1fr) 28px;
  }
  .portal-report-row time {
    display: none;
  }
}
@media (max-width: 850px) {
  .wrap {
    width: calc(100% - 44px);
  }
  .institution-header .header-main {
    height: 78px;
  }
  .institution-header .generated-brand .full-logo-frame {
    width: 194px;
  }
  .institution-search {
    width: 220px;
  }
  .institution-header .clean-tools .button {
    display: none;
  }
  .institution-header .clean-nav > a {
    font-size: 13px;
    padding: 14px 7px;
    min-height: 47px;
  }
  .portal-banner {
    height: 250px;
    padding: 24px 28px;
  }
  .portal-banner h1 {
    font-size: 27px;
  }
  .portal-banner-copy > p {
    font-size: 11px;
    margin-bottom: 13px;
  }
  .portal-portrait {
    margin-bottom: -24px;
  }
  .portal-portrait > img {
    width: 158px;
    height: 220px;
  }
  .portal-portrait > div {
    display: none;
  }
  .portal-main-grid {
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 24px;
  }
  .portal-tabs button {
    padding: 13px 14px;
    font-size: 11px;
  }
  .portal-shortcuts a {
    font-size: 11px;
    gap: 9px;
  }
  .portal-shortcuts .icon {
    width: 19px;
    height: 19px;
  }
  .portal-pdf-guide {
    padding: 22px 15px;
    gap: 8px;
  }
  .portal-pdf-guide img {
    width: 49px;
    height: 70px;
  }
  .portal-pdf-guide h3,
  .portal-membership-guide h3 {
    font-size: 14px;
  }
  .portal-pdf-guide p {
    font-size: 10px;
  }
  .portal-report-row {
    grid-template-columns: 60px minmax(0, 1fr) 24px;
    gap: 8px;
  }
  .portal-report-row h3 {
    font-size: 12px;
  }
  .portal-category {
    font-size: 9px;
  }
  .portal-report-topic {
    font-size: 9px;
    gap: 6px;
  }
  .portal-report-topic > span {
    display: none;
  }
  .portal-section-heading h2 {
    font-size: 21px;
  }
  .portal-media-grid {
    gap: 18px;
  }
  .portal-media-grid h3 {
    font-size: 13px;
  }
}
@media (max-width: 650px) {
  .wrap {
    width: calc(100% - 32px);
  }
  .institution-header .header-main {
    height: 70px;
    gap: 14px;
  }
  .institution-header .generated-brand .full-logo-frame {
    width: 190px;
  }
  .institution-search {
    display: none;
  }
  .institution-header .clean-tools {
    margin-left: auto;
  }
  .institution-header .clean-tools .header-library {
    display: none;
  }
  .institution-header .mobile-toggle {
    display: flex;
  }
  .institution-header .clean-nav {
    display: none;
  }
  .institution-header .clean-nav.is-open {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: static;
    padding: 8px 0;
    background: white;
    box-shadow: none;
  }
  .institution-header .clean-nav > a {
    font-size: 13px;
    text-align: left;
    padding: 12px;
  }
  .institution-header .clean-nav.is-open > .mobile-nav-extra {
    display: block;
  }
  .institution-nav-band {
    border-top: 0;
  }
  .portal-home {
    padding-top: 16px;
  }
  .portal-banner {
    height: 225px;
    padding: 24px 20px;
    position: relative;
    isolation: isolate;
  }
  .portal-banner-copy {
    z-index: 1;
  }
  .portal-banner h1 {
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: -0.045em;
  }
  .portal-banner-copy > p {
    font-size: 10px;
    margin-bottom: 11px;
  }
  .portal-banner-links {
    margin-top: 19px;
    gap: 16px;
  }
  .portal-banner-links .button {
    font-size: 10px;
    min-height: 33px;
    padding: 8px 12px;
  }
  .portal-text-link {
    font-size: 10px;
  }
  .portal-portrait {
    position: absolute;
    right: -12px;
    bottom: 0;
    margin: 0;
    z-index: -1;
    opacity: 0.15;
  }
  .portal-portrait > img {
    width: 173px;
    height: 225px;
    border-radius: 0;
    mask-image: linear-gradient(90deg, transparent, #000 40%);
  }
  .portal-shortcuts {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 12px;
    min-height: 73px;
  }
  .portal-shortcuts a {
    flex-direction: column;
    gap: 8px;
    font-size: 9px;
    padding: 14px 4px;
  }
  .portal-shortcuts .icon {
    width: 20px;
    height: 20px;
  }
  .portal-main-grid {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 26px;
  }
  .portal-section-heading {
    margin-bottom: 12px;
  }
  .portal-section-heading h2 {
    font-size: 21px;
  }
  .portal-tabs button {
    flex: 1;
    padding: 12px 4px;
  }
  .portal-report-row {
    min-height: 78px;
    grid-template-columns: 61px minmax(0, 1fr) 24px;
    gap: 10px;
  }
  .portal-report-row h3 {
    font-size: 13px;
  }
  .portal-report-topic {
    font-size: 9px;
  }
  .portal-help {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 12px;
  }
  .portal-help .portal-section-heading {
    grid-column: 1/-1;
  }
  .portal-pdf-guide {
    min-height: 160px;
    padding: 16px 13px;
  }
  .portal-pdf-guide > a {
    display: none;
  }
  .portal-membership-guide {
    border-top: 2px solid #345679;
    padding: 16px 13px;
  }
  .portal-membership-guide p {
    font-size: 10px;
  }
  .portal-membership-guide > a {
    font-size: 10px;
    line-height: 1.6;
    margin-top: 15px;
  }
  .portal-help-links {
    grid-column: 1/-1;
    margin-top: 12px;
  }
  .portal-media {
    padding-top: 29px;
    padding-bottom: 26px;
  }
  .portal-media-grid {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 16px;
  }
  .portal-media-grid article {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    column-gap: 14px;
    align-content: start;
  }
  .portal-media-image {
    grid-row: 1/3;
    aspect-ratio: 1.6;
  }
  .portal-media-meta {
    flex-direction: column;
    gap: 4px;
    margin: 0 0 6px;
    font-size: 9px;
  }
  .portal-media-meta time {
    display: none;
  }
  .portal-media-grid h3 {
    font-size: 13px;
    line-height: 1.5;
  }
  .portal-media-image > span {
    width: 24px;
    height: 24px;
    right: 7px;
    bottom: 7px;
  }
  .portal-media-image .icon {
    width: 11px;
    height: 11px;
  }
  .portal-business {
    padding: 20px 17px;
    margin-bottom: 28px;
  }
  .portal-business h2 {
    font-size: 14px;
  }
  .portal-business p {
    font-size: 10px;
    line-height: 1.6;
    max-width: 190px;
  }
  .portal-business .button {
    font-size: 10px;
    padding: 8px 13px;
    white-space: nowrap;
  }
  .page-intro h1 {
    font-size: 27px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .portal-media-image > img {
    transition: none;
  }
}
.institution-header .mobile-toggle {
  display: none;
}
@media (max-width: 650px) {
  .institution-header .mobile-toggle {
    display: flex;
  }
  .portal-portrait {
    right: 20px;
    bottom: 0;
    opacity: 1;
    z-index: 0;
  }
  .portal-portrait > img {
    width: 74px;
    height: 84px;
    mask-image: none;
    border-radius: 3px 3px 0 0;
  }
}
@media (max-width: 370px) {
  .portal-portrait {
    display: none;
  }
}

/* Refined material palette. Images retain their original colors. */
:root {
  --ink: #262729;
  --navy: #292b2e;
  --blue: #474c53;
  --muted: #797b80;
  --line: #ebebec;
  --wash: #f5f5f5;
}
body {
  color: #292b2e;
}
::selection {
  background: #4b525a;
  color: white;
}
:focus-visible {
  outline-color: #677786;
}
.button,
.button.blue {
  background: #323538;
  border-color: #323538;
  border-radius: 8px;
  color: #fff;
}
.button:hover,
.button.blue:hover {
  background: #4a4d51;
  border-color: #4a4d51;
}
.button.secondary {
  background: #fff;
  border-color: #e0e0e2;
  color: #404348;
}
.button.secondary:hover {
  background: #ededee;
  border-color: #d5d5d8;
}
.institution-header .header-main {
  height: 88px;
}
.institution-search {
  background: #f3f3f4;
  border: 0;
  border-radius: 50px;
  height: 42px;
  width: 350px;
}
.institution-search input {
  color: #36383b;
  padding-left: 20px;
}
.institution-search input::placeholder {
  color: #95979b;
}
.institution-search button {
  color: #85888d;
}
.institution-header .clean-tools .button {
  border-color: #e6e6e7;
  color: #404348;
  background: #f7f7f8;
  border-radius: 8px;
}
.institution-nav-band {
  background: #27292b;
  border: 0;
}
.institution-header .clean-nav > a {
  color: #d3d4d6;
  font-size: 14px;
  font-weight: 450;
  min-height: 48px;
  padding: 14px 12px;
}
.institution-header .clean-nav > a:hover,
.institution-header .clean-nav > a.active {
  color: white;
  background: #3a3c3f;
}
.portal-home {
  padding-top: 24px;
}
.portal-banner.premium-banner {
  position: relative;
  isolation: isolate;
  background: #28292b;
  border: 0;
  border-radius: 20px;
  padding: 30px 44px;
  height: 280px;
}
.portal-banner-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -2;
}
.premium-banner:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #20222566 0%, transparent 62%);
  pointer-events: none;
  z-index: -1;
}
.premium-banner .portal-banner-copy {
  max-width: 420px;
}
.premium-banner h1 {
  font-size: 33px;
  line-height: 1.32;
  letter-spacing: -0.04em;
  font-weight: 430;
  color: #fff;
}
.premium-banner .portal-banner-copy > p {
  color: #c1c4c8;
  font-size: 11px;
  font-weight: 400;
  margin: 17px 0 0;
}
.premium-banner .portal-banner-links {
  margin-top: 24px;
  gap: 23px;
}
.premium-banner .button {
  background: #fff;
  color: #303338;
  border-color: #fff;
  font-size: 11px;
  padding: 9px 17px;
  border-radius: 7px;
}
.premium-banner .button:hover {
  background: #e9e9eb;
  border-color: #e9e9eb;
}
.premium-banner .portal-text-link {
  color: #d4d5d7;
  font-size: 11px;
  text-decoration: none;
}
.premium-banner .portal-text-link:hover {
  color: white;
  text-decoration: underline;
}
.portal-shortcuts {
  border: 0;
  border-radius: 14px;
  background: #f5f5f5;
  margin-top: 16px;
  min-height: 65px;
  overflow: hidden;
}
.portal-shortcuts a,
.portal-shortcuts a + a {
  border: 0;
  color: #52555a;
  font-weight: 450;
}
.portal-shortcuts a:hover {
  background: #ebebed;
}
.portal-shortcuts .icon {
  color: #70757c;
}
.portal-main-grid {
  gap: 32px;
  padding-top: 36px;
}
.portal-section-heading h2 {
  color: #303236;
  font-weight: 550;
  font-size: 23px;
}
.portal-section-heading > a {
  color: #818388;
}
.portal-section-heading > a:hover {
  color: #303236;
}
.portal-tabs {
  background: none;
  border: 0;
  gap: 7px;
  padding-bottom: 16px;
}
.portal-tabs button {
  border: 0;
  border-radius: 8px;
  margin: 0;
  padding: 10px 18px;
  min-height: 36px;
  font-size: 12px;
  font-weight: 450;
  background: #f3f3f4;
  color: #777a80;
}
.portal-tabs button:hover {
  background: #e7e7e9;
}
.portal-tabs button.active {
  background: #333639;
  color: #fff;
  font-weight: 500;
}
.portal-report-list {
  background: #f6f6f6;
  border-radius: 16px;
  padding: 8px 18px;
}
.portal-report-row {
  border: 0;
  padding: 14px 8px;
  gap: 13px;
  min-height: 79px;
  border-radius: 9px;
  transition: background 0.16s;
}
.portal-report-row:hover {
  background: #ececee;
}
.portal-report-row h3 {
  color: #34363a;
  font-weight: 450;
  line-height: 1.5;
}
.portal-report-row a:hover h3 {
  color: #1f2124;
  text-decoration: none;
}
.portal-category,
.portal-category.category-weekly,
.portal-category.category-indepth {
  border: 0;
  background: #e8e8ea;
  color: #72757b;
  border-radius: 6px;
  padding: 6px 4px;
  font-weight: 450;
}
.portal-category.category-indepth {
  background: #dce0e5;
  color: #565f6b;
}
.portal-category.category-weekly {
  background: #e2e7e5;
  color: #626f68;
}
.portal-report-topic,
.portal-report-row time {
  color: #92959b;
}
.portal-report-topic > span {
  color: #95989e;
}
.portal-report-row .save-button {
  color: #979ba2;
  border-radius: 50%;
  background: transparent;
}
.portal-report-row .save-button.saved {
  color: #4e5d6c;
  background: #e1e4e8;
}
.portal-topic-links {
  color: #8c8e93;
  padding-top: 18px;
  gap: 12px;
}
.portal-topic-links > span {
  color: #545960;
  font-weight: 500;
}
.portal-topic-links a:hover {
  color: #36393d;
}
.portal-help {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.portal-help .portal-section-heading {
  margin-bottom: 3px;
}
.portal-director {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 14px 17px;
  border-radius: 14px;
  background: #f5f5f5;
}
.portal-director > img {
  width: 62px;
  height: 74px;
  object-fit: cover;
  object-position: 50% 12%;
  border-radius: 12px;
  filter: none;
}
.portal-director > div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.portal-director strong {
  font-size: 16px;
  font-weight: 500;
  color: #33363a;
}
.portal-director span {
  font-size: 10px;
  color: #777b81;
}
.portal-director small {
  font-size: 9px;
  color: #91949a;
  line-height: 1.6;
}
.portal-director:hover {
  background: #ebebed;
}
.portal-pdf-guide {
  border: 0;
  border-radius: 16px;
  background: #303235;
  color: white;
  padding: 21px 20px;
  min-height: 151px;
}
.portal-pdf-guide h3 {
  color: #fff;
  font-size: 16px;
  font-weight: 450;
}
.portal-pdf-guide p {
  color: #b9bcc2;
  font-size: 10px;
}
.portal-pdf-guide img {
  width: 64px;
  height: 91px;
  border: 0;
  box-shadow: 0 5px 15px #0003;
  transform: rotate(5deg);
}
.portal-small-button {
  border: 0;
  border-radius: 6px;
  color: #35383b;
  background: #f4f4f5;
  padding: 8px 12px;
  margin-top: 17px;
}
.portal-small-button:hover {
  background: #fff;
}
.portal-membership-guide {
  border: 0;
  background: #f2f2f3;
  border-radius: 14px;
  padding: 20px;
}
.portal-membership-guide h3 {
  font-size: 15px;
  color: #3f4247;
  font-weight: 450;
}
.portal-membership-guide p {
  color: #90939a;
  font-size: 10px;
}
.portal-membership-guide > a {
  color: #6f747c;
  margin-top: 13px;
  text-decoration: none;
  font-size: 10px;
}
.portal-membership-guide > a:hover {
  color: #303338;
  text-decoration: underline;
}
.portal-help-links {
  border: 0;
  margin: 0;
  gap: 10px;
}
.portal-help-links a {
  background: #f4f4f5;
  color: #7d8188;
  border-radius: 8px;
  padding: 12px 6px;
}
.portal-help-links a + a {
  border: 0;
}
.portal-help-links a:hover {
  background: #e9e9eb;
}
.portal-media {
  padding-top: 40px;
  padding-bottom: 42px;
}
.portal-media .portal-section-heading {
  margin-bottom: 20px;
}
.portal-media-grid {
  border: 0;
  padding-top: 0;
  gap: 25px;
}
.portal-media-image,
.media-lead-thumb,
.video-placeholder,
.video-frame {
  border-radius: 17px;
  overflow: hidden;
}
.portal-media-image {
  aspect-ratio: 16/9;
  background: #eeeeef;
}
.portal-media-image > img,
.media-card .media-lead-thumb img {
  filter: none;
}
.portal-media-image > span,
.media-lead-thumb .play {
  position: absolute;
  left: 50%;
  top: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 50%;
  background: rgba(32, 34, 37, 0.53);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.2s,
    scale 0.2s;
}
.portal-media-image > span .icon,
.media-lead-thumb .play .icon {
  width: 22px;
  height: 22px;
  fill: currentColor;
  stroke: none;
  margin-left: 3px;
}
.portal-media-image:hover > span,
.media-lead-thumb:hover .play {
  background: rgba(32, 34, 37, 0.76);
}
.portal-media-meta {
  color: #9b9da2;
  font-size: 10px;
  margin: 14px 0 8px;
}
.portal-media-meta > span {
  color: #777d85;
}
.portal-media-grid h3 {
  color: #33363b;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}
.portal-business {
  background: #f4f4f5;
  border: 0;
  border-radius: 14px;
  padding: 25px 28px;
}
.portal-business h2 {
  color: #41444a;
  font-weight: 450;
}
.portal-business p {
  color: #8c9097;
}
.portal-business .button {
  background: #fff;
  border: 0;
  color: #656b74;
  border-radius: 8px;
}
.quiet-footer {
  background: #f6f6f7;
  border-top: 0;
}
/* The same finish on catalog, details and media pages. */
.page-intro h1,
.profile-hero h1 {
  color: #303338;
  font-weight: 450;
}
.category,
.source-link {
  color: #656e79;
}
.tabs .tab.active {
  color: #343a42;
  border-color: #555e69;
}
.catalog-sidebar .filter-list .active {
  color: #455362;
  background: #eef0f2;
}
.document-sleeve,
.publication-preview {
  background: #f3f3f4;
  border-radius: 14px;
}
.document-card .folio-dark {
  background: #3b4148;
}
.document-card .folio-white {
  color: #555d68;
}
.profile-hero > img,
.column-photo {
  border-radius: 22px;
  filter: none;
}
.video-placeholder img {
  opacity: 1;
}
.video-placeholder .video-play {
  background: transparent;
  font-size: 0;
}
.video-placeholder .video-play .icon {
  width: 72px;
  height: 72px;
  background: #25282da6;
  color: white;
  fill: white;
  stroke: none;
  padding: 24px;
}
.plan {
  border-radius: 18px;
  background: #32373d;
}
.plan .button.light {
  background: #f2f3f4;
  border: 0;
  color: #343b44;
}
@media (max-width: 1100px) {
  .institution-search {
    width: 285px;
  }
  .portal-banner.premium-banner {
    padding: 28px 35px;
  }
  .premium-banner h1 {
    font-size: 31px;
  }
  .portal-main-grid {
    gap: 25px;
  }
  .portal-report-list {
    padding: 7px 12px;
  }
  .portal-report-row {
    gap: 10px;
  }
  .portal-director {
    padding: 14px;
    gap: 12px;
  }
  .portal-director > img {
    width: 56px;
    height: 69px;
  }
}
@media (max-width: 850px) {
  .institution-search {
    width: 220px;
  }
  .institution-header .header-main {
    height: 78px;
  }
  .portal-banner.premium-banner {
    height: 250px;
    padding: 26px 30px;
  }
  .premium-banner h1 {
    font-size: 29px;
  }
  .portal-banner-art {
    object-position: 58% center;
  }
  .premium-banner:after {
    background: linear-gradient(90deg, #1f222578, transparent 75%);
  }
  .portal-tabs {
    gap: 6px;
  }
  .portal-tabs button {
    padding: 10px 13px;
    font-size: 11px;
  }
  .portal-report-row {
    grid-template-columns: 60px minmax(0, 1fr) 24px;
    gap: 8px;
  }
  .portal-report-list {
    padding: 6px 9px;
  }
  .portal-report-row h3 {
    font-size: 12px;
  }
  .portal-report-row {
    min-height: 85px;
  }
  .portal-help {
    gap: 10px;
  }
  .portal-director {
    gap: 11px;
    padding: 12px;
  }
  .portal-director > img {
    width: 49px;
    height: 61px;
  }
  .portal-director strong {
    font-size: 14px;
  }
  .portal-director small {
    font-size: 8px;
  }
  .portal-pdf-guide {
    padding: 19px 15px;
    min-height: 140px;
  }
  .portal-pdf-guide img {
    width: 45px;
    height: 64px;
  }
  .portal-pdf-guide h3 {
    font-size: 14px;
  }
  .portal-pdf-guide p {
    font-size: 9px;
  }
  .portal-membership-guide {
    padding: 18px 15px;
  }
  .portal-media-grid {
    gap: 18px;
  }
  .portal-media-image > span,
  .media-lead-thumb .play {
    width: 44px;
    height: 44px;
  }
  .portal-media-image > span .icon,
  .media-lead-thumb .play .icon {
    width: 18px;
    height: 18px;
  }
  .portal-media-grid h3 {
    font-size: 13px;
  }
}
@media (max-width: 650px) {
  .institution-header .header-main {
    height: 70px;
  }
  .institution-header .clean-nav.is-open {
    background: #27292b;
  }
  .institution-header .clean-nav > a {
    color: #d3d4d6;
  }
  .institution-header .clean-nav > a:hover {
    background: #3a3c3f;
  }
  .portal-home {
    padding-top: 16px;
  }
  .portal-banner.premium-banner {
    height: 225px;
    padding: 25px 24px;
    border-radius: 16px;
  }
  .premium-banner h1 {
    font-size: 26px;
  }
  .premium-banner .portal-banner-copy > p {
    font-size: 9px;
    margin-top: 12px;
  }
  .premium-banner .portal-banner-links {
    margin-top: 21px;
    gap: 20px;
  }
  .premium-banner .button {
    min-height: 32px;
    font-size: 10px;
    padding: 8px 13px;
  }
  .premium-banner .portal-text-link {
    font-size: 10px;
  }
  .portal-banner-art {
    object-position: 57% center;
  }
  .premium-banner:after {
    background: linear-gradient(90deg, #202225c9 0%, #20222566 55%, #20222511);
  }
  .portal-shortcuts {
    border-radius: 12px;
    min-height: 72px;
    margin-top: 12px;
  }
  .portal-shortcuts a {
    font-size: 9px;
  }
  .portal-main-grid {
    padding-top: 28px;
    gap: 27px;
  }
  .portal-section-heading h2 {
    font-size: 21px;
  }
  .portal-tabs {
    padding-bottom: 13px;
  }
  .portal-tabs button {
    font-size: 11px;
    flex: 1;
    padding: 10px 4px;
  }
  .portal-report-list {
    padding: 5px 10px;
    border-radius: 14px;
  }
  .portal-report-row {
    min-height: 84px;
    padding: 13px 4px;
    gap: 9px;
  }
  .portal-report-row h3 {
    font-size: 13px;
  }
  .portal-help {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .portal-help .portal-section-heading,
  .portal-director,
  .portal-help-links {
    grid-column: 1/-1;
  }
  .portal-director {
    padding: 15px 18px;
    gap: 17px;
  }
  .portal-director > img {
    width: 57px;
    height: 67px;
  }
  .portal-director strong {
    font-size: 16px;
  }
  .portal-director span {
    font-size: 10px;
  }
  .portal-director small {
    font-size: 9px;
  }
  .portal-pdf-guide {
    padding: 19px 16px;
    min-height: 148px;
  }
  .portal-pdf-guide > a {
    display: none;
  }
  .portal-pdf-guide h3 {
    font-size: 14px;
  }
  .portal-membership-guide {
    padding: 19px 16px;
  }
  .portal-membership-guide h3 {
    font-size: 14px;
  }
  .portal-membership-guide p {
    font-size: 10px;
  }
  .portal-media {
    padding-top: 31px;
    padding-bottom: 29px;
  }
  .portal-media-grid {
    display: flex;
    overflow: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    gap: 17px;
    margin-right: -16px;
    padding-right: 16px;
  }
  .portal-media-grid article {
    display: block;
    flex: 0 0 86%;
    scroll-snap-align: start;
  }
  .portal-media-image {
    aspect-ratio: 16/9;
    border-radius: 15px;
  }
  .portal-media-meta {
    display: flex;
    flex-direction: row;
    font-size: 10px;
    margin: 13px 0 8px;
  }
  .portal-media-meta time {
    display: block;
  }
  .portal-media-grid h3 {
    font-size: 14px;
  }
  .portal-media-image > span,
  .media-lead-thumb .play {
    width: 48px;
    height: 48px;
  }
  .portal-media-image > span .icon,
  .media-lead-thumb .play .icon {
    width: 20px;
    height: 20px;
  }
  .portal-business {
    border-radius: 13px;
    padding: 23px 19px;
  }
}
