html {
        min-height: 100%;
      }

      body {
        min-height: 100vh;
        color: var(--app-text);
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }

      body.invest-app-body {
        padding-bottom: 0;
      }

      body.invest-app-body input::placeholder,
      body.invest-app-body textarea::placeholder {
        color: var(--rf-text-muted);
      }

      .invest-nav-shell {
        background: var(--rf-chrome);
      }

      .invest-nav-shell__inner {
        display: flex;
        min-height: 56px;
        align-items: center;
        gap: 1.25rem;
        width: 100%;
        padding-inline: 1rem;
      }

      .invest-nav-shell__brand {
        display: inline-flex;
        align-items: center;
        gap: 0.75rem;
        min-width: 0;
        color: var(--rf-text-primary);
        text-decoration: none;
      }

      .invest-nav-shell__brand img {
        width: auto;
        height: 1.75rem;
        flex: 0 0 auto;
      }

      .invest-nav-shell__brand span {
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: 0.28em;
      }

      .invest-nav-shell__desktop {
        display: none;
        align-items: center;
        gap: 1.5rem;
        margin-left: 1rem;
      }

      .invest-nav-shell__desktop a,
      .invest-nav-shell__langs a {
        color: var(--app-muted);
        text-decoration: none;
        transition: color 160ms ease;
      }

      .invest-nav-shell__desktop a {
        font-size: 0.82rem;
      }

      .invest-nav-shell__desktop a:hover,
      .invest-nav-shell__desktop a.is-active,
      .invest-nav-shell__langs a:hover,
      .invest-nav-shell__langs a.is-active {
        color: var(--rf-text-primary);
      }

      .invest-funding-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        margin-left: auto;
        min-width: 0;
        height: 2.85rem;
        max-width: 46vw;
        padding: 0.25rem 0.8rem 0.25rem 0.35rem;
        border-radius: 999px;
        background: var(--rf-surface-hover);
        color: var(--rf-text-primary);
        text-decoration: none;
      }

      .invest-funding-pill.is-active {
        background: var(--rf-surface-active);
      }

      .invest-funding-pill__plus {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 999px;
        background: var(--rf-warning);
        color: var(--rf-bg);
        font-size: 1.25rem;
        font-weight: 800;
        line-height: 1;
      }

      .invest-funding-pill__body {
        display: grid;
        min-width: 0;
        gap: 0.08rem;
        line-height: 1;
      }

      .invest-funding-pill__line {
        display: inline-flex;
        min-width: 0;
        align-items: center;
        gap: 0.35rem;
      }

      .invest-funding-pill__amount {
        overflow: hidden;
        max-width: 7.5rem;
        text-overflow: ellipsis;
        font-size: 0.9rem;
        font-weight: 650;
      }

      .invest-funding-pill__currency,
      .invest-funding-pill__select {
        font-size: 0.72rem;
        font-weight: 650;
        letter-spacing: 0.12em;
        color: var(--app-muted);
      }

      .invest-funding-pill__select {
        max-width: 5rem;
        border: 0;
        background: transparent;
        padding: 0 1rem 0 0;
        outline: none;
        color: var(--rf-text-primary);
      }

      .invest-funding-pill__select option {
        background: var(--rf-surface-raised);
        color: var(--rf-text-primary);
      }

      .invest-funding-pill__return {
        overflow: hidden;
        max-width: 100%;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.66rem;
        font-weight: 600;
        color: var(--app-muted);
      }

      .invest-funding-pill__return.is-positive {
        color: var(--app-green);
      }

      .invest-funding-pill__return.is-negative {
        color: var(--app-red);
      }

      .invest-nav-shell__right {
        display: inline-flex;
        align-items: center;
        gap: 0.75rem;
      }

      .invest-nav-shell__langs {
        display: none;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.7rem;
        font-weight: 650;
        letter-spacing: 0.2em;
        color: var(--rf-text-muted);
      }

      .invest-exit-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.2rem;
        height: 2.2rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--app-muted);
        padding: 0;
        font-size: 0;
        text-decoration: none;
        cursor: pointer;
      }

      .invest-exit-link::before {
        content: "";
        width: 1.08rem;
        height: 1.08rem;
        opacity: 0.78;
        background: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 7V5a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-2M15 12H3m0 0 4-4m-4 4 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 7V5a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-2M15 12H3m0 0 4-4m-4 4 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
      }

      .invest-exit-link:hover,
      .invest-exit-link:focus-visible {
        color: var(--rf-text-primary);
      }

      .invest-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 50;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.25rem;
        padding: 0.45rem 0.65rem calc(env(safe-area-inset-bottom) + 0.45rem);
        border-top: 1px solid var(--rf-chrome-border);
        background: var(--rf-chrome);
        backdrop-filter: blur(18px);
      }

      .invest-bottom-nav a {
        display: inline-flex;
        min-width: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.25rem;
        min-height: 3.6rem;
        color: var(--app-muted);
        text-align: center;
        text-decoration: none;
      }

      .invest-bottom-nav a.is-active {
        color: var(--rf-text-secondary);
      }

      .invest-bottom-nav svg {
        width: 1.35rem;
        height: 1.35rem;
      }

      .invest-bottom-nav span {
        overflow: hidden;
        max-width: 100%;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.7rem;
      }

      header[data-invest-nav] ~ main {
        width: 100%;
        max-width: 80rem;
        margin-inline: auto;
        padding: 1.5rem 1rem 6.25rem !important;
      }

      header[data-invest-nav] ~ main > .border,
      header[data-invest-nav] ~ main > [class*=" border "],
      header[data-invest-nav] ~ main > [class^="border "],
      header[data-invest-nav] ~ main > section,
      header[data-invest-nav] ~ main > div[id$="Layout"] {
        border-width: 0 !important;
        background-color: transparent !important;
      }

      @media (min-width: 640px) {
        .invest-nav-shell__inner {
          padding-inline: 1.5rem;
        }

        .invest-nav-shell__langs {
          display: inline-flex;
        }

        header[data-invest-nav] ~ main {
          padding-inline: 1.5rem !important;
        }
      }

      @media (min-width: 1024px) {
        .invest-nav-shell__inner {
          padding-inline: 2rem;
        }

        .invest-nav-shell__desktop {
          display: inline-flex;
        }

        .invest-bottom-nav {
          display: none;
        }

        header[data-invest-nav] ~ main {
          padding: 2rem 2rem 3rem !important;
        }
      }

      @media (max-width: 480px) {
        .invest-nav-shell__inner {
          min-height: 58px;
          gap: 0.65rem;
        }

        .invest-nav-shell__brand {
          gap: 0.55rem;
        }

        .invest-nav-shell__brand img {
          height: 1.75rem;
        }

        .invest-nav-shell__brand span {
          font-size: 0.78rem;
          letter-spacing: 0.22em;
        }

        .invest-funding-pill {
          max-width: 36vw;
          height: 2.5rem;
          gap: 0.3rem;
          padding-right: 0.5rem;
        }

        .invest-funding-pill__plus {
          width: 1.55rem;
          height: 1.55rem;
          font-size: 1.05rem;
        }

        .invest-funding-pill__amount {
          max-width: 4rem;
          font-size: 0.8rem;
        }

        .invest-funding-pill__currency,
        .invest-funding-pill__select {
          display: none;
        }

        .invest-funding-pill__return {
          font-size: 0.6rem;
        }

        .invest-nav-shell__right {
          gap: 0.45rem;
        }
      }

/* Public Invest layout from RicherFin_Invest_Apercu.html.
   Colours, surfaces and the page background remain owned by site_theme.css.
   Existing page controls and server-side visibility branches keep their owners. */
.invest-reference {
  font-family: var(--rf-font-sans);
  font-size: var(--rf-font-body);
  line-height: 1.55;
}
/* Reference dimensions use the existing global navigation and theme assets. */
.invest-reference .rf-richerai-subnav__track { width: calc(100% - 80px); max-width: 1480px; height: 45px; margin-inline: auto; padding: 0; gap: 30px; }
.invest-reference .rf-richerai-subnav__item { min-height: 45px; font-size: var(--rf-font-dense); }
.invest-reference .rf-invest-start-link { display: inline-flex; align-items: center; padding-block: 0; font-size: var(--rf-font-dense); font-weight: 400; border-left: 0; }
.invest-reference :is(input, select, textarea) { color-scheme: dark; }
.invest-reference option { color: var(--rf-text-primary); background: var(--rf-bg-soft); }
.invest-reference :is(.markets-shell, .afex-page, .pm-main, .project-sheet, .invest-bond-catalog) {
  width: var(--rf-content-width);
  max-width: var(--rf-content-max-width);
  margin-inline: auto;
  padding-inline: 0;
}
.invest-reference .markets-page::after { content: none; }
.invest-reference .markets-page { min-height: 70vh; }
.invest-reference .markets-shell-wrapper {
  width: 100%;
  max-width: none;
  padding: 0;
}
.invest-reference .markets-shell-wrapper > .max-w-7xl {
  width: var(--rf-content-width);
  max-width: var(--rf-content-max-width);
  padding: 24px 0 60px;
}
.invest-reference :is(.invest-hero, .afex-hero) {
  padding: 44px 0 29px;
  border: 0;
}
.invest-reference :is(.invest-hero h1, .afex-hero h1, .invest-bond-catalog h1) {
  font: 500 54px/1.16 var(--rf-font-heading);
  letter-spacing: -.035em;
  margin: 15px 0 0;
  max-width: 860px;
  color: var(--rf-text-primary);
}
.invest-reference .invest-hero .institutional-page-header { margin: 0; padding: 0; border: 0; }
.invest-reference .invest-hero .institutional-page-header__title {
  font: 500 54px/1.16 var(--rf-font-heading);
  letter-spacing: -.035em;
  margin: 15px 0 0;
  max-width: 800px;
}
.invest-reference .invest-hero .institutional-page-header__subtitle {
  margin: 17px 0 0;
  font-size: var(--rf-font-lead);
  line-height: 1.7;
  max-width: 765px;
}
.invest-reference .pm-heading { padding: 44px 0 29px; border: 0; }
.invest-reference .pm-heading h1 {
  font: 500 54px/1.16 var(--rf-font-heading);
  letter-spacing: -.035em;
}

.invest-reference :is(.invest-eyebrow, .afex-kicker) {
  margin: 0;
  color: var(--rf-financial-accent);
  font-size: var(--rf-font-meta);
  font-weight: 600;
  letter-spacing: 1.6px;
  line-height: 1.65;
  text-transform: uppercase;
}
.invest-reference :is(.invest-lead, .afex-deck) {
  max-width: 765px;
  margin: 17px 0 0;
  color: var(--rf-text-secondary);
  font-size: var(--rf-font-lead);
  line-height: 1.7;
}
.invest-reference .companies-panel .company-table { border: 0; }
.invest-reference :is(.invest-section-head, .invest-directory-heading) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 18px;
}
.invest-reference :is(.invest-section-head h2, .invest-directory-heading h2, .afex-section h2) {
  font: 500 28px/1.16 var(--rf-font-heading);
  letter-spacing: -.035em;
  margin: 0;
}
.invest-reference :is(.invest-section-head > span, .invest-directory-heading > span) { color: var(--rf-text-muted); font-size: var(--rf-font-meta); }
.invest-reference .markets-filter-strip { display: block; margin-top: 0; }
.invest-reference .exchange-track { min-height: 45px; border: 0; }
.invest-reference .exchange-filter { min-height: 45px; padding-inline: 16px; font-size: var(--rf-font-dense); }
.invest-reference .exchange-separator { height: 22px; }
.invest-reference .exchange-logo { max-height: 24px; max-width: 65px; }
.invest-reference .companies-panel { margin-top: 0; border: 0; background: none; }
.invest-reference .markets-page .company-row { padding: 12px 0; border-bottom: 1px solid var(--rf-border-soft); }
.invest-reference .company-row.table-head { min-height: 36px; font-size: var(--rf-font-meta); letter-spacing: 1px; border-block: 1px solid var(--rf-line); }
.invest-reference .company-list-row .company-cell { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.invest-reference .company-list-row .company-name { flex: 0 1 auto; min-width: 0; }
.invest-reference .company-list-row .ticker { display: inline; flex: 0 1 auto; min-width: 0; margin: 0; letter-spacing: 0; color: var(--rf-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.invest-reference .company-list-row .exchange-flag { display: flex; align-items: center; gap: 8px; }
.invest-reference .company-list-row .exchange-flag svg { flex: 0 0 20px; width: 20px; height: 20px; }
.invest-reference .company-list-row .exchange-code { display: inline; color: var(--rf-text-muted); font-size: var(--rf-font-meta); line-height: 1.4; }
.invest-reference .markets-page .company-list-row:not(.table-head) { min-height: 52px; padding-block: 10px; }
.invest-reference .company-name { font-size: var(--rf-font-dense); font-weight: 400; color: var(--rf-text-primary); }
.invest-reference :is(.ticker, .company-sector, .company-data-date) { font-size: var(--rf-font-meta); }
.invest-reference .afex-map-status { font-size: var(--rf-font-meta); margin: 0; }
.invest-reference .invest-exchange-catalog { padding-bottom: 24px; }
.invest-reference .afex-market-link { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0; border: 0; min-height: 0; color: var(--rf-text-primary); }
.invest-reference .afex-market-link strong { flex: none; color: var(--rf-text-primary); font-size: var(--rf-font-dense); font-weight: 400; }
.invest-reference .afex-market-link small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--rf-font-dense); color: var(--rf-text-muted); }
.invest-reference .afex-market-link:hover, .invest-reference .afex-market-link[data-active] { color: var(--rf-financial-accent); }
.invest-reference .invest-atlas-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; max-width: 570px; }
.invest-reference .invest-atlas-links a { display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid var(--rf-border-soft); padding: 12px 0; }
.invest-reference .invest-atlas-links strong { font-size: var(--rf-font-body); font-weight: 400; }
.invest-reference .invest-atlas-links small { display: block; color: var(--rf-text-muted); font-size: var(--rf-font-meta); margin-top: 3px; }
.invest-reference .invest-atlas-links a > span:last-child { color: var(--rf-financial-accent); }
.invest-reference .invest-exchange-scroll { position: relative; overflow-x: auto; }
.invest-reference .invest-exchange-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: var(--rf-font-dense); font-variant-numeric: tabular-nums; }
.invest-reference .invest-exchange-table th { text-align: left; color: var(--rf-text-muted); font-size: var(--rf-font-meta); font-weight: 400; letter-spacing: 1px; text-transform: uppercase; padding: 11px; border-bottom: 1px solid var(--rf-line); white-space: nowrap; }
.invest-reference .invest-exchange-table td { padding: 12px 11px; line-height: 1.45; border-bottom: 1px solid var(--rf-border-soft); color: var(--rf-text-secondary); }
.invest-reference .invest-exchange-table :is(th, td):first-child { padding-left: 0; }
.invest-reference .invest-exchange-table :is(th, td):last-child { padding-right: 0; }
.invest-reference .invest-exchange-table .invest-exchange-country { width: 21%; }
.invest-reference .invest-exchange-table td.invest-exchange-country { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.invest-reference .invest-exchange-table th:nth-child(3) { width: 18%; }
.invest-reference .invest-exchange-table th:nth-child(4) { width: 10%; }
.invest-reference .invest-exchange-table .invest-num { text-align: right; white-space: nowrap; }
.invest-reference .invest-exchange-table :is(th, td):last-child { color: var(--rf-financial-accent); width: 35px; }
.invest-reference .afex-section-head { display: flex; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.invest-reference .afex-copy, .invest-reference .afex-section-head > p { max-width: 760px; margin: 0; color: var(--rf-text-muted); font-size: var(--rf-font-body); line-height: 1.7; }
.invest-reference .afex-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 24px; }
.invest-reference .afex-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.invest-reference .afex-button { display: inline-flex; align-items: center; min-height: 40px; padding: 9px 17px; border: 1px solid var(--rf-line); color: var(--rf-financial-accent); font-size: var(--rf-font-dense); }
.invest-reference .afex-section:not(.invest-atlas) { padding: 29px 0; }
.invest-reference .afex-principles { gap: 24px; background: none; }
.invest-reference .afex-principles article { padding-inline: 0; background: none; }
.invest-reference .afex-principles h3 { font: 500 23px/1.2 var(--rf-font-heading); }
.invest-reference .afex-principles p { font-size: var(--rf-font-body); }
.invest-reference :is(.company-title, .exchange-overview h1, .project-header h1) {
  font: 500 51px/1.16 var(--rf-font-heading);
  letter-spacing: -.035em;
  margin: 13px 0 10px;
}
.invest-reference :is(.company-exchange-kicker .rf-label, .project-product-label) {
  color: var(--rf-financial-accent);
  font-size: var(--rf-font-meta);
  letter-spacing: 1.6px;
}
.invest-reference :is(.company-tear-sheet, .exchange-tear-sheet) { gap: 25px 40px; }
.invest-reference :is(.company-side-rail, .exchange-sidebar) { padding-left: 26px; }
.invest-reference :is(.company-side-label, .company-tear-sheet > section h2, .exchange-tear-sheet > section h2, .project-detail-section h2) {
  font: 500 28px/1.16 var(--rf-font-heading);
  letter-spacing: -.035em;
  text-transform: none;
}
.invest-reference .company-side-label { font-size: 23px; }
.invest-reference .company-price-strip { border: 0; box-shadow: none; background: none; }
.invest-reference .invest-detail-tabs {
  display: flex;
  gap: 27px;
  align-items: center;
  min-height: 47px;
  border-block: 1px solid var(--rf-line);
  overflow-x: auto;
  font-size: var(--rf-font-dense);
}
.invest-reference .invest-detail-tabs a { padding: 13px 0; white-space: nowrap; color: var(--rf-text-secondary); }
.invest-reference .invest-detail-tabs a:first-child { color: var(--rf-financial-accent); }
.invest-reference .company-detail-tabs { order: 2; }
.invest-reference .invest-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 45px; }
.invest-reference .invest-detail-main { min-width: 0; }
.invest-reference .invest-detail-side { padding-top: 29px; }
.invest-reference .invest-action-box { position: sticky; top: 150px; padding-top: 19px; border-top: 2px solid var(--rf-financial-accent); }
.invest-reference .invest-action-box h2 { margin: 12px 0 17px; font: 500 25px/1.2 var(--rf-font-heading); }
.invest-reference .invest-action-box .project-header-actions { flex-direction: column; align-items: stretch; }
.invest-reference .project-header-actions a { justify-content: center; min-height: 40px; font-size: var(--rf-font-dense); text-transform: none; letter-spacing: 0; }
.invest-reference .project-header { padding: 30px 0 25px; }
.invest-reference .project-utility { border: 0; }
.invest-reference .project-detail-section { padding: 29px 0; }
.invest-reference .project-detail-section h2 { margin-bottom: 18px; }
.invest-reference .project-detail-section p { font-size: var(--rf-font-body); line-height: 1.75; }
.invest-reference .invest-project-hero { padding: 44px 0 29px; }
.invest-reference .invest-project-hero .invest-eyebrow h1 { display: inline; margin: 0; font: inherit; letter-spacing: inherit; }
.invest-reference .invest-project-headline { max-width: 860px; margin: 15px 0 0; font: 500 54px/1.16 var(--rf-font-heading); letter-spacing: -.035em; color: var(--rf-text-primary); }
.invest-reference .invest-project-result-label { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 0 8px; color: var(--rf-text-muted); font-size: var(--rf-font-meta); }
.invest-reference .pm-active-filters:not(:has(button)) { display: none; }
.invest-reference .invest-project-results { min-width: 0; }
.invest-reference .invest-project-row { cursor: pointer; }
.invest-reference .invest-project-row:hover { background: var(--rf-surface-soft); }
.invest-reference .invest-project-row:focus-visible { outline: 1px solid var(--rf-financial-accent); outline-offset: -1px; }
.invest-reference .invest-project-table-wrap { width: 100%; overflow-x: auto; }
.invest-reference .invest-project-table { border-collapse: collapse; table-layout: fixed; width: 100%; text-align: left; font-size: var(--rf-font-dense); }
.invest-reference .invest-project-table th { font-size: var(--rf-font-meta); letter-spacing: 1px; text-transform: uppercase; color: var(--rf-text-muted); font-weight: 400; padding: 11px; border-bottom: 1px solid var(--rf-line); white-space: nowrap; }
.invest-reference .invest-project-table .invest-project-row { display: table-row; min-width: 0; min-height: 0; padding: 0; border: 0; color: var(--rf-text-secondary); font-size: var(--rf-font-dense); line-height: 1.45; }
.invest-reference .invest-project-table td { white-space: normal; overflow: visible; text-overflow: clip; padding: 8px 11px; border-bottom: 1px solid var(--rf-border-soft); vertical-align: middle; line-height: 1.45; }
.invest-reference .invest-project-table :is(th, td):first-child { padding-left: 0; }
.invest-reference .invest-project-table :is(th, td):last-child { padding-right: 0; }
.invest-reference .invest-project-table th:first-child { width: 14%; }
.invest-reference .invest-project-table th:nth-child(2) { width: 47%; }
.invest-reference .invest-project-table th:nth-child(3) { width: 19%; }
.invest-reference .invest-project-table th:nth-child(4) { width: 15%; }
.invest-reference .invest-project-table th:nth-child(5) { width: 5%; }
.invest-reference .invest-project-table .invest-project-name { min-width: 245px; max-width: 390px; }
.invest-reference .invest-project-name > a { display: flex; align-items: flex-start; gap: 7px; min-width: 0; color: var(--rf-text-primary); font-size: var(--rf-font-dense); font-weight: 400; }
.invest-reference .invest-project-title { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.invest-reference .invest-project-mobile-flag { display: none; }
.invest-reference .invest-project-table .invest-project-secondary { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.invest-reference .invest-project-country { border-bottom: 1px solid var(--rf-line); }
.invest-reference .invest-project-cost { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.invest-reference .invest-project-table .invest-project-action { width: 40px; text-align: right; }
.invest-reference .invest-project-action :is(button, a) { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; background: transparent; color: var(--rf-financial-accent); }
.invest-reference .invest-project-action button { color: var(--rf-text-muted); font-size: 24px; cursor: pointer; }
.invest-reference .invest-project-action button[aria-pressed="true"] { color: var(--rf-financial-accent); }
.invest-reference .invest-project-action button:disabled { cursor: wait; }
.invest-reference .invest-project-action svg { width: 18px; height: 18px; stroke-width: 1.45; }
.invest-reference .pm-main { padding-bottom: 60px; }
.invest-reference .invest-project-note { padding: 14px 0; margin: 0; color: var(--rf-text-muted); font-size: var(--rf-font-meta); line-height: 1.7; }
.invest-reference .invest-project-sources { border-top: 1px solid var(--rf-line); padding: 17px 0; margin-top: 20px; }
.invest-reference .invest-project-sources summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; font-size: var(--rf-font-meta); color: var(--rf-text-muted); cursor: pointer; list-style: none; }
.invest-reference .invest-project-sources summary::-webkit-details-marker { display: none; }
.invest-reference .invest-project-sources summary > span { color: var(--rf-financial-accent); font-size: 17px; }
.invest-reference .invest-project-sources p { font-size: var(--rf-font-meta); line-height: 1.75; max-width: 880px; margin-top: 17px; color: var(--rf-text-secondary); }
@media (max-width: 740px) {
  .invest-reference .invest-project-hero { padding: 31px 0 25px; }
  .invest-reference .invest-project-headline { font-size: 32px; line-height: 1.13; letter-spacing: -1.2px; }
  .invest-reference .invest-project-hero .invest-lead { font-size: var(--rf-font-lead); margin-top: 15px; }
  .invest-reference .invest-project-result-label { font-size: var(--rf-font-meta); line-height: 1.7; }
  .invest-reference .invest-project-result-label > span { max-width: 55%; }
  .invest-reference .invest-project-table { table-layout: fixed; }
  .invest-reference .invest-project-table th:nth-child(2) { width: 60%; padding-left: 0; }
  .invest-reference .invest-project-table th:nth-child(4) { width: 32%; }
  .invest-reference .invest-project-table th:nth-child(5) { width: 8%; }
  .invest-reference .invest-project-table .invest-project-secondary { display: none; }
  .invest-reference .invest-project-table th { font-size: var(--rf-font-meta); letter-spacing: .65px; padding: 10px 6px; }
  .invest-reference .invest-project-table td { padding: 8px 6px; }
  .invest-reference .invest-project-table .invest-project-name { min-width: 0; max-width: none; padding-left: 0; }
  .invest-reference .invest-project-name > a { line-height: 1.4; }
  .invest-reference .invest-project-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; }
  .invest-reference .invest-project-mobile-flag { display: inline; flex-shrink: 0; }
  .invest-reference .invest-project-table .invest-project-cost { font-size: var(--rf-font-meta); white-space: normal; }
  .invest-reference .invest-project-table .invest-project-action { width: 24px; }
  .invest-reference .invest-project-action :is(button, a) { width: 24px; }
  .invest-reference .invest-project-action svg { width: 14px; }
}
/* Bonds use the catalogue header, filters, map and pagination shared by Invest. */
.invest-reference .invest-bond-catalog { padding-block: 0 60px; }
.invest-reference .bond-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: var(--rf-font-dense); }
.invest-reference .bond-table :is(th, td) { padding: 12px 10px; border-bottom: 1px solid var(--rf-border-soft); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.invest-reference .bond-table th { color: var(--rf-text-muted); font-size: var(--rf-font-meta); font-weight: 400; border-bottom-color: var(--rf-border-strong); }
.invest-reference .bond-table td { color: var(--rf-text-secondary); }
.invest-reference .bond-table :is(th, td):first-child { padding-left: 0; }
.invest-reference .bond-table :is(th, td):last-child { padding-right: 0; }
.invest-reference .bond-table .bond-col-country { width: 17%; }
.invest-reference .bond-table .bond-col-instrument { width: 41%; }
.invest-reference .bond-table .bond-col-coupon { width: 12%; text-align: right; }
.invest-reference .bond-table .bond-col-maturity { width: 12%; text-align: right; }
.invest-reference .bond-table .bond-col-price { width: 18%; text-align: right; font-variant-numeric: tabular-nums; }
.invest-reference .bond-instrument summary { display: flex; align-items: baseline; gap: 8px; min-width: 0; cursor: pointer; list-style: none; }
.invest-reference .bond-instrument summary::-webkit-details-marker { display: none; }
.invest-reference .bond-instrument summary::after { content: '+'; margin-left: auto; color: var(--rf-financial-accent); }
.invest-reference .bond-instrument[open] summary::after { content: '−'; }
.invest-reference .bond-instrument strong { color: var(--rf-text-primary); font-weight: 400; flex: none; }
.invest-reference .bond-instrument-name { color: var(--rf-text-muted); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.invest-reference .bond-tax-status { color: var(--rf-text-muted); }
.invest-reference .bond-instrument-facts { margin: 16px 0 0; }
.invest-reference .bond-instrument-facts > div { padding-block: 8px; border-top: 1px solid var(--rf-border-soft); }
.invest-reference .bond-instrument-facts dt { color: var(--rf-text-muted); }
.invest-reference .bond-instrument-facts dd { margin: 0; color: var(--rf-text-primary); }
.invest-reference .bond-mobile-flag { display: none; }
.invest-reference .bond-empty { padding-block: 32px; }
@media (max-width: 740px) {
  .invest-reference .bond-table :is(.bond-col-country, .bond-col-coupon, .bond-col-maturity) { display: none; }
  .invest-reference .bond-table .bond-col-instrument { width: 60%; padding-left: 0; }
  .invest-reference .bond-table .bond-col-price { width: 40%; }
  .invest-reference .bond-mobile-flag { display: inline; flex: none; }
  .invest-reference .bond-instrument-name { display: none; }
  .invest-reference .bond-instrument strong { flex: 0 1 auto; overflow-wrap: anywhere; min-width: 0; }
}
.invest-reference .rai-reference { background: transparent; }
.invest-reference .rai-reference .wrap { width: var(--rf-content-width); max-width: var(--rf-content-max-width); }
.invest-reference .rai-reference .page-heading { padding: 44px 0 29px; }
.invest-reference .rai-reference .page-heading h1 { font-size: 54px; line-height: 1.16; }
.invest-reference .rai-reference .page-heading p { font-size: var(--rf-font-lead); max-width: 765px; }
.invest-reference .rai-reference .rating-header { padding: 30px 0 25px; }
.invest-reference .rai-reference .country-heading h1 { font-size: 51px; }
.invest-reference .rai-reference .rating-section { padding: 29px 0; }
.invest-reference .rai-reference .rating-section h2 { font-size: 28px; }
/* The Invest directory reuses Ratings data and interactions, with the catalogue layout. */
.invest-countries .rai-reference { font-family: inherit; }
.invest-reference .invest-map-header { display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: center; gap: 32px; padding: 32px 0 24px; }
.invest-countries .rai-reference .page-heading h1 { font-family: var(--rf-font-heading); font-weight: 500; letter-spacing: -.035em; }
.invest-countries .rai-reference .select-box { height: 37px; max-width: 220px; font-size: var(--rf-font-meta); background-color: var(--rf-bg-soft); color-scheme: dark; }
.invest-countries .rai-reference .data-table thead { border-top: 0; }
.invest-countries .rai-reference .data-table th { padding: 12px 10px; font-size: var(--rf-font-meta); }
.invest-countries .rai-reference .data-table td { padding: 11px 10px; font-size: var(--rf-font-dense); }
.invest-countries .rai-reference .data-table :is(th,td):first-child { padding-left: 0; }
.invest-countries .rai-reference .country-cell { display: flex; flex-wrap: nowrap; min-width: 0; gap: 6px; }
.invest-countries .rai-reference .country-cell > div { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.invest-countries .rai-reference .country-cell a { font-size: var(--rf-font-dense); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.invest-countries .rai-reference .country-cell .code { display: inline; flex: 0 0 auto; margin: 0; }
.invest-countries .rai-reference .country-flag { width: 20px; flex-shrink: 0; font-size: 17px; }
.invest-countries .rai-reference .data-table .country-action { width: 40px; padding-inline: 3px; text-align: right; }
.invest-countries .rai-reference .country-action .icon-button { border: 0; width: 30px; height: 30px; background: transparent; }
.invest-countries .rai-reference .country-action a { color: var(--rf-financial-accent); }
.invest-countries .invest-countries-context { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--rf-line); }
.invest-countries .invest-countries-context > div + div { border-left: 1px solid var(--rf-line); padding-left: 44px; }
.invest-countries .invest-countries-context h2 { margin: 12px 0; font: 500 30px/1.2 var(--rf-font-heading); }
.invest-countries .invest-countries-context p { max-width: 520px; margin: 0 0 15px; font-size: var(--rf-font-body); line-height: 1.75; }
.invest-countries .invest-countries-context .text-button { margin-right: 20px; }
.invest-reference .invest-country-map-panel { position: relative; min-width: 0; padding-left: 25px; border-left: 1px solid var(--rf-line); }
.invest-reference .invest-country-map-panel > summary { display: none; cursor: pointer; color: var(--rf-financial-accent); font-size: var(--rf-font-meta); padding: 8px 0; }
.invest-reference .invest-country-flags { display: inline-flex; flex-wrap: wrap; gap: 3px; vertical-align: middle; max-width: 110px; }
.invest-reference .invest-country-map-panel .afex-map-host { display: flex; justify-content: center; }
.invest-reference .invest-country-map-panel svg { display: block; width: 100%; height: auto; aspect-ratio: 1; max-width: 100%; }
.invest-reference .invest-map-header .invest-country-map-panel p { margin: 5px 0 0; font-size: var(--rf-font-meta); line-height: 1.6; color: var(--rf-text-muted); }
.invest-countries .rai-reference .data-table { table-layout: fixed; }
.invest-countries .rai-reference .data-table th:first-child { width: 37%; }
.invest-countries .rai-reference .data-table .region-col { width: 25%; }
.invest-countries .rai-reference .data-table .currency-col { width: 13%; text-align: left; white-space: nowrap; }
.invest-countries .rai-reference .data-table .markets-col { width: 20%; }
.invest-countries .rai-reference .data-table .country-action { width: 5%; }
.invest-countries .country-market-link { color: var(--rf-financial-accent); font-size: var(--rf-font-meta); letter-spacing: .3px; }
.invest-countries .invest-country-profile-links a { display: block; border-bottom: 1px solid var(--rf-line); padding: 13px 0; font-size: var(--rf-font-dense); color: var(--rf-text-primary); }
.invest-countries .invest-country-profile-links small { display: block; margin-top: 3px; font-size: var(--rf-font-meta); color: var(--rf-text-muted); }
.invest-countries .invest-project-sources { margin-top: 45px; }
.invest-countries .invest-project-sources h2 { font: 500 24px/1.2 var(--rf-font-heading); margin-top: 15px; }
@media (max-width: 1100px) {
  .invest-reference .invest-map-header { grid-template-columns: minmax(0, 1fr) 280px; gap: 25px; }
  .invest-reference .invest-country-map-panel { padding-left: 15px; }
}
@media (max-width: 740px) {
  .invest-reference .invest-map-header { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .invest-reference .invest-country-map-panel > summary { display: list-item; }
  .invest-reference .invest-country-map-panel[open] > summary { margin-bottom: 8px; }
  .invest-reference .invest-directory-heading { gap: 10px; margin-bottom: 10px; }
  .invest-reference .invest-directory-heading h2 { font-size: 22px; }
  .invest-reference .invest-directory-heading > span { display: none; }
  .invest-reference .invest-exchange-table { min-width: 0; }
  .invest-reference .invest-exchange-table .invest-exchange-country { width: 45%; }
  .invest-reference .invest-exchange-table :is(th, td):nth-child(2) { padding-right: 0; }
  .invest-reference .invest-exchange-table th.invest-exchange-country { white-space: normal; }
  .invest-reference .invest-exchange-table :is(th, td):last-child { display: none; }
  .invest-reference .invest-exchange-table td { padding-block: 9px; }

  .invest-reference .invest-country-map-panel { border-left: 0; border-top: 1px solid var(--rf-line); padding: 15px 0 0; }
  .invest-reference .invest-country-map-panel svg { width: min(100%, 320px); height: auto; aspect-ratio: 1; }
  .invest-countries .rai-reference .data-table { table-layout: fixed; width: 100%; min-width: 0; }
  .invest-countries .rai-reference .data-table th:first-child { width: auto; }
  .invest-countries .rai-reference .data-table .markets-col { display: none; }
  .invest-countries .rai-reference .country-cell a { font-size: var(--rf-font-dense); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

  .invest-countries .rai-reference .select-box { width: 100%; max-width: none; }
  .invest-countries .rai-reference .data-table .currency-col { display: table-cell; width: 112px; }
  .invest-countries .rai-reference .country-cell { min-width: 0; }
  .invest-countries .rai-reference .data-table :is(th,td) { padding-inline: 6px; }
  .invest-countries .rai-reference .data-table .country-action { width: 25px; padding-inline: 0; }
  .invest-countries .rai-reference .country-action .icon-button { width: 25px; }
  .invest-countries .invest-countries-context { grid-template-columns: 1fr; gap: 26px; }
  .invest-countries .invest-countries-context > div + div { border-left: 0; padding: 25px 0 0; border-top: 1px solid var(--rf-line); }
}

@media (min-width: 1024px) {
  .invest-reference .company-tear-sheet,
  .invest-reference .company-tear-sheet--without-prices {
    grid-template-columns: minmax(0, 1fr) 310px;
    grid-template-areas: "back back" "hero hero" "tabs tabs" "price side" "overview side" "fundamentals side";
  }
  .invest-reference .company-tear-sheet--without-prices {
    grid-template-areas: "back back" "hero hero" "tabs tabs" "overview side" "price side" "fundamentals side";
  }
  .invest-reference .company-detail-tabs { grid-area: tabs; }
  .invest-reference .company-securities { grid-column: 1; }
  .invest-reference .exchange-tear-sheet { grid-template-columns: minmax(0, 1fr) 310px; }
  .invest-reference .exchange-overview { grid-column: 1 / -1; grid-row: 2; }
  .invest-reference .exchange-price-history { grid-column: 1; grid-row: 3; }
  .invest-reference .exchange-sidebar { grid-column: 2; grid-row: 3 / span 2; }
  .invest-reference .exchange-listed-companies { grid-column: 1; grid-row: 4; }
}
@media (max-width: 1000px) {
  .invest-reference .invest-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .invest-reference .invest-detail-side { padding-top: 0; }
  .invest-reference .invest-action-box { position: static; }
}
@media (max-width: 740px) {
  .invest-reference .rf-richerai-subnav__track { width: var(--rf-content-width); height: 43px; gap: 24px; }
  .invest-reference .rf-richerai-subnav__item { min-height: 43px; font-size: var(--rf-font-meta); }
  .invest-reference :is(.invest-hero, .afex-hero, .invest-bond-catalog > header) { padding: 29px 0 24px; }
  .invest-reference .invest-hero .institutional-page-header__title, .invest-reference .pm-heading h1 { font-size: 32px; }
  .invest-reference .invest-hero .institutional-page-header__subtitle { font-size: var(--rf-font-lead); }
  .invest-reference .pm-heading { padding: 31px 0 25px; }
  .invest-reference :is(.invest-hero h1, .afex-hero h1, .invest-bond-catalog h1, .rai-reference .page-heading h1) { font-size: 32px; }
  .invest-reference :is(.invest-lead, .afex-deck, .invest-bond-catalog > header .max-w-3xl) { font-size: var(--rf-font-lead); }
  .invest-reference :is(.company-title, .exchange-overview h1, .project-header h1, .rai-reference .country-heading h1) { font-size: 36px; }
  .invest-reference :is(.company-side-rail, .exchange-sidebar) { padding-left: 0; }
  .invest-reference .invest-detail-tabs { gap: 23px; font-size: var(--rf-font-meta); }
  .invest-reference .invest-detail-grid { gap: 24px; }
  .invest-reference .invest-section-head { align-items: start; }
  .invest-reference .invest-exchange-table .invest-col-secondary { display: none; }
  .invest-reference .company-row.company-list-row { grid-template-columns: 86px minmax(0, 1fr); gap: 3px 10px; }
  .invest-reference .company-list-row .company-cell { grid-column: 2; grid-row: 1; gap: 8px; }
  .invest-reference .company-list-row .company-name { line-height: 1.3; }
  .invest-reference .company-list-row .company-data-date { grid-column: 2; grid-row: 2; text-align: left; line-height: 1.3; }
  .invest-reference .company-list-row .exchange-flag { grid-column: 1; grid-row: 1 / span 2; }

  .invest-reference .afex-principles { grid-template-columns: 1fr; }
  .invest-reference .afex-section-head { flex-direction: column; }
  .invest-reference .invest-map-header, .invest-countries .rai-reference .page-heading.invest-map-header { padding: 22px 0 16px; }
  .invest-reference .invest-map-header h1 { font-size: 32px; line-height: 1.15; }
  .invest-reference .invest-map-header :is(.invest-lead, .afex-deck, .page-deck, .invest-project-deck) { font-size: var(--rf-font-body); line-height: 1.55; }
}
