/**
 * Nivata Wealth — site and mobile refinements
 *
 * Builds on Nivata Wealth Modern v2.1.9. Most original rules remain scoped
 * to tablet and phone widths; v2.5.0 adds unified typography and a cleaner site-wide visual system.
 */

@media (max-width: 900px) {
  :root {
    --pad: clamp(22px, 5.5vw, 34px);
  }

  html {
    -webkit-text-size-adjust: 100%;
    scroll-padding-top: 74px;
  }

  body {
    min-width: 320px;
    overflow-x: hidden;
  }

  img,
  svg,
  video,
  iframe {
    max-width: 100%;
  }

  /* Header and navigation */
  .site-header {
    min-height: 74px;
    padding-top: 7px;
    padding-bottom: 7px;
    background: rgba(9, 37, 31, 0.96);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  .brand__viewport,
  .brand--inner .brand__viewport {
    width: 62px;
  }

  .menu-toggle {
    width: 48px;
    height: 48px;
    margin-right: -8px;
    touch-action: manipulation;
  }

  .site-nav {
    inset: 74px 0 0;
    padding: 34px var(--pad) max(34px, env(safe-area-inset-bottom));
    gap: 0;
  }

  .site-nav a {
    min-height: 56px;
    padding: 15px 0;
    display: flex;
    align-items: center;
    font-size: clamp(25px, 7vw, 31px);
    line-height: 1.15;
  }

  .site-nav .nav-cta {
    min-height: 48px;
    margin-top: 24px;
    padding: 13px 19px;
    font-size: 12px;
  }

  /* Comfortable reading and touch targets */
  .button,
  button,
  input,
  select,
  textarea {
    touch-action: manipulation;
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }

  .button {
    min-height: 50px;
  }

  .section-pad {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .section-index {
    margin-bottom: 40px;
  }

  /* Home */
  .hero {
    padding-top: 112px;
    padding-bottom: 54px;
    gap: 34px;
  }

  .hero__copy {
    max-width: 680px;
  }

  .hero__intro {
    max-width: 620px;
    font-size: 18px;
    line-height: 1.55;
  }

  .hero__actions {
    gap: 12px;
  }

  .hero__disclosure {
    max-width: 650px;
    font-size: 13px;
    line-height: 1.6;
  }

  .hero__object {
    width: min(68vw, 390px);
    margin: 8px auto 0;
  }

  .india-market-ticker {
    min-width: 0;
  }

  .india-market-ticker__note {
    font-size: 13px;
  }

  .philosophy__grid,
  .updates {
    gap: 40px;
  }

  .aspiration-card figcaption,
  .editorial figcaption {
    padding: 20px;
  }

  .principle p,
  .framework-card p,
  .status-card p,
  .home-data-gateway__intro p,
  .updates__copy > p,
  .site-footer p,
  .site-footer a {
    font-size: 14px;
    line-height: 1.65;
  }

  .framework-card {
    min-height: 320px;
  }

  .framework-card h3 {
    margin-top: 38px;
  }

  .home-data-gateway__links a {
    min-height: 124px;
  }

  .updates__form-wrap input,
  .updates__form-wrap textarea {
    font-size: 16px;
  }

  /* Tool and data page hero rhythm */
  .tools-hero,
  .data-hero,
  .data-hero--compact {
    min-height: auto;
    padding-top: 122px;
    padding-bottom: 64px;
    gap: 38px;
  }

  .tools-orbits {
    opacity: 0.28;
  }

  .tools-hero__copy > p:last-child,
  .data-hero__copy > p:last-child {
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.58;
  }

  .tools-hero__note,
  .data-hero__stamp {
    padding: 20px 0 0 20px;
  }

  .tools-hero__note small,
  .data-hero__stamp span {
    font-size: 13px;
    line-height: 1.6;
  }

  .tools-section,
  .tools-methodology,
  .data-hub,
  .data-guardrail,
  .live-data-section,
  .data-notes {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .tools-section__intro,
  .data-hub__intro,
  .tools-methodology,
  .data-guardrail,
  .data-notes {
    gap: 34px;
  }

  .tools-section__intro > p,
  .tools-methodology__copy p,
  .data-hub__intro p,
  .data-guardrail > p:not(.overline),
  .data-notes p {
    font-size: 15px;
    line-height: 1.7;
  }

  /* Calculators */
  .calculator-workspace {
    min-height: 0;
  }

  .tool-tabs {
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .tool-tabs button,
  .tool-tabs button[aria-selected="true"] {
    flex-basis: 176px;
    min-height: 92px;
    padding: 17px 18px 15px;
    scroll-snap-align: start;
  }

  .tool-tabs button strong {
    font-size: 16px;
  }

  .tool-tabs button small {
    font-size: 12px;
  }

  .field-grid label > span {
    min-height: 0;
    font-size: 12px;
    line-height: 1.45;
  }

  .field-grid label > small {
    font-size: 12px;
    line-height: 1.5;
  }

  .calculator-error,
  .calculator-result > p {
    font-size: 12.5px;
  }

  .calculator-result > span,
  .calculator-result dt {
    font-size: 11.5px;
  }

  /* Market data */
  .freshness {
    font-size: 12px;
    line-height: 1.5;
  }

  .data-hub-card,
  .bullion-card {
    min-height: 250px;
  }

  .data-hub-card p,
  .bullion-card > small {
    font-size: 14px;
    line-height: 1.55;
  }

  .data-toolbar label > span {
    font-size: 12px;
    line-height: 1.4;
  }

  .data-toolbar input,
  .data-toolbar select,
  .data-search-button {
    min-height: 50px;
    font-size: 16px;
  }

  .data-search-button,
  .fund-add {
    font-size: 12px;
  }

  .fund-search-result strong {
    font-size: 18px;
  }

  .fund-search-result small,
  .fund-remove {
    font-size: 12px;
    line-height: 1.5;
  }

  .official-source-grid a {
    min-height: 104px;
  }
}

@media (max-width: 720px) {
  :root {
    --pad: 22px;
    --radius: 18px;
  }

  .eyebrow,
  .overline,
  .section-index,
  .status-pill,
  .table-count {
    font-size: 12px;
  }

  /* A calmer first screen with complete text visible above the fold. */
  .hero h1 {
    font-size: clamp(44px, 12vw, 54px);
    line-height: 1;
  }

  .tools-hero__copy h1,
  .data-hero__copy h1,
  .data-hero--compact .data-hero__copy h1 {
    font-size: clamp(46px, 13vw, 58px);
    line-height: 0.98;
  }

  .section-pad h2,
  .tools-section__intro h2,
  .tools-methodology h2,
  .data-hub__intro h2,
  .data-guardrail h2,
  .live-data-head h2,
  .data-notes h2 {
    font-size: clamp(40px, 11.5vw, 52px);
    line-height: 1;
  }

  .hero__intro,
  .tools-hero__copy > p:last-child,
  .data-hero__copy > p:last-child {
    font-size: 17px;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero__actions .button {
    width: 100%;
  }

  .hero__object {
    width: min(72vw, 310px);
  }

  .emblem-stage {
    width: 64%;
  }

  .signal-tape {
    min-height: 44px;
  }

  .signal-tape span {
    padding: 0 24px;
    font-size: 11px;
  }

  .section-pad,
  .tools-section,
  .tools-methodology,
  .data-hub,
  .data-guardrail,
  .live-data-section,
  .data-notes {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .section-index {
    margin-bottom: 34px;
  }

  .philosophy__grid {
    gap: 34px;
  }

  .philosophy__body .lead {
    font-size: 22px;
    line-height: 1.45;
  }

  .aspiration-gallery {
    gap: 10px;
  }

  .aspiration-card--yacht,
  .aspiration-card--flight,
  .aspiration-card--drive {
    aspect-ratio: 4 / 3;
  }

  .aspiration-card figcaption strong {
    font-size: 24px;
  }

  .aspiration-note {
    font-size: 13px;
    line-height: 1.6;
  }

  .principle {
    padding: 34px 0;
  }

  .principle h3 {
    font-size: 38px;
  }

  .principle p {
    font-size: 15px;
  }

  .principle__mark {
    width: 76px;
    height: 76px;
  }

  .framework__cards {
    margin-top: 44px;
  }

  .framework-card {
    min-height: 280px;
  }

  .status-section {
    min-height: 0;
    padding: 64px 16px;
  }

  .status-pill {
    margin-bottom: 26px;
  }

  .home-data-gateway__links a {
    min-height: 108px;
  }

  .updates {
    gap: 36px;
  }

  .updates__form-wrap {
    padding: 26px 20px;
  }

  .site-footer {
    padding-top: 54px;
  }

  .site-footer__top {
    gap: 34px;
    padding-bottom: 42px;
  }

  /* Remove secondary decorative orbits on phones; retain the main emblem. */
  .tools-orbits {
    display: none;
  }

  .data-hero::after {
    opacity: 0.45;
  }

  .tools-hero,
  .data-hero,
  .data-hero--compact {
    padding-top: 112px;
    padding-bottom: 56px;
  }

  .tools-hero__note,
  .data-hero__stamp {
    max-width: none;
  }

  .tools-section,
  .live-data-section,
  .live-data-section--wide {
    padding-right: 16px;
    padding-left: 16px;
  }

  .tools-section > .section-index,
  .tools-section__intro {
    margin-right: 6px;
    margin-left: 6px;
  }

  .calculator-workspace {
    border: 0;
    box-shadow: 0 20px 50px rgba(13, 48, 40, 0.09);
  }

  .tool-tabs button,
  .tool-tabs button[aria-selected="true"] {
    flex-basis: 158px;
    min-height: 88px;
  }

  .tool-panel {
    padding: 30px 20px 22px;
  }

  .tool-panel__heading {
    margin-bottom: 28px;
  }

  .tool-panel__heading h3 {
    font-size: 32px;
    line-height: 1.08;
  }

  .field-grid label {
    padding: 15px 15px 12px;
  }

  .field-grid input {
    height: 42px;
    font-size: 22px;
  }

  .calculator-actions {
    grid-template-columns: 1fr;
  }

  .calculator-result {
    min-height: 0;
    padding: 28px 22px;
  }

  .calculator-result > strong {
    font-size: clamp(34px, 10vw, 46px);
  }

  .data-hub-card,
  .bullion-card {
    min-height: 220px;
    padding: 28px 24px;
  }

  .bullion-card > strong {
    font-size: clamp(36px, 10vw, 46px);
  }

  .data-toolbar {
    padding: 18px 16px;
    gap: 14px;
  }

  .data-table tbody {
    gap: 14px;
  }

  .data-table tbody tr {
    padding: 5px 18px;
    border-radius: 14px;
  }

  .data-table td {
    min-height: 46px;
    padding: 13px 0;
    grid-template-columns: minmax(126px, 0.42fr) minmax(0, 1fr);
    gap: 12px;
    font-size: 14px;
  }

  .data-table td::before {
    font-size: 13px;
    letter-spacing: 0.055em;
    line-height: 1.35;
  }

  .scheme-name,
  .issue-name,
  .nav-value,
  .date-range {
    font-size: 17px;
    line-height: 1.35;
  }

  .scheme-meta,
  .issue-meta,
  .nav-date,
  .date-close {
    font-size: 13px;
    line-height: 1.5;
  }

  .status-pill {
    padding: 7px 10px;
    font-size: 11.5px;
  }

  .table-count {
    font-size: 12px;
    line-height: 1.5;
  }

  .official-source-grid a {
    min-height: 94px;
  }
}

@media (max-width: 420px) {
  :root {
    --pad: 19px;
  }

  .site-nav {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hero,
  .tools-hero,
  .data-hero,
  .data-hero--compact {
    padding-top: 104px;
  }

  .hero h1 {
    font-size: clamp(42px, 12vw, 50px);
  }

  .tools-hero__copy h1,
  .data-hero__copy h1,
  .data-hero--compact .data-hero__copy h1 {
    font-size: clamp(43px, 13vw, 52px);
  }

  .data-table tbody tr {
    padding-right: 16px;
    padding-left: 16px;
  }

  .data-table td {
    grid-template-columns: minmax(116px, 0.43fr) minmax(0, 1fr);
    gap: 10px;
  }
}

@media (hover: none) and (pointer: coarse) {
  .data-hub-card:hover,
  .framework-card:hover,
  .aspiration-card:hover {
    transform: none;
  }

  a,
  button,
  .button,
  input,
  select {
    -webkit-tap-highlight-color: rgba(87, 216, 137, 0.16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tool-tabs {
    scroll-behavior: auto;
  }
}

/* Mobile app shell: hidden completely on the desktop experience. */
.nivata-mobile-dock,
.nivata-mobile-panel,
.nivata-mobile-scrim {
  display: none;
}

@media (max-width: 900px) {
  body.nivata-premium-mobile {
    padding-bottom: calc(88px + env(safe-area-inset-bottom));
  }

  body.nivata-mobile-menu-open {
    position: fixed;
    right: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }

  .site-header {
    z-index: 3200;
    min-height: 70px;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .site-header .brand__viewport,
  .site-header .brand--inner .brand__viewport {
    width: 58px;
  }

  .site-header .site-nav {
    display: none !important;
  }

  .site-header .menu-toggle {
    position: relative;
    z-index: 2;
    width: 48px;
    height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.055);
  }

  .nivata-mobile-scrim {
    position: fixed;
    z-index: 4900;
    inset: 0;
    display: block;
    background: rgba(2, 15, 12, 0.74);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 220ms ease;
  }

  .nivata-mobile-scrim.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nivata-mobile-panel {
    position: fixed;
    z-index: 5000;
    inset: 0;
    min-width: 0;
    min-height: 100dvh;
    padding: max(16px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background:
      radial-gradient(circle at 92% 8%, rgba(87, 216, 137, 0.13), transparent 28%),
      linear-gradient(150deg, #071f1a 0%, #0d3028 58%, #123f34 100%);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(18px) scale(0.99);
    transform-origin: 50% 100%;
    transition: opacity 220ms ease, visibility 220ms ease, transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .nivata-mobile-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .nivata-mobile-panel__top {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex: 0 0 auto;
  }

  .nivata-mobile-panel__brand {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-family: var(--serif);
    font-size: 20px;
    text-decoration: none;
  }

  .nivata-mobile-panel__brand img {
    width: 48px;
    height: 48px;
    object-fit: contain;
  }

  .nivata-mobile-panel__close {
    position: relative;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.07);
    color: #fff;
  }

  .nivata-mobile-panel__close span {
    position: absolute;
    top: 23px;
    left: 13px;
    width: 22px;
    height: 1px;
    display: block;
    background: currentColor;
  }

  .nivata-mobile-panel__close span:first-child {
    transform: rotate(45deg);
  }

  .nivata-mobile-panel__close span:last-child {
    transform: rotate(-45deg);
  }

  .nivata-mobile-panel__scroll {
    min-height: 0;
    padding: 20px 2px 14px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .nivata-mobile-panel__eyebrow {
    margin: 0 0 10px;
    color: #75dda0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .nivata-mobile-panel__eyebrow--quick {
    margin-top: 28px;
  }

  .nivata-mobile-panel__links {
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .nivata-mobile-panel__links a {
    min-height: 58px;
    padding: 13px 4px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.93);
    font-family: var(--serif);
    font-size: clamp(24px, 7.2vw, 31px);
    line-height: 1.05;
    text-decoration: none;
  }

  .nivata-mobile-panel__links a > span {
    color: rgba(255, 255, 255, 0.38);
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
  }

  .nivata-mobile-panel__links a.is-current {
    color: #83e4aa;
  }

  .nivata-mobile-panel__links a.is-current > span {
    color: #c9a96a;
  }

  .nivata-mobile-panel__quick {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .nivata-mobile-panel__quick a {
    min-height: 88px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.055);
    color: #fff;
    text-decoration: none;
  }

  .nivata-mobile-panel__quick strong {
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.15;
  }

  .nivata-mobile-panel__quick span {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    line-height: 1.35;
  }

  .nivata-mobile-panel__note {
    margin: 24px 0 0;
    padding-left: 14px;
    border-left: 2px solid rgba(201, 169, 106, 0.7);
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    line-height: 1.55;
  }

  .nivata-mobile-dock {
    position: fixed;
    z-index: 3600;
    right: 12px;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 12px;
    height: 68px;
    padding: 6px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 20px;
    background: rgba(7, 31, 26, 0.94);
    box-shadow: 0 18px 50px rgba(2, 17, 13, 0.34);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  .nivata-mobile-dock__item {
    position: relative;
    min-width: 0;
    min-height: 56px;
    padding: 6px 3px 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: rgba(255, 255, 255, 0.58);
    font-family: var(--sans);
    text-decoration: none;
  }

  .nivata-mobile-dock__item svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .nivata-mobile-dock__item span {
    overflow: hidden;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 0.02em;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nivata-mobile-dock__item.is-current,
  .nivata-mobile-dock__item[aria-expanded="true"] {
    background: rgba(87, 216, 137, 0.12);
    color: #83e4aa;
  }

  .nivata-mobile-dock__item.is-current::after,
  .nivata-mobile-dock__item[aria-expanded="true"]::after {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 50%;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #c9a96a;
    transform: translateX(-50%);
  }

  .site-footer {
    padding-bottom: calc(118px + env(safe-area-inset-bottom));
  }

  .back-top {
    margin-bottom: 76px;
  }
}

@media (max-width: 720px) {
  /* Calculator selection works like a compact app dashboard. */
  .tool-tabs {
    padding: 8px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    background: #0a2821;
    scrollbar-width: none;
  }

  .tool-tabs button,
  .tool-tabs button[aria-selected="true"] {
    min-width: 0;
    min-height: 82px;
    padding: 14px 12px !important;
    grid-template-columns: 24px minmax(0, 1fr);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
  }

  .tool-tabs button[aria-selected="true"] {
    border-color: rgba(87, 216, 137, 0.38);
    background: rgba(87, 216, 137, 0.11);
  }

  .tool-tabs button::before {
    inset: auto 14px 5px !important;
    height: 2px !important;
    border-radius: 2px;
  }

  .calculator-workspace,
  .tool-panel,
  .calculator-result,
  .data-hub-card,
  .bullion-card,
  .data-table tbody tr,
  .updates__form-wrap {
    border-radius: 18px;
  }

  .calculator-workspace {
    overflow: hidden;
  }

  .home-data-gateway__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border: 0;
    background: transparent;
  }

  .home-data-gateway__links a,
  .home-data-gateway__links a + a,
  .home-data-gateway__links a:nth-child(3) {
    min-height: 118px;
    padding: 20px 17px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
  }

  .data-hub__cards {
    gap: 12px;
    border: 0;
    background: transparent;
  }

  .data-hub-card {
    border: 1px solid var(--line);
  }

  .data-table tbody tr {
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(13, 48, 40, 0.075);
  }

  .field-grid label,
  .data-toolbar input,
  .data-toolbar select,
  .data-search-button {
    border-radius: 12px;
  }

  .calculator-actions .button,
  .fund-add,
  .data-search-button {
    min-height: 52px;
    border-radius: 12px;
  }
}

@media (max-width: 360px) {
  .nivata-mobile-dock {
    right: 8px;
    left: 8px;
  }

  .nivata-mobile-panel {
    padding-right: 14px;
    padding-left: 14px;
  }

  .nivata-mobile-panel__quick,
  .home-data-gateway__links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 520px) {
  .nivata-mobile-panel__scroll {
    padding-top: 10px;
  }

  .nivata-mobile-panel__links a {
    min-height: 48px;
    font-size: 22px;
  }

  .nivata-mobile-panel__quick a {
    min-height: 74px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nivata-mobile-panel,
  .nivata-mobile-scrim {
    transition-duration: 0.01ms !important;
  }
}

/* ================================================================
   v2.4.0 — site-wide clarity, contrast and attention-span refinements
   ================================================================ */

/* Better heading wrapping and readable dark-section contrast across devices. */
.hero h1,
.section-pad h2,
.data-hero__copy h1,
.tools-hero__copy h1 {
  text-wrap: balance;
}

.home-data-gateway .home-data-gateway__intro h2 {
  color: #ffffff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.home-data-gateway .home-data-gateway__intro h2 em {
  color: #78e6a4;
}

.home-data-gateway .home-data-gateway__intro .overline,
.home-data-gateway .section-index--light {
  color: rgba(255, 255, 255, 0.68);
}

.home-data-gateway .home-data-gateway__intro > p {
  color: rgba(255, 255, 255, 0.76);
}

.principles .principle p {
  color: rgba(255, 255, 255, 0.68);
}


.hero--launch h1 {
  max-width: 860px;
  font-size: clamp(54px, 5.3vw, 84px);
  line-height: .98;
}

/* Compact, finance-specific motion in the hero. */
.hero-market-pulse {
  width: min(540px, 100%);
  margin-top: 28px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  color: rgba(255, 255, 255, 0.48);
}

.hero-market-pulse > span {
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero-market-pulse svg {
  width: 100%;
  height: 58px;
  display: block;
  overflow: visible;
}

.hero-market-pulse__grid {
  fill: none;
  stroke: rgba(255, 255, 255, 0.075);
  stroke-width: 1;
}

.hero-market-pulse__line {
  fill: none;
  stroke: #72e09e;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation: nivata-market-draw 3.8s cubic-bezier(.2,.75,.2,1) infinite alternate;
}

.hero-market-pulse__dot {
  fill: #c5a56a;
  filter: drop-shadow(0 0 6px rgba(197, 165, 106, 0.65));
  animation: nivata-market-dot 1.8s ease-in-out infinite;
}

@keyframes nivata-market-draw {
  0% { stroke-dashoffset: 520; opacity: .35; }
  35%, 100% { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes nivata-market-dot {
  0%, 100% { opacity: .55; transform: scale(.85); }
  50% { opacity: 1; transform: scale(1.25); }
}

/* Make the finance tape useful instead of slogan-heavy. */
.signal-tape span {
  font-weight: 700;
  letter-spacing: 0.13em;
}

/* Slightly shorter sections and cleaner card rhythm for quicker scanning. */
.principles__heading {
  margin-bottom: clamp(48px, 7vw, 90px);
}

.status-card > p:not(.overline, .status-pill, .status-card__fine) {
  max-width: 660px;
}

.home-data-gateway__links a,
.data-hub-card,
.framework-card {
  content-visibility: auto;
  contain-intrinsic-size: 1px 320px;
}

@media (max-width: 900px) {
  .hero {
    gap: 24px;
  }

  .hero__object {
    width: min(62vw, 330px);
    margin-top: 2px;
    margin-bottom: 22px;
  }

  .hero-market-pulse {
    width: min(100%, 520px);
    margin-top: 20px;
  }

  .hero-market-pulse svg {
    height: 50px;
  }

  .principles__heading {
    margin-bottom: 38px;
  }
}

@media (max-width: 720px) {
  .section-pad,
  .tools-section,
  .tools-methodology,
  .data-hub,
  .data-guardrail,
  .live-data-section,
  .data-notes {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .hero {
    padding-top: 100px;
    padding-bottom: 42px;
  }

  .hero--launch h1 {
    max-width: 100%;
    font-size: clamp(36px, 9.8vw, 43px);
    line-height: 1;
  }

  .hero__intro {
    max-width: 34ch;
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.52;
  }

  .hero-market-pulse {
    margin-top: 18px;
  }

  .hero__actions {
    margin-top: 22px;
  }

  .hero__actions .button {
    min-height: 54px;
    padding-right: 18px;
    padding-left: 18px;
    letter-spacing: .075em;
  }

  .hero__disclosure {
    margin-top: 22px;
    font-size: 12.5px;
  }

  .hero__object {
    width: min(60vw, 260px);
    margin: 0 auto 8px;
  }

  .section-index {
    margin-bottom: 28px;
  }

  .philosophy__grid,
  .updates {
    gap: 28px;
  }

  .principle {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .status-section {
    min-height: 0;
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .status-card {
    padding: 30px 24px;
  }

  .status-pill {
    margin-bottom: 22px;
  }

  .home-data-gateway__intro {
    margin-bottom: 30px;
    gap: 22px;
  }

  .home-data-gateway__intro h2 {
    font-size: clamp(40px, 11.2vw, 50px);
  }

  .home-data-gateway__intro > p {
    font-size: 14.5px;
    line-height: 1.58;
  }

  .home-data-gateway__links a,
  .home-data-gateway__links a + a,
  .home-data-gateway__links a:nth-child(3) {
    min-height: 104px;
  }

  .data-hero__copy > p:last-child {
    max-width: 34ch;
  }

  .data-hub-card {
    min-height: 190px;
  }
}

@media (max-width: 420px) {
  .hero--launch h1 {
    font-size: clamp(35px, 9.5vw, 40px);
  }

  .hero-market-pulse svg {
    height: 44px;
  }

  .home-data-gateway__links strong {
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-market-pulse__line,
  .hero-market-pulse__dot {
    animation: none !important;
    stroke-dashoffset: 0;
  }
}


/* ================================================================
   v2.5.0 — unified premium typography + clutter-free visual system
   ================================================================ */

/* One clean type family across the site. The stack is intentionally local
   first: fast, stable and consistent without adding another font download. */
:root {
  --sans: Inter, "Avenir Next", "Helvetica Neue", Arial, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: var(--sans);
  --radius: 18px;
}

body {
  font-family: var(--sans);
  font-weight: 400;
  letter-spacing: -0.008em;
}

.hero h1,
.section-pad h2,
.home-data-gateway__intro h2,
.tools-hero__copy h1,
.data-hero__copy h1,
.tools-section__intro h2,
.tools-methodology h2,
.data-hub__intro h2,
.data-guardrail h2,
.live-data-head h2,
.data-notes h2,
.status-card h2 {
  font-family: var(--sans);
  font-weight: 520;
  letter-spacing: -0.046em;
  line-height: 1.01;
}

.hero h1 em,
.section-pad h2 em,
.home-data-gateway__intro h2 em,
.tools-hero__copy h1 em,
.data-hero__copy h1 em,
.tools-section__intro h2 em,
.tools-methodology h2 em,
.data-hub__intro h2 em,
.data-guardrail h2 em,
.live-data-head h2 em,
.data-notes h2 em,
.status-card h2 em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

.hero__intro,
.philosophy__body .lead,
.aspiration-card figcaption strong,
.framework-card h3,
.principle h3,
.home-data-gateway__links strong,
.data-hub-card h3,
.bullion-card > strong,
.fund-search-result strong,
.nivata-mobile-panel__brand,
.nivata-mobile-panel__links a,
.nivata-mobile-panel__quick strong,
.site-footer__contact a,
.site-footer__identity > p,
.site-footer__top > div:first-child > p,
.updates-form > input:not([type="hidden"]):not([type="checkbox"]) {
  font-family: var(--sans);
}

.hero__intro,
.philosophy__body .lead,
.site-footer__identity > p,
.site-footer__top > div:first-child > p {
  font-style: normal;
}

/* Less letter-spacing and fewer type treatments = calmer, more premium UI. */
.eyebrow,
.overline,
.section-index,
.status-pill,
.table-count,
.site-nav,
.line-link,
.button,
.footer-links > span,
.site-footer__contact > span,
.back-top,
.data-toolbar label > span,
.field-grid label > span {
  letter-spacing: 0.105em;
}

.eyebrow,
.overline,
.section-index {
  font-weight: 700;
}

/* Remove the redundant moving tape. The live ticker + restrained market pulse
   already communicate market context without adding another moving layer. */
.signal-tape {
  display: none !important;
}

/* The explicit scroll cue duplicates the primary CTA. */
.scroll-cue {
  display: none !important;
}

/* Cleaner desktop rhythm: shorter sections, tighter grids, consistent cards. */
.section-pad {
  padding-top: clamp(76px, 8vw, 112px);
  padding-bottom: clamp(76px, 8vw, 112px);
}

.section-index {
  margin-bottom: clamp(34px, 4.5vw, 58px);
}

.philosophy__grid {
  gap: clamp(42px, 7vw, 96px);
}

.philosophy__body {
  padding-top: 12px;
}

.philosophy__body .lead {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.42;
}

.human-story::before {
  opacity: 0.45;
  animation: none;
}

.human-story__intro {
  margin-bottom: clamp(40px, 6vw, 72px);
}

.human-story__intro > p:last-child {
  margin-top: 24px;
}

.aspiration-gallery {
  height: clamp(560px, 52vw, 720px);
  gap: 12px;
}

.aspiration-card,
.framework-card,
.status-card,
.home-data-gateway__links a,
.data-hub-card,
.bullion-card,
.calculator-workspace,
.tool-panel,
.calculator-result,
.updates__form-wrap,
.official-source-grid a {
  border-radius: var(--radius);
}

.aspiration-card figcaption strong {
  font-weight: 520;
}

.principles__heading {
  margin-bottom: clamp(40px, 5vw, 64px);
}

.principle {
  min-height: 164px;
  padding-top: 30px;
  padding-bottom: 30px;
}

.principle:hover {
  padding-right: 12px;
  padding-left: 12px;
}

.principle__mark {
  width: 92px;
  height: 92px;
}

.principle h3 {
  font-weight: 520;
}

.status-section {
  min-height: 620px;
}

.status-art span {
  opacity: 0.5;
}

.status-card {
  width: min(760px, 92vw);
  padding: clamp(32px, 5vw, 64px);
  box-shadow: 0 24px 70px rgba(3, 25, 20, 0.24);
}

.status-card > p:not(.overline, .status-pill, .status-card__fine) {
  margin-top: 24px;
}

.home-data-gateway__intro {
  margin-bottom: clamp(38px, 5vw, 60px);
  gap: clamp(34px, 6vw, 80px);
}

.home-data-gateway__links {
  gap: 12px;
  border: 0;
}

.home-data-gateway__links a,
.home-data-gateway__links a + a,
.home-data-gateway__links a:nth-child(3) {
  min-height: 148px;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.updates {
  gap: clamp(46px, 8vw, 110px);
}

.updates__copy > p:not(.overline) {
  margin-top: 24px;
  margin-bottom: 20px;
}

.updates__form-wrap {
  padding: clamp(26px, 3.5vw, 44px);
  border-top-width: 2px;
  box-shadow: 0 18px 48px rgba(18, 59, 50, 0.08);
}

/* Tool / market pages use the same visual density as the homepage. */
.tools-section,
.tools-methodology,
.data-hub,
.data-guardrail,
.live-data-section,
.data-notes {
  padding-top: clamp(70px, 7vw, 100px);
  padding-bottom: clamp(70px, 7vw, 100px);
}

.tools-section__intro,
.data-hub__intro,
.tools-methodology,
.data-guardrail,
.data-notes {
  gap: clamp(30px, 5vw, 64px);
}

.data-hub__cards,
.framework__cards,
.official-source-grid {
  gap: 12px;
}

.data-hub-card,
.bullion-card,
.framework-card {
  box-shadow: none;
}

/* Keep motion restrained and purposeful. */
.hero-market-pulse {
  margin-top: 22px;
  opacity: 0.88;
}

.hero-market-pulse__line {
  stroke-width: 1.8;
  animation-duration: 5.5s;
}

.hero-market-pulse__dot {
  filter: none;
  animation-duration: 2.6s;
}

/* Mobile: fewer oversized headings, denser sections, uniform card geometry. */
@media (max-width: 900px) {
  .site-header .menu-toggle,
  .nivata-mobile-panel__close,
  .nivata-mobile-dock,
  .nivata-mobile-dock__item,
  .nivata-mobile-panel__quick a {
    border-radius: 14px;
  }

  .nivata-mobile-panel__links a {
    font-size: clamp(22px, 6.4vw, 28px);
    font-weight: 520;
  }

  .nivata-mobile-panel__quick strong {
    font-weight: 560;
  }

  .hero__object {
    margin-bottom: 8px;
  }
}

@media (max-width: 720px) {
  .section-pad,
  .tools-section,
  .tools-methodology,
  .data-hub,
  .data-guardrail,
  .live-data-section,
  .data-notes {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .hero {
    padding-top: 94px;
    padding-bottom: 38px;
  }

  .hero--launch h1 {
    font-size: clamp(39px, 10.2vw, 46px);
    line-height: 1.02;
  }

  .tools-hero__copy h1,
  .data-hero__copy h1,
  .data-hero--compact .data-hero__copy h1 {
    font-size: clamp(39px, 10.4vw, 48px);
    line-height: 1.02;
  }

  .section-pad h2,
  .tools-section__intro h2,
  .tools-methodology h2,
  .data-hub__intro h2,
  .data-guardrail h2,
  .live-data-head h2,
  .data-notes h2 {
    font-size: clamp(34px, 9.2vw, 43px);
    line-height: 1.04;
  }

  .hero__intro,
  .tools-hero__copy > p:last-child,
  .data-hero__copy > p:last-child {
    font-size: 16px;
    line-height: 1.55;
  }

  .section-index {
    margin-bottom: 24px;
  }

  .eyebrow,
  .overline,
  .section-index,
  .status-pill,
  .table-count {
    font-size: 11px;
  }

  .philosophy__body .lead {
    font-size: 20px;
    line-height: 1.45;
  }

  .human-story__intro {
    margin-bottom: 32px;
  }

  .aspiration-gallery {
    height: auto;
    gap: 10px;
  }

  .aspiration-card--yacht,
  .aspiration-card--flight,
  .aspiration-card--drive {
    aspect-ratio: 16 / 11;
  }

  .aspiration-card figcaption strong {
    font-size: 22px;
  }

  .principle {
    min-height: 0;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .principle h3 {
    font-size: 32px;
  }

  .principle__mark {
    width: 66px;
    height: 66px;
  }

  .status-section {
    min-height: 0;
    padding: 48px 16px;
  }

  .status-art span {
    display: none;
  }

  .status-card {
    padding: 26px 22px;
  }

  .home-data-gateway__intro {
    margin-bottom: 24px;
  }

  .home-data-gateway__intro h2 {
    font-size: clamp(34px, 9.2vw, 43px);
  }

  .home-data-gateway__links {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .home-data-gateway__links a,
  .home-data-gateway__links a + a,
  .home-data-gateway__links a:nth-child(3) {
    min-height: 86px;
    padding: 17px 18px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
  }

  .home-data-gateway__links strong,
  .home-data-gateway__links i {
    margin-top: 0;
  }

  .home-data-gateway__links strong {
    font-size: 19px;
    font-weight: 560;
  }

  .updates {
    gap: 28px;
  }

  .updates__form-wrap {
    padding: 22px 18px;
  }

  .data-hub-card,
  .bullion-card {
    min-height: 176px;
  }

  .data-table tbody tr {
    box-shadow: none;
  }
}

@media (max-width: 420px) {
  .hero--launch h1 {
    font-size: clamp(38px, 10.1vw, 43px);
  }

  .home-data-gateway__links {
    grid-template-columns: 1fr;
  }
}

/* ================================================================
   v2.6.0 — Nivata Screener + simplified navigation
   ================================================================ */

/* Six useful desktop destinations still fit without crowding the header. */
@media (min-width: 901px) {
  .site-nav {
    gap: clamp(15px, 1.75vw, 28px);
    font-size: 12px;
    letter-spacing: 0.085em;
  }

  .site-nav .nav-cta {
    padding-right: 16px;
    padding-left: 16px;
  }
}

.nivata-screener-page {
  background: var(--ivory-100);
}

.screener-hero {
  position: relative;
  min-height: 670px;
  padding: clamp(148px, 14vw, 196px) var(--pad) clamp(72px, 8vw, 110px);
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.72fr);
  gap: clamp(48px, 9vw, 140px);
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 14%, rgba(87, 216, 137, 0.11), transparent 28%),
    linear-gradient(145deg, #071f1a 0%, #0d3028 60%, #123b32 100%);
  color: #fff;
}

.screener-hero__mesh {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 92%);
}

.screener-hero__copy,
.screener-hero__chart {
  position: relative;
  z-index: 1;
}

.screener-hero h1 {
  max-width: 760px;
  margin: 20px 0 0;
  font-family: var(--sans);
  font-size: clamp(58px, 6.7vw, 104px);
  font-weight: 520;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

.screener-hero h1 em {
  color: var(--mint);
  font-style: normal;
  font-weight: inherit;
}

.screener-hero__copy > p:last-of-type {
  max-width: 620px;
  margin: 30px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 17px;
  line-height: 1.65;
}

.screener-hero__chips {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.screener-hero__chips span {
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.7);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .04em;
}

.screener-hero__chart {
  padding: 22px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  box-shadow: 0 28px 75px rgba(1,14,11,.22);
}

.screener-hero__chart-head,
.screener-hero__chart-foot {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.screener-hero__chart-head span,
.screener-hero__chart-foot span {
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.screener-hero__chart-head i,
.screener-hero__chart-foot span:last-child {
  color: rgba(255,255,255,.42);
  font-size: 10px;
  font-style: normal;
}

.screener-hero__chart svg {
  width: 100%;
  height: 260px;
  display: block;
  margin: 18px 0;
}

.screener-gridline {
  fill: none;
  stroke: rgba(255,255,255,.065);
  stroke-width: 1;
}

.screener-chartline {
  fill: none;
  stroke: var(--mint);
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 760;
  animation: nivata-screener-draw 5.8s ease-in-out infinite alternate;
}

.screener-chartdot {
  fill: var(--gold);
}

@keyframes nivata-screener-draw {
  from { stroke-dashoffset: 210; opacity: .55; }
  to { stroke-dashoffset: 0; opacity: 1; }
}

.screener-workspace {
  background: #f7f3ea;
}

.screener-intro {
  margin-bottom: clamp(38px, 5vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: end;
}

.screener-intro h2,
.screener-notes h2 {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(46px, 5.4vw, 76px);
  font-weight: 520;
  letter-spacing: -.048em;
  line-height: 1;
}

.screener-intro h2 em,
.screener-notes h2 em {
  color: var(--forest-700);
  font-style: normal;
  font-weight: inherit;
}

.screener-intro > p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}

.screener-shell,
.screener-results {
  border: 1px solid rgba(18,59,50,.13);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(13,48,40,.055);
}

.screener-shell {
  overflow: hidden;
}

.screener-presets {
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 8px;
  background: var(--forest-950);
}

.screener-presets button {
  min-height: 78px;
  padding: 14px 15px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  color: #fff;
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.screener-presets button:hover {
  border-color: rgba(87,216,137,.32);
  background: rgba(87,216,137,.08);
  transform: translateY(-1px);
}

.screener-presets strong {
  font-size: 13px;
  font-weight: 650;
}

.screener-presets span {
  color: rgba(255,255,255,.48);
  font-size: 10.5px;
  line-height: 1.4;
}

.screener-query-wrap {
  padding: 24px 26px 22px;
  border-bottom: 1px solid rgba(18,59,50,.1);
}

.screener-query-wrap > label,
.screener-filter > span {
  display: block;
  margin-bottom: 8px;
  color: var(--forest-700);
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.screener-filter > span small {
  color: #8a9691;
  font-size: inherit;
  font-weight: 650;
}

.screener-query-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
}

.screener-query-row input,
.screener-filter input {
  width: 100%;
  min-width: 0;
  height: 50px;
  padding: 0 14px;
  border: 1px solid rgba(18,59,50,.15);
  border-radius: 10px;
  background: #fbfaf6;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
}

.screener-query-row input::placeholder,
.screener-filter input::placeholder {
  color: #9ca6a1;
}

.screener-run-query {
  min-height: 50px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  background: var(--forest-900);
  color: #fff;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .075em;
  text-transform: uppercase;
  cursor: pointer;
}

.screener-run-query span {
  margin-left: 8px;
  color: var(--mint);
}

.screener-query-wrap > p {
  margin: 10px 0 0;
  color: #7b8882;
  font-size: 11px;
  line-height: 1.5;
}

.screener-query-wrap > p.is-error {
  color: #9b3d34;
}

.screener-filters {
  padding: 24px 26px 26px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.screener-filter--search {
  grid-column: span 2;
}

.screener-filter-actions {
  grid-column: span 2;
  display: flex;
  align-items: end;
  gap: 10px;
}

.screener-filter-actions .button {
  min-height: 50px;
  margin: 0;
  border-radius: 10px;
}

.screener-reset {
  min-height: 50px;
  padding: 0 18px;
  border: 1px solid rgba(18,59,50,.16);
  border-radius: 10px;
  background: transparent;
  color: var(--forest-700);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .075em;
  text-transform: uppercase;
  cursor: pointer;
}

.screener-results {
  margin-top: 22px;
  overflow: hidden;
}

.screener-results__head {
  min-height: 100px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid rgba(18,59,50,.1);
}

.screener-results__head .overline {
  margin-bottom: 4px;
}

.screener-results__head h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 560;
  letter-spacing: -.025em;
}

.screener-source {
  max-width: 480px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #77847e;
  font-size: 10.5px;
  line-height: 1.45;
  text-align: right;
}

.screener-source__dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--gold);
}

.screener-source.is-live .screener-source__dot {
  background: var(--mint);
  box-shadow: 0 0 0 4px rgba(87,216,137,.13);
}

.screener-state,
.screener-empty {
  min-height: 220px;
  padding: 42px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.screener-state[hidden],
.screener-empty[hidden],
.screener-table-wrap[hidden] {
  display: none !important;
}

.screener-state strong {
  margin-top: 16px;
  font-size: 18px;
  font-weight: 600;
}

.screener-state p,
.screener-empty {
  max-width: 620px;
  margin: 8px auto 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.screener-spinner {
  width: 28px;
  height: 28px;
  border: 2px solid rgba(18,59,50,.12);
  border-top-color: var(--forest-700);
  border-radius: 50%;
  animation: nivata-screener-spin .8s linear infinite;
}

@keyframes nivata-screener-spin { to { transform: rotate(360deg); } }

.screener-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.screener-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  font-size: 12.5px;
}

.screener-table th,
.screener-table td {
  padding: 16px 14px;
  border-bottom: 1px solid rgba(18,59,50,.08);
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
}

.screener-table th:first-child,
.screener-table td:first-child {
  padding-left: 26px;
  text-align: left;
}

.screener-table th:last-child,
.screener-table td:last-child {
  padding-right: 26px;
}

.screener-table th {
  background: #f8f6ef;
}

.screener-table th button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #66736d;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .075em;
  text-transform: uppercase;
  cursor: pointer;
}

.screener-table th button:hover {
  color: var(--forest-700);
}

.screener-company strong,
.screener-company span {
  display: block;
}

.screener-company strong {
  max-width: 260px;
  overflow: hidden;
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 650;
  text-overflow: ellipsis;
}

.screener-company span {
  max-width: 260px;
  margin-top: 3px;
  overflow: hidden;
  color: #89938f;
  font-size: 10.5px;
  text-overflow: ellipsis;
}

.screener-positive {
  color: #19734a;
  font-weight: 650;
}

.screener-notes {
  padding: clamp(72px, 8vw, 110px) var(--pad);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(380px, .7fr);
  gap: clamp(44px, 8vw, 120px);
  background: var(--forest-950);
  color: #fff;
}

.screener-notes h2 em {
  color: var(--mint);
}

.screener-notes__copy p {
  margin: 0 0 18px;
  color: rgba(255,255,255,.62);
  font-size: 13px;
  line-height: 1.72;
}

.screener-provider-note {
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.screener-provider-note a {
  color: var(--mint-soft);
}

@media (max-width: 1050px) {
  .screener-hero {
    grid-template-columns: 1fr 0.8fr;
    gap: 44px;
  }

  .screener-filters {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .screener-filter--search,
  .screener-filter-actions {
    grid-column: span 1;
  }
}

@media (max-width: 900px) {
  .screener-hero {
    min-height: 0;
    padding-top: 118px;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .screener-hero h1 {
    font-size: clamp(48px, 12vw, 72px);
  }

  .screener-hero__copy > p:last-of-type {
    max-width: 46ch;
    margin-top: 22px;
    font-size: 16px;
  }

  .screener-hero__chips {
    margin-top: 24px;
  }

  .screener-hero__chart {
    max-width: 660px;
  }

  .screener-hero__chart svg {
    height: 190px;
  }

  .screener-intro,
  .screener-notes {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .screener-presets {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .screener-filters {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .screener-filter--search,
  .screener-filter-actions {
    grid-column: span 2;
  }

  .screener-results__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .screener-source {
    max-width: none;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .screener-hero {
    padding: 104px 20px 50px;
  }

  .screener-hero h1 {
    margin-top: 14px;
    font-size: clamp(46px, 14vw, 62px);
    line-height: .94;
  }

  .screener-hero__chart {
    padding: 16px;
  }

  .screener-hero__chart svg {
    height: 145px;
    margin: 12px 0;
  }

  .screener-intro h2,
  .screener-notes h2 {
    font-size: clamp(34px, 9.2vw, 43px);
    line-height: 1.04;
  }

  .screener-shell,
  .screener-results {
    border-radius: 16px;
  }

  .screener-presets {
    padding: 8px;
    gap: 6px;
  }

  .screener-presets button {
    min-height: 72px;
    padding: 12px;
  }

  .screener-query-wrap,
  .screener-filters {
    padding: 18px;
  }

  .screener-query-row {
    grid-template-columns: 1fr;
  }

  .screener-run-query {
    width: 100%;
  }

  .screener-filters {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .screener-filter--search,
  .screener-filter-actions {
    grid-column: span 2;
  }

  .screener-filter-actions {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .screener-results {
    margin-top: 14px;
  }

  .screener-results__head {
    min-height: 0;
    padding: 18px;
  }

  /* Card-like rows are much easier to scan on a phone than an 8-column table. */
  .screener-table-wrap {
    padding: 12px;
    overflow: visible;
  }

  .screener-table,
  .screener-table thead,
  .screener-table tbody,
  .screener-table tr,
  .screener-table td {
    width: 100%;
    min-width: 0;
    display: block;
  }

  .screener-table thead {
    display: none;
  }

  .screener-table tbody {
    display: grid;
    gap: 10px;
  }

  .screener-table tr {
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 0 14px;
    border: 1px solid rgba(18,59,50,.11);
    border-radius: 14px;
    background: #fff;
  }

  .screener-table td,
  .screener-table th:first-child,
  .screener-table td:first-child,
  .screener-table th:last-child,
  .screener-table td:last-child {
    padding: 10px 0;
    border-bottom: 1px solid rgba(18,59,50,.075);
    text-align: right;
    white-space: normal;
  }

  .screener-table td::before {
    content: attr(data-label);
    float: left;
    margin-right: 10px;
    color: #89938f;
    font-size: 9.5px;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .screener-company {
    grid-column: 1 / -1;
    text-align: left !important;
  }

  .screener-company::before {
    display: none;
  }

  .screener-company strong,
  .screener-company span {
    max-width: none;
  }

  .screener-company strong {
    font-size: 15px;
  }

  .screener-table tr td:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .screener-notes {
    padding: 52px 20px;
  }
}

@media (max-width: 420px) {
  .screener-filters {
    grid-template-columns: 1fr;
  }

  .screener-filter--search,
  .screener-filter-actions {
    grid-column: span 1;
  }

  .screener-presets {
    grid-template-columns: 1fr;
  }

  .screener-presets button {
    min-height: 64px;
  }

  .screener-table tr {
    grid-template-columns: 1fr;
  }

  .screener-table tr td:nth-last-child(-n+2) {
    border-bottom: 1px solid rgba(18,59,50,.075);
  }

  .screener-table tr td:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .screener-chartline,
  .screener-spinner {
    animation: none !important;
  }
}

/* ================================================================
   v2.7.0 — TradingView India screener + cleaner public presentation
   ================================================================ */

/* A more distinctive, premium navigation affordance than a hamburger. */
.menu-toggle--grid::before,
.menu-toggle--grid::after {
  display: none !important;
  content: none !important;
}

.menu-toggle--grid svg {
  width: 21px;
  height: 21px;
  display: block;
  fill: currentColor;
  color: rgba(255, 255, 255, 0.9);
}

.site-header .menu-toggle--grid {
  color: #fff;
}

.footer-launch-note {
  display: block;
  max-width: 250px;
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.55;
  text-transform: uppercase;
}

.screener-tv-section {
  background: #f7f3ea;
}

.screener-tv-intro {
  margin-bottom: clamp(30px, 4.5vw, 54px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.52fr);
  gap: clamp(34px, 7vw, 96px);
  align-items: end;
}

.screener-tv-intro h2 {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(44px, 5.2vw, 74px);
  font-weight: 520;
  letter-spacing: -0.048em;
  line-height: 1;
}

.screener-tv-intro h2 em {
  color: var(--forest-700);
  font-style: normal;
  font-weight: inherit;
}

.screener-tv-intro > p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}

.nivata-tv-screener {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(18, 59, 50, 0.13);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(13, 48, 40, 0.055);
}

.nivata-tv-screener .tradingview-widget-container {
  width: 100%;
  height: 780px;
  min-height: 680px;
}

.nivata-tv-screener .tradingview-widget-container__widget {
  width: 100%;
  height: calc(100% - 28px);
}

.nivata-tv-screener iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

.nivata-tv-screener .tradingview-widget-copyright {
  min-height: 28px;
  padding: 6px 12px 7px;
  border-top: 1px solid rgba(18, 59, 50, 0.08);
  color: #89938f;
  font-size: 10px;
  line-height: 1.4;
  text-align: right;
}

.nivata-tv-screener .tradingview-widget-copyright a {
  color: var(--forest-700);
  text-decoration: none;
}

.screener-notes--compact {
  margin-top: clamp(30px, 4.5vw, 54px);
  padding: clamp(38px, 5vw, 62px);
  grid-template-columns: minmax(0, 0.72fr) minmax(320px, 0.7fr);
  border-radius: 18px;
}

.screener-notes--compact > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 13px;
  line-height: 1.72;
}

.screener-notes--compact .line-link {
  grid-column: 2;
  width: fit-content;
  margin-top: -20px;
  color: var(--mint-soft);
}

/* The removed decorative ticker and scroll cue should not reappear from a cache. */
.signal-tape,
.hero--launch .scroll-cue {
  display: none !important;
}

@media (max-width: 900px) {
  .screener-tv-intro,
  .screener-notes--compact {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .screener-tv-intro h2 {
    font-size: clamp(36px, 9vw, 48px);
  }

  .nivata-tv-screener {
    border-radius: 16px;
  }

  .nivata-tv-screener .tradingview-widget-container {
    height: 760px;
    min-height: 680px;
  }

  .screener-notes--compact {
    padding: 36px 28px;
  }

  .screener-notes--compact .line-link {
    grid-column: 1;
    margin-top: 0;
  }
}

@media (max-width: 600px) {
  .screener-tv-section {
    padding-right: 14px;
    padding-left: 14px;
  }

  .nivata-tv-screener {
    margin-right: -2px;
    margin-left: -2px;
    border-radius: 14px;
  }

  .nivata-tv-screener .tradingview-widget-container {
    height: 720px;
    min-height: 640px;
  }

  .nivata-tv-screener .tradingview-widget-copyright {
    padding-right: 9px;
    padding-left: 9px;
  }

  .screener-notes--compact {
    padding: 30px 22px;
    border-radius: 14px;
  }

  .footer-launch-note {
    max-width: 220px;
    font-size: 9.5px;
  }
}


/* ================================================================
   v3.0.0 — company lookup, five-item mobile dock, ambient music control,
   tighter market cards and final copy/UX refinement
   ================================================================ */

/* Remove the grey gutters between the three market-data cards. */
.data-hub__cards {
  gap: 0 !important;
  background: transparent !important;
  border: 1px solid rgba(18, 59, 50, 0.12) !important;
  overflow: hidden;
}
.data-hub-card,
.data-hub-card + .data-hub-card {
  border: 0 !important;
  border-right: 1px solid rgba(18, 59, 50, 0.10) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.data-hub-card:last-child { border-right: 0 !important; }

/* Desktop/header music control. */
.nav-music,
.music-button,
.nivata-mobile-panel__music {
  -webkit-tap-highlight-color: transparent;
}
.nav-music {
  width: 38px;
  height: 38px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.88);
  cursor: pointer;
  font: 600 18px/1 var(--sans);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.nav-music:hover,
.nav-music.is-playing {
  background: rgba(87,216,137,.15);
  color: #83e4aa;
  transform: translateY(-1px);
}

.updates-form__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px;
  gap: 10px;
  align-items: stretch;
}
.updates-form__actions .button { width: 100%; }
.music-button {
  min-height: 56px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  border: 1px solid rgba(18,59,50,.16);
  border-radius: 999px;
  background: transparent;
  color: var(--forest-900, #092d25);
  cursor: pointer;
}
.music-button > span { font-size: 20px; line-height: 1; }
.music-button small {
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.music-button.is-playing {
  border-color: rgba(35,169,103,.42);
  background: rgba(35,169,103,.08);
  color: #168653;
}

.nivata-mobile-panel__music {
  display: none !important;
  position: relative;
  min-height: 86px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.nivata-mobile-panel__music strong { font-family: var(--sans); font-size: 16px; font-weight: 600; }
.nivata-mobile-panel__music span { margin-top: 6px; color: rgba(255,255,255,.5); font-size: 11px; }
.nivata-mobile-panel__music i { position: absolute; top: 14px; right: 15px; color: #83e4aa; font-size: 18px; font-style: normal; }
.nivata-mobile-panel__music.is-playing { background: rgba(87,216,137,.11); border-color: rgba(87,216,137,.24); }

/* Company lookup on the screener page. */
.company-lookup { background: #fffdf8; }
.company-lookup__intro {
  margin-bottom: clamp(28px, 4vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .5fr);
  gap: clamp(32px, 7vw, 92px);
  align-items: end;
}
.company-lookup__intro h2 {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 520;
  letter-spacing: -.048em;
  line-height: 1;
}
.company-lookup__intro h2 em { color: var(--forest-700); font-style: normal; font-weight: inherit; }
.company-lookup__intro > p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}
.company-search {
  margin-bottom: 26px;
  padding: clamp(20px, 2.6vw, 30px);
  border: 1px solid rgba(18,59,50,.12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(13,48,40,.045);
}
.company-search > label {
  display: block;
  margin-bottom: 9px;
  color: #59706a;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.company-search__row {
  min-height: 58px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  border: 1px solid rgba(18,59,50,.16);
  border-radius: 13px;
  overflow: hidden;
  background: #fbfaf6;
}
.company-search__icon { padding-left: 14px; color: #168653; font-size: 22px; }
.company-search input {
  min-width: 0;
  height: 56px;
  padding: 0 12px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0a2c25;
  font: 560 15px/1.2 var(--sans);
}
.company-search button {
  height: 46px;
  margin-right: 6px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  background: #0b332a;
  color: #fff;
  cursor: pointer;
  font: 700 11px/1 var(--sans);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.company-search__help { margin: 10px 2px 0; color: #73817d; font-size: 11px; line-height: 1.5; }
.company-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: 14px;
}
.company-detail-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(18,59,50,.12);
  border-radius: 18px;
  background: #fff;
}
.company-detail-card--summary { grid-column: 1 / -1; min-height: 180px; }
.company-detail-card--profile { min-height: 620px; }
.company-detail-card--fundamentals { min-height: 690px; }
.company-detail-card .tradingview-widget-container,
.company-detail-card .tradingview-widget-container__widget,
.company-detail-card iframe { width: 100% !important; }
.company-detail-card--profile .tradingview-widget-container,
.company-detail-card--profile .tradingview-widget-container__widget,
.company-detail-card--profile iframe { height: 620px !important; }
.company-detail-card--fundamentals .tradingview-widget-container,
.company-detail-card--fundamentals .tradingview-widget-container__widget,
.company-detail-card--fundamentals iframe { height: 690px !important; }
.company-detail-card .tradingview-widget-copyright {
  min-height: 28px;
  padding: 6px 12px 7px;
  border-top: 1px solid rgba(18,59,50,.08);
  color: #89938f;
  font-size: 10px;
  line-height: 1.4;
  text-align: right;
}
.company-detail-card .tradingview-widget-copyright a { color: var(--forest-700); text-decoration: none; }

@media (max-width: 900px) {
  .nivata-mobile-dock { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; padding: 5px; }
  .nivata-mobile-dock__item { min-height: 57px; padding-right: 1px; padding-left: 1px; gap: 3px; }
  .nivata-mobile-dock__item svg { width: 19px; height: 19px; }
  .nivata-mobile-dock__item span { font-size: 9px; letter-spacing: 0; }
  .company-lookup__intro { grid-template-columns: 1fr; gap: 22px; }
  .company-lookup__intro h2 { font-size: clamp(36px, 9vw, 48px); }
  .company-detail-grid { grid-template-columns: 1fr; }
  .company-detail-card--summary,
  .company-detail-card--profile,
  .company-detail-card--fundamentals { grid-column: 1; }
  .company-detail-card--profile { min-height: 520px; }
  .company-detail-card--profile .tradingview-widget-container,
  .company-detail-card--profile .tradingview-widget-container__widget,
  .company-detail-card--profile iframe { height: 520px !important; }
  .data-hub__cards { border-radius: 16px; }
  .data-hub-card,
  .data-hub-card + .data-hub-card {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(18,59,50,.10) !important;
  }
  .data-hub-card:last-child { border-bottom: 0 !important; }
}

@media (max-width: 600px) {
  .company-lookup { padding-right: 14px; padding-left: 14px; }
  .company-search { padding: 16px; border-radius: 15px; }
  .company-search__row { grid-template-columns: 28px minmax(0, 1fr); overflow: visible; border: 0; background: transparent; gap: 0; }
  .company-search__icon,
  .company-search input { background: #fbfaf6; border-top: 1px solid rgba(18,59,50,.16); border-bottom: 1px solid rgba(18,59,50,.16); }
  .company-search__icon { height: 56px; display: grid; align-items: center; padding-left: 12px; border-left: 1px solid rgba(18,59,50,.16); border-radius: 12px 0 0 12px; }
  .company-search input { border-right: 1px solid rgba(18,59,50,.16); border-radius: 0 12px 12px 0; }
  .company-search button { grid-column: 1 / -1; width: 100%; height: 50px; margin: 9px 0 0; }
  .company-detail-card { border-radius: 14px; }
  .updates-form__actions { grid-template-columns: minmax(0, 1fr) 54px; }
}

/* v2.8.0 — graceful fallback for blocked or temporarily unavailable embeds. */
.tv-load-fallback {
  min-height: 150px;
  padding: 28px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  background: #fbfaf6;
  color: #0b332a;
  text-align: center;
  font-family: var(--sans);
}
.tv-load-fallback strong { font-size: 15px; font-weight: 650; }
.tv-load-fallback span { max-width: 460px; color: #6e7e79; font-size: 12px; line-height: 1.55; }
.tv-load-fallback button {
  margin-top: 6px;
  padding: 10px 15px;
  border: 1px solid rgba(18,59,50,.15);
  border-radius: 999px;
  background: #fff;
  color: #0b332a;
  cursor: pointer;
  font: 700 10px/1 var(--sans);
  letter-spacing: .06em;
  text-transform: uppercase;
}


/* ================================================================
   v2.9.0 — compact financial-tools hero + stable screener viewport
   ================================================================ */

/* The original tools hero was visually impressive but too tall on modern
   desktop screens. Keep the same identity while showing the calculators sooner. */
@media (min-width: 901px) {
  .nivata-tools-page .tools-hero {
    min-height: 610px;
    padding-top: 132px;
    padding-bottom: 68px;
    grid-template-columns: minmax(0, 1.08fr) minmax(270px, .48fr);
    gap: clamp(44px, 7vw, 105px);
  }

  .nivata-tools-page .tools-hero__copy h1 {
    max-width: 780px;
    font-size: clamp(60px, 6.45vw, 104px);
    line-height: .96;
  }

  .nivata-tools-page .tools-hero__copy > p:last-child {
    max-width: 590px;
    margin-top: 28px;
    font-size: clamp(16px, 1.15vw, 19px);
    line-height: 1.55;
  }

  .nivata-tools-page .tools-hero__note {
    padding: 22px 0 4px 24px;
  }

  .nivata-tools-page .tools-hero__note > span {
    margin-bottom: 16px;
  }

  .nivata-tools-page .tools-hero__note p {
    font-size: clamp(18px, 1.55vw, 23px);
  }

  .nivata-tools-page .tools-hero__note small {
    margin-top: 18px;
    font-size: 11px;
  }

  .nivata-tools-page .tools-orbits {
    top: 8%;
    right: 7%;
    width: min(25vw, 380px);
    opacity: .72;
  }
}

@media (max-width: 900px) {
  .nivata-tools-page .tools-hero {
    min-height: 0;
    padding-top: 116px;
    padding-bottom: 52px;
    gap: 34px;
  }

  .nivata-tools-page .tools-hero__copy h1 {
    font-size: clamp(44px, 12vw, 56px);
  }

  .nivata-tools-page .tools-hero__copy > p:last-child {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.55;
  }

  .nivata-tools-page .tools-hero__note {
    padding-top: 16px;
  }
}

/* TradingView's screener is an interactive iframe. A numeric iframe height
   avoids the percentage-height collapse that could leave the filter panel
   squeezed into the top of a much taller white card. The outer shell does
   not clip interactive overlays. */
.nivata-tv-screener {
  overflow: visible;
}

.nivata-tv-screener .tradingview-widget-container {
  width: 100%;
  height: auto;
  min-height: 790px;
}

.nivata-tv-screener .tradingview-widget-container__widget {
  width: 100%;
  height: 760px;
  min-height: 760px;
}

.nivata-tv-screener iframe {
  display: block;
  width: 100% !important;
  height: 760px !important;
  min-height: 760px !important;
  border: 0 !important;
}

.nivata-tv-screener .tradingview-widget-copyright {
  min-height: 30px;
  background: #fff;
  border-radius: 0 0 18px 18px;
}

@media (max-width: 900px) {
  .nivata-tv-screener .tradingview-widget-container {
    min-height: 750px;
  }

  .nivata-tv-screener .tradingview-widget-container__widget,
  .nivata-tv-screener iframe {
    height: 720px !important;
    min-height: 720px !important;
  }
}

@media (max-width: 600px) {
  .nivata-tv-screener .tradingview-widget-container {
    min-height: 710px;
  }

  .nivata-tv-screener .tradingview-widget-container__widget,
  .nivata-tv-screener iframe {
    height: 680px !important;
    min-height: 680px !important;
  }
}


/* ================================================================
   v3.0.0 — BSE-first fundamentals, mobile music placement and search polish
   ================================================================ */

/* The mobile-only ambient-music control sits beside the menu trigger, not inside the panel. */
.nav-music--mobile { display: none; }

.screener-availability-note {
  margin: 0 0 18px;
  padding: 13px 16px;
  border: 1px solid rgba(18,59,50,.11);
  border-radius: 12px;
  background: rgba(255,255,255,.62);
  color: #596d67;
  font-size: 12px;
  line-height: 1.55;
}
.screener-availability-note strong { color: #123b32; font-weight: 700; }

@media (max-width: 900px) {
  .site-header { position: relative; }
  .site-header .nav-music--mobile {
    position: absolute;
    top: 11px;
    right: 62px;
    z-index: 3;
    width: 44px;
    height: 44px;
    display: inline-grid !important;
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    font-size: 18px;
  }
  .site-header .nav-music--mobile:hover,
  .site-header .nav-music--mobile.is-playing { transform: none; }
  .company-detail-card--fundamentals { min-height: 650px; }
  .company-detail-card--fundamentals .tradingview-widget-container,
  .company-detail-card--fundamentals .tradingview-widget-container__widget,
  .company-detail-card--fundamentals iframe { height: 650px !important; }
}

@media (max-width: 420px) {
  .site-header .nav-music--mobile {
    right: 58px;
    width: 42px;
    height: 42px;
    top: 12px;
  }
  .screener-availability-note { margin-right: 0; margin-left: 0; font-size: 11px; }
}

/* ================================================================
   v3.1.0 — complete statement view without blank financial panels
   ================================================================ */
.nivata-deep-fundamentals {
  display: grid;
  gap: 18px;
}

.fundamental-company-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  padding: clamp(24px, 3.2vw, 38px);
  border: 1px solid rgba(18,59,50,.12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(13,48,40,.04);
}
.fundamental-company-head h2 {
  max-width: 900px;
  margin: 4px 0 8px;
  color: #0a2c25;
  font-family: var(--sans);
  font-size: clamp(28px, 3.6vw, 48px);
  font-weight: 560;
  letter-spacing: -.035em;
  line-height: 1.04;
}
.fundamental-company-head > div:first-child > p:last-child {
  margin: 0;
  color: #71817c;
  font-size: 12px;
  line-height: 1.55;
}
.fundamental-price {
  min-width: 158px;
  text-align: right;
}
.fundamental-price span,
.fundamental-price i {
  display: block;
  color: #7b8985;
  font-size: 9px;
  font-style: normal;
  font-weight: 720;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fundamental-price strong {
  display: inline-block;
  margin: 5px 0 2px;
  color: #092d25;
  font-size: clamp(25px, 3vw, 39px);
  font-weight: 620;
  letter-spacing: -.03em;
}
.fundamental-price small {
  display: inline-block;
  margin-left: 8px;
  font-size: 11px;
  font-weight: 720;
}
.fundamental-price small.is-positive { color: #168653; }
.fundamental-price small.is-negative { color: #b74848; }

.fundamental-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid rgba(18,59,50,.12);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}
.fundamental-metric {
  min-height: 106px;
  padding: 21px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
  border-right: 1px solid rgba(18,59,50,.085);
  border-bottom: 1px solid rgba(18,59,50,.085);
}
.fundamental-metric:nth-child(6n) { border-right: 0; }
.fundamental-metric span {
  color: #73817d;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.fundamental-metric strong {
  color: #0a2c25;
  font-size: clamp(19px, 2vw, 27px);
  font-weight: 590;
  letter-spacing: -.025em;
}

.fundamental-section {
  overflow: hidden;
  border: 1px solid rgba(18,59,50,.12);
  border-radius: 18px;
  background: #fff;
}
.fundamental-section__head {
  min-height: 70px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid rgba(18,59,50,.09);
}
.fundamental-section__head h3 {
  margin: 0;
  color: #0a2c25;
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 620;
  letter-spacing: -.02em;
}
.fundamental-section__head span {
  color: #81908b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fundamental-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fundamental-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  color: #183c34;
  font-family: var(--sans);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.fundamental-table th,
.fundamental-table td {
  min-width: 104px;
  padding: 15px 18px;
  border-right: 1px solid rgba(18,59,50,.065);
  border-bottom: 1px solid rgba(18,59,50,.065);
  text-align: right;
  white-space: nowrap;
}
.fundamental-table thead th {
  background: #fbfaf6;
  color: #74817e;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.fundamental-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 178px;
  text-align: left;
  background: #fff;
  color: #49615b;
  font-weight: 600;
}
.fundamental-table thead th:first-child { z-index: 3; background: #fbfaf6; }
.fundamental-table tr:last-child th,
.fundamental-table tr:last-child td { border-bottom: 0; }
.fundamental-table th:last-child,
.fundamental-table td:last-child { border-right: 0; }

.fundamental-coverage-note,
.fundamental-connect-note {
  margin: 0;
  padding: 20px 22px;
  border: 1px solid rgba(18,59,50,.11);
  border-radius: 14px;
  background: #fbfaf6;
  color: #6f7f7a;
  font-size: 11px;
  line-height: 1.65;
}
.fundamental-connect-note {
  min-height: 128px;
  display: grid;
  align-content: center;
  gap: 8px;
}
.fundamental-connect-note strong { color: #173c33; font-size: 15px; font-weight: 650; }
.fundamental-connect-note span { max-width: 720px; }
.company-detail-grid--fallback { grid-template-columns: 1fr; }
.company-detail-grid--fallback .company-detail-card--summary { min-height: 160px; }

@media (max-width: 1100px) {
  .fundamental-snapshot-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fundamental-metric:nth-child(6n) { border-right: 1px solid rgba(18,59,50,.085); }
  .fundamental-metric:nth-child(4n) { border-right: 0; }
}

@media (max-width: 700px) {
  .fundamental-company-head { grid-template-columns: 1fr; gap: 18px; padding: 22px 18px; }
  .fundamental-price { text-align: left; }
  .fundamental-snapshot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 14px; }
  .fundamental-metric { min-height: 92px; padding: 17px 15px; }
  .fundamental-metric:nth-child(4n) { border-right: 1px solid rgba(18,59,50,.085); }
  .fundamental-metric:nth-child(2n) { border-right: 0; }
  .fundamental-section { border-radius: 14px; }
  .fundamental-section__head { min-height: 62px; padding: 16px; }
  .fundamental-table th,
  .fundamental-table td { padding: 13px 14px; }
  .fundamental-table th:first-child { min-width: 158px; }
}
.fundamental-group-head {
  margin: 4px 2px -6px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
}
.fundamental-group-head h3 {
  margin: 0;
  color: #173c33;
  font: 620 17px/1.2 var(--sans);
  letter-spacing: -.015em;
}
.fundamental-group-head span {
  color: #84918d;
  font: 700 9px/1.4 var(--sans);
  letter-spacing: .07em;
  text-transform: uppercase;
}
@media (max-width: 600px) {
  .fundamental-group-head { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* ================================================================
   v3.2.0 — uniform inner-page banner system
   Homepage intentionally excluded. Every other major page family uses the
   same banner height, vertical rhythm and headline scale on a given device.
   ================================================================ */

@media (min-width: 901px) {
  .nivata-tools-page .tools-hero,
  .nivata-data-page .data-hero,
  .nivata-data-page .data-hero--compact,
  .nivata-screener-page .screener-hero,
  .nivata-legal-page .legal-hero {
    box-sizing: border-box;
    height: 600px;
    min-height: 600px;
    padding-top: 132px;
    padding-bottom: 64px;
  }

  .nivata-tools-page .tools-hero__copy h1,
  .nivata-data-page .data-hero__copy h1,
  .nivata-data-page .data-hero--compact .data-hero__copy h1,
  .nivata-screener-page .screener-hero h1,
  .nivata-legal-page .legal-hero h1 {
    max-width: 920px;
    font-family: var(--sans);
    font-size: clamp(58px, 6.2vw, 96px);
    font-weight: 520;
    letter-spacing: -0.048em;
    line-height: 0.98;
  }

  .nivata-screener-page .screener-hero__chart svg {
    height: 220px;
  }
}

@media (min-width: 621px) and (max-width: 900px) {
  .nivata-tools-page .tools-hero,
  .nivata-data-page .data-hero,
  .nivata-data-page .data-hero--compact,
  .nivata-screener-page .screener-hero,
  .nivata-legal-page .legal-hero {
    box-sizing: border-box;
    height: 520px;
    min-height: 520px;
    padding-top: 118px;
    padding-bottom: 54px;
    grid-template-columns: 1fr;
    align-items: end;
  }

  /* Secondary hero ornaments are intentionally removed at tablet width so
     every banner retains the exact same footprint and stays easy to scan. */
  .nivata-tools-page .tools-hero__note,
  .nivata-data-page .data-hero__stamp,
  .nivata-screener-page .screener-hero__chart {
    display: none;
  }

  .nivata-tools-page .tools-hero__copy h1,
  .nivata-data-page .data-hero__copy h1,
  .nivata-data-page .data-hero--compact .data-hero__copy h1,
  .nivata-screener-page .screener-hero h1,
  .nivata-legal-page .legal-hero h1 {
    max-width: 820px;
    font-family: var(--sans);
    font-size: clamp(50px, 8.2vw, 72px);
    font-weight: 520;
    letter-spacing: -0.046em;
    line-height: 1;
  }
}

@media (max-width: 620px) {
  .nivata-tools-page .tools-hero,
  .nivata-data-page .data-hero,
  .nivata-data-page .data-hero--compact,
  .nivata-screener-page .screener-hero,
  .nivata-legal-page .legal-hero {
    box-sizing: border-box;
    height: 470px;
    min-height: 470px;
    padding: 108px 20px 44px;
    grid-template-columns: 1fr;
    align-items: end;
    justify-content: end;
  }

  .nivata-tools-page .tools-hero__note,
  .nivata-data-page .data-hero__stamp,
  .nivata-screener-page .screener-hero__chart {
    display: none;
  }

  .nivata-tools-page .tools-hero__copy h1,
  .nivata-data-page .data-hero__copy h1,
  .nivata-data-page .data-hero--compact .data-hero__copy h1,
  .nivata-screener-page .screener-hero h1,
  .nivata-legal-page .legal-hero h1 {
    max-width: 100%;
    font-family: var(--sans);
    font-size: clamp(40px, 11vw, 50px);
    font-weight: 520;
    letter-spacing: -0.044em;
    line-height: 1.01;
  }

  .nivata-tools-page .tools-hero__copy > p:last-child,
  .nivata-data-page .data-hero__copy > p:last-child,
  .nivata-screener-page .screener-hero__copy > p:last-of-type {
    max-width: 42ch;
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.52;
  }

  .nivata-screener-page .screener-hero__chips {
    margin-top: 20px;
  }

  .nivata-legal-page .legal-hero > p:last-child {
    margin-top: 20px;
  }
}

/* Legal banners use flex rather than grid; preserve left alignment inside the
   shared tablet/mobile height system. */
@media (max-width: 900px) {
  .nivata-legal-page .legal-hero {
    align-items: stretch;
  }
}

/* ================================================================
   v3.3.0 — TradingView-only company dashboard + MFapi fund screener
   ================================================================ */

/* TradingView-only company view. Keep every panel in the same restrained
   Nivata card system and give iframe widgets explicit, responsive heights. */
.nivata-tv-only-screener .tv-company-dashboard {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 14px;
}
.nivata-tv-only-screener .tv-dashboard-card,
.nivata-tv-only-screener .tv-statement-links {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(18,59,50,.12);
  border-radius: 18px;
  background: #fff;
}
.nivata-tv-only-screener .tv-dashboard-card--summary { grid-column: 1 / -1; min-height: 178px; }
.nivata-tv-only-screener .tv-dashboard-card--profile { min-height: 560px; }
.nivata-tv-only-screener .tv-dashboard-card--fundamentals,
.nivata-tv-only-screener .tv-statement-links,
.nivata-tv-only-screener .tv-analysis-grid { grid-column: 1 / -1; }
.nivata-tv-only-screener .tv-dashboard-card .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card iframe,
.nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container,
.nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-fundamental-frame iframe {
  width: 100% !important;
}
.nivata-tv-only-screener .tv-dashboard-card--profile .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card--profile .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card--profile iframe { height: 560px !important; }
.nivata-tv-only-screener .tv-dashboard-heading {
  padding: 22px 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid rgba(18,59,50,.09);
}
.nivata-tv-only-screener .tv-dashboard-heading .overline { margin: 0 0 6px; }
.nivata-tv-only-screener .tv-dashboard-heading h3 {
  margin: 0;
  color: #0c3028;
  font-family: var(--sans);
  font-size: clamp(21px, 2.1vw, 30px);
  font-weight: 560;
  letter-spacing: -.03em;
  line-height: 1.08;
}
.nivata-tv-only-screener .tv-dashboard-heading > p {
  max-width: 520px;
  margin: 0;
  color: #6e7d78;
  font-size: 12px;
  line-height: 1.6;
}
.nivata-tv-only-screener .tv-fundamental-frame,
.nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container,
.nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-fundamental-frame iframe { min-height: 760px; height: 760px !important; }
.nivata-tv-only-screener .tv-statement-link-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.nivata-tv-only-screener .tv-statement-link-grid a {
  position: relative;
  min-height: 170px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-right: 1px solid rgba(18,59,50,.09);
  color: #0c3028;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.nivata-tv-only-screener .tv-statement-link-grid a:last-child { border-right: 0; }
.nivata-tv-only-screener .tv-statement-link-grid a:hover { background: #f8f7f2; }
.nivata-tv-only-screener .tv-statement-link-grid span {
  position: absolute;
  top: 20px;
  left: 24px;
  color: #168653;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .1em;
}
.nivata-tv-only-screener .tv-statement-link-grid strong { font-size: 18px; font-weight: 620; letter-spacing: -.02em; }
.nivata-tv-only-screener .tv-statement-link-grid small { margin-top: 7px; color: #75847f; font-size: 11px; line-height: 1.45; }
.nivata-tv-only-screener .tv-statement-link-grid i { position: absolute; top: 18px; right: 20px; color: #31c77a; font-style: normal; font-size: 18px; }
.nivata-tv-only-screener .tv-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
  gap: 14px;
}
.nivata-tv-only-screener .tv-dashboard-card--chart .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card--chart .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card--chart iframe { min-height: 540px; height: 540px !important; }
.nivata-tv-only-screener .tv-dashboard-card--technical .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card--technical .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card--technical iframe { min-height: 430px; height: 430px !important; }
.nivata-tv-only-screener .tv-company-dashboard .tradingview-widget-copyright {
  min-height: 28px;
  padding: 6px 12px 7px;
  border-top: 1px solid rgba(18,59,50,.07);
  color: #8b9692;
  font-size: 10px;
  line-height: 1.4;
  text-align: right;
}
.nivata-tv-only-screener .tv-company-dashboard .tradingview-widget-copyright a { color: #176e51; text-decoration: none; }

/* MFapi-backed mutual-fund screener. */
.nivata-funds-page .fund-screen-section { padding-top: clamp(64px, 7vw, 100px); padding-bottom: clamp(72px, 8vw, 112px); }
.nivata-funds-page .fund-screen-intro {
  margin: 24px 0 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
}
.nivata-funds-page .fund-screen-intro > p { max-width: 760px; margin: 0; color: #697a74; font-size: 13px; line-height: 1.65; }
.nivata-funds-page .fund-preset-row { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.nivata-funds-page .fund-preset-row button,
.nivata-funds-page .fund-reset,
.nivata-funds-page .fund-load-more {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(18,59,50,.14);
  border-radius: 999px;
  background: #fff;
  color: #214d40;
  cursor: pointer;
  font: 700 9px/1 var(--sans);
  letter-spacing: .055em;
  text-transform: uppercase;
}
.nivata-funds-page .fund-preset-row button:hover,
.nivata-funds-page .fund-reset:hover,
.nivata-funds-page .fund-load-more:hover { border-color: rgba(35,169,103,.4); background: rgba(35,169,103,.06); }
.nivata-funds-page .fund-screen-form {
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  border: 1px solid rgba(18,59,50,.11);
  border-radius: 18px;
  background: #fff;
}
.nivata-funds-page .fund-screen-field { min-width: 0; display: grid; gap: 7px; }
.nivata-funds-page .fund-screen-field--search { grid-column: span 2; }
.nivata-funds-page .fund-screen-field > span,
.nivata-funds-page .fund-rank-controls label > span {
  color: #60726c;
  font: 730 9px/1.2 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nivata-funds-page .fund-screen-field input,
.nivata-funds-page .fund-screen-field select,
.nivata-funds-page .fund-rank-controls select {
  width: 100%;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid rgba(18,59,50,.14);
  border-radius: 10px;
  background: #fbfaf6;
  color: #12362d;
  font: 540 13px/1.2 var(--sans);
}
.nivata-funds-page .fund-screen-actions { grid-column: span 2; display: flex; align-items: end; gap: 9px; }
.nivata-funds-page .fund-screen-actions .data-search-button { min-height: 48px; }
.nivata-funds-page .fund-screen-summary { margin: 16px 2px 10px; display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.nivata-funds-page .fund-screen-summary p { margin: 0; color: #74817d; font-size: 11px; line-height: 1.5; }
.nivata-funds-page .fund-screen-summary p:first-child { color: #173c33; font-size: 12px; font-weight: 650; }
.nivata-funds-page .fund-screen-table-wrap { margin-top: 12px; border: 1px solid rgba(18,59,50,.1); border-radius: 16px; background: #fff; }
.nivata-funds-page .fund-screen-table .scheme-name { display: block; color: #12352d; font-size: 12.5px; font-weight: 640; }
.nivata-funds-page .fund-screen-table .scheme-meta { display: block; margin-top: 4px; color: #8a9691; font-size: 10px; }
.nivata-funds-page .fund-add {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(18,59,50,.15);
  border-radius: 999px;
  background: #fff;
  color: #176e51;
  cursor: pointer;
  font: 720 9px/1 var(--sans);
  text-transform: uppercase;
}
.nivata-funds-page .fund-add:disabled { opacity: .5; cursor: default; }
.nivata-funds-page .fund-load-row { margin: 14px 0 0; display: flex; justify-content: center; }
.nivata-funds-page .fund-rank-panel {
  margin-top: 34px;
  padding: clamp(22px, 3vw, 32px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px 34px;
  align-items: end;
  border: 1px solid rgba(18,59,50,.11);
  border-radius: 18px;
  background: #f8f7f2;
}
.nivata-funds-page .fund-rank-copy h3 { margin: 4px 0 8px; color: #0d332a; font: 580 clamp(24px, 2.5vw, 34px)/1.05 var(--sans); letter-spacing: -.035em; }
.nivata-funds-page .fund-rank-copy p:last-child { max-width: 760px; margin: 0; color: #697a74; font-size: 12px; line-height: 1.62; }
.nivata-funds-page .fund-rank-controls { display: flex; align-items: end; gap: 9px; }
.nivata-funds-page .fund-rank-controls label { min-width: 170px; display: grid; gap: 7px; }
.nivata-funds-page .fund-rank-controls .data-search-button { min-height: 48px; white-space: nowrap; }
.nivata-funds-page .fund-rank-controls .data-search-button:disabled { opacity: .45; cursor: default; }
.nivata-funds-page .fund-rank-status { grid-column: 1 / -1; margin: 0; color: #73817c; font-size: 11px; }
.nivata-funds-page .fund-rank-results { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.nivata-funds-page .fund-rank-results[hidden] { display: none !important; }
.nivata-funds-page .fund-rank-card {
  min-width: 0;
  min-height: 86px;
  padding: 14px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(18,59,50,.09);
  border-radius: 13px;
  background: #fff;
}
.nivata-funds-page .fund-rank-number { color: #168653; font: 760 10px/1 var(--sans); letter-spacing: .08em; }
.nivata-funds-page .fund-rank-card__copy { min-width: 0; }
.nivata-funds-page .fund-rank-card__copy strong { display: block; overflow: hidden; color: #12362d; font-size: 12px; font-weight: 630; text-overflow: ellipsis; white-space: nowrap; }
.nivata-funds-page .fund-rank-card__copy small { display: block; margin-top: 4px; overflow: hidden; color: #88948f; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.nivata-funds-page .fund-rank-return { min-width: 76px; text-align: right; }
.nivata-funds-page .fund-rank-return strong { display: block; color: #0c6e49; font-size: 15px; font-weight: 700; }
.nivata-funds-page .fund-rank-return small { display: block; margin-top: 3px; color: #929b98; font-size: 8px; text-transform: uppercase; }
.nivata-funds-page .fund-compare-head { margin-top: clamp(50px, 6vw, 78px); }

@media (max-width: 1000px) {
  .nivata-tv-only-screener .tv-company-dashboard { grid-template-columns: 1fr; }
  .nivata-tv-only-screener .tv-dashboard-card--summary,
  .nivata-tv-only-screener .tv-dashboard-card--fundamentals,
  .nivata-tv-only-screener .tv-statement-links,
  .nivata-tv-only-screener .tv-analysis-grid { grid-column: 1; }
  .nivata-tv-only-screener .tv-analysis-grid { grid-template-columns: 1fr; }
  .nivata-tv-only-screener .tv-statement-link-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nivata-tv-only-screener .tv-statement-link-grid a:nth-child(2) { border-right: 0; }
  .nivata-tv-only-screener .tv-statement-link-grid a:nth-child(-n+2) { border-bottom: 1px solid rgba(18,59,50,.09); }
  .nivata-funds-page .fund-screen-form { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nivata-funds-page .fund-screen-field--search { grid-column: 1 / -1; }
  .nivata-funds-page .fund-rank-panel { grid-template-columns: 1fr; align-items: start; }
  .nivata-funds-page .fund-rank-status,
  .nivata-funds-page .fund-rank-results { grid-column: 1; }
}

@media (max-width: 700px) {
  .nivata-tv-only-screener .tv-dashboard-heading { padding: 18px; align-items: flex-start; flex-direction: column; gap: 9px; }
  .nivata-tv-only-screener .tv-dashboard-card,
  .nivata-tv-only-screener .tv-statement-links { border-radius: 14px; }
  .nivata-tv-only-screener .tv-dashboard-card--profile,
  .nivata-tv-only-screener .tv-dashboard-card--profile .tradingview-widget-container,
  .nivata-tv-only-screener .tv-dashboard-card--profile .tradingview-widget-container__widget,
  .nivata-tv-only-screener .tv-dashboard-card--profile iframe { min-height: 500px; height: 500px !important; }
  .nivata-tv-only-screener .tv-fundamental-frame,
  .nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container,
  .nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container__widget,
  .nivata-tv-only-screener .tv-fundamental-frame iframe { min-height: 680px; height: 680px !important; }
  .nivata-tv-only-screener .tv-statement-link-grid { grid-template-columns: 1fr; }
  .nivata-tv-only-screener .tv-statement-link-grid a,
  .nivata-tv-only-screener .tv-statement-link-grid a:nth-child(2) { min-height: 132px; border-right: 0; border-bottom: 1px solid rgba(18,59,50,.09); }
  .nivata-tv-only-screener .tv-statement-link-grid a:last-child { border-bottom: 0; }
  .nivata-tv-only-screener .tv-dashboard-card--chart .tradingview-widget-container,
  .nivata-tv-only-screener .tv-dashboard-card--chart .tradingview-widget-container__widget,
  .nivata-tv-only-screener .tv-dashboard-card--chart iframe { min-height: 470px; height: 470px !important; }
  .nivata-funds-page .fund-screen-intro { flex-direction: column; }
  .nivata-funds-page .fund-preset-row { justify-content: flex-start; }
  .nivata-funds-page .fund-screen-form { padding: 15px; grid-template-columns: 1fr; border-radius: 14px; }
  .nivata-funds-page .fund-screen-field--search,
  .nivata-funds-page .fund-screen-actions { grid-column: 1; }
  .nivata-funds-page .fund-screen-actions { align-items: stretch; flex-direction: column; }
  .nivata-funds-page .fund-screen-summary { align-items: flex-start; flex-direction: column; gap: 6px; }
  .nivata-funds-page .fund-rank-panel { padding: 18px; border-radius: 14px; }
  .nivata-funds-page .fund-rank-controls { align-items: stretch; flex-direction: column; }
  .nivata-funds-page .fund-rank-controls label { min-width: 0; }
  .nivata-funds-page .fund-rank-results { grid-template-columns: 1fr; }
  .nivata-funds-page .fund-rank-card { grid-template-columns: 30px minmax(0,1fr) auto; }
  .nivata-funds-page .fund-rank-card .fund-add { grid-column: 2 / -1; justify-self: start; }
}


/* ================================================================
   v3.4.0 — reference-sized inner-page banners
   Homepage intentionally excluded. All other primary page banners now share
   one slightly taller footprint for a more uniform, high-end visual rhythm.
   ================================================================ */
@media (min-width: 901px) {
  .nivata-tools-page .tools-hero,
  .nivata-data-page .data-hero,
  .nivata-data-page .data-hero--compact,
  .nivata-screener-page .screener-hero,
  .nivata-legal-page .legal-hero {
    height: 640px;
    min-height: 640px;
    padding-top: 138px;
    padding-bottom: 68px;
  }
}

@media (min-width: 621px) and (max-width: 900px) {
  .nivata-tools-page .tools-hero,
  .nivata-data-page .data-hero,
  .nivata-data-page .data-hero--compact,
  .nivata-screener-page .screener-hero,
  .nivata-legal-page .legal-hero {
    height: 550px;
    min-height: 550px;
    padding-top: 122px;
    padding-bottom: 58px;
  }
}

@media (max-width: 620px) {
  .nivata-tools-page .tools-hero,
  .nivata-data-page .data-hero,
  .nivata-data-page .data-hero--compact,
  .nivata-screener-page .screener-hero,
  .nivata-legal-page .legal-hero {
    height: 500px;
    min-height: 500px;
    padding-top: 112px;
    padding-bottom: 48px;
  }
}


/* ================================================================
   v3.5.0 — clean financial dashboard + category-first fund leaders
   ================================================================ */
.nivata-tv-only-screener .tv-company-dashboard {
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  align-items: stretch;
}
.nivata-tv-only-screener .tv-dashboard-card--profile { grid-column: 1; min-height: 590px; }
.nivata-tv-only-screener .tv-dashboard-card--fundamentals { grid-column: 2; min-height: 590px; }
.nivata-tv-only-screener .tv-dashboard-card--profile .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card--profile .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card--profile iframe,
.nivata-tv-only-screener .tv-fundamental-frame,
.nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container,
.nivata-tv-only-screener .tv-fundamental-frame .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-fundamental-frame iframe { min-height: 590px; height: 590px !important; }
.nivata-tv-only-screener .tv-dashboard-card--technical,
.nivata-tv-only-screener .tv-dashboard-card--technical .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card--technical .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card--technical iframe { min-height: 540px; height: 540px !important; }
.nivata-tv-only-screener .tv-statement-links { display: none !important; }

.nivata-funds-page .fund-leader-section { padding-top: clamp(58px, 6vw, 86px); padding-bottom: clamp(72px, 8vw, 104px); }
.nivata-funds-page .fund-leader-toolbar {
  margin: 26px 0 14px; padding: 12px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  border: 1px solid rgba(18,59,50,.1); border-radius: 16px; background: #f8f7f2;
}
.nivata-funds-page .fund-category-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.nivata-funds-page .fund-period-tabs { flex: 0 0 auto; display: flex; gap: 5px; padding: 4px; border-radius: 999px; background: #fff; border: 1px solid rgba(18,59,50,.09); }
.nivata-funds-page .fund-category-tabs button,
.nivata-funds-page .fund-period-tabs button {
  min-height: 36px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: #5f716b;
  cursor: pointer; font: 690 10px/1 var(--sans); letter-spacing: .02em; transition: .18s ease;
}
/* v3.34.89.182: mutual-fund category labels +25% (10px -> 12.5px). */
.nivata-funds-page .fund-category-tabs button { font-size: 12.5px; }
.nivata-funds-page .fund-category-tabs button:hover,
.nivata-funds-page .fund-period-tabs button:hover { color: #0e5d42; background: rgba(35,169,103,.06); }
.nivata-funds-page .fund-category-tabs button.is-active,
.nivata-funds-page .fund-period-tabs button.is-active { color: #fff; background: #133d32; box-shadow: none; }
.nivata-funds-page .fund-leader-meta { margin: 0 2px 10px; display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.nivata-funds-page .fund-leader-meta p { margin: 0; color: #7a8782; font-size: 10.5px; line-height: 1.5; }
.nivata-funds-page .fund-leader-meta p:first-child { color: #173c33; font-size: 12px; font-weight: 680; }
.nivata-funds-page .fund-leader-table-wrap { border: 1px solid rgba(18,59,50,.1); border-radius: 16px; background: #fff; overflow: hidden; }
.nivata-funds-page .fund-leader-table th { white-space: nowrap; }
.nivata-funds-page .fund-leader-table td:first-child { min-width: 310px; display: flex; align-items: center; gap: 13px; }
.nivata-funds-page .fund-leader-rank { flex: 0 0 28px; color: #93a09b; font-size: 9px; font-weight: 760; letter-spacing: .08em; }
.nivata-funds-page .fund-leader-name { min-width: 0; }
.nivata-funds-page .fund-leader-name strong { display: block; color: #12362d; font-size: 12.5px; font-weight: 640; line-height: 1.35; }
.nivata-funds-page .fund-leader-name small { display: block; margin-top: 4px; color: #929c98; font-size: 9px; }
.nivata-funds-page .fund-leader-table .return-value { font-weight: 650; color: #385d52; }
.nivata-funds-page .fund-leader-table .return-value.is-ranked { color: #087548; font-weight: 760; background: rgba(35,169,103,.045); }
.nivata-funds-page .fund-leader-table .return-value.is-negative { color: #8b3e3e; }
.nivata-funds-page .fund-aum { white-space: nowrap; color: #5f716b; font-size: 11px; }
.nivata-funds-page .fund-source-note { margin: 12px 2px 0; display: flex; align-items: center; justify-content: flex-end; gap: 8px; color: #899590; font-size: 9.5px; }
.nivata-funds-page .fund-source-note a { color: #176e51; text-decoration: none; }
/* Remove any legacy mutual-fund floating shortcut from earlier builds/plugins. */
.nivata-funds-page .fund-floating-link,
.nivata-funds-page .top-mutual-funds,
.nivata-funds-page [class*="top-mutual-fund"],
.nivata-funds-page [id*="top-mutual-fund"] { display: none !important; }

@media (max-width: 1000px) {
  .nivata-tv-only-screener .tv-company-dashboard { grid-template-columns: 1fr; }
  .nivata-tv-only-screener .tv-dashboard-card--profile,
  .nivata-tv-only-screener .tv-dashboard-card--fundamentals { grid-column: 1; }
  .nivata-funds-page .fund-leader-toolbar { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
  .nivata-funds-page .fund-leader-toolbar { margin-top: 20px; padding: 10px; border-radius: 14px; }
  .nivata-funds-page .fund-category-tabs { flex-wrap: nowrap; width: 100%; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .nivata-funds-page .fund-category-tabs::-webkit-scrollbar { display: none; }
  .nivata-funds-page .fund-category-tabs button { flex: 0 0 auto; }
  .nivata-funds-page .fund-leader-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .nivata-funds-page .fund-leader-table td:first-child { min-width: 0; display: grid; grid-template-columns: 28px minmax(0,1fr); }
  .nivata-funds-page .fund-source-note { justify-content: flex-start; }
}


/* v3.6.0 — custom screener financial panel + tighter mobile banner rhythm */
.nivata-tv-only-screener .tv-company-dashboard {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 14px;
}
.nivata-tv-only-screener .tv-dashboard-card--summary { grid-column: 1 / -1; min-height: 178px; }
.nivata-tv-only-screener .tv-dashboard-card--profile,
.nivata-tv-only-screener .tv-dashboard-card--fundamentals { min-height: 560px; }
.nivata-tv-only-screener .tv-dashboard-card--fundamentals { grid-column: auto; }
.nivata-tv-only-screener .tv-analysis-grid { grid-column: 1 / -1; display: block; }
.nivata-tv-only-screener .tv-dashboard-card--chart { width: 100%; }
.nivata-tv-only-screener .tv-dashboard-card--chart .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card--chart .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card--chart iframe { min-height: 540px; height: 540px !important; }

.nivata-financial-panel {
  padding: 20px;
}
.nivata-financial-snapshot {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.nivata-financial-snapshot__item {
  min-height: 84px;
  padding: 14px;
  border: 1px solid rgba(18,59,50,.1);
  border-radius: 14px;
  background: #fbfaf6;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}
.nivata-financial-snapshot__item span {
  color: #70817c;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.nivata-financial-snapshot__item strong {
  color: #0c3028;
  font-size: 18px;
  font-weight: 630;
  letter-spacing: -.02em;
}
.nivata-financial-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.nivata-financial-box {
  min-width: 0;
  border: 1px solid rgba(18,59,50,.1);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}
.nivata-financial-box h4 {
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(18,59,50,.09);
  color: #153b31;
  font: 630 18px/1.2 var(--sans);
}
.nivata-financial-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.nivata-financial-list li {
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(18,59,50,.07);
}
.nivata-financial-list li:last-child { border-bottom: 0; }
.nivata-financial-list span {
  color: #4d645e;
  font-size: 12px;
  line-height: 1.45;
}
.nivata-financial-list strong {
  color: #0d3028;
  font-size: 13px;
  font-weight: 720;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .nivata-tv-only-screener .tv-company-dashboard { grid-template-columns: 1fr; }
  .nivata-tv-only-screener .tv-dashboard-card--summary,
  .nivata-tv-only-screener .tv-dashboard-card--fundamentals,
  .nivata-tv-only-screener .tv-analysis-grid { grid-column: 1; }
}

@media (max-width: 700px) {
  .nivata-financial-panel { padding: 16px; }
  .nivata-financial-snapshot { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nivata-financial-columns { grid-template-columns: 1fr; }
  .nivata-financial-box h4 { padding: 14px 16px; font-size: 17px; }
  .nivata-financial-list li { padding: 13px 16px; }
}

@media (max-width: 620px) {
  .nivata-screener-page .screener-hero {
    height: auto;
    min-height: 0;
    padding: 88px 20px 34px;
    align-items: start;
    justify-content: start;
  }
  .nivata-screener-page .screener-hero__copy {
    align-self: start;
  }
  .nivata-screener-page .screener-hero__copy > p:last-of-type {
    margin-top: 16px;
  }
}


/* ================================================================
   v3.7.0 — final polish: no dead financial rows, autocomplete, true fund
   tables on phones, tighter mobile hero rhythm and balanced dashboard.
   ================================================================ */
.company-search__field { position: relative; }
.company-suggestions {
  position: absolute; z-index: 40; top: calc(100% + 7px); left: 0; right: 0;
  max-height: min(420px, 58vh); overflow-y: auto; padding: 7px;
  border: 1px solid rgba(18,59,50,.14); border-radius: 15px; background: #fff;
  box-shadow: 0 20px 55px rgba(10,42,34,.16); overscroll-behavior: contain;
}
.company-suggestion {
  width: 100%; min-height: 58px; padding: 10px 12px; display: flex; align-items: center;
  justify-content: space-between; gap: 16px; border: 0; border-radius: 10px;
  background: transparent; color: #153b31; text-align: left; cursor: pointer;
}
.company-suggestion:hover,
.company-suggestion[aria-selected="true"] { background: #f3f7f3; }
.company-suggestion span { min-width: 0; }
.company-suggestion strong { display: block; overflow: hidden; text-overflow: ellipsis; color: #12362d; font-size: 13px; font-weight: 680; white-space: nowrap; }
.company-suggestion small { display: block; margin-top: 4px; color: #7a8984; font-size: 10px; letter-spacing: .02em; }
.company-suggestion i { flex: 0 0 auto; color: #279c66; font-style: normal; }

.nivata-tv-only-screener .tv-analysis-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr); gap: 14px; }
.nivata-tv-only-screener .tv-dashboard-card--chart,
.nivata-tv-only-screener .tv-dashboard-card--technical { min-width: 0; }
.nivata-tv-only-screener .tv-dashboard-card--technical .tradingview-widget-container,
.nivata-tv-only-screener .tv-dashboard-card--technical .tradingview-widget-container__widget,
.nivata-tv-only-screener .tv-dashboard-card--technical iframe { min-height: 540px; height: 540px !important; }
.nivata-financial-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.nivata-financial-source { margin: 13px 2px 0; color: #87938f; font-size: 9.5px; line-height: 1.55; }
.nivata-financial-source a { color: #176e51; text-decoration: none; }

/* Mutual funds remain a table at every width; phones scroll horizontally instead of turning rows into cards. */
.nivata-funds-page .fund-leader-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 700px) {
  .nivata-funds-page .fund-leader-table { display: table !important; width: 100%; min-width: 690px; border-collapse: collapse; }
  .nivata-funds-page .fund-leader-table thead { display: table-header-group !important; }
  .nivata-funds-page .fund-leader-table tbody { display: table-row-group !important; gap: 0 !important; }
  .nivata-funds-page .fund-leader-table tr { display: table-row !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
  .nivata-funds-page .fund-leader-table th,
  .nivata-funds-page .fund-leader-table td { display: table-cell !important; min-height: 0 !important; padding: 14px 12px !important; border-bottom: 1px solid rgba(18,59,50,.07) !important; vertical-align: middle; font-size: 12px; white-space: nowrap; }
  .nivata-funds-page .fund-leader-table td::before { display: none !important; content: none !important; }
  .nivata-funds-page .fund-leader-table td:first-child { min-width: 290px; display: table-cell !important; }
  .nivata-funds-page .fund-leader-table td:first-child .fund-leader-rank,
  .nivata-funds-page .fund-leader-table td:first-child .fund-leader-name { display: inline-block; vertical-align: middle; }
  .nivata-funds-page .fund-leader-table td:first-child .fund-leader-rank { width: 30px; }
  .nivata-funds-page .fund-leader-table td:first-child .fund-leader-name { max-width: 245px; white-space: normal; }
}

@media (max-width: 1000px) {
  .nivata-tv-only-screener .tv-analysis-grid { grid-template-columns: 1fr; }
}

/* Keep the requested banner presence, but put useful content near the header instead of near the bottom. */
@media (max-width: 620px) {
  .nivata-screener-page .screener-hero,
  .nivata-data-page .data-hero,
  .nivata-data-page .data-hero--compact,
  .nivata-tools-page .tools-hero {
    height: auto; min-height: 430px; padding-top: 48px; padding-bottom: 38px;
    align-items: start; align-content: start; justify-content: start;
  }
  .nivata-screener-page .screener-hero__copy,
  .nivata-data-page .data-hero__copy,
  .nivata-tools-page .tools-hero__copy { align-self: start; }
  .nivata-screener-page .screener-hero__chips { margin-top: 18px; }
  .company-search { padding: 16px; }
  .company-search__row { grid-template-columns: 28px minmax(0,1fr); }
  .company-search__row button { grid-column: 1 / -1; width: 100%; margin-top: 8px; }
  .company-suggestions { top: calc(100% + 6px); max-height: 48vh; }
  .nivata-financial-snapshot { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nivata-financial-columns { grid-template-columns: 1fr; }
}

/* v3.7.0 density tune: keep Profile + Financials balanced without hiding useful data. */
.nivata-financial-panel { padding: 14px; }
.nivata-financial-columns { gap: 10px; }
.nivata-financial-box h4 { padding: 12px 14px; font-size: 15px; }
.nivata-financial-list li { padding: 9px 14px; }
.nivata-financial-list span { font-size: 11px; }
.nivata-financial-list strong { font-size: 12px; }
@media (max-width: 700px) {
  .nivata-financial-panel { padding: 12px; }
  .nivata-financial-box h4 { padding: 12px 14px; font-size: 15px; }
  .nivata-financial-list li { padding: 10px 14px; }
}

/* ================================================================
   v3.8.0 — phone-perfect mutual-fund table + cleaner public copy
   ================================================================ */
@media (max-width: 700px) {
  /* Do not inherit the parent theme's stacked/mobile-card table mode. */
  .nivata-funds-page .fund-leader-table-wrap {
    overflow: hidden !important;
    width: 100%;
  }
  .nivata-funds-page .fund-leader-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  .nivata-funds-page .fund-leader-table thead {
    display: table-header-group !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
  }
  .nivata-funds-page .fund-leader-table tbody {
    display: table-row-group !important;
  }
  .nivata-funds-page .fund-leader-table tr {
    display: table-row !important;
  }
  .nivata-funds-page .fund-leader-table th,
  .nivata-funds-page .fund-leader-table td {
    display: table-cell !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 12px 5px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid rgba(18,59,50,.07) !important;
    line-height: 1.25;
  }
  .nivata-funds-page .fund-leader-table th {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    color: #667872;
    background: #f7f9f6;
    font-size: 9.5px;
    font-weight: 760;
    letter-spacing: .025em;
    text-align: center;
    white-space: nowrap !important;
  }
  .nivata-funds-page .fund-leader-table th:first-child { text-align: left; padding-left: 10px !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(1),
  .nivata-funds-page .fund-leader-table td:nth-child(1) { width: 40% !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(2),
  .nivata-funds-page .fund-leader-table td:nth-child(2),
  .nivata-funds-page .fund-leader-table th:nth-child(3),
  .nivata-funds-page .fund-leader-table td:nth-child(3),
  .nivata-funds-page .fund-leader-table th:nth-child(4),
  .nivata-funds-page .fund-leader-table td:nth-child(4) { width: 13.25% !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(5),
  .nivata-funds-page .fund-leader-table td:nth-child(5) { width: 20.25% !important; }
  .nivata-funds-page .fund-leader-table td::before { display: none !important; content: none !important; }
  .nivata-funds-page .fund-leader-table td:first-child {
    padding-left: 10px !important;
    white-space: normal !important;
  }
  .nivata-funds-page .fund-leader-rank { display: none !important; }
  .nivata-funds-page .fund-leader-name {
    display: block !important;
    max-width: none !important;
    min-width: 0 !important;
    white-space: normal !important;
  }
  .nivata-funds-page .fund-leader-name strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 10.5px;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }
  .nivata-funds-page .fund-leader-name small {
    margin-top: 4px;
    font-size: 8.5px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .nivata-funds-page .fund-leader-table .return-value {
    padding-left: 2px !important;
    padding-right: 2px !important;
    font-size: 10px;
    text-align: center;
    white-space: nowrap !important;
  }
  .nivata-funds-page .fund-aum {
    padding-left: 3px !important;
    padding-right: 6px !important;
    font-size: 9px !important;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap !important;
  }
  .nivata-funds-page .fund-leader-table .return-value.is-ranked {
    box-shadow: inset 0 0 0 999px rgba(35,169,103,.035);
  }
}

@media (max-width: 380px) {
  .nivata-funds-page .fund-leader-table th,
  .nivata-funds-page .fund-leader-table td { padding-top: 11px !important; padding-bottom: 11px !important; }
  .nivata-funds-page .fund-leader-name strong { font-size: 10px; }
  .nivata-funds-page .fund-leader-name small { font-size: 8px; }
  .nivata-funds-page .fund-leader-table .return-value { font-size: 9.5px; }
  .nivata-funds-page .fund-aum { font-size: 8.5px !important; }
}

/* Legacy callout styles remain harmless but no matching public markup is emitted. */
.nivata-funds-page .fund-source-note { display: none !important; }


/* ================================================================
   v3.10.0 — compact IPO table on phones + exact brand icon artwork
   ================================================================ */
@media (max-width: 700px) {
  /* The IPO calendar stays a real table on phones, matching the mutual-fund
     leaderboard instead of inheriting the legacy stacked-card table mode. */
  .nivata-ipos-page .data-table-wrap {
    width: 100%;
    overflow: hidden !important;
    border: 1px solid rgba(18,59,50,.10);
    border-radius: 16px;
    background: #fff;
  }
  .nivata-ipos-page .ipo-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  .nivata-ipos-page .ipo-table thead {
    display: table-header-group !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
  }
  .nivata-ipos-page .ipo-table tbody {
    display: table-row-group !important;
    gap: 0 !important;
  }
  .nivata-ipos-page .ipo-table tr {
    display: table-row !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td {
    display: table-cell !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 12px 5px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid rgba(18,59,50,.07) !important;
    line-height: 1.25;
    text-align: left;
  }
  .nivata-ipos-page .ipo-table th {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    color: #667872;
    background: #f7f9f6;
    font-size: 9px;
    font-weight: 760;
    letter-spacing: .02em;
    white-space: normal !important;
  }
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { width: 41% !important; padding-left: 10px !important; }
  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2) { width: 16% !important; text-align: center; }
  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3) { width: 24% !important; text-align: center; }
  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4) { width: 19% !important; padding-right: 8px !important; text-align: right; }
  .nivata-ipos-page .ipo-table td::before {
    display: none !important;
    content: none !important;
  }
  .nivata-ipos-page .ipo-table .issue-name {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: #12362d;
    font-size: 10.5px !important;
    font-weight: 680;
    line-height: 1.24 !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
  }
  .nivata-ipos-page .ipo-table .issue-meta {
    display: block;
    margin-top: 4px;
    color: #8a9691;
    font-size: 8px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }
  .nivata-ipos-page .ipo-table .status-pill {
    display: inline-flex;
    max-width: 100%;
    min-width: 0;
    padding: 5px 5px !important;
    justify-content: center;
    border-radius: 999px;
    font-size: 7.6px !important;
    line-height: 1.1;
    letter-spacing: .035em;
    white-space: nowrap;
  }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close {
    display: block;
    font-size: 9px !important;
    line-height: 1.28 !important;
    white-space: normal;
  }
  .nivata-ipos-page .ipo-table .date-range { color: #163c32; font-weight: 640; }
  .nivata-ipos-page .ipo-table .date-close { margin-top: 3px; color: #83908c; }
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 9.25px !important;
    font-variant-numeric: tabular-nums;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: normal;
  }
  .nivata-ipos-page .ipo-table .table-empty {
    width: 100% !important;
    padding: 22px 14px !important;
    text-align: center !important;
    font-size: 11px !important;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td { padding-top: 10px !important; padding-bottom: 10px !important; }
  .nivata-ipos-page .ipo-table .issue-name { font-size: 10px !important; }
  .nivata-ipos-page .ipo-table .issue-meta { font-size: 7.5px !important; }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close,
  .nivata-ipos-page .ipo-table .price-band { font-size: 8.5px !important; }
  .nivata-ipos-page .ipo-table .status-pill { font-size: 7px !important; }
}


/* ================================================================
   v3.13.0 — mobile Core Web Vitals / LCP pass
   ================================================================ */
/* Above-the-fold hero content must never wait for the IntersectionObserver
   reveal class. The emblem's orbit/float animations remain intact. */
.has-reveal .hero .hero__copy.reveal,
.has-reveal .hero .hero__object.reveal,
.has-reveal .tools-hero .reveal,
.has-reveal .data-hero .reveal,
.has-reveal .screener-hero .reveal,
.has-reveal .legal-hero .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

@media (max-width: 720px) {
  /* Preserve the glass/emblem look while reducing expensive raster effects on
     low-power phones. The orbit and emblem animations still run. */
  .hero__glow {
    filter: blur(52px);
  }

  .emblem-card {
    -webkit-backdrop-filter: blur(8px) saturate(112%);
    backdrop-filter: blur(8px) saturate(112%);
    box-shadow:
      0 22px 48px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.38),
      inset 0 -1px 0 rgba(255, 255, 255, 0.07);
  }

  .emblem-stage::before {
    filter: blur(16px);
  }

  .logo-crop--emblem img {
    filter: none;
  }
}

/* ================================================================
   v3.13.1 — hero emblem caption word spacing
   Keep the three principles visually distinct on every viewport.
   ================================================================ */
.hero__object .orbit-caption {
  display: flex !important;
  align-items: center;
  justify-content: center;
  column-gap: clamp(18px, 2.2vw, 30px) !important;
}

.hero__object .orbit-caption > span {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .hero__object .orbit-caption {
    column-gap: 14px !important;
  }
}


/* ================================================================
   v3.14.0 — typography consistency + more readable mobile data tables
   Standardise recurring text roles while preserving the existing visual
   hierarchy, then give the dense IPO and mutual-fund tables a larger mobile
   type scale without reverting to stacked cards.
   ================================================================ */

/* Consistent supporting-copy and UI-label scale across the main page families. */
.nivata-tools-page .tools-section__intro > p,
.nivata-tools-page .tools-methodology__copy p,
.nivata-data-page .data-hub__intro p,
.nivata-data-page .data-guardrail > p:not(.overline),
.nivata-data-page .data-notes p,
.nivata-data-page .regulated-warning p,
.nivata-screener-page .screener-availability-note,
.nivata-screener-page .company-search__help,
.home-data-gateway__intro p,
.updates__copy > p,
.principle p,
.framework-card p,
.status-card p {
  font-size: 15px;
  line-height: 1.62;
}

.eyebrow,
.overline,
.section-index,
.table-count,
.freshness,
.data-toolbar label > span,
.field-grid label > span,
.field-grid label > small,
.nivata-mobile-panel__eyebrow,
.nivata-mobile-panel__quick span,
.nivata-mobile-panel__note {
  font-size: 12px;
  line-height: 1.45;
}

/* Keep desktop navigation restrained but bring all navigation labels onto a
   consistent readable scale. */
@media (min-width: 901px) {
  .site-nav,
  .site-nav a,
  .site-nav .nav-cta {
    font-size: 12px;
  }
}

@media (max-width: 900px) {
  body.nivata-premium-mobile {
    font-size: 15px;
    line-height: 1.58;
  }

  .hero__disclosure,
  .principle p,
  .framework-card p,
  .status-card p,
  .home-data-gateway__intro p,
  .updates__copy > p,
  .site-footer p,
  .site-footer a,
  .tools-section__intro > p,
  .tools-methodology__copy p,
  .data-hub__intro p,
  .data-guardrail > p:not(.overline),
  .data-notes p,
  .regulated-warning p {
    font-size: 15px;
    line-height: 1.62;
  }

  .nivata-mobile-panel__links a {
    font-size: clamp(22px, 6vw, 26px);
    line-height: 1.1;
  }

  .nivata-mobile-panel__quick strong {
    font-size: 16px;
    line-height: 1.2;
  }

  .nivata-mobile-dock__item span {
    font-size: 10.5px;
    line-height: 1.05;
  }
}

/* Mutual-fund leaderboard: retain the five-column phone table but make it
   comfortably legible at normal viewing distance. */
@media (max-width: 700px) {
  .nivata-funds-page .fund-category-tabs button {
    font-size: 13.75px; /* 25% above the original 11px mobile size. */
  }

  .nivata-funds-page .fund-period-tabs button {
    font-size: 11px;
  }

  .nivata-funds-page .fund-leader-meta p {
    font-size: 11.5px;
  }

  .nivata-funds-page .fund-leader-meta p:first-child {
    font-size: 12.5px;
  }

  .nivata-funds-page .fund-leader-table th,
  .nivata-funds-page .fund-leader-table td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }

  .nivata-funds-page .fund-leader-table th {
    font-size: 10.5px !important;
    line-height: 1.2;
  }

  .nivata-funds-page .fund-leader-name strong {
    font-size: 11.5px !important;
    line-height: 1.28;
  }

  .nivata-funds-page .fund-leader-name small {
    font-size: 9.5px !important;
    line-height: 1.25;
  }

  .nivata-funds-page .fund-leader-table .return-value {
    font-size: 11px !important;
    line-height: 1.2;
  }

  .nivata-funds-page .fund-aum {
    font-size: 10px !important;
    line-height: 1.2;
  }

  /* IPO calendar: same compact table format, with a visibly larger text scale. */
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }

  .nivata-ipos-page .ipo-table th {
    font-size: 10px !important;
    line-height: 1.2;
  }

  .nivata-ipos-page .ipo-table .issue-name {
    font-size: 11.5px !important;
    line-height: 1.28 !important;
  }

  .nivata-ipos-page .ipo-table .issue-meta {
    font-size: 9px !important;
    line-height: 1.25 !important;
  }

  .nivata-ipos-page .ipo-table .status-pill {
    font-size: 8.5px !important;
    line-height: 1.12;
  }

  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close,
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 10.25px !important;
    line-height: 1.28 !important;
  }
}

/* Very narrow phones still stay larger than the previous build; only a small
   reduction is used to prevent values colliding at 320–380px widths. */
@media (max-width: 380px) {
  .nivata-mobile-dock__item span { font-size: 10px; }

  .nivata-funds-page .fund-leader-table th { font-size: 10px !important; }
  .nivata-funds-page .fund-leader-name strong { font-size: 11px !important; }
  .nivata-funds-page .fund-leader-name small { font-size: 9px !important; }
  .nivata-funds-page .fund-leader-table .return-value { font-size: 10.5px !important; }
  .nivata-funds-page .fund-aum { font-size: 9.5px !important; }

  .nivata-ipos-page .ipo-table th { font-size: 9.5px !important; }
  .nivata-ipos-page .ipo-table .issue-name { font-size: 11px !important; }
  .nivata-ipos-page .ipo-table .issue-meta { font-size: 8.5px !important; }
  .nivata-ipos-page .ipo-table .status-pill { font-size: 8px !important; }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close,
  .nivata-ipos-page .ipo-table .price-band { font-size: 9.75px !important; }
}

/* ================================================================
   v3.15.5 — mobile homepage hero + one-tap screener search
   Keep the homepage headline visually connected to the header on phones.
   Company suggestions now submit directly in screener.js, so the legacy
   second-step submit-button layout is no longer needed.
   ================================================================ */
@media (max-width: 720px) {
  .hero.hero--launch {
    padding-top: 28px !important;
  }

  .nivata-screener-page .company-search__row {
    grid-template-columns: 28px minmax(0, 1fr);
  }
}

/* ================================================================
   v3.15.7 — BSE-linked homepage Market Pulse
   ================================================================ */
.hero-market-pulse__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 4px;
}

.hero-market-pulse__heading > span {
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero-market-pulse__heading > small {
  min-width: 0;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.62);
  font-size: 10px;
  font-weight: 620;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero-market-pulse__line {
  transition: stroke .35s ease, d .55s cubic-bezier(.2,.75,.2,1);
}

.hero-market-pulse__dot {
  transform-box: fill-box;
  transform-origin: center;
  transition: fill .35s ease, cy .55s cubic-bezier(.2,.75,.2,1);
}

.hero-market-pulse.is-up .hero-market-pulse__line { stroke: #72e09e; }
.hero-market-pulse.is-up .hero-market-pulse__dot { fill: #72e09e; }
.hero-market-pulse.is-down .hero-market-pulse__line { stroke: #e6a08b; }
.hero-market-pulse.is-down .hero-market-pulse__dot { fill: #e6a08b; }
.hero-market-pulse.is-flat .hero-market-pulse__line,
.hero-market-pulse.is-loading .hero-market-pulse__line { stroke: #c5a56a; }
.hero-market-pulse.is-flat .hero-market-pulse__dot,
.hero-market-pulse.is-loading .hero-market-pulse__dot { fill: #c5a56a; }
.hero-market-pulse.is-unavailable { opacity: .68; }

@media (max-width: 520px) {
  .hero-market-pulse__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .hero-market-pulse__heading > small {
    max-width: 100%;
  }
}


/* ================================================================
   v3.22.0 — mobile app polish
   Tighter vertical rhythm, smaller cards, safer form sizing and a calmer
   app-like layout across the complete phone experience.
   ================================================================ */
@media (max-width: 720px) {
  :root {
    --pad: 18px;
    --radius: 16px;
  }

  body.nivata-premium-mobile {
    padding-bottom: calc(80px + env(safe-area-inset-bottom));
    background: #f7f5ef;
  }

  /* Consistent, compact section rhythm. */
  .section-pad,
  .tools-section,
  .tools-methodology,
  .data-hub,
  .data-guardrail,
  .live-data-section,
  .data-notes,
  .company-lookup,
  .nivata-seo-support {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .section-index {
    margin-bottom: 24px !important;
  }

  .tools-section__intro,
  .data-hub__intro,
  .tools-methodology,
  .data-guardrail,
  .data-notes,
  .nivata-seo-support__intro {
    gap: 18px !important;
  }

  .tools-section__intro h2,
  .data-hub__intro h2,
  .data-guardrail h2,
  .live-data-head h2,
  .data-notes h2,
  .nivata-seo-support h2 {
    font-size: clamp(34px, 9.5vw, 42px) !important;
    line-height: 1.04 !important;
  }

  /* Compact inner-page heroes; no large decorative empty zones. */
  body.nivata-tools-page .tools-hero,
  body.nivata-data-page .data-hero,
  body.nivata-data-page .data-hero--compact {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding: 96px 18px 42px !important;
  }

  body.nivata-tools-page .tools-hero__copy,
  body.nivata-data-page .data-hero__copy {
    max-width: none !important;
  }

  body.nivata-tools-page .tools-hero__copy h1,
  body.nivata-data-page .data-hero__copy h1,
  body.nivata-data-page .data-hero--compact .data-hero__copy h1 {
    margin-bottom: 18px !important;
    font-size: clamp(40px, 11vw, 48px) !important;
    line-height: 1 !important;
  }

  body.nivata-tools-page .tools-hero__copy > p:last-child,
  body.nivata-data-page .data-hero__copy > p:last-child {
    margin-top: 0 !important;
    max-width: 42rem;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }

  body.nivata-tools-page .tools-hero__note,
  body.nivata-data-page .data-hero__stamp {
    display: none !important;
  }

  body.nivata-data-page .data-hero::after,
  body.nivata-data-page .data-hero__mesh {
    opacity: .18 !important;
  }

  body.nivata-data-page .data-hub {
    padding-top: 42px !important;
  }

  /* Market cards become compact app tiles instead of tall editorial cards. */
  .data-hub__cards {
    gap: 10px !important;
  }

  .data-hub-card,
  .bullion-card {
    min-height: 152px !important;
    padding: 22px 20px !important;
    border-radius: 16px !important;
  }

  .data-hub-card h3 {
    margin-top: 28px !important;
    font-size: 26px !important;
    line-height: 1.05 !important;
  }

  .data-hub-card p,
  .bullion-card > small {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }

  .data-guardrail {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  /* Calculator dashboard: smaller selector tiles and no redundant link rail. */
  .tools-dedicated-links {
    display: none !important;
  }

  .calculator-workspace {
    border-radius: 18px !important;
    box-shadow: 0 12px 36px rgba(13, 48, 40, .08) !important;
  }

  .tool-tabs {
    padding: 8px !important;
    gap: 7px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 88px) auto !important;
  }

  .tool-tabs button,
  .tool-tabs button[aria-selected="true"] {
    height: 88px !important;
    min-height: 88px !important;
    padding: 11px 12px !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    border-radius: 13px !important;
  }

  .tool-tabs button:nth-child(5),
  .tool-tabs button:nth-child(5)[aria-selected="true"] {
    grid-column: 1 / -1 !important;
    height: 70px !important;
    min-height: 70px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .tool-tabs button strong {
    font-size: 15px !important;
    line-height: 1.12 !important;
  }

  .tool-tabs button small {
    margin-top: 4px !important;
    font-size: 10.5px !important;
    line-height: 1.18 !important;
    letter-spacing: .08em !important;
  }

  .tool-tabs button > span {
    font-size: 10px !important;
  }

  .tool-panel {
    padding: 24px 18px 20px !important;
  }

  .tool-panel__heading {
    margin-bottom: 22px !important;
  }

  .tool-panel__heading h3 {
    font-size: 29px !important;
    line-height: 1.08 !important;
  }

  .tool-panel__heading > p:last-child {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .field-grid,
  .field-grid--two,
  .field-grid--retirement {
    gap: 9px !important;
  }

  .field-grid label {
    min-width: 0 !important;
    padding: 13px 14px 11px !important;
    border-radius: 12px !important;
    overflow: hidden;
  }

  .field-grid input,
  .calculator-form input,
  .calculator-form select,
  .data-toolbar input,
  .data-toolbar select {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .field-grid input {
    height: 40px !important;
    font-size: 20px !important;
  }

  .calculator-actions {
    gap: 8px !important;
  }

  .calculator-actions .button,
  .calculator-actions .reset-button {
    min-height: 48px !important;
    border-radius: 12px !important;
  }

  .calculator-result {
    padding: 22px 18px !important;
    border-radius: 16px !important;
  }

  .calculator-result > strong {
    font-size: clamp(32px, 9vw, 42px) !important;
  }

  /* Dense tables/forms should never force horizontal page scrolling. */
  .data-toolbar,
  .company-search,
  .company-detail-card,
  .calculator-form,
  .single-calculator-shell,
  .tool-panel__body,
  .live-data-shell {
    max-width: 100%;
    min-width: 0;
  }

  .company-detail-card,
  .data-table tbody tr,
  .fund-leader-shell,
  .ipo-table-shell {
    border-radius: 14px !important;
  }

  /* A lighter, more native-feeling bottom dock. */
  .nivata-mobile-dock {
    right: 10px !important;
    left: 10px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    height: 64px !important;
    padding: 5px !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(2, 17, 13, .28) !important;
  }

  .nivata-mobile-dock__item {
    min-height: 52px !important;
    gap: 3px !important;
    border-radius: 13px !important;
  }

  .nivata-mobile-dock__item svg {
    width: 19px !important;
    height: 19px !important;
  }

  .nivata-mobile-dock__item span {
    font-size: 10px !important;
  }

  .site-footer {
    padding-bottom: calc(102px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 390px) {
  .tool-tabs {
    grid-template-rows: repeat(2, 84px) auto !important;
  }
  .tool-tabs button,
  .tool-tabs button[aria-selected="true"] {
    height: 84px !important;
    min-height: 84px !important;
    padding-right: 9px !important;
    padding-left: 9px !important;
  }
  .tool-tabs button strong { font-size: 14px !important; }
  .tool-tabs button small { font-size: 9.5px !important; }
}

/* ================================================================
   v3.24.0 — compact mobile flow + five-way calculator tab bar
   Removes inherited fixed-height banner whitespace and replaces the uneven
   calculator tiles with a single app-like segmented control on phones.
   ================================================================ */
.tool-label-mobile { display: none; }

@media (max-width: 720px) {
  :root {
    --nivata-mobile-section-y: 34px;
    --nivata-mobile-page-x: 18px;
  }

  /* Eliminate legacy banner heights. Inner pages should be content-sized. */
  body.nivata-tools-page .tools-hero,
  body.nivata-data-page .data-hero,
  body.nivata-data-page .data-hero--compact,
  body.nivata-screener-page .screener-hero,
  body.nivata-legal-page .legal-hero {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 44px var(--nivata-mobile-page-x) 34px !important;
    display: block !important;
    align-items: initial !important;
    align-content: initial !important;
    justify-content: initial !important;
  }

  body.nivata-screener-page .screener-hero__copy,
  body.nivata-tools-page .tools-hero__copy,
  body.nivata-data-page .data-hero__copy {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: auto !important;
  }

  body.nivata-tools-page .tools-orbits,
  body.nivata-tools-page .tools-hero__note,
  body.nivata-data-page .data-hero__stamp,
  body.nivata-screener-page .screener-hero__chart {
    display: none !important;
  }

  body.nivata-tools-page .tools-hero__copy h1,
  body.nivata-data-page .data-hero__copy h1,
  body.nivata-data-page .data-hero--compact .data-hero__copy h1,
  body.nivata-screener-page .screener-hero h1,
  body.nivata-legal-page .legal-hero h1 {
    margin: 12px 0 16px !important;
    max-width: 100% !important;
    font-size: clamp(38px, 10.5vw, 46px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.04em !important;
  }

  body.nivata-tools-page .tools-hero__copy > p:last-child,
  body.nivata-data-page .data-hero__copy > p:last-child,
  body.nivata-screener-page .screener-hero__copy > p:last-of-type,
  body.nivata-legal-page .legal-hero > p:last-child {
    margin: 0 !important;
    max-width: 44ch !important;
    font-size: 14.5px !important;
    line-height: 1.52 !important;
  }

  body.nivata-screener-page .screener-hero__chips {
    margin: 16px 0 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body.nivata-screener-page .screener-hero__chips::-webkit-scrollbar { display: none; }
  body.nivata-screener-page .screener-hero__chips span {
    flex: 0 0 auto;
    min-height: 34px !important;
    padding: 0 13px !important;
    display: inline-flex;
    align-items: center;
    border-radius: 999px !important;
    white-space: nowrap;
    font-size: 10.5px !important;
  }

  /* Use one calm vertical rhythm instead of page-specific large gaps. */
  .tools-section,
  .tools-methodology,
  .data-hub,
  .data-guardrail,
  .live-data-section,
  .data-notes,
  .company-lookup,
  .screener-workspace,
  .nivata-seo-support {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: var(--nivata-mobile-section-y) !important;
    padding-bottom: var(--nivata-mobile-section-y) !important;
  }

  .tools-section,
  .data-hub,
  .company-lookup,
  .screener-workspace,
  .nivata-seo-support {
    padding-right: var(--nivata-mobile-page-x) !important;
    padding-left: var(--nivata-mobile-page-x) !important;
  }

  .section-index {
    margin: 0 0 14px !important;
    min-height: 18px !important;
  }

  .section-index i { min-width: 32px; }

  /* Tools: hero already explains the page. Put the calculator chooser first. */
  .nivata-tools-page .tools-section {
    padding-top: 24px !important;
  }
  .nivata-tools-page .tools-section__intro {
    display: none !important;
  }

  .calculator-workspace {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }

  /* Five equal app tabs — no unequal boxes, no fifth oversized row. */
  .tool-tabs {
    box-sizing: border-box !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-rows: 52px !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 5px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #0a2b24 !important;
  }

  .tool-tabs button,
  .tool-tabs button:nth-child(5),
  .tool-tabs button[aria-selected="true"],
  .tool-tabs button:nth-child(5)[aria-selected="true"] {
    box-sizing: border-box !important;
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    text-align: center !important;
  }

  .tool-tabs button[aria-selected="true"] {
    background: rgba(83, 214, 139, .13) !important;
    box-shadow: inset 0 0 0 1px rgba(83, 214, 139, .18) !important;
  }

  .tool-tabs button::before {
    right: 12px !important;
    bottom: 3px !important;
    left: 12px !important;
    height: 2px !important;
  }

  .tool-tabs button > span,
  .tool-tabs button > small {
    display: none !important;
  }

  .tool-tabs button strong {
    min-width: 0 !important;
    margin: 0 !important;
    color: rgba(247, 243, 232, .64) !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    white-space: nowrap !important;
  }

  .tool-tabs button[aria-selected="true"] strong {
    color: #74dfa1 !important;
  }

  .tool-label-full { display: none !important; }
  .tool-label-mobile { display: inline !important; }

  .tool-panel {
    padding: 20px 16px 18px !important;
  }

  .tool-panel__heading {
    margin-bottom: 18px !important;
  }

  .tool-panel__heading .overline {
    margin-bottom: 8px !important;
  }

  .tool-panel__heading h3 {
    margin-top: 0 !important;
    font-size: clamp(28px, 8.2vw, 35px) !important;
    line-height: 1.05 !important;
  }

  .tool-panel__heading > p:last-child {
    margin-top: 12px !important;
  }

  /* Market hub: content begins immediately after its compact banner. */
  .nivata-data-page .data-hub {
    padding-top: 26px !important;
  }
  .data-hub__intro {
    gap: 10px !important;
    margin-bottom: 22px !important;
  }
  .data-hub__intro h2 {
    margin: 0 !important;
    font-size: clamp(31px, 8.5vw, 38px) !important;
    line-height: 1.04 !important;
  }
  .data-hub__intro p {
    margin: 0 !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }
  .data-hub__cards {
    margin-top: 0 !important;
    gap: 9px !important;
  }
  .data-hub-card,
  .bullion-card {
    min-height: 128px !important;
    padding: 18px !important;
  }
  .data-hub-card h3 {
    margin-top: 20px !important;
    font-size: 23px !important;
  }

  /* Screener: no blank lower half in the banner, and lookup follows quickly. */
  .nivata-screener-page .company-lookup {
    padding-top: 28px !important;
  }
  .company-lookup__intro {
    gap: 12px !important;
    margin-bottom: 20px !important;
  }
  .company-lookup__intro h2 {
    margin: 0 !important;
    font-size: clamp(32px, 9vw, 39px) !important;
    line-height: 1.04 !important;
  }
  .company-lookup__intro > p {
    margin: 0 !important;
    font-size: 13.5px !important;
    line-height: 1.52 !important;
  }
  .company-search {
    margin-top: 0 !important;
    padding: 14px !important;
    border-radius: 14px !important;
  }
  .tv-company-dashboard {
    margin-top: 16px !important;
    gap: 10px !important;
  }
  .screener-tv-intro,
  .screener-notes--compact {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }

  /* Common app-like card density. */
  .company-detail-card,
  .tv-dashboard-card,
  .fund-rank-panel,
  .fund-screen-form,
  .data-table-wrap,
  .live-data-shell,
  .official-source-grid a {
    border-radius: 14px !important;
  }

  /* Avoid the dock visually swallowing the beginning of the next section. */
  main > section:last-child {
    padding-bottom: max(42px, calc(18px + env(safe-area-inset-bottom))) !important;
  }
}

@media (max-width: 420px) {
  .tool-tabs button strong { font-size: 10.5px !important; }
  body.nivata-tools-page .tools-hero,
  body.nivata-data-page .data-hero,
  body.nivata-data-page .data-hero--compact,
  body.nivata-screener-page .screener-hero,
  body.nivata-legal-page .legal-hero {
    padding-top: 38px !important;
    padding-bottom: 30px !important;
  }
}

/* v3.24.2 — larger equal Tools buttons with concise context.
   Deliberately scoped to the Tools tab selector only. */
@media (max-width: 760px) {
  .nivata-tools-page .tool-tabs {
    grid-template-rows: 82px !important;
    gap: 5px !important;
    padding: 6px !important;
  }

  .nivata-tools-page .tool-tabs button,
  .nivata-tools-page .tool-tabs button:nth-child(5),
  .nivata-tools-page .tool-tabs button[aria-selected="true"],
  .nivata-tools-page .tool-tabs button:nth-child(5)[aria-selected="true"] {
    height: 82px !important;
    min-height: 82px !important;
    padding: 9px 4px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid rgba(216, 231, 224, .18) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.018) !important;
    box-shadow: none !important;
  }

  .nivata-tools-page .tool-tabs button[aria-selected="true"] {
    border-color: rgba(83, 214, 139, .72) !important;
    background: rgba(83, 214, 139, .12) !important;
    box-shadow: inset 0 0 0 1px rgba(83, 214, 139, .08) !important;
  }

  .nivata-tools-page .tool-tabs button > span {
    display: none !important;
  }

  .nivata-tools-page .tool-tabs button strong {
    display: block !important;
    margin: 0 !important;
    color: rgba(247, 243, 232, .82) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .nivata-tools-page .tool-tabs button small {
    display: block !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: rgba(247, 243, 232, .46) !important;
    font-size: 7.6px !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .nivata-tools-page .tool-tabs button[aria-selected="true"] strong,
  .nivata-tools-page .tool-tabs button[aria-selected="true"] small {
    color: #74dfa1 !important;
  }

  .nivata-tools-page .tool-tabs button::before {
    right: 10px !important;
    bottom: 4px !important;
    left: 10px !important;
  }
}

@media (max-width: 420px) {
  .nivata-tools-page .tool-tabs button strong {
    font-size: 11.5px !important;
  }
  .nivata-tools-page .tool-tabs button small {
    font-size: 7.2px !important;
  }
}


/* v3.24.7 — live homepage market tape on desktop + phone. */
.india-market-ticker .tradingview-widget-container,
.india-market-ticker .tradingview-widget-container__widget {
  width: 100%;
  min-width: 0;
}

.india-market-ticker {
  overflow: hidden;
}

@media (max-width: 720px) {
  .india-market-ticker__label {
    display: none;
  }

  .india-market-ticker .tradingview-widget-container {
    width: 100vw;
    max-width: 100vw;
  }
}

/* ================================================================
   v3.24.8 — native rapid-refresh Indian market tape
   Replaces the fragile iframe-only homepage tape with a same-origin feed.
   ================================================================ */
.india-market-ticker {
  position: relative;
  min-height: 92px;
  display: grid;
  grid-template-columns: minmax(128px, .16fr) minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  background: #06271f;
  color: #f7f3e8;
  border-top: 1px solid rgba(247,243,232,.10);
  border-bottom: 1px solid rgba(247,243,232,.10);
}

.india-market-ticker__label {
  z-index: 2;
  padding: 20px clamp(18px, 2.3vw, 34px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  background: #092f27;
  border-right: 1px solid rgba(247,243,232,.10);
}
.india-market-ticker__label span {
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.india-market-ticker__label small {
  color: rgba(247,243,232,.52);
  font-size: 9px;
  line-height: 1.3;
}

.nivata-live-ticker {
  position: relative;
  min-width: 0;
  overflow: hidden;
}
.nivata-live-ticker__viewport {
  width: 100%;
  min-height: 90px;
  display: flex;
  align-items: center;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
}
.nivata-live-ticker__track {
  width: max-content;
  display: flex;
  align-items: stretch;
  transform: translate3d(0,0,0);
  will-change: transform;
  animation: nivata-live-tape 72s linear infinite;
  animation-play-state: paused;
}
.nivata-live-ticker.has-data .nivata-live-ticker__track { animation-play-state: running; }
.nivata-live-ticker:hover .nivata-live-ticker__track { animation-play-state: paused; }
@keyframes nivata-live-tape {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}
.nivata-live-ticker__item {
  position: relative;
  flex: 0 0 auto;
  min-width: 168px;
  min-height: 90px;
  padding: 17px 24px 14px;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 10px;
  row-gap: 5px;
  border-right: 1px solid rgba(247,243,232,.12);
  white-space: nowrap;
}
.nivata-live-ticker__name {
  grid-column: 1 / -1;
  color: rgba(247,243,232,.68);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .035em;
}
.nivata-live-ticker__item strong {
  color: #f7f3e8;
  font-size: 17px;
  font-weight: 610;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.nivata-live-ticker__item small {
  align-self: end;
  font-size: 11px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.nivata-live-ticker__item.is-up small { color: #58d68a; }
.nivata-live-ticker__item.is-down small { color: #f0a18e; }
.nivata-live-ticker__item.is-flat small { color: #c8ad73; }
.nivata-live-ticker__item.is-waiting strong,
.nivata-live-ticker__item.is-waiting small { color: rgba(247,243,232,.32); }
.nivata-live-ticker__status {
  position: absolute;
  right: 12px;
  bottom: 4px;
  z-index: 2;
  margin: 0;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(6,39,31,.78);
  color: rgba(247,243,232,.40);
  font-size: 8px;
  letter-spacing: .02em;
  pointer-events: none;
}

@media (max-width: 720px) {
  .india-market-ticker {
    min-height: 82px;
    display: block;
  }
  .india-market-ticker__label { display: none !important; }
  .nivata-live-ticker__viewport { min-height: 82px; }
  .nivata-live-ticker__item {
    min-width: 152px;
    min-height: 82px;
    padding: 14px 18px 12px;
  }
  .nivata-live-ticker__item strong { font-size: 16px; }
  .nivata-live-ticker__item small { font-size: 10px; }
  .nivata-live-ticker__name { font-size: 10px; }
  .nivata-live-ticker__status { display: none; }
  .nivata-live-ticker__track { animation-duration: 62s; }
}

@media (prefers-reduced-motion: reduce) {
  .nivata-live-ticker__track { animation: none !important; }
  .nivata-live-ticker__viewport { overflow-x: auto; scrollbar-width: none; }
  .nivata-live-ticker__viewport::-webkit-scrollbar { display: none; }
}

/* v3.24.10 — rapid market tick feedback */
.nivata-live-ticker__item strong.is-ticking{animation:nivata-price-tick .55s ease-out}
@keyframes nivata-price-tick{0%{opacity:.45;transform:translateY(-1px)}100%{opacity:1;transform:translateY(0)}}


/* ================================================================
   v3.24.14 — calmer multi-wave Market Pulse + XIRR label cleanup
   ================================================================ */
.hero-market-pulse__line {
  stroke-width: 1.9;
  transition: stroke .24s ease !important;
}
.hero-market-pulse__dot {
  transition: fill .24s ease !important;
}
.nivata-live-ticker__item strong.is-ticking {
  animation-duration: .28s !important;
}
@media (prefers-reduced-motion: reduce) {
  .hero-market-pulse__line,
  .hero-market-pulse__dot {
    transition: none !important;
  }
}


/* ================================================================
   v3.24.15 — TradingView exchange-safe screener embeds
   ================================================================ */
.tv-embed-unavailable {
  min-height: 180px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(12, 54, 45, .10);
  border-radius: 16px;
  background: rgba(247, 245, 239, .62);
}
.tv-embed-unavailable--chart { min-height: 420px; }
.tv-embed-unavailable strong { color: #0a332a; font-size: 18px; line-height: 1.2; }
.tv-embed-unavailable span { max-width: 40rem; color: rgba(10, 51, 42, .66); font-size: 14px; line-height: 1.55; }
.tv-embed-unavailable a { margin-top: 4px; color: #0a332a; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 720px) {
  .tv-embed-unavailable { min-height: 150px; padding: 22px 18px; }
  .tv-embed-unavailable--chart { min-height: 300px; }
}


/* ================================================================
   v3.24.16 — native NSE/SME company view + in-place screener search
   ================================================================ */
.company-search.is-loading-results .company-search__row {
  position: relative;
  opacity: .72;
}
.company-search.is-loading-results .company-search__row::after {
  content: '';
  width: 16px;
  height: 16px;
  position: absolute;
  right: 18px;
  top: 50%;
  margin-top: -8px;
  border: 2px solid rgba(18,59,50,.16);
  border-top-color: #168653;
  border-radius: 50%;
  animation: nivata-screener-spin .7s linear infinite;
  pointer-events: none;
}
@keyframes nivata-screener-spin { to { transform: rotate(360deg); } }
.company-search.is-loading-results ~ .tv-company-dashboard {
  opacity: .48;
  pointer-events: none;
  transition: opacity .18s ease;
}
.tv-company-dashboard { transition: opacity .18s ease; }

.nivata-native-summary,
.nivata-native-profile,
.nivata-native-chart,
.nivata-native-technicals {
  color: #0a332a;
  background: #fff;
}
.nivata-native-summary { padding: 24px 26px; }
.nivata-native-summary__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 22px;
}
.nivata-native-summary__head > div { display: grid; gap: 5px; }
.nivata-native-summary__head span,
.nivata-native-summary__metrics span,
.nivata-native-chart__meta span,
.nivata-native-technicals__grid span {
  color: #77847f;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.nivata-native-summary__head strong { font-size: clamp(21px,2vw,30px); font-weight: 610; letter-spacing: -.025em; }
.nivata-native-summary__head a,
.nivata-native-profile__links a {
  color: #0b5945;
  font-size: 11px;
  font-weight: 720;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nivata-native-summary__metrics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid rgba(18,59,50,.09);
  border-left: 1px solid rgba(18,59,50,.09);
}
.nivata-native-summary__metrics > div {
  min-width: 0;
  padding: 15px 16px;
  display: grid;
  gap: 7px;
  border-right: 1px solid rgba(18,59,50,.09);
  border-bottom: 1px solid rgba(18,59,50,.09);
}
.nivata-native-summary__metrics strong { font-size: 16px; font-weight: 670; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.nivata-native-empty { margin: 0; color: #73817d; font-size: 13px; line-height: 1.6; }

.nivata-native-profile {
  min-height: 560px;
  padding: 34px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.nivata-native-profile .overline { margin: 0 0 10px; }
.nivata-native-profile h3 { margin: 0 0 20px; font-size: clamp(25px,2.4vw,36px); font-weight: 580; letter-spacing: -.035em; line-height: 1.08; }
.nivata-native-profile > p:not(.overline) { max-width: 44rem; margin: 0; color: #657670; font-size: 14px; line-height: 1.75; }
.nivata-native-profile__links { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 18px; }

.nivata-native-chart { min-height: 470px; padding: 24px; }
.nivata-native-chart__meta {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.nivata-native-chart__meta > div {
  padding: 12px 14px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(18,59,50,.10);
  border-radius: 12px;
  background: #faf9f5;
}
.nivata-native-chart__meta strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.nivata-native-chart__meta .is-positive,
.nivata-native-technicals .is-positive { color: #168653; }
.nivata-native-chart__meta .is-negative,
.nivata-native-technicals .is-negative { color: #b65845; }
.nivata-native-chart__plot {
  height: 310px;
  overflow: hidden;
  border: 1px solid rgba(18,59,50,.08);
  border-radius: 14px;
  background: linear-gradient(180deg,rgba(35,169,103,.035),rgba(255,255,255,0));
}
.nivata-native-chart__plot svg { width: 100%; height: 100%; display: block; }
.nivata-native-chart__grid path { fill: none; stroke: rgba(18,59,50,.08); stroke-width: 1; vector-effect: non-scaling-stroke; }
.nivata-native-chart__line { fill: none; stroke: #168653; stroke-width: 2.3; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.nivata-native-chart__dot { fill: #168653; stroke: #fff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.nivata-native-chart__foot { margin-top: 10px; display: flex; justify-content: space-between; gap: 16px; color: #84908c; font-size: 10px; font-weight: 650; letter-spacing: .03em; }

.nivata-native-technicals { min-height: 470px; padding: 24px; }
.nivata-native-technicals__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(18,59,50,.09); border-left: 1px solid rgba(18,59,50,.09); }
.nivata-native-technicals__grid > div { min-height: 98px; padding: 16px; display: grid; align-content: center; gap: 6px; border-right: 1px solid rgba(18,59,50,.09); border-bottom: 1px solid rgba(18,59,50,.09); }
.nivata-native-technicals__grid strong { font-size: 17px; font-weight: 680; font-variant-numeric: tabular-nums; }
.nivata-native-technicals__grid small { color: #81908a; font-size: 10px; text-transform: capitalize; }
.nivata-native-technicals > p { margin: 18px 0 0; color: #74817d; font-size: 11px; line-height: 1.6; }

@media (max-width: 900px) {
  .nivata-native-summary__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nivata-native-profile { min-height: 0; }
}
@media (max-width: 720px) {
  .nivata-native-summary { padding: 20px 18px; }
  .nivata-native-summary__head { flex-direction: column; gap: 10px; margin-bottom: 16px; }
  .nivata-native-summary__metrics > div { padding: 12px; }
  .nivata-native-summary__metrics strong { font-size: 14px; }
  .nivata-native-profile { padding: 25px 20px; }
  .nivata-native-chart { min-height: 0; padding: 18px; }
  .nivata-native-chart__meta { grid-template-columns: 1fr 1fr; }
  .nivata-native-chart__meta > div:last-child { grid-column: 1 / -1; }
  .nivata-native-chart__plot { height: 260px; }
  .nivata-native-chart__foot { font-size: 9px; }
  .nivata-native-technicals { min-height: 0; padding: 18px; }
  .nivata-native-technicals__grid > div { min-height: 84px; padding: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .company-search.is-loading-results .company-search__row::after { animation: none; }
}

/* ================================================================
   v3.24.17 — native live quote + real OHLC candlestick fallback
   ================================================================ */
.nivata-native-quote {
  margin: 18px 0 20px;
  padding: 20px;
  border: 1px solid rgba(11, 58, 46, .12);
  border-radius: 16px;
  background: rgba(248, 246, 239, .72);
}
.nivata-native-quote__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(11, 58, 46, .10);
}
.nivata-native-quote__price > span {
  flex: 0 0 100%;
  color: rgba(9, 54, 43, .58);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nivata-native-quote__price > strong {
  color: #073d31;
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 680;
  letter-spacing: -.035em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.nivata-native-quote__price > small {
  font-size: 14px;
  font-weight: 720;
  font-variant-numeric: tabular-nums;
}
.nivata-native-quote__price > small.is-positive { color: #16865b; }
.nivata-native-quote__price > small.is-negative { color: #b25248; }
.nivata-native-quote__stats {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px 18px;
}
.nivata-native-quote__stats div { min-width: 0; }
.nivata-native-quote__stats span {
  display: block;
  margin-bottom: 4px;
  color: rgba(9, 54, 43, .54);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.nivata-native-quote__stats strong {
  display: block;
  overflow: hidden;
  color: #0a3d32;
  font-size: 13px;
  font-weight: 660;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nivata-candle-chart {
  padding: 16px 18px 14px;
  min-width: 0;
}
.nivata-candle-chart__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
}
.nivata-candle-chart__toolbar > div:first-child strong,
.nivata-candle-chart__toolbar > div:first-child span { display: block; }
.nivata-candle-chart__toolbar > div:first-child strong {
  color: #0a3d32;
  font-size: 14px;
  font-weight: 720;
}
.nivata-candle-chart__toolbar > div:first-child span {
  margin-top: 2px;
  color: rgba(9, 54, 43, .52);
  font-size: 10px;
}
.nivata-candle-chart__ranges {
  display: flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(11, 58, 46, .10);
  border-radius: 10px;
  background: rgba(248, 246, 239, .76);
}
.nivata-candle-chart__ranges button {
  min-width: 42px;
  min-height: 32px;
  padding: 6px 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: rgba(9, 54, 43, .62);
  font: inherit;
  font-size: 10px;
  font-weight: 720;
  cursor: pointer;
}
.nivata-candle-chart__ranges button.is-active {
  background: #0b493a;
  color: #f7f3e8;
}
.nivata-candle-chart__plot {
  position: relative;
  width: 100%;
  min-height: 300px;
  overflow: hidden;
  border: 1px solid rgba(11, 58, 46, .09);
  border-radius: 12px;
  background: rgba(255,255,255,.42);
}
.nivata-candle-chart__plot canvas { display: block; width: 100%; }
.nivata-candle-chart__legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
  color: rgba(9, 54, 43, .56);
  font-size: 10px;
}
.nivata-candle-chart__legend span { display: inline-flex; align-items: center; gap: 5px; }
.nivata-candle-chart__legend i { width: 8px; height: 8px; border-radius: 2px; }
.nivata-candle-chart__legend i.is-up { background: #178b5d; }
.nivata-candle-chart__legend i.is-down { background: #b75549; }
.nivata-candle-chart__legend small { margin-left: auto; color: inherit; }
.nivata-native-chart-placeholder {
  padding: 34px 28px;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  color: #0a3d32;
}
.nivata-native-chart-placeholder strong { font-size: 18px; }
.nivata-native-chart-placeholder span { color: rgba(9,54,43,.60); font-size: 13px; }

@media (max-width: 720px) {
  .nivata-native-quote { padding: 16px; margin-top: 14px; }
  .nivata-native-quote__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .nivata-candle-chart { padding: 12px; }
  .nivata-candle-chart__toolbar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .nivata-candle-chart__ranges { width: 100%; }
  .nivata-candle-chart__ranges button { flex: 1 1 0; }
  .nivata-candle-chart__plot { min-height: 260px; }
  .nivata-candle-chart__legend small { flex-basis: 100%; margin-left: 0; }
}

/* v3.24.24 — dual native price-chart controls for listings without TradingView charts */
.nivata-chart-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.nivata-chart-type {
  display: flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(11, 58, 46, .10);
  border-radius: 10px;
  background: rgba(248, 246, 239, .76);
}
.nivata-chart-type button {
  min-width: 72px;
  min-height: 32px;
  padding: 6px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: rgba(9, 54, 43, .62);
  font: inherit;
  font-size: 10px;
  font-weight: 720;
  cursor: pointer;
}
.nivata-chart-type button.is-active {
  background: #0b493a;
  color: #f7f3e8;
}
.nivata-candle-chart__legend .nivata-line-key i {
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: #0b493a;
}
@media (max-width: 720px) {
  .nivata-chart-controls { width: 100%; justify-content: flex-start; }
  .nivata-chart-type { width: 100%; }
  .nivata-chart-type button { flex: 1 1 0; min-height: 38px; }
}


/* v3.24.25 — fast small-company history loading */
.nivata-native-chart-loader { min-height: 340px; }
.nivata-candle-chart__controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
@media (max-width: 720px) {
  .nivata-native-chart-loader { min-height: 300px; }
  .nivata-candle-chart__controls { width: 100%; justify-content: flex-start; }
}


/* v3.24.26 — TradingView-style interactive fallback chart for unsupported listings */
.nivata-pro-chart {
  min-width: 0;
  padding: 14px 16px 13px;
  color: #0a3d32;
}
.nivata-pro-chart__toolbar,
.nivata-pro-chart__tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.nivata-pro-chart__toolbar { margin-bottom: 9px; }
.nivata-pro-chart__identity strong,
.nivata-pro-chart__identity span { display: block; }
.nivata-pro-chart__identity strong { font-size: 14px; font-weight: 760; letter-spacing: -.01em; }
.nivata-pro-chart__identity span { margin-top: 2px; color: rgba(9,54,43,.55); font-size: 10px; font-weight: 650; }
.nivata-pro-chart__primary,
.nivata-pro-chart__indicators,
.nivata-pro-chart__utilities { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.nivata-pro-chart__group {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid rgba(11,58,46,.11);
  border-radius: 9px;
  background: rgba(248,246,239,.78);
}
.nivata-pro-chart button {
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: rgba(9,54,43,.68);
  font: inherit;
  font-size: 10px;
  font-weight: 730;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.nivata-pro-chart button:hover { border-color: rgba(11,73,58,.14); }
.nivata-pro-chart button.is-active { background: #0b493a; color: #f7f3e8; }
.nivata-pro-chart button:disabled { opacity: .38; cursor: not-allowed; }
.nivata-pro-chart__tools {
  padding: 8px 0;
  border-top: 1px solid rgba(11,58,46,.075);
  border-bottom: 1px solid rgba(11,58,46,.075);
}
.nivata-pro-chart__indicators > span {
  margin-right: 2px;
  color: rgba(9,54,43,.48);
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nivata-pro-chart__indicators button,
.nivata-pro-chart__utilities button { border-color: rgba(11,58,46,.10); background: rgba(255,255,255,.72); }
.nivata-pro-chart__readout {
  min-height: 38px;
  padding: 8px 2px 7px;
  display: flex;
  align-items: center;
  gap: 12px;
  overflow-x: auto;
  color: rgba(9,54,43,.58);
  font-size: 10px;
  scrollbar-width: none;
}
.nivata-pro-chart__readout::-webkit-scrollbar { display: none; }
.nivata-pro-chart__readout span { flex: 0 0 auto; white-space: nowrap; }
.nivata-pro-chart__readout .is-date { color: #0a3d32; font-weight: 720; }
.nivata-pro-chart__readout strong { margin-left: 3px; color: #0a3d32; font-weight: 700; font-variant-numeric: tabular-nums; }
.nivata-pro-chart__readout strong.is-positive { color: #168653; }
.nivata-pro-chart__readout strong.is-negative { color: #b65845; }
.nivata-pro-chart__canvas {
  position: relative;
  width: 100%;
  height: 470px;
  min-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(11,58,46,.10);
  border-radius: 12px;
  background: #fff;
}
.nivata-pro-chart__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  color: rgba(9,54,43,.48);
  font-size: 9px;
  line-height: 1.4;
}
.nivata-pro-chart__foot span:last-child { text-align: right; }
@media (max-width: 900px) {
  .nivata-pro-chart__primary { width: 100%; }
}
@media (max-width: 720px) {
  .nivata-pro-chart { padding: 10px; }
  .nivata-pro-chart__toolbar,
  .nivata-pro-chart__tools { align-items: flex-start; flex-direction: column; gap: 8px; }
  .nivata-pro-chart__primary,
  .nivata-pro-chart__indicators,
  .nivata-pro-chart__utilities { width: 100%; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .nivata-pro-chart__primary::-webkit-scrollbar,
  .nivata-pro-chart__indicators::-webkit-scrollbar,
  .nivata-pro-chart__utilities::-webkit-scrollbar { display: none; }
  .nivata-pro-chart__group { flex: 0 0 auto; }
  .nivata-pro-chart button { min-height: 36px; padding: 6px 10px; }
  .nivata-pro-chart__readout { gap: 10px; min-height: 42px; }
  .nivata-pro-chart__canvas { height: 390px; min-height: 340px; }
  .nivata-pro-chart__foot { align-items: flex-start; flex-direction: column; }
  .nivata-pro-chart__foot span:last-child { text-align: left; }
}


/* v3.24.28 — reliable mobile chart pinch zoom without stealing page scroll */
@media (max-width: 720px) {
  .nivata-pro-chart__canvas,
  .nivata-pro-chart__canvas * {
    touch-action: pan-y !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color: transparent;
  }
  .nivata-pro-chart__canvas { overscroll-behavior: contain; }
}

/* Nivata Screener 3.25 — owned snapshot, Smart Screener and chart fallback */
.nivata-snapshot-card{overflow:hidden}.nivata-native-summary__head>div{display:grid;gap:4px}.nivata-native-summary__head small{color:var(--muted,#6d7773);font-size:12px}.nivata-live-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(18,35,31,.13);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.nivata-live-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.nivata-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:22px;background:rgba(18,35,31,.09);border:1px solid rgba(18,35,31,.09);border-radius:14px;overflow:hidden}.nivata-snapshot-grid>div{min-width:0;padding:16px;background:#fff}.nivata-snapshot-grid span,.nivata-snapshot-grid strong{display:block}.nivata-snapshot-grid span{color:#6c7773;font-size:10px;text-transform:uppercase;letter-spacing:.065em}.nivata-snapshot-grid strong{margin-top:7px;font-size:17px;line-height:1.15}.nivata-investment-check{margin-top:18px;padding:16px 18px;border-radius:14px;background:#f1f3ef}.nivata-investment-check__head{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.nivata-investment-check__head span{font-weight:800}.nivata-investment-check__head small{color:#707a76}.nivata-investment-check__items{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.nivata-investment-check__items>span{padding:7px 10px;border-radius:999px;background:#fff;font-size:11px;font-weight:700}.nivata-investment-check__items .is-watch{opacity:.72}
.nivata-chart-stack{position:relative;min-height:650px}.nivata-chart-switch{display:inline-flex;gap:4px;margin:0 0 14px;padding:4px;border:1px solid rgba(18,35,31,.12);border-radius:999px;background:#f3f4f0}.nivata-chart-switch button{border:0;border-radius:999px;padding:9px 14px;background:transparent;color:#596762;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.nivata-chart-switch button.is-active{background:#fff;color:#12231f;box-shadow:0 2px 10px rgba(18,35,31,.08)}.nivata-chart-pane{position:absolute;left:0;right:0;top:52px;visibility:hidden;pointer-events:none;opacity:0}.nivata-chart-pane.is-active{position:relative;top:auto;visibility:visible;pointer-events:auto;opacity:1}.nivata-chart-pane[data-chart-pane="tv"] .tradingview-widget-container,.nivata-chart-pane[data-chart-pane="nivata"] .nivata-native-chart-loader{min-height:590px}
.nivata-smart-screener{margin-top:36px;padding:clamp(20px,3vw,36px);border:1px solid rgba(18,35,31,.12);border-radius:22px;background:#fbfaf6;box-shadow:0 18px 60px rgba(18,35,31,.055)}.nivata-smart-query label{display:block;margin-bottom:9px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.nivata-smart-query__box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid rgba(18,35,31,.2);border-radius:16px;overflow:hidden;background:#fff}.nivata-smart-query textarea{width:100%;min-height:88px;padding:18px 20px;border:0;outline:0;resize:vertical;background:transparent;color:#12231f;font:inherit;line-height:1.55}.nivata-smart-query__box button{min-width:150px;border:0;padding:0 20px;background:#12231f;color:#fff;font:inherit;font-weight:800;cursor:pointer}.nivata-smart-query__box button:disabled{opacity:.55;cursor:wait}.nivata-smart-query>p{margin:10px 2px 0;color:#73807b;font-size:11px;line-height:1.6}.nivata-screen-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.nivata-screen-presets button{border:1px solid rgba(18,35,31,.14);border-radius:999px;padding:8px 12px;background:#fff;color:#31413b;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.nivata-screen-presets button:hover{border-color:rgba(18,35,31,.35)}.nivata-screen-rules{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(18,35,31,.1)}.nivata-rule-chip{padding:8px 11px;border-radius:999px;background:#edf1ec;font-size:11px;font-weight:750}.nivata-rule-chip.is-derived,.nivata-rule-chip.is-history{background:#f3eee1}.nivata-screen-status{margin-top:17px;color:#5f6c67;font-size:13px;line-height:1.55}.nivata-screen-table-wrap{margin-top:18px;overflow:auto;border:1px solid rgba(18,35,31,.12);border-radius:14px;background:#fff}.nivata-screen-table{width:100%;min-width:1080px;border-collapse:collapse}.nivata-screen-table th{padding:12px 13px;background:#eef1ed;color:#61706a;text-align:left;font-size:9px;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap}.nivata-screen-table td{padding:14px 13px;border-top:1px solid rgba(18,35,31,.075);font-size:12px;white-space:nowrap}.nivata-screen-table td:first-child{min-width:210px;white-space:normal}.nivata-screen-table td:first-child a{display:block;color:#12231f;font-weight:800;text-decoration:none}.nivata-screen-table td:first-child small{display:block;margin-top:4px;color:#7a8581}.nivata-screen-table .is-verified{font-weight:800}.nivata-screen-table .is-needs-history{color:#7b6940}.nivata-smart-footnote{margin:13px 0 0;color:#79827f;font-size:10px;line-height:1.6}
@media(max-width:820px){.nivata-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nivata-investment-check__head{display:block}.nivata-investment-check__head small{display:block;margin-top:4px}.nivata-chart-stack{min-height:560px}.nivata-chart-pane[data-chart-pane="tv"] .tradingview-widget-container,.nivata-chart-pane[data-chart-pane="nivata"] .nivata-native-chart-loader{min-height:500px}.nivata-smart-query__box{grid-template-columns:1fr;overflow:visible;border:0;background:transparent;gap:8px}.nivata-smart-query textarea{min-height:112px;border:1px solid rgba(18,35,31,.2);border-radius:13px;background:#fff}.nivata-smart-query__box button{min-height:50px;border-radius:13px}.nivata-screen-table-wrap{overflow:visible;border:0;background:transparent}.nivata-screen-table{display:block;min-width:0}.nivata-screen-table thead{display:none}.nivata-screen-table tbody,.nivata-screen-table tr,.nivata-screen-table td{display:block;width:100%}.nivata-screen-table tr{margin-bottom:12px;padding:12px 14px;border:1px solid rgba(18,35,31,.12);border-radius:14px;background:#fff}.nivata-screen-table td{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid rgba(18,35,31,.065);white-space:normal}.nivata-screen-table td:before{content:attr(data-label);color:#7a8581;font-size:9px;letter-spacing:.055em;text-transform:uppercase}.nivata-screen-table td:first-child{display:block;min-width:0;border-top:0;padding-bottom:11px}.nivata-screen-table td:first-child:before{display:none}}

/* v3.25.0 — Nivata reported financial-history tables */
.nivata-financial-history{margin-top:18px;border:1px solid rgba(18,35,31,.11);border-radius:16px;background:#fff;overflow:hidden}.nivata-financial-history__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(18,35,31,.09);background:#f7f7f3}.nivata-financial-history__toolbar>p{margin:0;color:#6a7772;font-size:11px;line-height:1.45}.nivata-financial-periods{display:inline-flex;gap:4px;padding:3px;border:1px solid rgba(18,35,31,.11);border-radius:999px;background:#fff}.nivata-financial-periods button{border:0;border-radius:999px;padding:8px 12px;background:transparent;color:#61706a;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.nivata-financial-periods button.is-active{background:#12231f;color:#fff}.nivata-financial-history__table-wrap{width:100%;overflow:auto;scrollbar-width:thin}.nivata-financial-history-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0}.nivata-financial-history-table th,.nivata-financial-history-table td{padding:13px 14px;border-top:1px solid rgba(18,35,31,.07);text-align:right;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.nivata-financial-history-table thead th{position:sticky;top:0;z-index:2;border-top:0;background:#eef1ed;color:#5f6c67;font-size:9px;letter-spacing:.055em;text-transform:uppercase}.nivata-financial-history-table th:first-child{position:sticky;left:0;z-index:3;min-width:150px;text-align:left;background:#f8f8f4}.nivata-financial-history-table thead th:first-child{z-index:4;background:#e9ede7}.nivata-financial-history-table tbody th{color:#23342e;font-weight:760}.nivata-financial-history-table tbody tr:hover th,.nivata-financial-history-table tbody tr:hover td{background:#fbfbf8}.nivata-financial-history__placeholder{min-height:180px;padding:32px;display:flex;flex-direction:column;justify-content:center;gap:8px;color:#19382f}.nivata-financial-history__placeholder strong{font-size:17px}.nivata-financial-history__placeholder span{max-width:680px;color:#6d7975;font-size:12px;line-height:1.6}
@media(max-width:720px){.nivata-financial-history__toolbar{align-items:flex-start;flex-direction:column;padding:12px}.nivata-financial-periods{width:100%}.nivata-financial-periods button{flex:1 1 0;min-height:38px}.nivata-financial-history-table{min-width:760px}.nivata-financial-history-table th,.nivata-financial-history-table td{padding:11px 12px;font-size:10px}.nivata-financial-history-table th:first-child{min-width:132px}.nivata-financial-history__placeholder{padding:24px 18px}}

/* ===== Nivata Screener v3.25.2: internal profiles + complete statements ===== */
.nivata-tv-only-screener .tv-dashboard-card--profile,
.nivata-company-profile-card{min-height:0!important;height:auto!important}
.nivata-company-profile-card{padding:clamp(20px,3vw,34px)}
.nivata-company-profile{margin-top:18px}
.nivata-company-profile__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.nivata-company-profile__badges span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid rgba(18,35,31,.12);border-radius:999px;background:#f6f7f3;color:#45544f;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.nivata-company-profile__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(18,35,31,.1);border-radius:14px;overflow:hidden;background:rgba(18,35,31,.08);gap:1px}
.nivata-company-profile__grid>div{min-width:0;padding:15px 16px;background:#fff}
.nivata-company-profile__grid span,.nivata-company-profile__grid strong{display:block}
.nivata-company-profile__grid span{color:#6f7b76;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.nivata-company-profile__grid strong{margin-top:6px;color:#18372e;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.nivata-snapshot-grid strong{overflow-wrap:anywhere}
.nivata-financial-history.has-no-financial-data{margin-bottom:0}
.nivata-financial-history__placeholder.is-compact{min-height:0;padding:20px 18px}
.nivata-statement-tabs{max-width:100%;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.nivata-statement-tabs::-webkit-scrollbar{display:none}
.nivata-statement-tabs button{flex:0 0 auto!important}
.nivata-statement-tabs button:disabled,.nivata-statement-tabs button.is-unavailable{opacity:.38;cursor:not-allowed}
.nivata-statement-table tbody th{max-width:240px;white-space:normal;line-height:1.35}

/* Keep Smart Screener results genuinely tabular on phones. */
@media(max-width:820px){
  .nivata-company-profile__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nivata-company-profile-card{padding:20px 16px}
  .nivata-financial-history__toolbar{gap:9px}
  .nivata-financial-periods{display:flex;width:100%;overflow-x:auto;justify-content:flex-start}
  .nivata-financial-periods button{flex:0 0 auto!important;padding:9px 12px}
  .nivata-screen-table-wrap{overflow-x:auto!important;overflow-y:hidden!important;border:1px solid rgba(18,35,31,.12)!important;border-radius:14px!important;background:#fff!important;-webkit-overflow-scrolling:touch}
  .nivata-screen-table{display:table!important;width:100%!important;min-width:980px!important;border-collapse:collapse!important}
  .nivata-screen-table thead{display:table-header-group!important}
  .nivata-screen-table tbody{display:table-row-group!important}
  .nivata-screen-table tr{display:table-row!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
  .nivata-screen-table th,.nivata-screen-table td{display:table-cell!important;width:auto!important;padding:11px 12px!important;border-top:1px solid rgba(18,35,31,.075)!important;white-space:nowrap!important;vertical-align:middle!important}
  .nivata-screen-table thead th{border-top:0!important}
  .nivata-screen-table td:before{display:none!important;content:none!important}
  .nivata-screen-table td:first-child{display:table-cell!important;min-width:190px!important;white-space:normal!important;padding:11px 12px!important}
}
.nivata-tv-only-screener .tv-dashboard-card--fundamentals{min-height:0!important;height:auto!important}

/* v3.25.2 final — compact Nivata-owned company profile copy */
.nivata-company-profile__summary{max-width:68rem;margin:0 0 16px;color:#61706a;font-size:13px;line-height:1.65}
@media(max-width:720px){.nivata-company-profile__summary{font-size:12px;line-height:1.6}}

/* ===== Nivata Screener v3.25.3: company intelligence + useful ratio history ===== */
.nivata-company-profile--about{margin-top:14px}
.nivata-company-about-copy{max-width:76rem;margin:0;color:#52635d;font-size:13px;line-height:1.72}
.nivata-company-profile__grid--about{margin-top:18px}
.nivata-company-website{display:inline-flex;align-items:center;margin-top:14px;color:#174d3e;font-size:11px;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(23,77,62,.32);padding-bottom:2px}
.nivata-company-website[hidden]{display:none!important}
.nivata-key-ratios-card,.nivata-company-updates-card{min-height:0!important;height:auto!important}
.nivata-key-ratios{margin-top:16px;border:1px solid rgba(18,35,31,.1);border-radius:16px;overflow:hidden;background:#fff}
.nivata-ratio-history-table{min-width:760px}
.nivata-ratio-history-table tbody th{font-weight:800;color:#19382f}
.nivata-company-updates{margin-top:16px;border:1px solid rgba(18,35,31,.1);border-radius:16px;overflow:hidden;background:#fff}
.nivata-company-updates__tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid rgba(18,35,31,.08);background:#f6f7f3;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nivata-company-updates__tabs::-webkit-scrollbar{display:none}
.nivata-company-updates__tabs button{flex:0 0 auto;border:0;border-radius:999px;background:transparent;color:#5e6d67;padding:9px 13px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.nivata-company-updates__tabs button.is-active{background:#153d32;color:#fff}
.nivata-company-updates__panel{padding:12px}
.nivata-update-list{display:grid;gap:8px}
.nivata-update-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid rgba(18,35,31,.09);border-radius:12px;background:#fcfcf9;text-decoration:none;color:#1d352e;transition:border-color .18s ease,transform .18s ease}
.nivata-update-item:hover{border-color:rgba(18,74,58,.25);transform:translateY(-1px)}
.nivata-update-item strong{font-size:11px;line-height:1.45;font-weight:780}
.nivata-update-item span{flex:0 0 auto;color:#60716a;font-size:9px;font-weight:760;white-space:nowrap}
.nivata-update-empty{padding:20px 14px;color:#67756f;font-size:11px;line-height:1.55}
.nivata-update-quarterly{border:1px solid rgba(18,35,31,.08);border-radius:12px}
.nivata-update-quarterly .nivata-financial-history-table{min-width:640px}
.nivata-open-financials{margin:12px 2px 2px;border:0;background:transparent;color:#174d3e;font:inherit;font-size:10px;font-weight:850;cursor:pointer;padding:6px 2px}
#nivata-financial-statements{scroll-margin-top:100px}
@media(max-width:720px){
  .nivata-company-about-copy{font-size:12px;line-height:1.68}
  .nivata-ratio-history-table{min-width:690px}
  .nivata-company-updates__panel{padding:9px}
  .nivata-update-item{align-items:flex-start;padding:12px;gap:10px}
  .nivata-update-item strong{font-size:10.5px}
  .nivata-company-updates__tabs button{min-height:38px;padding:9px 12px}
}

/* Ask the Screener: transparent AI-assist status. This applies only to the natural-language screen box. */
.nivata-smart-query__label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.nivata-smart-query__label-row label{margin-bottom:0}.nivata-smart-ai-pill{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 10px;border:1px solid rgba(18,35,31,.13);border-radius:999px;background:#fff;color:#64716c;font-size:10px;font-weight:800;letter-spacing:.015em;white-space:nowrap}.nivata-smart-ai-pill i{width:7px;height:7px;border-radius:50%;background:#8b9893;box-shadow:0 0 0 3px rgba(139,152,147,.12)}.nivata-smart-ai-pill.is-ai{border-color:rgba(11,73,58,.18);background:#f1f6f2;color:#234d41}.nivata-smart-ai-pill.is-ai i{background:#178b5d;box-shadow:0 0 0 3px rgba(23,139,93,.12)}
@media(max-width:520px){.nivata-smart-query__label-row{align-items:flex-start;flex-direction:column;gap:7px}.nivata-smart-ai-pill{white-space:normal}.nivata-smart-query>p{font-size:10.5px}}


/* v3.25.21 — remove decorative numbering without leaving empty layout columns. */
.nivata-mobile-panel__links a {
  grid-template-columns: minmax(0, 1fr) !important;
}
.home-data-gateway__links a {
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.data-hub-card h3 {
  margin-top: 0 !important;
}
.principle {
  grid-template-columns: auto minmax(0, 1fr) !important;
}
.aspiration-card figcaption {
  grid-template-columns: minmax(0, 1fr) !important;
}


/* v3.25.26 — compact screener guardrail panel aligned to the screener above. */
.screener-notes--compact{
  width:auto;
  margin:clamp(24px,3vw,40px) 0 0;
  padding:clamp(24px,3vw,36px) clamp(24px,4vw,48px);
  grid-template-columns:minmax(0,.75fr) minmax(280px,.65fr);
  gap:clamp(24px,4vw,56px);
  border-radius:16px;
}
.screener-notes--compact h2{font-size:clamp(34px,3.5vw,50px);line-height:1.02}
.screener-notes--compact>p{align-self:center;max-width:42rem}
.screener-notes--compact .line-link{margin-top:0;align-self:end}
@media(max-width:900px){
  .screener-notes--compact{width:auto;margin:20px 0 0;padding:24px 20px;gap:18px}
  .screener-notes--compact h2{font-size:clamp(30px,8vw,38px)}
}

/* ================================================================
   v3.26.0 — IPO GMP in existing calendar table + SEO content
   ================================================================ */
.nivata-ipos-page .ipo-gmp-cell {
  font-variant-numeric: tabular-nums;
}
.nivata-ipos-page .ipo-gmp-value,
.nivata-ipos-page .ipo-gmp-listing,
.nivata-ipos-page .ipo-gmp-updated {
  display: block;
}
.nivata-ipos-page .ipo-gmp-value {
  color: #163c32;
  font-weight: 720;
  line-height: 1.22;
}
.nivata-ipos-page .ipo-gmp-value span {
  font-weight: 620;
}
.nivata-ipos-page .ipo-gmp-listing {
  margin-top: 3px;
  color: #64746f;
  line-height: 1.22;
}
.nivata-ipos-page .ipo-gmp-updated {
  margin-top: 3px;
  color: #8a9691;
  font-size: .78em;
  line-height: 1.2;
}
.nivata-ipos-page .ipo-gmp-cell.is-positive .ipo-gmp-value { color: #176647; }
.nivata-ipos-page .ipo-gmp-cell.is-negative .ipo-gmp-value { color: #8f3b35; }
.nivata-ipos-page .ipo-gmp-cell.is-flat .ipo-gmp-value,
.nivata-ipos-page .ipo-gmp-cell.is-unavailable .ipo-gmp-value { color: #687773; }

@media (max-width: 700px) {
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { width: 31% !important; padding-left: 8px !important; }
  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2) { width: 13% !important; text-align: center; }
  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3) { width: 18% !important; text-align: center; }
  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4) { width: 15% !important; text-align: right; }
  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5) { width: 23% !important; padding-right: 7px !important; text-align: right; }
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td { padding-left: 3px !important; padding-right: 3px !important; }
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { padding-left: 8px !important; }
  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5) { padding-right: 7px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-value { font-size: 9.5px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing { font-size: 8.5px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated { font-size: 7.5px !important; }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table .ipo-gmp-value { font-size: 9px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing { font-size: 8px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated { font-size: 7px !important; }
}

/* ================================================================
   v3.26.1 — consistent semantic status lights
   Green is reserved for genuinely current/live/active states. Delayed,
   upcoming and in-progress states use amber; closed/unavailable uses grey.
   ================================================================ */
:root {
  --nivata-status-live: #159a5b;
  --nivata-status-live-soft: rgba(21,154,91,.18);
  --nivata-status-live-glow: rgba(21,154,91,.34);
  --nivata-status-wait: #b8903d;
  --nivata-status-wait-soft: rgba(184,144,61,.18);
  --nivata-status-off: #8b9893;
  --nivata-status-off-soft: rgba(139,152,147,.15);
}

/* Screener: LIVE / LAST TRADED badge shown in the company snapshot. */
.nivata-live-badge::before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  background: var(--nivata-status-live) !important;
  box-shadow:
    0 0 0 3px var(--nivata-status-live-soft),
    0 0 8px var(--nivata-status-live-glow);
}

/* Current-data freshness chips used by Bullion, IPOs and Mutual Funds. */
.freshness i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--nivata-status-wait) !important;
  box-shadow: 0 0 0 3px var(--nivata-status-wait-soft);
}
.freshness.is-current i {
  background: var(--nivata-status-live) !important;
  box-shadow:
    0 0 0 3px var(--nivata-status-live-soft),
    0 0 8px var(--nivata-status-live-glow);
}
.freshness.is-delayed i,
.freshness.is-loading i {
  background: var(--nivata-status-wait) !important;
  box-shadow: 0 0 0 3px var(--nivata-status-wait-soft);
}
.freshness.is-unavailable i {
  background: var(--nivata-status-off) !important;
  box-shadow: 0 0 0 3px var(--nivata-status-off-soft);
}

/* IPO lifecycle pills: only an actually open issue receives a green light. */
.nivata-ipos-page .status-pill--open,
.nivata-ipos-page .status-pill--upcoming,
.nivata-ipos-page .status-pill--announced,
.nivata-ipos-page .status-pill--closed,
.nivata-ipos-page .status-pill--unverified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.nivata-ipos-page .status-pill--open::before,
.nivata-ipos-page .status-pill--upcoming::before,
.nivata-ipos-page .status-pill--announced::before,
.nivata-ipos-page .status-pill--closed::before,
.nivata-ipos-page .status-pill--unverified::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
}
.nivata-ipos-page .status-pill--open::before {
  background: var(--nivata-status-live);
  box-shadow:
    0 0 0 3px var(--nivata-status-live-soft),
    0 0 7px var(--nivata-status-live-glow);
}
.nivata-ipos-page .status-pill--upcoming::before,
.nivata-ipos-page .status-pill--announced::before {
  background: var(--nivata-status-wait);
  box-shadow: 0 0 0 3px var(--nivata-status-wait-soft);
}
.nivata-ipos-page .status-pill--closed::before,
.nivata-ipos-page .status-pill--unverified::before {
  background: var(--nivata-status-off);
  box-shadow: 0 0 0 3px var(--nivata-status-off-soft);
}

/* Existing active-source/AI indicators use the same visual language. */
.nivata-smart-ai-pill.is-ai i,
.screener-source.is-live .screener-source__dot {
  background: var(--nivata-status-live) !important;
  box-shadow:
    0 0 0 3px var(--nivata-status-live-soft),
    0 0 8px var(--nivata-status-live-glow) !important;
}

/* Homepage ticker status: green only while the current feed is connected. */
.nivata-live-ticker__status::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  vertical-align: 1px;
  background: var(--nivata-status-wait);
  box-shadow: 0 0 0 2px var(--nivata-status-wait-soft);
}
.nivata-live-ticker.has-data:not(.is-stale) .nivata-live-ticker__status::before {
  background: var(--nivata-status-live);
  box-shadow:
    0 0 0 2px var(--nivata-status-live-soft),
    0 0 7px var(--nivata-status-live-glow);
}
.nivata-live-ticker.is-stale .nivata-live-ticker__status::before {
  background: var(--nivata-status-wait);
  box-shadow: 0 0 0 2px var(--nivata-status-wait-soft);
}

/* Registration is still in progress, so its light remains amber rather than
   implying an approved/active registration state. */
.status-card .status-pill > i {
  background: var(--nivata-status-wait) !important;
  box-shadow: 0 0 0 3px var(--nivata-status-wait-soft) !important;
}

@media (prefers-reduced-motion: no-preference) {
  .nivata-live-badge::before,
  .freshness.is-current i,
  .nivata-ipos-page .status-pill--open::before,
  .nivata-smart-ai-pill.is-ai i,
  .screener-source.is-live .screener-source__dot,
  .nivata-live-ticker.has-data:not(.is-stale) .nivata-live-ticker__status::before {
    animation: nivata-live-light 2.2s ease-in-out infinite;
  }
}

@keyframes nivata-live-light {
  0%, 100% { opacity: 1; filter: brightness(1); }
  50% { opacity: .72; filter: brightness(1.16); }
}

@media (max-width: 380px) {
  .nivata-ipos-page .status-pill--open,
  .nivata-ipos-page .status-pill--upcoming,
  .nivata-ipos-page .status-pill--announced,
  .nivata-ipos-page .status-pill--closed,
  .nivata-ipos-page .status-pill--unverified { gap: 4px; }
  .nivata-ipos-page .status-pill--open::before,
  .nivata-ipos-page .status-pill--upcoming::before,
  .nivata-ipos-page .status-pill--announced::before,
  .nivata-ipos-page .status-pill--closed::before,
  .nivata-ipos-page .status-pill--unverified::before {
    width: 5px;
    height: 5px;
    flex-basis: 5px;
  }
}


/* ================================================================
   v3.26.2 — IPO status-pill fit on compact mobile tables
   The GMP column reduced the Status column too aggressively in v3.26.0.
   Give lifecycle labels enough width, remove inherited card spacing and
   keep the status light compact so OPEN / UPCOMING stay inside the pill.
   ================================================================ */
@media (max-width: 700px) {
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { width: 27% !important; }

  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2) { width: 20% !important; text-align: center; }

  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3) { width: 17% !important; text-align: center; }

  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4) { width: 15% !important; text-align: right; }

  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5) { width: 21% !important; text-align: right; }

  .nivata-ipos-page .ipo-table .status-pill {
    box-sizing: border-box;
    width: 100%;
    max-width: 72px;
    min-width: 0;
    min-height: 27px;
    margin: 0 auto !important;
    padding: 5px 4px !important;
    gap: 4px !important;
    align-items: center;
    justify-content: center;
    font-size: 8px !important;
    line-height: 1 !important;
    letter-spacing: .02em;
    white-space: nowrap;
  }

  .nivata-ipos-page .status-pill--open::before,
  .nivata-ipos-page .status-pill--upcoming::before,
  .nivata-ipos-page .status-pill--announced::before,
  .nivata-ipos-page .status-pill--closed::before,
  .nivata-ipos-page .status-pill--unverified::before {
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table .status-pill {
    min-height: 25px;
    padding-left: 3px !important;
    padding-right: 3px !important;
    gap: 3px !important;
    font-size: 7.5px !important;
    letter-spacing: .01em;
  }
}


/* ================================================================
   v3.26.3 — Home Loan vs Invest calculator
   Adds a sixth Tools workspace tab and result treatment without changing
   any existing calculator mechanics or the XIRR implementation.
   ================================================================ */
.home-comparison-result .home-result-deck {
  margin: -2px 0 22px;
  color: rgba(18,35,31,.62);
  font-size: 12px;
  line-height: 1.55;
}
.home-comparison-result > strong {
  max-width: 100%;
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1.02;
  overflow-wrap: anywhere;
}
.home-comparison-result dl {
  grid-template-columns: repeat(2, minmax(0,1fr));
}
@media (max-width: 760px) and (min-width: 481px) {
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0,1fr)) !important;
    grid-template-rows: 82px !important;
    gap: 5px !important;
  }
}
@media (max-width: 480px) {
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    grid-template-rows: repeat(2, 82px) !important;
    gap: 6px !important;
    overflow: visible !important;
  }
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button,
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button:nth-child(5),
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button:nth-child(6) {
    width: 100% !important;
    min-width: 0 !important;
    height: 82px !important;
    min-height: 82px !important;
  }
  .home-comparison-result dl { grid-template-columns: 1fr; }
  .home-comparison-result > strong { font-size: 28px; }
}
/* Keep the Tools selector semantic: only the active calculator panel is visible. */
body.nivata-tools-page:not(.nivata-calculator-page) .tool-panel[hidden] { display: none !important; }


/* ================================================================
   v3.26.7 — larger, clearer mobile IPO table
   ================================================================ */
@media (max-width: 700px) {
  .nivata-ipos-page .live-data-section--wide {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .nivata-ipos-page .data-table-wrap {
    width: 100% !important;
    border-radius: 18px !important;
  }
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { width: 28% !important; padding-left: 10px !important; }
  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2) { width: 14% !important; }
  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3) { width: 18% !important; }
  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4) { width: 15% !important; }
  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5) { width: 25% !important; padding-right: 10px !important; }
  .nivata-ipos-page .ipo-table th {
    font-size: 10.75px !important;
    line-height: 1.18 !important;
    letter-spacing: .015em !important;
  }
  .nivata-ipos-page .ipo-table .issue-name {
    font-size: 12.5px !important;
    line-height: 1.28 !important;
  }
  .nivata-ipos-page .ipo-table .issue-meta {
    margin-top: 5px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
  }
  .nivata-ipos-page .ipo-table .status-pill {
    padding: 6px 6px !important;
    font-size: 9px !important;
  }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close,
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 10.75px !important;
    line-height: 1.3 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-value {
    font-size: 11.25px !important;
    line-height: 1.25 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing {
    margin-top: 4px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated {
    margin-top: 4px !important;
    font-size: 8.75px !important;
    line-height: 1.22 !important;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table th { font-size: 10px !important; }
  .nivata-ipos-page .ipo-table .issue-name { font-size: 11.75px !important; }
  .nivata-ipos-page .ipo-table .issue-meta { font-size: 9px !important; }
  .nivata-ipos-page .ipo-table .status-pill { font-size: 8.5px !important; }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close,
  .nivata-ipos-page .ipo-table .price-band { font-size: 10px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-value { font-size: 10.5px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing { font-size: 9.5px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated { font-size: 8.25px !important; }
}

/* ================================================================
   v3.26.9 — keep long IPO lifecycle labels inside the mobile pill.
   v3.26.7 enlarged the table but made Status only 14%, which is too narrow
   for UPCOMING on ~360px phones. Rebalance without shrinking the typography.
   ================================================================ */
@media (max-width: 700px) {
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { width: 26% !important; }

  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2) {
    width: 20% !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    text-align: center !important;
  }

  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3) { width: 18% !important; }

  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4) { width: 14% !important; }

  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5) { width: 22% !important; }

  .nivata-ipos-page .ipo-table .status-pill {
    width: 100% !important;
    max-width: 74px !important;
    min-width: 0 !important;
    padding: 6px 3px !important;
    gap: 3px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table .status-pill {
    padding-left: 2px !important;
    padding-right: 2px !important;
    gap: 2px !important;
    font-size: 8.25px !important;
  }
}

/* ================================================================
   v3.26.10 — compact live Allotment Odds indicator for IPO rows.
   Uses Retail subscription (Mainboard) / Individual Investors (SME).
   ================================================================ */
.nivata-ipos-page .ipo-allotment-odds {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 6px;
  padding: 3px 7px;
  border: 1px solid rgba(25, 73, 59, .14);
  border-radius: 999px;
  background: rgba(25, 73, 59, .055);
  color: #315d50;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.01em;
  white-space: nowrap;
  box-sizing: border-box;
}
.nivata-ipos-page .ipo-allotment-odds.odds-high {
  color: #176647;
  background: rgba(29, 161, 103, .08);
  border-color: rgba(29, 161, 103, .22);
}
.nivata-ipos-page .ipo-allotment-odds.odds-moderate {
  color: #7a651f;
  background: rgba(184, 145, 38, .09);
  border-color: rgba(184, 145, 38, .24);
}
.nivata-ipos-page .ipo-allotment-odds.odds-low {
  color: #8a5318;
  background: rgba(198, 115, 27, .08);
  border-color: rgba(198, 115, 27, .23);
}
.nivata-ipos-page .ipo-allotment-odds.odds-very-low {
  color: #8f3b35;
  background: rgba(177, 67, 59, .07);
  border-color: rgba(177, 67, 59, .20);
}
.nivata-ipos-page .ipo-allotment-odds.is-best {
  font-weight: 850;
  box-shadow: 0 0 0 1px rgba(19, 89, 67, .045) inset;
}
.nivata-ipos-page .ipo-allotment-odds.is-pending {
  color: #78827f;
  background: rgba(70, 84, 80, .04);
  border-color: rgba(70, 84, 80, .12);
  font-weight: 650;
}
.nivata-ipos-page .ipo-allotment-note {
  margin: 8px 0 14px;
  color: #687773;
  font-size: 11px;
  line-height: 1.5;
}
.nivata-ipos-page .ipo-allotment-note strong { color: #244c40; }

@media (max-width: 700px) {
  .nivata-ipos-page .ipo-table .ipo-allotment-odds {
    margin-top: 5px;
    padding: 3px 5px;
    font-size: 8px !important;
    line-height: 1.05;
  }
  .nivata-ipos-page .ipo-allotment-note {
    font-size: 10px;
    line-height: 1.45;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table .ipo-allotment-odds {
    padding-left: 4px;
    padding-right: 4px;
    font-size: 7.5px !important;
  }
}


/* ================================================================
   v3.26.11 — make the IPO allotment indicator self-explanatory.
   Desktop gets a dedicated Retail/Individual subscription column; mobile keeps the
   compact indicator under the issue name with an explicit label.
   ================================================================ */
.nivata-ipos-page .ipo-allotment-mobile { display: none; }
.nivata-ipos-page .ipo-allotment-cell {
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.nivata-ipos-page .ipo-allotment-cell .ipo-allotment-odds {
  margin-top: 0;
  font-size: 10px;
  padding: 5px 9px;
}
.nivata-ipos-page .ipo-allotment-subscription {
  display: block;
  margin-top: 5px;
  color: #7c8985;
  font-size: 10px;
  line-height: 1.25;
  white-space: nowrap;
}
.nivata-ipos-page .ipo-allotment-na {
  color: #9aa49f;
}

@media (min-width: 701px) {
  .nivata-ipos-page .ipo-table {
    table-layout: fixed;
  }
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { width: 22%; }
  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2) { width: 12%; text-align: center; }
  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3) { width: 16%; text-align: center; }
  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4) { width: 13%; text-align: right; }
  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5) { width: 17%; text-align: center; }
  .nivata-ipos-page .ipo-table th:nth-child(6),
  .nivata-ipos-page .ipo-table td:nth-child(6) { width: 20%; text-align: right; }
}

@media (max-width: 700px) {
  /* Keep the five-column phone layout: the subscription multiple is integrated into Issue. */
  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5) {
    display: none !important;
  }
  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) { width: 26% !important; }
  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2) { width: 20% !important; }
  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3) { width: 18% !important; }
  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4) { width: 14% !important; }
  .nivata-ipos-page .ipo-table th:nth-child(6),
  .nivata-ipos-page .ipo-table td:nth-child(6) {
    display: table-cell !important;
    width: 22% !important;
    padding-right: 10px !important;
    text-align: right !important;
  }
  .nivata-ipos-page .ipo-allotment-mobile {
    display: block;
    margin-top: 7px;
  }
  .nivata-ipos-page .ipo-allotment-kicker {
    display: block;
    margin: 0 0 3px;
    color: #8a9691;
    font-size: 7.5px !important;
    font-weight: 620;
    line-height: 1.15;
    letter-spacing: .01em;
  }
  .nivata-ipos-page .ipo-allotment-mobile .ipo-allotment-odds {
    margin-top: 0;
    max-width: 100%;
    min-height: 24px;
    padding: 5px 7px;
    font-size: 8.5px !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-allotment-kicker {
    font-size: 7px !important;
  }
  .nivata-ipos-page .ipo-allotment-mobile .ipo-allotment-odds {
    padding-left: 5px;
    padding-right: 5px;
    font-size: 8px !important;
  }
}


/* ================================================================
   v3.26.13 — safe IPO readability refinement
   Rebuilt from the stable v3.26.11 layout. No grid/card restructuring.
   ================================================================ */
@media (min-width: 701px) {
  .nivata-ipos-page .data-table-wrap {
    border-radius: 20px;
  }
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td {
    padding-top: 17px !important;
    padding-bottom: 17px !important;
  }
  .nivata-ipos-page .ipo-table th {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  .nivata-ipos-page .ipo-table .issue-name {
    font-size: 16px !important;
    line-height: 1.28 !important;
  }
  .nivata-ipos-page .ipo-table .issue-meta {
    margin-top: 5px;
    font-size: 11px !important;
  }
  .nivata-ipos-page .ipo-table .status-pill {
    min-height: 34px;
    padding: 8px 11px !important;
    font-size: 10.5px !important;
  }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close,
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }
  .nivata-ipos-page .ipo-allotment-cell .ipo-allotment-odds {
    font-size: 11px !important;
    padding: 6px 10px !important;
  }
  .nivata-ipos-page .ipo-allotment-subscription {
    margin-top: 6px;
    font-size: 10.5px !important;
  }
  .nivata-ipos-page .ipo-gmp-value {
    font-size: 15px !important;
  }
  .nivata-ipos-page .ipo-gmp-listing {
    margin-top: 5px;
    font-size: 11.5px !important;
  }
  .nivata-ipos-page .ipo-gmp-updated {
    margin-top: 5px;
    font-size: 10px !important;
  }
}

@media (max-width: 700px) {
  /* Preserve the proven five-column mobile table, only make it easier to read. */
  .nivata-ipos-page .data-table-wrap {
    border-radius: 18px;
  }
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td {
    padding-top: 17px !important;
    padding-bottom: 17px !important;
    vertical-align: middle !important;
  }
  .nivata-ipos-page .ipo-table th {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  .nivata-ipos-page .ipo-table .issue-name {
    font-size: 12.5px !important;
    line-height: 1.28 !important;
    -webkit-line-clamp: 3;
  }
  .nivata-ipos-page .ipo-table .issue-meta {
    margin-top: 5px;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }
  .nivata-ipos-page .ipo-allotment-mobile {
    margin-top: 7px;
  }
  .nivata-ipos-page .ipo-allotment-kicker {
    margin-bottom: 4px;
    font-size: 8.5px !important;
    line-height: 1.15 !important;
  }
  .nivata-ipos-page .ipo-allotment-mobile .ipo-allotment-odds {
    padding: 4px 6px !important;
    font-size: 8.7px !important;
    line-height: 1.05 !important;
  }
  .nivata-ipos-page .ipo-table .status-pill {
    min-height: 31px;
    max-width: 74px;
    padding: 7px 5px !important;
    font-size: 8.7px !important;
    line-height: 1 !important;
  }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close {
    font-size: 10.25px !important;
    line-height: 1.3 !important;
  }
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 10.75px !important;
    line-height: 1.3 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-value {
    font-size: 11.5px !important;
    line-height: 1.18 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing {
    margin-top: 4px;
    font-size: 9.75px !important;
    line-height: 1.25 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated {
    margin-top: 4px;
    font-size: 8.5px !important;
    line-height: 1.18 !important;
  }
  .nivata-ipos-page .ipo-allotment-note {
    font-size: 10.5px;
    line-height: 1.5;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .nivata-ipos-page .ipo-table .issue-name { font-size: 11.7px !important; }
  .nivata-ipos-page .ipo-table .issue-meta { font-size: 8.5px !important; }
  .nivata-ipos-page .ipo-allotment-kicker { font-size: 8px !important; }
  .nivata-ipos-page .ipo-allotment-mobile .ipo-allotment-odds { font-size: 8.2px !important; }
  .nivata-ipos-page .ipo-table .status-pill { font-size: 8.2px !important; }
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close { font-size: 9.6px !important; }
  .nivata-ipos-page .ipo-table .price-band { font-size: 10px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-value { font-size: 10.8px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing { font-size: 9.1px !important; }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated { font-size: 8px !important; }
}


/* ================================================================
   v3.26.14 — IPO date/price emphasis
   Slightly larger and bolder date and price-band typography.
   ================================================================ */
@media (min-width: 701px) {
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close,
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 13.5px !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 700px) {
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close {
    font-size: 11.25px !important;
    font-weight: 700 !important;
  }
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 11.75px !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table .date-range,
  .nivata-ipos-page .ipo-table .date-close {
    font-size: 10.6px !important;
    font-weight: 700 !important;
  }
  .nivata-ipos-page .ipo-table .price-band {
    font-size: 11px !important;
    font-weight: 700 !important;
  }
}


/* ================================================================
   v3.26.16 — site-wide header search on desktop + mobile
   ================================================================ */
.nav-search {
  width: 38px;
  height: 38px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.88);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.nav-search svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nav-search:hover,
.nav-search:focus-visible,
.nav-search[aria-expanded="true"] {
  border-color: rgba(131,228,170,.38);
  background: rgba(87,216,137,.15);
  color: #83e4aa;
  transform: translateY(-1px);
}
.nav-search--mobile { display: none; }

body.nivata-site-search-open { overflow: hidden !important; }

.nivata-site-search {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  padding: clamp(24px, 6vh, 64px) 24px;
}
.nivata-site-search.is-open { display: block; }
.nivata-site-search__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(3,22,18,.74);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  cursor: default;
}
.nivata-site-search__dialog {
  position: relative;
  width: min(860px, 100%);
  max-height: min(820px, calc(100dvh - 48px));
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background: #103f34;
  box-shadow: 0 32px 90px rgba(0,0,0,.28);
  color: #fff;
}
.nivata-site-search__top {
  padding: 27px 30px 20px;
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: flex-start;
}
.nivata-site-search__eyebrow {
  margin: 0 0 8px;
  color: rgba(255,255,255,.52);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.nivata-site-search__top h2 {
  margin: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 520;
  letter-spacing: -.045em;
  line-height: 1;
}
.nivata-site-search__close {
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  flex: 0 0 44px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  color: #fff;
  cursor: pointer;
}
.nivata-site-search__close span {
  position: absolute;
  top: 21px;
  left: 12px;
  width: 19px;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
}
.nivata-site-search__close span:first-child { transform: rotate(45deg); }
.nivata-site-search__close span:last-child { transform: rotate(-45deg); }

.nivata-site-search__field {
  min-height: 68px;
  margin: 0 30px;
  padding: 0 18px;
  display: grid;
  grid-template-columns: 23px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 16px;
  background: rgba(255,255,255,.075);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.nivata-site-search__field:focus-within {
  border-color: rgba(131,228,170,.55);
  background: rgba(255,255,255,.095);
  box-shadow: 0 0 0 3px rgba(87,216,137,.08);
}
.nivata-site-search__field > svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: rgba(255,255,255,.72);
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nivata-site-search__field input {
  width: 100%;
  min-width: 0;
  height: 66px;
  padding: 0;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #fff !important;
  font: 500 clamp(17px, 2vw, 21px)/1.3 var(--sans);
  letter-spacing: -.015em;
  appearance: none;
  -webkit-appearance: none;
}
.nivata-site-search__field input::placeholder { color: rgba(255,255,255,.42); opacity: 1; }
.nivata-site-search__field input::-webkit-search-cancel-button { display: none; }
.nivata-site-search__field kbd {
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 7px;
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.43);
  font: 700 9px/1 var(--sans);
  letter-spacing: .08em;
}
.nivata-site-search__meta {
  padding: 18px 31px 10px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: rgba(255,255,255,.52);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nivata-site-search__meta small { color: rgba(255,255,255,.32); font: inherit; }

.nivata-site-search__results {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 18px 22px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.2) transparent;
}
.nivata-site-search__result {
  width: 100%;
  min-height: 72px;
  padding: 14px 13px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 14px;
  color: inherit;
  text-decoration: none !important;
  transition: background .16s ease, border-color .16s ease;
}
.nivata-site-search__result + .nivata-site-search__result { margin-top: 3px; }
.nivata-site-search__result:hover,
.nivata-site-search__result.is-active,
.nivata-site-search__result:focus-visible {
  border-color: rgba(255,255,255,.09);
  background: rgba(255,255,255,.075);
  outline: 0;
}
.nivata-site-search__result-copy { min-width: 0; }
.nivata-site-search__result-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.nivata-site-search__result strong {
  min-width: 0;
  overflow: hidden;
  color: #fff;
  font: 600 16px/1.3 var(--sans);
  letter-spacing: -.012em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nivata-site-search__result em {
  flex: 0 0 auto;
  padding: 4px 7px 3px;
  border: 1px solid rgba(131,228,170,.16);
  border-radius: 999px;
  background: rgba(87,216,137,.07);
  color: #9debbb;
  font: 700 8px/1 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nivata-site-search__result p {
  margin: 5px 0 0;
  overflow: hidden;
  color: rgba(255,255,255,.48);
  font-size: 11.5px;
  line-height: 1.42;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nivata-site-search__result-arrow {
  color: rgba(255,255,255,.38);
  font-size: 18px;
  transition: transform .16s ease, color .16s ease;
}
.nivata-site-search__result:hover .nivata-site-search__result-arrow,
.nivata-site-search__result.is-active .nivata-site-search__result-arrow {
  color: #83e4aa;
  transform: translateX(2px);
}
.nivata-site-search__empty {
  margin: 0 30px 30px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.55);
  font-size: 13px;
  line-height: 1.6;
}
.nivata-site-search__empty strong { color: rgba(255,255,255,.82); }

@media (max-width: 900px) {
  .site-header .nav-search--mobile {
    position: absolute;
    top: 11px;
    right: 112px;
    z-index: 3;
    width: 44px;
    height: 44px;
    display: inline-grid !important;
    border-radius: 14px;
    background: rgba(255,255,255,.055);
  }
  .site-header .nav-search--mobile:hover,
  .site-header .nav-search--mobile:focus-visible,
  .site-header .nav-search--mobile[aria-expanded="true"] { transform: none; }

  .nivata-site-search { padding: 0; }
  .nivata-site-search__dialog {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .nivata-site-search__top { padding: max(22px, env(safe-area-inset-top)) 20px 18px; }
  .nivata-site-search__top h2 { font-size: clamp(34px, 10vw, 44px); }
  .nivata-site-search__field {
    min-height: 62px;
    margin: 0 20px;
    padding: 0 15px;
    grid-template-columns: 21px minmax(0, 1fr);
    gap: 11px;
    border-radius: 14px;
  }
  .nivata-site-search__field input { height: 60px; font-size: 17px; }
  .nivata-site-search__field kbd { display: none; }
  .nivata-site-search__meta { padding: 16px 21px 9px; }
  .nivata-site-search__meta small { display: none; }
  .nivata-site-search__results {
    padding: 0 10px max(88px, calc(24px + env(safe-area-inset-bottom)));
  }
  .nivata-site-search__result { min-height: 74px; padding: 13px 11px; gap: 10px; }
  .nivata-site-search__result strong { font-size: 15.5px; }
  .nivata-site-search__result p { font-size: 11px; }
  .nivata-site-search__empty { margin: 0 20px 24px; }
}

@media (max-width: 420px) {
  .site-header .nav-search--mobile {
    top: 12px;
    right: 106px;
    width: 42px;
    height: 42px;
  }
  .nivata-site-search__result-head { gap: 7px; }
  .nivata-site-search__result em { padding-right: 6px; padding-left: 6px; font-size: 7.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-search,
  .nivata-site-search__result,
  .nivata-site-search__result-arrow { transition: none !important; }
}


/* ================================================================
   v3.26.19 — compact IPO table help button and layman-language guide.
   ================================================================ */
.nivata-ipos-page .ipo-issue-heading {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.nivata-ipos-page .ipo-info-button {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 1px solid rgba(34, 73, 62, .32);
  border-radius: 50%;
  background: rgba(255, 255, 255, .62);
  color: #365a50;
  font: 800 11px/1 Georgia, serif;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  vertical-align: middle;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.nivata-ipos-page .ipo-info-button:hover,
.nivata-ipos-page .ipo-info-button:focus-visible {
  background: #fff;
  border-color: rgba(22, 93, 71, .58);
  outline: none;
  transform: translateY(-1px);
}
.nivata-ipos-page .ipo-table-guide {
  width: min(520px, calc(100vw - 32px));
  max-height: min(680px, calc(100vh - 48px));
  margin: auto;
  padding: 0;
  border: 1px solid rgba(38, 67, 59, .16);
  border-radius: 20px;
  background: #fbfaf6;
  color: #173f34;
  box-shadow: 0 24px 70px rgba(17, 45, 37, .22);
  overflow: hidden;
}
.nivata-ipos-page .ipo-table-guide::backdrop {
  background: rgba(14, 29, 25, .34);
  backdrop-filter: blur(3px);
}
.nivata-ipos-page .ipo-table-guide__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(38, 67, 59, .10);
}
.nivata-ipos-page .ipo-table-guide__head h3 {
  margin: 0;
  color: #163f34;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -.015em;
}
.nivata-ipos-page .ipo-table-guide__close {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(38, 67, 59, .14);
  border-radius: 50%;
  background: rgba(255, 255, 255, .7);
  color: #385d52;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.nivata-ipos-page .ipo-table-guide__list {
  padding: 8px 22px 18px;
}
.nivata-ipos-page .ipo-table-guide__list p {
  display: grid;
  grid-template-columns: minmax(135px, .8fr) minmax(0, 1.4fr);
  gap: 14px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid rgba(38, 67, 59, .075);
  font-size: 13px;
  line-height: 1.4;
}
.nivata-ipos-page .ipo-table-guide__list p:last-child { border-bottom: 0; }
.nivata-ipos-page .ipo-table-guide__list strong {
  color: #244f43;
  font-weight: 780;
}
.nivata-ipos-page .ipo-table-guide__list span { color: #64736f; }

@media (max-width: 700px) {
  .nivata-ipos-page .ipo-issue-heading { gap: 4px; }
  .nivata-ipos-page .ipo-info-button {
    width: 15px;
    height: 15px;
    font-size: 9px;
  }
  .nivata-ipos-page .ipo-table-guide {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 32px);
    border-radius: 16px;
  }
  .nivata-ipos-page .ipo-table-guide__head {
    padding: 17px 16px 13px;
  }
  .nivata-ipos-page .ipo-table-guide__head h3 { font-size: 16px; }
  .nivata-ipos-page .ipo-table-guide__close {
    width: 30px;
    height: 30px;
    font-size: 20px;
  }
  .nivata-ipos-page .ipo-table-guide__list {
    padding: 6px 16px 14px;
    overflow-y: auto;
  }
  .nivata-ipos-page .ipo-table-guide__list p {
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 8px 0;
    font-size: 12px;
  }
}

/* ================================================================
   v3.26.20 — IPO desktop column alignment
   Keeps the Issue column roomy, then gives the five data columns
   equal widths so headers and values form a cleaner, even rhythm.
   Mobile geometry is intentionally untouched.
   ================================================================ */
@media (min-width: 901px) {
  .nivata-ipos-page .ipo-table {
    table-layout: fixed !important;
  }

  .nivata-ipos-page .ipo-table th,
  .nivata-ipos-page .ipo-table td {
    box-sizing: border-box;
    padding-left: 18px !important;
    padding-right: 18px !important;
    vertical-align: middle !important;
  }

  .nivata-ipos-page .ipo-table th:nth-child(1),
  .nivata-ipos-page .ipo-table td:nth-child(1) {
    width: 22% !important;
    text-align: left !important;
    padding-left: 22px !important;
  }

  .nivata-ipos-page .ipo-table th:nth-child(2),
  .nivata-ipos-page .ipo-table td:nth-child(2),
  .nivata-ipos-page .ipo-table th:nth-child(3),
  .nivata-ipos-page .ipo-table td:nth-child(3),
  .nivata-ipos-page .ipo-table th:nth-child(4),
  .nivata-ipos-page .ipo-table td:nth-child(4),
  .nivata-ipos-page .ipo-table th:nth-child(5),
  .nivata-ipos-page .ipo-table td:nth-child(5),
  .nivata-ipos-page .ipo-table th:nth-child(6),
  .nivata-ipos-page .ipo-table td:nth-child(6) {
    width: 15.6% !important;
    text-align: center !important;
  }

  .nivata-ipos-page .ipo-table th:nth-child(6),
  .nivata-ipos-page .ipo-table td:nth-child(6) {
    padding-right: 22px !important;
  }
}


/* ================================================================
   v3.26.21 — IPO mobile hierarchy + screener deep links
   ================================================================ */
.nivata-ipos-page .ipo-company-link {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .nivata-ipos-page .ipo-company-link:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
  }
}
.nivata-ipos-page .ipo-company-link:focus-visible {
  outline: 2px solid rgba(22,102,71,.35);
  outline-offset: 3px;
  border-radius: 3px;
}

@media (max-width: 700px) {
  .nivata-ipos-page .ipo-table .status-pill {
    width: auto !important;
    max-width: 62px !important;
    min-height: 24px !important;
    padding: 4px 5px !important;
    gap: 3px !important;
    font-size: 7.6px !important;
    letter-spacing: .01em !important;
  }
  .nivata-ipos-page .status-pill--open::before,
  .nivata-ipos-page .status-pill--upcoming::before,
  .nivata-ipos-page .status-pill--announced::before,
  .nivata-ipos-page .status-pill--closed::before,
  .nivata-ipos-page .status-pill--unverified::before {
    width: 4px !important;
    height: 4px !important;
    flex: 0 0 4px !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-value {
    font-size: 13.5px !important;
    font-weight: 780 !important;
    line-height: 1.16 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-value span {
    font-weight: 720 !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing {
    font-size: 10px !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated {
    font-size: 8.25px !important;
  }
}

@media (max-width: 380px) {
  .nivata-ipos-page .ipo-table .status-pill {
    max-width: 58px !important;
    min-height: 23px !important;
    padding: 4px !important;
    font-size: 7.2px !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-value {
    font-size: 12.4px !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-listing {
    font-size: 9.4px !important;
  }
  .nivata-ipos-page .ipo-table .ipo-gmp-updated {
    font-size: 7.8px !important;
  }
}


/* ================================================================
   v3.26.24 — targeted mobile LCP / first-render optimisation
   ================================================================
   Lighthouse showed excellent TBT/CLS but slower mobile FCP/LCP. These rules
   reduce first-screen raster work while preserving the existing visual design
   and defer painting of genuinely off-screen homepage sections. */
@media (max-width: 720px) {
  /* The header is almost opaque already; removing the GPU-heavy backdrop blur
     is visually negligible on phones and makes first paint cheaper. */
  .nivata-home .site-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(9, 37, 31, 0.985) !important;
  }

  /* Keep the emblem's glass look using its existing translucent background and
     shadow, but avoid expensive real-time backdrop sampling on the first view. */
  .nivata-home .emblem-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow:
      0 16px 34px rgba(0, 0, 0, 0.19),
      inset 0 1px 0 rgba(255, 255, 255, 0.30),
      inset 0 -1px 0 rgba(255, 255, 255, 0.06) !important;
  }

  .nivata-home .hero__glow {
    filter: none !important;
    opacity: 0.16 !important;
  }

  .nivata-home .emblem-stage::before {
    filter: none !important;
    opacity: 0.18 !important;
  }

  /* Fallback pause only: JavaScript now marks motion ready immediately during
     parsing, so mobile decorative animation is never held until window load or
     an artificial multi-second timeout. */
  .nivata-home:not(.nivata-motion-ready) .hero__glow,
  .nivata-home:not(.nivata-motion-ready) .hero__object .orbit,
  .nivata-home:not(.nivata-motion-ready) .hero__object .emblem-card,
  .nivata-home:not(.nivata-motion-ready) .hero-market-pulse__line,
  .nivata-home:not(.nivata-motion-ready) .hero-market-pulse__dot {
    animation-play-state: paused !important;
  }

  /* Skip style/layout/paint work for sections that are well below the initial
     mobile viewport. contain-intrinsic-size reserves sensible scroll space and
     avoids layout shifts when a section becomes visible. */
  .nivata-home .india-market-ticker,
  .nivata-home .philosophy,
  .nivata-home .human-story,
  .nivata-home .principles,
  .nivata-home .status-section,
  .nivata-home .home-data-gateway,
  .nivata-home .updates {
    content-visibility: auto;
    contain-intrinsic-size: auto 720px;
  }
}


/* ================================================================
   v3.26.25 — stable LCP + no-forced-reflow mobile pass
   ================================================================ */
@media (max-width: 720px) {
  /* Hero copy/object are now emitted without the generic reveal class, so they
     are paintable from the first style calculation regardless of parent JS. */
  .nivata-home .hero__copy,
  .nivata-home .hero__object {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* Dynamic path interpolation and pulse-dot movement are non-essential during
     the initial viewport. The JS still updates the live shape once data starts. */
  .nivata-home:not(.nivata-motion-ready) .hero-market-pulse__line,
  .nivata-home:not(.nivata-motion-ready) .hero-market-pulse__dot {
    transition: none !important;
  }

  /* Keep hard-lazy aspiration placeholders from painting a broken/blank icon. */
  .nivata-home img[data-home-lazy-src] {
    background: rgba(255,255,255,.025);
  }
}

/* v3.26.32 — keep the final odd screener metric balanced on phone layouts. */
@media (max-width:820px){
  .nivata-snapshot-grid>div:last-child:nth-child(odd){grid-column:1/-1}
}

/* v3.26.33 — homepage market ticker now paints saved data immediately and starts live refresh without a mobile delay. */

/* ================================================================
   v3.26.36 — mobile screener guardrail + Growth Priced-In scenario
   ================================================================ */
.nivata-tv-only-screener .nivata-priced-growth-card {
  grid-column: 1 / -1;
  min-height: 0;
}
.nivata-priced-growth {
  padding: clamp(18px, 2.4vw, 28px);
}
.nivata-priced-growth__status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding: 11px 13px;
  border: 1px solid rgba(18,35,31,.10);
  border-radius: 12px;
  background: #f6f7f3;
}
.nivata-priced-growth__status span {
  color: #18372e;
  font-size: 11px;
  font-weight: 800;
}
.nivata-priced-growth__status small {
  color: #73807b;
  font-size: 10px;
  line-height: 1.45;
  text-align: right;
}
.nivata-priced-growth__inputs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.nivata-priced-growth__inputs label {
  min-width: 0;
}
.nivata-priced-growth__inputs label > span {
  display: block;
  min-height: 28px;
  margin: 0 2px 6px;
  color: #65736e;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.35;
  text-transform: uppercase;
}
.nivata-priced-growth__field {
  min-width: 0;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid rgba(18,35,31,.16);
  border-radius: 12px;
  background: #fff;
}
.nivata-priced-growth__field:focus-within {
  border-color: rgba(20,112,79,.58);
  box-shadow: 0 0 0 3px rgba(20,112,79,.08);
}
.nivata-priced-growth__field i {
  flex: 0 0 auto;
  color: #6b7873;
  font-style: normal;
  font-size: 13px;
  font-weight: 750;
}
.nivata-priced-growth__field input,
.nivata-priced-growth__field select {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #12231f;
  font: inherit;
  font-size: 15px;
  font-weight: 720;
  font-variant-numeric: tabular-nums;
}
.nivata-priced-growth__field select {
  cursor: pointer;
}
.nivata-priced-growth__results {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr;
  gap: 10px;
  margin-top: 14px;
}
.nivata-priced-growth__result {
  min-width: 0;
  min-height: 126px;
  padding: 17px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(18,35,31,.10);
  border-radius: 14px;
  background: #fbfbf8;
}
.nivata-priced-growth__result--primary {
  background: #0d3028;
  color: #fff;
}
.nivata-priced-growth__result > span {
  color: #6d7975;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.nivata-priced-growth__result--primary > span,
.nivata-priced-growth__result--primary small {
  color: rgba(255,255,255,.66);
}
.nivata-priced-growth__result strong {
  margin: 8px 0;
  color: #18372e;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 610;
  letter-spacing: -.035em;
  line-height: 1;
  overflow-wrap: anywhere;
}
.nivata-priced-growth__result--primary strong {
  color: #55df99;
}
.nivata-priced-growth__result small {
  color: #75817d;
  font-size: 10px;
  line-height: 1.5;
}
.nivata-priced-growth__context {
  margin: 13px 2px 0;
  color: #687570;
  font-size: 10.5px;
  line-height: 1.55;
}
.nivata-priced-growth__foot {
  margin-top: 15px;
  padding-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid rgba(18,35,31,.09);
}
.nivata-priced-growth__foot button {
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid rgba(18,35,31,.15);
  border-radius: 999px;
  background: #fff;
  color: #18372e;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.nivata-priced-growth__foot p {
  max-width: 620px;
  margin: 0;
  color: #7a8581;
  font-size: 10px;
  line-height: 1.5;
  text-align: right;
}

@media (max-width: 900px) {
  /* A late desktop compact-card rule previously reintroduced two columns on
     phones. Force a single-column flow here so copy can never overlap heading. */
  .screener-notes--compact {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start;
  }
  .screener-notes--compact > p,
  .screener-notes--compact .line-link {
    grid-column: 1 !important;
  }
  .screener-notes--compact > p {
    max-width: none;
  }
  .nivata-priced-growth__inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nivata-priced-growth__inputs label:last-child {
    grid-column: 1 / -1;
  }
  .nivata-priced-growth__results {
    grid-template-columns: 1fr;
  }
  .nivata-priced-growth__result {
    min-height: 112px;
  }
}

@media (max-width: 600px) {
  .screener-notes--compact {
    padding: 24px 20px !important;
    gap: 14px !important;
  }
  .screener-notes--compact h2 {
    max-width: none;
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.02 !important;
  }
  .screener-notes--compact > p {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.62 !important;
  }
  .screener-notes--compact .line-link {
    margin-top: 2px !important;
  }
  .nivata-priced-growth {
    padding: 16px;
  }
  .nivata-priced-growth-card .tv-dashboard-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 18px 16px;
  }
  .nivata-priced-growth-card .tv-dashboard-heading > p {
    max-width: none;
  }
  .nivata-priced-growth__status {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    padding: 10px 11px;
  }
  .nivata-priced-growth__status small {
    text-align: left;
  }
  .nivata-priced-growth__inputs {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }
  .nivata-priced-growth__inputs label:last-child {
    grid-column: 1 / -1;
  }
  .nivata-priced-growth__inputs label > span {
    min-height: 26px;
    font-size: 8.5px;
  }
  .nivata-priced-growth__field,
  .nivata-priced-growth__field input,
  .nivata-priced-growth__field select {
    min-height: 46px;
  }
  .nivata-priced-growth__field input,
  .nivata-priced-growth__field select {
    font-size: 16px;
  }
  .nivata-priced-growth__result {
    min-height: 0;
    padding: 15px 16px;
  }
  .nivata-priced-growth__result strong {
    font-size: 28px;
  }
  .nivata-priced-growth__foot {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }
  .nivata-priced-growth__foot button {
    width: 100%;
    min-height: 46px;
  }
  .nivata-priced-growth__foot p {
    max-width: none;
    text-align: left;
  }
}


/* ================================================================
   v3.26.39 — instant screener dashboard + simpler valuation scenario
   ================================================================ */
/* The parent theme may attach scroll-reveal styles to .reveal. The dynamic
   company dashboard must paint immediately after a lookup, without requiring
   a scroll event to wake it up. */
.nivata-screener-page .company-lookup .tv-company-dashboard {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.nivata-priced-growth__current {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1px;
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid rgba(18,35,31,.09);
  border-radius: 14px;
  background: rgba(18,35,31,.09);
}
.nivata-priced-growth__current > div { min-width:0; padding:14px 16px; background:#fbfbf8; }
.nivata-priced-growth__current span,.nivata-priced-growth__current strong { display:block; }
.nivata-priced-growth__current span { color:#6d7975; font-size:9px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.nivata-priced-growth__current strong { margin-top:6px; color:#18372e; font-size:17px; line-height:1.15; overflow-wrap:anywhere; }
.nivata-priced-growth__inputs--simple { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nivata-priced-growth__inputs--simple label:last-child { grid-column:auto; }
.nivata-priced-growth__helper { display:block; margin:6px 2px 0; color:#7b8682; font-size:9px; line-height:1.45; }
@media (max-width:600px) {
  .nivata-priced-growth__current { grid-template-columns:1fr 1fr 1fr; }
  .nivata-priced-growth__current > div { padding:12px 10px; }
  .nivata-priced-growth__current span { font-size:7.8px; letter-spacing:.035em; }
  .nivata-priced-growth__current strong { font-size:15px; }
  .nivata-priced-growth__inputs--simple { grid-template-columns:1fr; }
  .nivata-priced-growth__inputs--simple label:last-child { grid-column:1; }
  .nivata-priced-growth__inputs--simple label > span { min-height:0; margin-bottom:5px; font-size:9px; }
}


/* ================================================================
   v3.26.42 — Car affordability + credit-card payoff tools
   Eight-tool selector, concise mobile layout and long-result safety.
   ================================================================ */
body.nivata-tools-page .everyday-money-result > strong {
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.nivata-tools-page .everyday-money-result dd {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 82px) !important;
    gap: 5px !important;
    overflow: visible !important;
  }
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button,
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button:nth-child(n) {
    width: 100% !important;
    min-width: 0 !important;
    height: 82px !important;
    min-height: 82px !important;
  }
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button strong {
    font-size: 10.8px !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.05 !important;
  }
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button small {
    font-size: 7px !important;
    line-height: 1.14 !important;
  }
}
@media (max-width: 390px) {
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs {
    gap: 4px !important;
    padding: 5px !important;
  }
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button strong { font-size: 10px !important; }
  body.nivata-tools-page:not(.nivata-calculator-page) .tool-tabs button small { font-size: 6.6px !important; }
}

/* ================================================================
   v3.26.43 — site consistency guardrails
   New market/trust surfaces must inherit the same premium dark-green hero,
   green accent and immediate first-paint behaviour as the approved core pages.
   ================================================================ */
body.nivata-whos-buying-page .wb-hero .reveal,
body.nivata-trade-pulse-page .trade-pulse-hero .reveal,
body.nivata-trust-page .trust-hero__copy,
body.nivata-trust-page .trust-hero__copy > * {
  opacity:1!important;visibility:visible!important;transform:none!important;clip-path:none!important;filter:none!important;
}
body.nivata-data-page .data-hub__cards{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
body.nivata-data-page .data-hub-card{min-width:0!important}
@media(max-width:1100px){body.nivata-data-page .data-hub__cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.nivata-data-page .data-hub-card:nth-child(3n){border-right:0!important}}
@media(max-width:720px){body.nivata-data-page .data-hub__cards{grid-template-columns:1fr!important;border:0!important;overflow:visible!important}body.nivata-data-page .data-hub-card{border:1px solid rgba(18,59,50,.10)!important;border-radius:16px!important}}

/* ================================================================
   v3.26.44 — one site-wide header and resilient new-page rendering
   ================================================================ */
.site-header,
body.nivata-whos-buying-page .site-header,
body.nivata-trade-pulse-page .site-header,
body.nivata-trust-page .site-header {
  background: rgba(6,43,36,.985) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  color: #fff !important;
}
.site-header .site-nav,
.site-header .site-nav a,
.site-header .nav-search,
.site-header .nav-music,
.site-header .menu-toggle--grid,
.site-header .menu-toggle--grid svg {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}
.site-header .site-nav a[aria-current="page"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.site-header .site-nav .nav-cta {
  border-color: rgba(255,255,255,.25) !important;
  background: rgba(255,255,255,.025) !important;
}
.site-header .site-nav .nav-cta span {
  color: #4fd887 !important;
  -webkit-text-fill-color: #4fd887 !important;
}
.site-header .nav-search svg { stroke: currentColor !important; }
.site-header .menu-toggle,
.site-header .nav-search--mobile,
.site-header .nav-music--mobile {
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.055) !important;
}

/* These data pages contain useful controls immediately below the hero. They
   must not rely on a delayed parent-theme reveal observer to become usable. */
body.nivata-whos-buying-page .reveal,
body.nivata-trade-pulse-page .reveal,
body.nivata-trust-page .trust-hero,
body.nivata-trust-page .trust-hero__copy,
body.nivata-trust-page .trust-hero__copy > *,
body.nivata-trust-page .trust-content,
body.nivata-trust-page .trust-row,
body.nivata-trust-page .trust-row > * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip-path: none !important;
  filter: none !important;
}

@media (max-width: 720px) {
  .site-header,
  body.nivata-whos-buying-page .site-header,
  body.nivata-trade-pulse-page .site-header,
  body.nivata-trust-page .site-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* ================================================================
   v3.26.52 — Screener typography tune-down + custom indicator tile
   Reduce the v3.26.51 Screener type ramp by one size, keep spacing even,
   and use the final empty snapshot tile for a visitor-controlled indicator.
   ================================================================ */
body.nivata-screener-page .company-lookup__intro > p { font-size: 15px; }
body.nivata-screener-page .company-search > label { font-size: 12px; }
body.nivata-screener-page .company-search input { font-size: 17px; }
body.nivata-screener-page .company-search button { font-size: 13px; }
body.nivata-screener-page .company-search__help { font-size: 13px; }
body.nivata-screener-page .company-suggestion__name { font-size: 15px; }
body.nivata-screener-page .company-suggestion__meta { font-size: 12px; }

body.nivata-screener-page .nivata-native-summary__head > div > span { font-size: 12px; }
body.nivata-screener-page .nivata-native-summary__head > div > small { font-size: 14px; }
body.nivata-screener-page .nivata-native-summary__head > div > strong { font-size: clamp(23px, 2vw, 32px); }
body.nivata-screener-page .nivata-live-badge { font-size: 12px; }
body.nivata-screener-page .nivata-native-quote__price > span { font-size: 12px; }
body.nivata-screener-page .nivata-native-quote__price > strong { font-size: clamp(32px, 3.15vw, 46px); }
body.nivata-screener-page .nivata-native-quote__price > small { font-size: 16px; }
body.nivata-screener-page .nivata-native-quote__stats span { font-size: 11px; }
body.nivata-screener-page .nivata-native-quote__stats strong { font-size: 15px; }
body.nivata-screener-page .nivata-snapshot-grid span { font-size: 12px; }
body.nivata-screener-page .nivata-snapshot-grid strong { font-size: 19px; }
body.nivata-screener-page .nivata-investment-check__head > span { font-size: 15px; }
body.nivata-screener-page .nivata-investment-check__head > small { font-size: 13px; }
body.nivata-screener-page .nivata-investment-check__items > span { font-size: 13px; }

body.nivata-screener-page .tv-dashboard-heading h3 { font-size: clamp(23px, 2.05vw, 32px); }
body.nivata-screener-page .tv-dashboard-heading > p { font-size: 14px; }
body.nivata-screener-page .tv-dashboard-heading .overline { font-size: 12px; }
body.nivata-screener-page .nivata-company-profile__badges span { font-size: 12px; }
body.nivata-screener-page .nivata-company-profile__summary,
body.nivata-screener-page .nivata-company-about-copy { font-size: 15px; }
body.nivata-screener-page .nivata-company-profile__grid span { font-size: 11px; }
body.nivata-screener-page .nivata-company-profile__grid strong { font-size: 15px; }
body.nivata-screener-page .nivata-company-website { font-size: 13px; }

body.nivata-screener-page .nivata-financial-history__toolbar > p { font-size: 13px; }
body.nivata-screener-page .nivata-financial-periods button { font-size: 12px; }
body.nivata-screener-page .nivata-financial-history-table th,
body.nivata-screener-page .nivata-financial-history-table td { font-size: 13px; }
body.nivata-screener-page .nivata-financial-history-table thead th { font-size: 11px; }
body.nivata-screener-page .nivata-financial-history__placeholder strong { font-size: 19px; }
body.nivata-screener-page .nivata-financial-history__placeholder span { font-size: 14px; }

body.nivata-screener-page .nivata-company-updates__tabs button { font-size: 12px; }
body.nivata-screener-page .nivata-update-item strong { font-size: 13px; }
body.nivata-screener-page .nivata-update-item span { font-size: 11px; }
body.nivata-screener-page .nivata-update-empty { font-size: 13px; }
body.nivata-screener-page .nivata-open-financials { font-size: 12px; }

body.nivata-screener-page .nivata-chart-switch button { font-size: 13px; }
body.nivata-screener-page .nivata-native-chart-placeholder strong,
body.nivata-screener-page .tv-embed-unavailable strong { font-size: 17px; }
body.nivata-screener-page .nivata-native-chart-placeholder span,
body.nivata-screener-page .tv-embed-unavailable span,
body.nivata-screener-page .tv-embed-unavailable a { font-size: 13px; }
body.nivata-screener-page .nivata-pro-chart__identity strong { font-size: 16px; }
body.nivata-screener-page .nivata-pro-chart__identity span { font-size: 12px; }
body.nivata-screener-page .nivata-pro-chart button { font-size: 12px; }
body.nivata-screener-page .nivata-pro-chart__indicators > span { font-size: 11px; }
body.nivata-screener-page .nivata-pro-chart__readout { font-size: 12px; }
body.nivata-screener-page .nivata-pro-chart__foot { font-size: 11px; }

body.nivata-screener-page .nivata-priced-growth__status span { font-size: 13px; }
body.nivata-screener-page .nivata-priced-growth__status small { font-size: 12px; }
body.nivata-screener-page .nivata-priced-growth__current span { font-size: 11px; }
body.nivata-screener-page .nivata-priced-growth__current strong { font-size: 19px; }
body.nivata-screener-page .nivata-priced-growth__inputs label > span { font-size: 11px; }
body.nivata-screener-page .nivata-priced-growth__field input,
body.nivata-screener-page .nivata-priced-growth__field select { font-size: 17px; }
body.nivata-screener-page .nivata-priced-growth__field i { font-size: 15px; }
body.nivata-screener-page .nivata-priced-growth__helper { font-size: 11px; }
body.nivata-screener-page .nivata-priced-growth__result > span { font-size: 11px; }
body.nivata-screener-page .nivata-priced-growth__result strong { font-size: clamp(26px, 2.95vw, 36px); }
body.nivata-screener-page .nivata-priced-growth__result small { font-size: 12px; }
body.nivata-screener-page .nivata-priced-growth__context { font-size: 12.5px; }
body.nivata-screener-page .nivata-priced-growth__foot button { font-size: 12px; }
body.nivata-screener-page .nivata-priced-growth__foot p { font-size: 12px; }

body.nivata-screener-page .nivata-smart-query label { font-size: 13px; }
body.nivata-screener-page .nivata-smart-ai-pill { font-size: 12px; }
body.nivata-screener-page .nivata-smart-query textarea { font-size: 15px; }
body.nivata-screener-page .nivata-smart-query__box button { font-size: 14px; }
body.nivata-screener-page .nivata-smart-query > p { font-size: 13px; }
body.nivata-screener-page .nivata-screen-presets button { font-size: 13px; }
body.nivata-screener-page .nivata-rule-chip { font-size: 13px; }
body.nivata-screener-page .nivata-screen-status { font-size: 15px; }
body.nivata-screener-page .nivata-screen-table th { font-size: 11px; }
body.nivata-screener-page .nivata-screen-table td { font-size: 14px; }
body.nivata-screener-page .nivata-screen-table td:first-child small { font-size: 12px; }
body.nivata-screener-page .nivata-smart-footnote { font-size: 12px; }

body.nivata-screener-page .screener-tv-intro > p,
body.nivata-screener-page .screener-notes--compact > p,
body.nivata-screener-page .nivata-seo-support__intro > p,
body.nivata-screener-page .nivata-seo-support__grid p { font-size: 14.5px; }
body.nivata-screener-page .screener-notes--compact .line-link,
body.nivata-screener-page .nivata-seo-support__links a { font-size: 13px; }

@media (max-width: 720px) {
  body.nivata-screener-page .company-lookup__intro > p { font-size: 15px; }
  body.nivata-screener-page .nivata-native-summary__metrics strong { font-size: 16px; }
  body.nivata-screener-page .nivata-company-profile__summary,
  body.nivata-screener-page .nivata-company-about-copy { font-size: 14px; }
  body.nivata-screener-page .nivata-financial-history-table th,
  body.nivata-screener-page .nivata-financial-history-table td { font-size: 12px; }
  body.nivata-screener-page .nivata-financial-history-table thead th { font-size: 11px; }
  body.nivata-screener-page .nivata-update-item strong { font-size: 12.5px; }
  body.nivata-screener-page .nivata-priced-growth__current span { font-size: 10px; }
  body.nivata-screener-page .nivata-priced-growth__current strong { font-size: 17px; }
  body.nivata-screener-page .nivata-priced-growth__inputs label > span { font-size: 10.5px; }
  body.nivata-screener-page .nivata-priced-growth__field input,
  body.nivata-screener-page .nivata-priced-growth__field select { font-size: 18px; }
  body.nivata-screener-page .nivata-priced-growth__result strong { font-size: 30px; }
  body.nivata-screener-page .nivata-smart-query > p { font-size: 12.5px; }
  body.nivata-screener-page .nivata-screen-table th { font-size: 11px !important; }
  body.nivata-screener-page .nivata-screen-table td { font-size: 14px !important; }
  body.nivata-screener-page .nivata-screen-table td:first-child { min-width: 205px !important; }
}


/* v3.26.52 — even Screener row rhythm + custom indicator tile */
body.nivata-screener-page .nivata-screen-table th,
body.nivata-screener-page .nivata-screen-table td {
  padding-top: 18px;
  padding-bottom: 18px;
  vertical-align: middle;
}
body.nivata-screener-page .nivata-screen-table td:first-child a {
  line-height: 1.32;
}
body.nivata-screener-page .nivata-screen-table td:first-child small {
  margin-top: 6px;
  line-height: 1.35;
}
body.nivata-screener-page .nivata-snapshot-grid__custom {
  min-width: 0;
  padding: 0;
  background: #f5f6f2;
}
body.nivata-screener-page .nivata-custom-indicator-button {
  width: 100%;
  min-height: 100%;
  height: 100%;
  border: 0;
  padding: 16px;
  background: linear-gradient(180deg, #f4f5f0 0%, #eef1ea 100%);
  color: #16352d;
  text-align: left;
  font: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
}
body.nivata-screener-page .nivata-custom-indicator-button:hover,
body.nivata-screener-page .nivata-custom-indicator-button:focus-visible {
  background: linear-gradient(180deg, #eff4ee 0%, #e7eee6 100%);
  outline: 0;
}
body.nivata-screener-page .nivata-custom-indicator-button__eyebrow {
  color: #6c7773;
  font-size: 11px;
  letter-spacing: .065em;
  text-transform: uppercase;
}
body.nivata-screener-page .nivata-custom-indicator-button small {
  color: #586660;
  font-size: 12px;
  line-height: 1.45;
}
body.nivata-screener-page .nivata-custom-indicator-button small.is-unavailable {
  color: #7c847f;
}
body.nivata-screener-page .nivata-custom-indicator-panel {
  margin-top: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(18,35,31,.11);
  border-radius: 14px;
  background: #fbfbf7;
}
body.nivata-screener-page .nivata-custom-indicator-panel__head {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}
body.nivata-screener-page .nivata-custom-indicator-panel__head span {
  color: #19382f;
  font-size: 14px;
  font-weight: 800;
}
body.nivata-screener-page .nivata-custom-indicator-panel__head small {
  color: #65736d;
  font-size: 12px;
}
body.nivata-screener-page .nivata-custom-indicator-panel__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
body.nivata-screener-page .nivata-custom-indicator-panel__controls select,
body.nivata-screener-page .nivata-custom-indicator-panel__controls button {
  min-height: 42px;
  border-radius: 12px;
  font: inherit;
}
body.nivata-screener-page .nivata-custom-indicator-panel__controls select {
  min-width: min(100%, 260px);
  padding: 0 13px;
  border: 1px solid rgba(18,35,31,.16);
  background: #fff;
  color: #18352d;
}
body.nivata-screener-page .nivata-custom-indicator-panel__controls button {
  border: 0;
  padding: 0 16px;
  background: #12231f;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
body.nivata-screener-page .nivata-custom-indicator-panel__controls [data-custom-indicator-clear] {
  background: #e9eeea;
  color: #17342c;
}
@media (max-width: 720px) {
  body.nivata-screener-page .nivata-screen-table th,
  body.nivata-screener-page .nivata-screen-table td {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  body.nivata-screener-page .nivata-custom-indicator-button {
    padding: 14px;
  }
  body.nivata-screener-page .nivata-custom-indicator-button__eyebrow {
    font-size: 10px;
  }
  body.nivata-screener-page .nivata-custom-indicator-button small,
  body.nivata-screener-page .nivata-custom-indicator-panel__head small {
    font-size: 11px;
  }
  body.nivata-screener-page .nivata-custom-indicator-panel__controls {
    flex-direction: column;
    align-items: stretch;
  }
  body.nivata-screener-page .nivata-custom-indicator-panel__controls select,
  body.nivata-screener-page .nivata-custom-indicator-panel__controls button {
    width: 100%;
  }
}

/* ================================================================
   v3.26.53 — free-form custom indicator builder
   ================================================================ */
body.nivata-screener-page .nivata-custom-indicator-button.has-selection [data-custom-indicator-label] {
  font-size: 13px;
  line-height: 1.25;
}
body.nivata-screener-page .nivata-custom-indicator-button.has-selection [data-custom-indicator-value] {
  color: #123b31;
  font-size: 19px;
  font-weight: 850;
  line-height: 1.18;
}
body.nivata-screener-page .nivata-custom-indicator-button.has-selection.is-pass [data-custom-indicator-value] {
  color: #176346;
}
body.nivata-screener-page .nivata-custom-indicator-button.has-selection.is-fail [data-custom-indicator-value] {
  color: #765d24;
}
body.nivata-screener-page .nivata-custom-indicator-builder {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(320px, 1.45fr);
  gap: 12px;
  margin-top: 14px;
}
body.nivata-screener-page .nivata-custom-indicator-builder label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
body.nivata-screener-page .nivata-custom-indicator-builder label > span {
  color: #596762;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
body.nivata-screener-page .nivata-custom-indicator-builder input,
body.nivata-screener-page .nivata-custom-indicator-builder textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(18,35,31,.16);
  border-radius: 12px;
  background: #fff;
  color: #12231f;
  font: inherit;
  font-size: 14px;
  outline: 0;
}
body.nivata-screener-page .nivata-custom-indicator-builder input {
  min-height: 46px;
  padding: 0 13px;
}
body.nivata-screener-page .nivata-custom-indicator-builder textarea {
  min-height: 92px;
  padding: 12px 13px;
  line-height: 1.5;
  resize: vertical;
}
body.nivata-screener-page .nivata-custom-indicator-builder input:focus,
body.nivata-screener-page .nivata-custom-indicator-builder textarea:focus {
  border-color: rgba(18,74,58,.42);
  box-shadow: 0 0 0 3px rgba(18,74,58,.07);
}
body.nivata-screener-page .nivata-custom-indicator-understood,
body.nivata-screener-page .nivata-custom-indicator-error,
body.nivata-screener-page .nivata-custom-indicator-help {
  margin: 10px 1px 0;
  font-size: 11.5px;
  line-height: 1.55;
}
body.nivata-screener-page .nivata-custom-indicator-understood {
  color: #3d5b50;
  font-weight: 700;
}
body.nivata-screener-page .nivata-custom-indicator-error {
  color: #8a4d34;
  font-weight: 700;
}
body.nivata-screener-page .nivata-custom-indicator-help {
  color: #707b77;
}
body.nivata-screener-page .nivata-custom-indicator-panel__controls {
  margin-top: 13px;
}
body.nivata-screener-page .nivata-custom-indicator-panel__controls button {
  min-height: 42px;
}
@media (max-width: 720px) {
  body.nivata-screener-page .nivata-custom-indicator-builder {
    grid-template-columns: 1fr;
  }
  body.nivata-screener-page .nivata-custom-indicator-builder input,
  body.nivata-screener-page .nivata-custom-indicator-builder textarea {
    font-size: 16px;
  }
  body.nivata-screener-page .nivata-custom-indicator-button.has-selection [data-custom-indicator-value] {
    font-size: 18px;
  }
}


/* ================================================================
   v3.26.57 — IPO Watch List company names bold
   ================================================================ */
body.nivata-ipos-page .ipo-table .issue-name,
body.nivata-ipos-page .ipo-table .issue-name .ipo-company-link {
  font-weight: 800 !important;
}

/* v3.26.58 — mobile Smart Screener column discoverability */
body.nivata-screener-page .nivata-screen-results-shell {
  margin-top: 18px;
  min-width: 0;
}
body.nivata-screener-page .nivata-screen-results-shell .nivata-screen-table-wrap {
  margin-top: 0;
}
body.nivata-screener-page .nivata-screen-table th:nth-child(2),
body.nivata-screener-page .nivata-screen-table td:nth-child(2) {
  min-width: 118px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
body.nivata-screener-page .nivata-screen-scroll-cue {
  display: none;
}
@media (max-width: 820px) {
  body.nivata-screener-page .nivata-screen-results-shell {
    position: relative;
  }
  body.nivata-screener-page .nivata-screen-scroll-cue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    margin: 0 0 8px auto;
    padding: 8px 12px;
    border: 1px solid rgba(18,35,31,.16);
    border-radius: 999px;
    background: #f2f4ef;
    color: #18372e;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  body.nivata-screener-page .nivata-screen-scroll-cue[hidden] {
    display: none !important;
  }
  body.nivata-screener-page .nivata-screen-scroll-cue b {
    font-size: 17px;
    line-height: .8;
  }
  body.nivata-screener-page .nivata-screen-scroll-cue:focus-visible {
    outline: 2px solid #18372e;
    outline-offset: 2px;
  }
  body.nivata-screener-page .nivata-screen-table th:nth-child(2),
  body.nivata-screener-page .nivata-screen-table td:nth-child(2) {
    min-width: 126px !important;
    text-align: right !important;
  }
}


/* ================================================================
   v3.26.59 — centered Smart Screener table + everyday-money input polish
   ================================================================ */
/* Keep every Smart Screener column visually aligned to the same centre line.
   A fixed grid gives the nine metric columns identical widths while preserving
   a wider company column for long listed-company names. */
body.nivata-screener-page .nivata-screen-table {
  width: 100% !important;
}
body.nivata-screener-page .nivata-screen-table th,
body.nivata-screener-page .nivata-screen-table td {
  box-sizing: border-box !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  text-align: center !important;
  vertical-align: middle !important;
}
body.nivata-screener-page .nivata-screen-table th:first-child,
body.nivata-screener-page .nivata-screen-table td:first-child {
  text-align: center !important;
}
body.nivata-screener-page .nivata-screen-table th:not(:first-child),
body.nivata-screener-page .nivata-screen-table td:not(:first-child) {
  font-variant-numeric: tabular-nums;
}
body.nivata-screener-page .nivata-screen-table td:first-child a,
body.nivata-screener-page .nivata-screen-table td:first-child small {
  width: 100%;
  text-align: center !important;
}
body.nivata-screener-page .nivata-screen-table th:nth-child(2),
body.nivata-screener-page .nivata-screen-table td:nth-child(2) {
  text-align: center !important;
}

/* Keep the ₹ glyph physically inside the number control, vertically centred
   against the typed value. Scoped markup is used only by the car and card-debt
   calculators, so the other calculators keep their established layout. */
.nivata-money-control {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.nivata-money-control > i {
  position: absolute !important;
  z-index: 2;
  top: 50% !important;
  left: 0 !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  transform: translateY(-50%) !important;
  color: inherit !important;
  font-style: normal !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  pointer-events: none;
}
.nivata-money-control > input {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 26px !important;
}
@media (min-width: 821px) {
  body.nivata-screener-page .nivata-screen-table {
    min-width: 1500px !important;
    table-layout: fixed !important;
  }
  body.nivata-screener-page .nivata-screen-table th:first-child,
  body.nivata-screener-page .nivata-screen-table td:first-child {
    width: 25% !important;
    min-width: 250px !important;
  }
  body.nivata-screener-page .nivata-screen-table th:not(:first-child),
  body.nivata-screener-page .nivata-screen-table td:not(:first-child) {
    width: 8.333333% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 820px) {
  body.nivata-screener-page .nivata-screen-table {
    min-width: 980px !important;
    table-layout: auto !important;
  }
  body.nivata-screener-page .nivata-screen-table th:first-child,
  body.nivata-screener-page .nivata-screen-table td:first-child {
    width: auto !important;
    min-width: 205px !important;
  }
  body.nivata-screener-page .nivata-screen-table th:not(:first-child),
  body.nivata-screener-page .nivata-screen-table td:not(:first-child) {
    width: auto !important;
    min-width: 112px !important;
  }
  body.nivata-screener-page .nivata-screen-table th:nth-child(2),
  body.nivata-screener-page .nivata-screen-table td:nth-child(2) {
    min-width: 126px !important;
    text-align: center !important;
  }
}

/* ================================================================
   v3.26.65 — Market Data circle colour cues only
   Restore the original white/green card treatment. Individual colour is
   limited to the existing large decorative circle inside each card.
   ================================================================ */
body.nivata-data-page .data-hub__cards .data-hub-card {
  background: #fff !important;
}
/* Preserve the original Nivata green action arrow. */
body.nivata-data-page .data-hub__cards .data-hub-card i {
  color: #37c879 !important;
}
/* Recolour only the existing subtle circular outline supplied by the base
   Market Data card design. No fill is introduced and card backgrounds stay white. */
body.nivata-data-page .data-hub__cards .data-hub-card:nth-child(1)::after {
  border-color: rgba(196, 151, 33, .30) !important;
}
body.nivata-data-page .data-hub__cards .data-hub-card:nth-child(2)::after {
  border-color: rgba(68, 132, 188, .27) !important;
}
body.nivata-data-page .data-hub__cards .data-hub-card:nth-child(3)::after {
  border-color: rgba(196, 102, 72, .27) !important;
}
body.nivata-data-page .data-hub__cards .data-hub-card:nth-child(4)::after {
  border-color: rgba(116, 91, 158, .26) !important;
}
body.nivata-data-page .data-hub__cards .data-hub-card:nth-child(5)::after {
  border-color: rgba(42, 123, 88, .28) !important;
}
@media (hover:hover) {
  body.nivata-data-page .data-hub__cards .data-hub-card:hover {
    background: #fff !important;
  }
}


/* ================================================================
   v3.26.67 — mutual-fund names left aligned
   Keep the fund/company identity column visually anchored to the left while
   leaving performance and fund-size figures in their existing alignment.
   ================================================================ */
.nivata-funds-page .fund-leader-table td:first-child,
.nivata-funds-page .fund-leader-name,
.nivata-funds-page .fund-leader-name strong,
.nivata-funds-page .fund-leader-name small {
  text-align: left !important;
}


/* ================================================================
   v3.26.68 — larger mutual-fund numeric values on phones
   Increase NAV, return and fund-size figures by two pixels while keeping
   fund names left aligned and the existing five-column table structure.
   ================================================================ */
@media (max-width: 700px) {
  .nivata-funds-page .fund-leader-name small {
    font-size: 11.5px !important;
  }
  .nivata-funds-page .fund-leader-table .return-value {
    font-size: 13px !important;
  }
  .nivata-funds-page .fund-aum {
    font-size: 12px !important;
  }
}

@media (max-width: 380px) {
  .nivata-funds-page .fund-leader-name small {
    font-size: 11px !important;
  }
  .nivata-funds-page .fund-leader-table .return-value {
    font-size: 12.5px !important;
  }
  .nivata-funds-page .fund-aum {
    font-size: 11.5px !important;
  }
}

/* ================================================================
   v3.26.69 — roomier mutual-fund table on phones
   Keep the larger numeric text from v3.26.68, but give the performance
   columns enough horizontal room so percentages do not visually run together.
   ================================================================ */
@media (max-width: 700px) {
  .nivata-funds-page .fund-leader-table-wrap {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  .nivata-funds-page .fund-leader-table {
    width: 100% !important;
    min-width: 380px !important;
    table-layout: fixed !important;
  }

  .nivata-funds-page .fund-leader-table th:nth-child(1),
  .nivata-funds-page .fund-leader-table td:nth-child(1) {
    width: 36% !important;
  }

  .nivata-funds-page .fund-leader-table th:nth-child(2),
  .nivata-funds-page .fund-leader-table td:nth-child(2),
  .nivata-funds-page .fund-leader-table th:nth-child(3),
  .nivata-funds-page .fund-leader-table td:nth-child(3),
  .nivata-funds-page .fund-leader-table th:nth-child(4),
  .nivata-funds-page .fund-leader-table td:nth-child(4) {
    width: 14.5% !important;
  }

  .nivata-funds-page .fund-leader-table th:nth-child(5),
  .nivata-funds-page .fund-leader-table td:nth-child(5) {
    width: 20.5% !important;
  }

  .nivata-funds-page .fund-leader-table .return-value {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .nivata-funds-page .fund-aum {
    padding-left: 5px !important;
    padding-right: 8px !important;
  }
}


/* ================================================================
   v3.26.70 — Market Data mobile pressed/selected-state visibility fix
   Parent-theme link hover/active rules can leave a tapped Market Data card
   with white text while this child theme intentionally keeps the card white.
   Pin every interactive link state to the approved white-card text palette so
   touch/keyboard selection can never make a card appear blank.
   ================================================================ */
body.nivata-data-page .data-hub__cards .data-hub-card,
body.nivata-data-page .data-hub__cards .data-hub-card:link,
body.nivata-data-page .data-hub__cards .data-hub-card:visited,
body.nivata-data-page .data-hub__cards .data-hub-card:hover,
body.nivata-data-page .data-hub__cards .data-hub-card:focus,
body.nivata-data-page .data-hub__cards .data-hub-card:focus-visible,
body.nivata-data-page .data-hub__cards .data-hub-card:active {
  background: #fff !important;
  color: var(--ink, #12231f) !important;
}
body.nivata-data-page .data-hub__cards .data-hub-card h3,
body.nivata-data-page .data-hub__cards .data-hub-card:visited h3,
body.nivata-data-page .data-hub__cards .data-hub-card:hover h3,
body.nivata-data-page .data-hub__cards .data-hub-card:focus h3,
body.nivata-data-page .data-hub__cards .data-hub-card:active h3 {
  color: var(--ink, #12231f) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.nivata-data-page .data-hub__cards .data-hub-card p,
body.nivata-data-page .data-hub__cards .data-hub-card:visited p,
body.nivata-data-page .data-hub__cards .data-hub-card:hover p,
body.nivata-data-page .data-hub__cards .data-hub-card:focus p,
body.nivata-data-page .data-hub__cards .data-hub-card:active p {
  color: var(--muted, #6d7773) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.nivata-data-page .data-hub__cards .data-hub-card:visited i,
body.nivata-data-page .data-hub__cards .data-hub-card:hover i,
body.nivata-data-page .data-hub__cards .data-hub-card:focus i,
body.nivata-data-page .data-hub__cards .data-hub-card:active i {
  color: #37c879 !important;
}
@media (hover: none) and (pointer: coarse) {
  body.nivata-data-page .data-hub__cards .data-hub-card {
    -webkit-tap-highlight-color: rgba(55, 200, 121, .12);
  }
}


/* ================================================================
   v3.26.71 — valuation snapshot number alignment
   Keep the three snapshot values on the same baseline on phones even when
   the first two labels wrap to two lines and Current P/E stays on one line.
   ================================================================ */
@media (max-width: 720px) {
  body.nivata-screener-page .nivata-priced-growth__current > div {
    display: flex;
    flex-direction: column;
  }
  body.nivata-screener-page .nivata-priced-growth__current span {
    min-height: 2.5em;
  }
  body.nivata-screener-page .nivata-priced-growth__current strong {
    margin-top: 6px;
  }
}


/* v3.26.72 — pre-listing IPO application + issue detail panel */
body.nivata-screener-page .nivata-ipo-research-card{grid-column:1/-1;min-height:0!important;height:auto!important;padding:clamp(22px,3vw,36px);overflow:hidden}
body.nivata-screener-page .nivata-ipo-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-top:20px;border:1px solid rgba(18,35,31,.10);border-radius:15px;overflow:hidden;background:rgba(18,35,31,.09)}
body.nivata-screener-page .nivata-ipo-detail-grid>div,body.nivata-screener-page .nivata-ipo-secondary-grid>div{min-width:0;padding:15px 16px;background:#fff}
body.nivata-screener-page .nivata-ipo-detail-grid span,body.nivata-screener-page .nivata-ipo-secondary-grid span,body.nivata-screener-page .nivata-ipo-demand-grid span{display:block;color:#6f7b76;font-size:11px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
body.nivata-screener-page .nivata-ipo-detail-grid strong,body.nivata-screener-page .nivata-ipo-secondary-grid strong{display:block;margin-top:6px;color:#18372e;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
body.nivata-screener-page .nivata-ipo-secondary-grid strong i{display:inline;font-style:normal}
body.nivata-screener-page .nivata-ipo-research-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px;margin-top:18px}
body.nivata-screener-page .nivata-ipo-lot-panel,body.nivata-screener-page .nivata-ipo-demand-panel{min-width:0;padding:18px;border:1px solid rgba(18,35,31,.10);border-radius:15px;background:#fff}
body.nivata-screener-page .nivata-ipo-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
body.nivata-screener-page .nivata-ipo-subhead h4{margin:0;color:#18372e;font-size:17px;line-height:1.25}
body.nivata-screener-page .nivata-ipo-subhead span{color:#77827e;font-size:11px;font-weight:700}
body.nivata-screener-page .nivata-ipo-lot-table-wrap{overflow-x:auto;border:1px solid rgba(18,35,31,.09);border-radius:12px}
body.nivata-screener-page .nivata-ipo-lot-table{width:100%;min-width:620px;border-collapse:collapse;font-variant-numeric:tabular-nums}
body.nivata-screener-page .nivata-ipo-lot-table th,body.nivata-screener-page .nivata-ipo-lot-table td{padding:12px 14px;border-bottom:1px solid rgba(18,35,31,.075);text-align:right;color:#203c34;font-size:14px;white-space:nowrap}
body.nivata-screener-page .nivata-ipo-lot-table thead th{background:#f3f5f1;color:#6b7873;font-size:10px;letter-spacing:.055em;text-transform:uppercase}
body.nivata-screener-page .nivata-ipo-lot-table th:first-child{text-align:left}
body.nivata-screener-page .nivata-ipo-lot-table tbody th{font-weight:800}
body.nivata-screener-page .nivata-ipo-lot-table tbody tr:last-child th,body.nivata-screener-page .nivata-ipo-lot-table tbody tr:last-child td{border-bottom:0}
body.nivata-screener-page .nivata-ipo-lot-note,body.nivata-screener-page .nivata-ipo-data-note{margin:12px 0 0;color:#697570;font-size:11px;line-height:1.55}
body.nivata-screener-page .nivata-ipo-demand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid rgba(18,35,31,.09);border-radius:12px;overflow:hidden;background:rgba(18,35,31,.08)}
body.nivata-screener-page .nivata-ipo-demand-grid>div{min-width:0;padding:14px;background:#f9faf7}
body.nivata-screener-page .nivata-ipo-demand-grid strong{display:block;margin-top:6px;color:#18372e;font-size:18px;line-height:1.2;font-variant-numeric:tabular-nums}
body.nivata-screener-page .nivata-ipo-demand-grid small{display:block;margin-top:4px;color:#77827e;font-size:10px}
body.nivata-screener-page .nivata-ipo-secondary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;border:1px solid rgba(18,35,31,.10);border-radius:15px;overflow:hidden;background:rgba(18,35,31,.09)}
body.nivata-screener-page .nivata-ipo-document-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
body.nivata-screener-page .nivata-ipo-document-links a{display:inline-flex;align-items:center;min-height:38px;padding:9px 13px;border:1px solid rgba(18,35,31,.14);border-radius:999px;background:#f7f8f4;color:#1e493d;font-size:12px;font-weight:800;text-decoration:none}
body.nivata-screener-page .nivata-ipo-document-links a:hover{border-color:rgba(18,35,31,.28);background:#f0f4ef}
@media(max-width:1100px){body.nivata-screener-page .nivata-ipo-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.nivata-screener-page .nivata-ipo-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.nivata-screener-page .nivata-ipo-research-split{grid-template-columns:1fr}}
@media(max-width:720px){body.nivata-screener-page .nivata-ipo-research-card{padding:20px 14px}body.nivata-screener-page .nivata-ipo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}body.nivata-screener-page .nivata-ipo-detail-grid>div,body.nivata-screener-page .nivata-ipo-secondary-grid>div{padding:13px 12px}body.nivata-screener-page .nivata-ipo-detail-grid span,body.nivata-screener-page .nivata-ipo-secondary-grid span,body.nivata-screener-page .nivata-ipo-demand-grid span{font-size:9px}body.nivata-screener-page .nivata-ipo-detail-grid strong,body.nivata-screener-page .nivata-ipo-secondary-grid strong{font-size:13px}body.nivata-screener-page .nivata-ipo-lot-panel,body.nivata-screener-page .nivata-ipo-demand-panel{padding:14px 12px}body.nivata-screener-page .nivata-ipo-subhead{display:block}body.nivata-screener-page .nivata-ipo-subhead span{display:block;margin-top:4px}body.nivata-screener-page .nivata-ipo-demand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.nivata-screener-page .nivata-ipo-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.nivata-screener-page .nivata-ipo-lot-table{min-width:0;width:100%;table-layout:fixed}body.nivata-screener-page .nivata-ipo-lot-table th,body.nivata-screener-page .nivata-ipo-lot-table td{padding:10px 5px;font-size:12px}body.nivata-screener-page .nivata-ipo-lot-table th:first-child,body.nivata-screener-page .nivata-ipo-lot-table td:first-child{width:38%;white-space:normal}body.nivata-screener-page .nivata-ipo-lot-table th:nth-child(2),body.nivata-screener-page .nivata-ipo-lot-table td:nth-child(2){width:14%}body.nivata-screener-page .nivata-ipo-lot-table th:nth-child(3),body.nivata-screener-page .nivata-ipo-lot-table td:nth-child(3){width:20%}body.nivata-screener-page .nivata-ipo-lot-table th:nth-child(4),body.nivata-screener-page .nivata-ipo-lot-table td:nth-child(4){width:28%}}


/* ================================================================
   v3.26.89 — mutual-fund Consistency + Worst Fall
   Both measures are derived from the same trailing NAV history already
   used for 1Y/3Y/5Y returns; no extra upstream request is introduced.
   ================================================================ */
.nivata-funds-page .fund-consistency {
  min-width: 112px;
  text-align: center;
  white-space: nowrap;
  color: #536a63;
}
.nivata-funds-page .fund-consistency-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(18,59,50,.10);
  border-radius: 999px;
  background: #f7f9f6;
  color: #315a4e;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .01em;
}
.nivata-funds-page .fund-consistency-pill.is-excellent { background: rgba(35,169,103,.08); color: #087548; border-color: rgba(35,169,103,.16); }
.nivata-funds-page .fund-consistency-pill.is-good { background: rgba(61,139,100,.07); color: #2b6b50; }
.nivata-funds-page .fund-consistency-pill.is-average { background: rgba(178,143,61,.08); color: #786126; }
.nivata-funds-page .fund-consistency-pill.is-inconsistent { background: rgba(139,62,62,.06); color: #7e4141; }
.nivata-funds-page .fund-consistency small {
  display: block;
  margin-top: 4px;
  color: #8a9691;
  font-size: 8.5px;
  line-height: 1.2;
}
.nivata-funds-page .fund-drawdown {
  min-width: 88px;
  color: #8b3e3e;
  font-size: 11px;
  font-weight: 680;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .nivata-funds-page .fund-leader-table-wrap {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }
  .nivata-funds-page .fund-leader-table {
    width: 766px !important;
    min-width: 766px !important;
    table-layout: fixed !important;
  }
  .nivata-funds-page .fund-leader-table th:nth-child(1),
  .nivata-funds-page .fund-leader-table td:nth-child(1) { width: 250px !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(2),
  .nivata-funds-page .fund-leader-table td:nth-child(2),
  .nivata-funds-page .fund-leader-table th:nth-child(3),
  .nivata-funds-page .fund-leader-table td:nth-child(3),
  .nivata-funds-page .fund-leader-table th:nth-child(4),
  .nivata-funds-page .fund-leader-table td:nth-child(4) { width: 72px !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(5),
  .nivata-funds-page .fund-leader-table td:nth-child(5) { width: 105px !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(6),
  .nivata-funds-page .fund-leader-table td:nth-child(6) { width: 105px !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(7),
  .nivata-funds-page .fund-leader-table td:nth-child(7) { width: 90px !important; }
  .nivata-funds-page .fund-consistency { min-width: 0; padding-left: 4px !important; padding-right: 4px !important; }
  .nivata-funds-page .fund-consistency-pill { min-width: 62px; min-height: 22px; padding: 0 6px; font-size: 8.5px; }
  .nivata-funds-page .fund-consistency small { font-size: 8px; }
  .nivata-funds-page .fund-drawdown { min-width: 0; font-size: 12px; }
}

/* ================================================================
   v3.26.95 — site-wide text + data-column alignment guardrails
   Prevent fixed-height inner banners from clipping copy, and give every
   numeric data table one predictable alignment system: identity/text stays
   left; comparable metrics stay centred on the column header.
   ================================================================ */

/* Inner-page banners must be allowed to grow with their copy. A previous
   desktop/tablet fixed height could let a long heading/intro run beneath the
   next section (most visible on the Mutual Funds page). */
body.nivata-tools-page .tools-hero,
body.nivata-data-page .data-hero,
body.nivata-data-page .data-hero--compact,
body.nivata-screener-page .screener-hero,
body.nivata-legal-page .legal-hero {
  height: auto !important;
}

@media (min-width: 901px) {
  body.nivata-tools-page .tools-hero,
  body.nivata-data-page .data-hero,
  body.nivata-data-page .data-hero--compact,
  body.nivata-screener-page .screener-hero,
  body.nivata-legal-page .legal-hero {
    min-height: 600px !important;
    padding-bottom: 76px !important;
  }
}

@media (min-width: 721px) and (max-width: 900px) {
  body.nivata-tools-page .tools-hero,
  body.nivata-data-page .data-hero,
  body.nivata-data-page .data-hero--compact,
  body.nivata-screener-page .screener-hero,
  body.nivata-legal-page .legal-hero {
    min-height: 520px !important;
  }
}

body.nivata-tools-page .tools-hero__copy,
body.nivata-data-page .data-hero__copy,
body.nivata-screener-page .screener-hero__copy {
  min-width: 0;
  text-align: left;
}
body.nivata-tools-page .tools-hero__copy h1,
body.nivata-data-page .data-hero__copy h1,
body.nivata-screener-page .screener-hero__copy h1,
body.nivata-tools-page .tools-hero__copy > p,
body.nivata-data-page .data-hero__copy > p,
body.nivata-screener-page .screener-hero__copy > p {
  max-width: 100%;
  overflow-wrap: break-word;
}
body.nivata-data-page .data-hero__copy > p:last-child,
body.nivata-tools-page .tools-hero__copy > p:last-child,
body.nivata-screener-page .screener-hero__copy > p:last-of-type {
  position: relative;
  z-index: 2;
}

/* Shared data tables: labels/identities left; values centred with headers. */
.data-table th,
.data-table td,
.nivata-screen-table th,
.nivata-screen-table td,
.fundamental-table th,
.fundamental-table td,
.nivata-ipo-lot-table th,
.nivata-ipo-lot-table td {
  box-sizing: border-box;
  vertical-align: middle !important;
  font-variant-numeric: tabular-nums;
}
.data-table th:first-child,
.data-table td:first-child,
.nivata-screen-table th:first-child,
.nivata-screen-table td:first-child,
.fundamental-table th:first-child,
.fundamental-table td:first-child,
.nivata-ipo-lot-table th:first-child,
.nivata-ipo-lot-table td:first-child {
  text-align: left !important;
}
@media (min-width: 701px) {
  .data-table th:not(:first-child),
  .data-table td:not(:first-child) {
    text-align: center !important;
  }
}
.nivata-screen-table th:not(:first-child),
.nivata-screen-table td:not(:first-child),
.fundamental-table th:not(:first-child),
.fundamental-table td:not(:first-child),
.nivata-ipo-lot-table th:not(:first-child),
.nivata-ipo-lot-table td:not(:first-child) {
  text-align: center !important;
}

/* Mutual Funds: lock each header and its values to exactly the same column
   centre. This also removes the old per-cell min-width drift that made
   Consistency/Worst fall look offset from their headings. */
@media (min-width: 701px) {
  .nivata-funds-page .fund-leader-table {
    width: 100% !important;
    min-width: 900px !important;
    table-layout: fixed !important;
  }
  .nivata-funds-page .fund-leader-table th:nth-child(1),
  .nivata-funds-page .fund-leader-table td:nth-child(1) { width: 34% !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(2),
  .nivata-funds-page .fund-leader-table td:nth-child(2),
  .nivata-funds-page .fund-leader-table th:nth-child(3),
  .nivata-funds-page .fund-leader-table td:nth-child(3),
  .nivata-funds-page .fund-leader-table th:nth-child(4),
  .nivata-funds-page .fund-leader-table td:nth-child(4) { width: 9% !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(5),
  .nivata-funds-page .fund-leader-table td:nth-child(5) { width: 13% !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(6),
  .nivata-funds-page .fund-leader-table td:nth-child(6) { width: 14% !important; }
  .nivata-funds-page .fund-leader-table th:nth-child(7),
  .nivata-funds-page .fund-leader-table td:nth-child(7) { width: 12% !important; }
}
.nivata-funds-page .fund-leader-table th:not(:first-child),
.nivata-funds-page .fund-leader-table td:not(:first-child),
.nivata-funds-page .fund-consistency,
.nivata-funds-page .fund-drawdown {
  text-align: center !important;
}
.nivata-funds-page .fund-consistency,
.nivata-funds-page .fund-drawdown {
  min-width: 0 !important;
}
.nivata-funds-page .fund-consistency-pill {
  margin-right: auto;
  margin-left: auto;
}
.nivata-funds-page .fund-consistency small {
  width: 100%;
  text-align: center;
}

/* IPO overview gets the same deterministic header/value alignment on larger
   screens, while its existing mobile card layout remains untouched. */
@media (min-width: 701px) {
  .nivata-data-page .ipo-table {
    width: 100% !important;
    min-width: 960px !important;
    table-layout: fixed !important;
  }
  .nivata-data-page .ipo-table th:nth-child(1),
  .nivata-data-page .ipo-table td:nth-child(1) { width: 30% !important; }
  .nivata-data-page .ipo-table th:nth-child(2),
  .nivata-data-page .ipo-table td:nth-child(2) { width: 12% !important; }
  .nivata-data-page .ipo-table th:nth-child(3),
  .nivata-data-page .ipo-table td:nth-child(3) { width: 17% !important; }
  .nivata-data-page .ipo-table th:nth-child(4),
  .nivata-data-page .ipo-table td:nth-child(4) { width: 14% !important; }
  .nivata-data-page .ipo-table th:nth-child(5),
  .nivata-data-page .ipo-table td:nth-child(5) { width: 13% !important; }
  .nivata-data-page .ipo-table th:nth-child(6),
  .nivata-data-page .ipo-table td:nth-child(6) { width: 14% !important; }
}

/* Keep long table labels readable rather than forcing accidental centring or
   clipping when browser text size/zoom is increased. */
.data-table th:first-child,
.data-table td:first-child,
.nivata-screen-table th:first-child,
.nivata-screen-table td:first-child,
.fundamental-table th:first-child,
.fundamental-table td:first-child {
  overflow-wrap: anywhere;
}

/* ================================================================
   v3.26.97 — uniform primary-hub hero supporting copy
   User-facing consistency fix: Financial Tools, Market Data and
   Mutual Funds now use one supporting-copy size. Market Data was
   20px in the desktop parent design; the new shared desktop size is
   17px (3px smaller). Education Hub typography is intentionally
   untouched.
   ================================================================ */
@media (min-width: 721px) {
  body.nivata-tools-page .tools-hero__copy > p:last-child,
  body.nivata-market-data-page .data-hero__copy > p:last-child,
  body.nivata-funds-page .data-hero__copy > p:last-child {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }
}

@media (max-width: 720px) {
  body.nivata-tools-page .tools-hero__copy > p:last-child,
  body.nivata-market-data-page .data-hero__copy > p:last-child,
  body.nivata-funds-page .data-hero__copy > p:last-child {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 420px) {
  body.nivata-tools-page .tools-hero__copy > p:last-child,
  body.nivata-market-data-page .data-hero__copy > p:last-child,
  body.nivata-funds-page .data-hero__copy > p:last-child {
    font-size: 14.5px !important;
    line-height: 1.52 !important;
  }
}

/* ================================================================
   v3.26.98 — universal mobile table column discoverability
   ================================================================ */
.nivata-mobile-table-cue {
  display: none;
}

@media (max-width: 820px) {
  .nivata-mobile-table-scroll {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .nivata-mobile-table-cue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    margin: 0 0 8px auto;
    padding: 8px 12px;
    border: 1px solid rgba(18,35,31,.16);
    border-radius: 999px;
    background: #f2f4ef;
    color: #18372e;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .nivata-mobile-table-cue[hidden] {
    display: none !important;
  }

  .nivata-mobile-table-cue__arrow {
    font-size: 17px;
    line-height: .8;
  }

  .nivata-mobile-table-cue:focus-visible {
    outline: 2px solid #18372e;
    outline-offset: 2px;
  }
}

/* v3.27.14 — tappable ascending / descending table headers. */
.nivata-sort-header {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  line-height: inherit;
  padding: 3px 2px;
  margin: -3px -2px;
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  gap: 5px;
  cursor: pointer;
  border-radius: 6px;
  text-align: inherit;
  white-space: inherit;
}
.nivata-sort-header::after {
  content: "↕";
  flex: 0 0 auto;
  font-size: .78em;
  font-weight: 700;
  opacity: .42;
  line-height: 1;
}
.nivata-sort-header[data-sort-direction="asc"]::after { content: "↑"; opacity: .95; }
.nivata-sort-header[data-sort-direction="desc"]::after { content: "↓"; opacity: .95; }
.nivata-sort-header:hover,
.nivata-sort-header:focus-visible { color: #0f5b49; background: rgba(15, 91, 73, .07); outline: none; }
.nivata-sort-header:focus-visible { box-shadow: 0 0 0 2px rgba(15, 91, 73, .22); }
th[aria-sort="ascending"] .nivata-sort-header,
th[aria-sort="descending"] .nivata-sort-header { color: #0b5544; }

@media (max-width: 700px) {
  .nivata-sort-header { gap: 3px; padding: 4px 2px; }
  .nivata-sort-header::after { font-size: .72em; }
}

/* ================================================================
   v3.27.24 — compact technical card + factual peer comparison
   ================================================================ */
.nivata-tv-only-screener .tv-dashboard-card--technical {
  min-height: 0 !important;
  height: auto !important;
}
.nivata-tv-only-screener .tv-dashboard-card--technical > [data-native-technical-host] {
  min-height: 0 !important;
}
.nivata-tv-only-screener .tv-dashboard-card--technical > [data-native-technical-host] > .tv-embed-unavailable {
  min-height: 150px;
}
.nivata-peer-comparison-card {
  grid-column: 1 / -1 !important;
  min-width: 0;
}
.nivata-peer-comparison {
  min-width: 0;
}
.nivata-peer-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.nivata-peer-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: separate;
  border-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.nivata-peer-table th,
.nivata-peer-table td {
  padding: 14px 13px;
  border-right: 1px solid rgba(18,59,50,.08);
  border-bottom: 1px solid rgba(18,59,50,.08);
  background: #fff;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.nivata-peer-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #66766f;
  background: #f8f7f2;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.nivata-peer-table th:first-child,
.nivata-peer-table td:first-child {
  min-width: 240px;
  text-align: left !important;
}
.nivata-peer-table td {
  color: #173b31;
  font-size: 12.5px;
}
.nivata-peer-table tbody tr.is-current-company td {
  background: rgba(35,169,103,.07);
}
.nivata-peer-table tbody tr:hover td {
  background: rgba(35,169,103,.035);
}
.nivata-peer-table tbody tr.is-current-company:hover td {
  background: rgba(35,169,103,.085);
}
.nivata-peer-table td:first-child a {
  display: inline-grid;
  gap: 3px;
  color: #0a4d3d;
  text-decoration: none;
}
.nivata-peer-table td:first-child a strong {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12.5px;
  font-weight: 720;
  white-space: nowrap;
}
.nivata-peer-table td:first-child a span {
  color: #82908b;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .02em;
}
.nivata-peer-current-badge {
  display: inline-flex;
  margin-left: 8px;
  padding: 3px 6px;
  border: 1px solid rgba(20,120,83,.18);
  border-radius: 999px;
  color: #0d6b4d;
  background: rgba(35,169,103,.08);
  font-size: 8px;
  font-weight: 780;
  line-height: 1;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.nivata-peer-footnote {
  margin: 12px 0 0;
  color: #7b8883;
  font-size: 10.5px;
  line-height: 1.55;
}
@media (max-width: 720px) {
  .nivata-tv-only-screener .tv-dashboard-card--technical > [data-native-technical-host] > .tv-embed-unavailable {
    min-height: 0;
  }
  .nivata-peer-table { min-width: 1040px; }
  .nivata-peer-table th,
  .nivata-peer-table td { padding: 12px 11px; }
  .nivata-peer-table th:first-child,
  .nivata-peer-table td:first-child { min-width: 205px; }
  .nivata-peer-table td:first-child a strong { max-width: 210px; }
}


/* v3.28.01 — restore proven v3.27.27 desktop Screener hierarchy only.
   About Company content and internal styling are intentionally unchanged. */
@media (min-width:1001px){
  body.nivata-screener-page .tv-company-dashboard{
    grid-template-columns:minmax(0,2.08fr) minmax(300px,.92fr)!important;
    align-items:stretch;
  }
  body.nivata-screener-page .tv-dashboard-card--summary{
    grid-column:1!important;
    min-width:0;
  }
  body.nivata-screener-page .tv-dashboard-card--profile{
    grid-column:2!important;
    min-width:0;
    align-self:stretch;
  }
  body.nivata-screener-page .tv-analysis-grid,
  body.nivata-screener-page .nivata-ipo-research-card,
  body.nivata-screener-page .nivata-peer-comparison-card,
  body.nivata-screener-page .tv-dashboard-card--fundamentals,
  body.nivata-screener-page .nivata-key-ratios-card,
  body.nivata-screener-page .nivata-company-updates-card,
  body.nivata-screener-page .nivata-priced-growth-card{
    grid-column:1/-1!important;
  }
}


/* v3.28.02 — Screener chart uses the full analysis width after Trend Reference removal. */
body.nivata-screener-page .tv-analysis-grid {
  display: block !important;
  grid-template-columns: 1fr !important;
}
body.nivata-screener-page .tv-analysis-grid .tv-dashboard-card--chart {
  width: 100% !important;
  max-width: none !important;
}

/* v3.28.05: official TradingView-rendered live CMP; no TradingView quote extraction. */
body.nivata-screener-page .nivata-tv-live-price { min-width: 0; }
body.nivata-screener-page .nivata-tv-single-ticker { width: 100%; max-width: 520px; min-height: 72px; margin-top: 3px; overflow: hidden; }
body.nivata-screener-page .nivata-tv-single-ticker tv-single-ticker { display: block; width: 100%; min-height: 72px; }
@media (max-width: 720px) { body.nivata-screener-page .nivata-tv-single-ticker { max-width: 100%; min-height: 68px; } }

/* v3.28.06 — make the live price card match the surrounding white cards. */
body.nivata-screener-page .nivata-native-quote {
  background: #fff !important;
}


/* ================================================================
   v3.33.90 — India / USA website switch
   Compact in the desktop header; presented as a clear full-width switch in
   the mobile navigation drawer. The destination is host-aware in PHP.
   ================================================================ */
.site-header .site-nav .nav-country-switch {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.site-header .site-nav .nav-country-switch b {
  color:#55d98c;
  -webkit-text-fill-color:#55d98c;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.site-header .site-nav .nav-country-switch:hover,
.site-header .site-nav .nav-country-switch:focus-visible {
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.38);
  transform:translateY(-1px);
}
@media (min-width:901px) {
  .site-header .site-nav {
    gap:clamp(11px,1.25vw,22px);
  }
}
@media (max-width:900px) {
  .site-header .site-nav .nav-country-switch {
    order:-1;
    width:100%;
    min-height:46px;
    margin:0 0 18px;
    padding:12px 16px;
    border-radius:14px;
    justify-content:space-between;
    font-size:12px;
    letter-spacing:.10em;
  }
  .site-header .site-nav .nav-country-switch b {
    font-size:14px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .site-header .site-nav .nav-country-switch { transition:none!important; }
}

/* ================================================================
   v3.33.91 — larger India / USA toggle + cleaner mobile header controls
   Desktop: a proper two-state toggle showing both destinations.
   Mobile: remove ambience, move Search into its place, and put the country
   toggle exactly where Search previously lived.
   ================================================================ */
.nav-country-toggle{
  position:relative;
  isolation:isolate;
  display:inline-grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  justify-items:center;
  width:132px;
  height:44px;
  padding:4px;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.72)!important;
  -webkit-text-fill-color:rgba(255,255,255,.72)!important;
  text-decoration:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-tap-highlight-color:transparent;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.nav-country-toggle::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:4px;
  bottom:4px;
  left:4px;
  width:calc(50% - 4px);
  border-radius:999px;
  background:#f7f3ea;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
  transition:transform .22s cubic-bezier(.2,.75,.25,1);
}
.nav-country-toggle.is-us::before{transform:translateX(100%)}
.nav-country-toggle__label{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font:800 10px/1 var(--sans,Inter,ui-sans-serif,system-ui,sans-serif);
  letter-spacing:.075em;
  text-transform:uppercase;
  transition:color .18s ease,-webkit-text-fill-color .18s ease;
}
.nav-country-toggle.is-india .nav-country-toggle__label--india,
.nav-country-toggle.is-us .nav-country-toggle__label--usa{
  color:#0c493b!important;
  -webkit-text-fill-color:#0c493b!important;
}
.nav-country-toggle:hover,
.nav-country-toggle:focus-visible{
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.11);
  transform:translateY(-1px);
  outline:0;
}
.nav-country-toggle--mobile{display:none}

/* v3.33.90 switch is superseded by the toggle. */
.site-header .site-nav .nav-country-switch{display:none!important}

@media(min-width:901px){
  .site-header .site-nav .nav-country-toggle--desktop{
    display:inline-grid;
    min-height:44px;
    padding:4px;
  }
}

@media(max-width:900px){
  /* The drawer does not need a second country switch; the toggle is always visible
     in the top bar instead. */
  .site-header .site-nav .nav-country-toggle--desktop{display:none!important}

  /* Remove the phone-only ambience control entirely. */
  .site-header .nav-music--mobile{display:none!important}

  /* Search takes the old music-control position. */
  .site-header .nav-search--mobile{
    top:11px!important;
    right:62px!important;
    width:44px!important;
    height:44px!important;
    border-radius:14px!important;
  }

  /* Country toggle takes the old Search position. */
  .site-header .nav-country-toggle--mobile{
    position:absolute;
    top:12px;
    right:112px;
    z-index:3;
    display:inline-grid!important;
    width:96px;
    height:42px;
    padding:3px;
    border-radius:14px;
  }
  .site-header .nav-country-toggle--mobile::before{
    top:3px;
    bottom:3px;
    left:3px;
    width:calc(50% - 3px);
    border-radius:11px;
  }
  .site-header .nav-country-toggle--mobile .nav-country-toggle__label{
    font-size:9px;
    letter-spacing:.055em;
  }
}

@media(max-width:420px){
  .site-header .nav-search--mobile{
    top:12px!important;
    right:58px!important;
    width:42px!important;
    height:42px!important;
  }
  .site-header .nav-country-toggle--mobile{
    top:12px;
    right:106px;
    width:94px;
    height:42px;
  }
}

@media(max-width:350px){
  .site-header .nav-country-toggle--mobile{
    width:86px;
    right:104px;
  }
  .site-header .nav-country-toggle--mobile .nav-country-toggle__label{font-size:8px}
}

@media(prefers-reduced-motion:reduce){
  .nav-country-toggle,
  .nav-country-toggle::before,
  .nav-country-toggle__label{transition:none!important}
}



/* v3.33.96: move launch-updates CTA from header into the registration status card. */
.status-card__actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.status-card__actions .button {
  width: 100%;
  justify-content: center;
}

@media (min-width: 721px) {
  .status-card__actions .button {
    width: auto;
    min-width: 220px;
  }
}




/* v3.34.02 — TradingView mobile ticker sizing recovery.
   The legacy Ticker Tape determines its own content height. Do not clamp the
   iframe or its wrappers: fixed heights can create a blank band or clip the
   actual tape on narrow screens. */
.india-market-ticker--tradingview {
  grid-template-columns: 242px minmax(0, 1fr);
  min-height: 0;
}

.india-market-ticker--tradingview .india-market-ticker__label {
  padding: 18px 28px;
}

.india-market-ticker--tradingview .india-market-ticker__label small {
  max-width: 18ch;
}

.india-market-ticker--tradingview .nivata-tv-ticker-wrap,
.india-market-ticker--tradingview .tradingview-widget-container,
.india-market-ticker--tradingview .tradingview-widget-container__widget {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  margin: 0;
  padding: 0;
}

.india-market-ticker--tradingview .nivata-tv-ticker-wrap {
  display: block;
  overflow: hidden;
  background: #06271f;
}

.india-market-ticker--tradingview iframe {
  display: block;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
}

@media (max-width: 720px) {
  .nivata-home .hero.hero--launch {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .nivata-home .hero__object {
    margin-bottom: 0 !important;
  }

  .india-market-ticker--tradingview {
    display: block;
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    padding: 0 !important;
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: 0 0 !important;
  }

  .india-market-ticker--tradingview .india-market-ticker__label {
    display: none !important;
  }

  .india-market-ticker--tradingview .nivata-tv-ticker-wrap,
  .india-market-ticker--tradingview .tradingview-widget-container,
  .india-market-ticker--tradingview .tradingview-widget-container__widget {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Deliberately do not set iframe height. TradingView sets the natural
     Ticker Tape height after initialization. */
}

/* v3.34.10 — shared search-intent answer card without the education CSS bundle. */
.search-answer-card{
  width:min(1120px,calc(100% - 48px));
  margin:clamp(34px,4.5vw,64px) auto clamp(14px,1.5vw,22px);
  padding:clamp(26px,3.2vw,42px) clamp(24px,4vw,52px);
  border:1px solid rgba(11,51,43,.14);
  border-radius:22px;
  background:#f7f4ec;
  color:#0b332b;
  box-shadow:0 18px 55px rgba(11,51,43,.055);
}
.search-answer-card .overline{margin:0 0 10px;font-size:11px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#17845e}
.search-answer-card h2{margin:0;max-width:900px;font-size:clamp(25px,3.3vw,42px);line-height:1.08;letter-spacing:-.035em;font-weight:560;color:#0b332b}
.search-answer-card>p:last-child{margin:14px 0 0;max-width:960px;font-size:clamp(14px,1.25vw,17px);line-height:1.72;color:rgba(11,51,43,.73)}
.search-answer-card + .section-pad,
.search-answer-card + .live-data-section,
.search-answer-card + .tools-section,
.search-answer-card + .wb-section,
.search-answer-card + .data-hub,
.search-answer-card + .company-lookup,
.search-answer-card + .calculator-page-section{padding-top:clamp(30px,3vw,46px)!important}
@media(max-width:760px){
  .search-answer-card{width:calc(100% - 32px);margin:26px auto 12px;padding:22px 20px;border-radius:18px}
  .search-answer-card h2{font-size:25px}
  .search-answer-card>p:last-child{font-size:14px;line-height:1.68}
  .search-answer-card + .section-pad,
  .search-answer-card + .live-data-section,
  .search-answer-card + .tools-section,
  .search-answer-card + .wb-section,
  .search-answer-card + .data-hub,
  .search-answer-card + .company-lookup,
  .search-answer-card + .calculator-page-section{padding-top:22px!important}
}

/* Skip layout/paint for genuinely below-fold homepage sections on desktop too.
   Mobile already had this optimisation. The ticker is intentionally excluded. */
@media(min-width:721px){
  .nivata-home .human-story,
  .nivata-home .principles,
  .nivata-home .status-section,
  .nivata-home .home-data-gateway,
  .nivata-home .updates{
    content-visibility:auto;
    contain-intrinsic-size:auto 760px;
  }
}

/* Pause continuous hero decoration once it is off-screen. */
.nivata-home.nivata-hero-offscreen .hero__glow,
.nivata-home.nivata-hero-offscreen .hero__object .orbit,
.nivata-home.nivata-hero-offscreen .hero__object .emblem-card,
.nivata-home.nivata-hero-offscreen .hero-market-pulse__line,
.nivata-home.nivata-hero-offscreen .hero-market-pulse__dot{
  animation-play-state:paused!important;
}

/* v3.34.30 — contextual Education Hub links inside article prose. Kept subtle so
   the explanation is discoverable without turning long-form research into a wall
   of brightly coloured links. */
.nivata-education-term-link{
  color:inherit;
  font-weight:inherit;
  text-decoration:none;
  border-bottom:1px dotted rgba(23,110,81,.62);
  background:linear-gradient(to top,rgba(73,198,137,.14) 0 38%,transparent 38% 100%);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease
}
.nivata-education-term-link:hover,.nivata-education-term-link:focus-visible{
  color:#125c46;
  border-bottom-color:#176e51;
  background:rgba(73,198,137,.13)
}
.nivata-education-term-link:focus-visible{outline:2px solid rgba(23,110,81,.28);outline-offset:2px;border-radius:2px}


/* v3.34.56 — reduce the unused blank band immediately after page heroes.
   This only tightens the first handoff; normal spacing between later sections is unchanged. */
body main > .data-hero + .search-answer-card,
body main > .tools-hero + .search-answer-card,
body main > .educate-hero + .search-answer-card,
body main > .calculator-page-hero + .search-answer-card,
body main > .guide-hero + .search-answer-card{
  margin-top:clamp(22px,2.4vw,34px)!important;
}
body main > .trust-hero + .trust-content.section-pad,
body main > .market-stories-index-hero + .market-stories-hub--standalone.section-pad,
body main > .results-archive-hero + .results-archive-list.section-pad,
body main > .results-archive-hero + .results-growth-summary.section-pad,
body main > .results-archive-hero + .results-sector-pulse.section-pad{
  padding-top:clamp(28px,3.2vw,46px)!important;
}
body main > .what-changed-hero + .what-changed-search-section{
  padding-top:24px!important;
}
@media(max-width:760px){
  body main > .data-hero + .search-answer-card,
  body main > .tools-hero + .search-answer-card,
  body main > .educate-hero + .search-answer-card,
  body main > .calculator-page-hero + .search-answer-card,
  body main > .guide-hero + .search-answer-card{margin-top:18px!important}
  body main > .trust-hero + .trust-content.section-pad,
  body main > .market-stories-index-hero + .market-stories-hub--standalone.section-pad,
  body main > .results-archive-hero + .results-archive-list.section-pad,
  body main > .results-archive-hero + .results-growth-summary.section-pad,
  body main > .results-archive-hero + .results-sector-pulse.section-pad{padding-top:24px!important}
  body main > .what-changed-hero + .what-changed-search-section{padding-top:20px!important}
}


/* ================================================================
   v3.34.59 — homepage performance recovery
   ================================================================ */
/* The live market pulse remains fully data-driven, but its decorative SVG
   drawing/pulsing no longer repaints continuously. This removes non-composited
   animation work from the critical homepage viewport without changing layout,
   content, or the live direction/shape updates. */
.nivata-home .hero-market-pulse__line {
  animation: none !important;
  stroke-dashoffset: 0 !important;
}
.nivata-home .hero-market-pulse__dot {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* The TradingView tape sits below the hero. Skip its layout/paint work until
   the browser actually approaches it; JavaScript separately defers the heavy
   third-party renderer until visitor intent. */
.nivata-home .india-market-ticker {
  content-visibility: auto;
  contain-intrinsic-size: auto 96px;
}


/* ================================================================
   v3.34.76 — compact sitewide Quick Answer cards
   Preserve answer-first SEO content while making the card roughly half as
   tall and substantially calmer on both desktop and mobile.
   ================================================================ */
.search-answer-card{
  margin-top:clamp(18px,2vw,28px)!important;
  margin-bottom:clamp(10px,1vw,14px)!important;
  padding:clamp(14px,1.5vw,20px) clamp(18px,2.4vw,30px)!important;
  border-radius:16px!important;
  box-shadow:0 10px 30px rgba(11,51,43,.045)!important;
}
.search-answer-card .overline{
  margin-bottom:6px!important;
  font-size:10px!important;
  letter-spacing:.13em!important;
}
.search-answer-card h2{
  max-width:1000px!important;
  font-size:clamp(22px,2.2vw,30px)!important;
  line-height:1.08!important;
}
.search-answer-card>p:last-child{
  margin-top:8px!important;
  max-width:1040px!important;
  font-size:clamp(13px,1vw,15px)!important;
  line-height:1.55!important;
}
.search-answer-card--guide,
.search-answer-card--calculator{
  margin-top:clamp(18px,2vw,28px)!important;
  margin-bottom:clamp(10px,1vw,14px)!important;
}
@media(max-width:760px){
  .search-answer-card{
    width:calc(100% - 24px)!important;
    margin:16px auto 10px!important;
    padding:14px 14px!important;
    border-radius:14px!important;
  }
  .search-answer-card .overline{margin-bottom:5px!important;font-size:9px!important}
  .search-answer-card h2{font-size:21px!important;line-height:1.1!important}
  .search-answer-card>p:last-child{margin-top:7px!important;font-size:13px!important;line-height:1.52!important}
}

/* v3.34.89.2 — scheduled IPO listing date inside the existing date column. */
.nivata-ipos-page .ipo-listing-date{display:block;margin-top:4px;color:#2f6f55;font-size:.82em;font-weight:700;line-height:1.22}
@media(max-width:700px){.nivata-ipos-page .ipo-table .ipo-listing-date{font-size:8.6px!important;line-height:1.22!important}}
@media(max-width:380px){.nivata-ipos-page .ipo-table .ipo-listing-date{font-size:8.1px!important}}


/* v3.34.89.45 — What Changed public-copy cleanup; no mobile layout change. */
/* v3.34.89.44 — compact Gold & Silver Trend, built from Nivata-recorded validated bullion observations. */
.bullion-trend-section{max-width:1180px;margin:34px auto 0;padding:0 22px}.bullion-trend-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:16px}.bullion-trend-head h2{margin:4px 0 0;font-size:clamp(1.65rem,2.4vw,2.45rem);line-height:1.08}.bullion-trend-head>p{max-width:480px;margin:0;color:var(--muted,#5f6d67);text-align:right}.bullion-trend-controls{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 12px}.bullion-trend-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(13,64,52,.16);border-radius:999px;background:rgba(255,255,255,.58)}.bullion-trend-toggle button{border:0;background:transparent;color:inherit;border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer}.bullion-trend-toggle button.is-active{background:#0d4034;color:#fff}.bullion-trend-card{border:1px solid rgba(13,64,52,.16);border-radius:24px;background:rgba(255,255,255,.72);padding:22px;box-shadow:0 14px 40px rgba(13,64,52,.04)}.bullion-trend-summary{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.bullion-trend-summary>div{display:grid;gap:4px}.bullion-trend-summary span{color:#5f6d67;font-size:.9rem}.bullion-trend-summary strong{font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1;color:#0d4034}.bullion-trend-change{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border-radius:999px;background:rgba(13,64,52,.07);font-weight:800;color:#0d4034}.bullion-trend-change.is-up{background:rgba(35,133,88,.12);color:#14653f}.bullion-trend-change.is-down{background:rgba(151,70,55,.10);color:#8b3f32}.bullion-trend-chart{position:relative;height:300px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(13,64,52,.025),rgba(13,64,52,.006))}.bullion-trend-chart svg{display:block;width:100%;height:100%}.bullion-trend-grid{stroke:rgba(13,64,52,.10);stroke-width:1}.bullion-trend-line{fill:none;stroke:#0d4034;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.bullion-trend-empty{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:#68736f;font-weight:650}.bullion-trend-empty[hidden]{display:none}.bullion-trend-meta{display:flex;gap:22px;justify-content:space-between;flex-wrap:wrap;margin-top:12px;color:#67736e;font-size:.9rem}.bullion-trend-meta strong{color:#0d4034}.bullion-trend-note{margin:12px 0 0;color:#75807b;font-size:.82rem;line-height:1.55}.bullion-trend-section.is-loading .bullion-trend-card{opacity:.7}@media(max-width:760px){.bullion-trend-section{margin-top:24px;padding:0 14px}.bullion-trend-head{display:block}.bullion-trend-head>p{margin-top:8px;text-align:left}.bullion-trend-controls{display:grid;gap:8px}.bullion-trend-toggle{width:100%;justify-content:center}.bullion-trend-toggle button{flex:1;padding:8px 9px}.bullion-trend-card{padding:16px;border-radius:18px}.bullion-trend-summary{align-items:center}.bullion-trend-chart{height:220px}.bullion-trend-meta{gap:10px 16px}.bullion-trend-meta span:last-child{width:100%}}
\n\n/* v3.34.89.46 — Gold & Silver guide: page-native styling.\n   The old block used .nivata-seo-support whose desktop rules live in\n   seo-education.css, a stylesheet not loaded on the bullion route. */\n.nivata-bullion-page .bullion-guide{\n  width:min(1180px,calc(100% - 44px));\n  margin:34px auto 72px;\n  padding:28px;\n  border:1px solid rgba(13,64,52,.15);\n  border-radius:24px;\n  background:rgba(255,255,255,.62);\n  color:#0d4034;\n}\n.nivata-bullion-page .bullion-guide__head{\n  display:grid;\n  grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);\n  align-items:end;\n  gap:36px;\n  padding-bottom:22px;\n  border-bottom:1px solid rgba(13,64,52,.12);\n}\n.nivata-bullion-page .bullion-guide__head .overline{\n  margin:0 0 7px;\n  font-size:10px;\n  line-height:1.2;\n  letter-spacing:.13em;\n  text-transform:uppercase;\n  font-weight:800;\n  color:#6b725f;\n}\n.nivata-bullion-page .bullion-guide__head h2{\n  margin:0;\n  font-family:var(--sans);\n  font-size:clamp(1.75rem,2.8vw,2.7rem);\n  line-height:1.04;\n  letter-spacing:-.035em;\n  font-weight:560;\n  color:#0d4034;\n}\n.nivata-bullion-page .bullion-guide__head>p{\n  margin:0;\n  max-width:560px;\n  justify-self:end;\n  font-size:14px;\n  line-height:1.62;\n  color:#66736e;\n}\n.nivata-bullion-page .bullion-guide__grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:10px;\n  margin-top:14px;\n}\n.nivata-bullion-page .bullion-guide__grid article{\n  position:relative;\n  min-height:150px;\n  padding:20px 22px;\n  border:1px solid rgba(13,64,52,.12);\n  border-radius:17px;\n  background:#f7f5ef;\n}\n.nivata-bullion-page .bullion-guide__grid article>span{\n  display:block;\n  margin-bottom:18px;\n  font-size:10px;\n  line-height:1;\n  letter-spacing:.12em;\n  font-weight:800;\n  color:#8d8062;\n}\n.nivata-bullion-page .bullion-guide__grid h3{\n  margin:0 0 8px;\n  font-family:var(--sans);\n  font-size:17px;\n  line-height:1.2;\n  letter-spacing:-.015em;\n  font-weight:700;\n  color:#0d4034;\n}\n.nivata-bullion-page .bullion-guide__grid p{\n  margin:0;\n  font-size:13px;\n  line-height:1.58;\n  color:#65716c;\n}\n.nivata-bullion-page .bullion-guide__links{\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px 22px;\n  margin-top:18px;\n}\n.nivata-bullion-page .bullion-guide__links a{\n  color:#0d4034;\n  font-size:12px;\n  font-weight:700;\n  text-decoration-thickness:1px;\n  text-underline-offset:4px;\n}\n@media(max-width:760px){\n  .nivata-bullion-page .bullion-guide{\n    width:calc(100% - 28px);\n    margin:24px auto 42px;\n    padding:18px;\n    border-radius:18px;\n  }\n  .nivata-bullion-page .bullion-guide__head{\n    grid-template-columns:1fr;\n    gap:10px;\n    padding-bottom:16px;\n  }\n  .nivata-bullion-page .bullion-guide__head h2{font-size:27px}\n  .nivata-bullion-page .bullion-guide__head>p{justify-self:start;font-size:13px;line-height:1.55}\n  .nivata-bullion-page .bullion-guide__grid{grid-template-columns:1fr;gap:8px;margin-top:10px}\n  .nivata-bullion-page .bullion-guide__grid article{min-height:0;padding:16px}\n  .nivata-bullion-page .bullion-guide__grid article>span{margin-bottom:10px}\n  .nivata-bullion-page .bullion-guide__grid h3{font-size:16px}\n  .nivata-bullion-page .bullion-guide__links{margin-top:15px;gap:8px 16px}\n}

/* v3.34.89.99 — Inner-page hero whitespace audit.
   The previous inner-page hero recipes reserved 500–650px and as much as
   188px at the top; on wide screens this placed page titles far below
   the navigation. All overrides are limited to the FIRST page hero and
   leave homepage composition, inner content, data cards and colors alone. */
@media (min-width: 721px) {
  body:not(.nivata-educate-page--academy) main > :is(
    .educate-hero,
    .guide-hero,
    .calculator-page-hero,
    .trust-hero,
    .market-stories-index-hero,
    .market-story-hero,
    .tools-hero,
    .data-hero,
    .results-hero,
    .results-archive-hero
  ) {
    box-sizing: border-box;
    height: auto !important;
    min-height: 0 !important;
    padding-top: clamp(50px, 4.1vw, 70px) !important;
    padding-bottom: clamp(42px, 4vw, 62px) !important;
  }
  /* Education landing has already been reduced; don't revert its CTA layout. */
  body.nivata-educate-page--academy main > .educate-hero--academy {
    height: auto !important;
    min-height: 0 !important;
    padding-top: clamp(50px, 4.1vw, 70px) !important;
    padding-bottom: clamp(42px, 4vw, 62px) !important;
  }
  body.nivata-investing-books-page main > .educate-hero--academy {
    padding-top: clamp(46px, 3.6vw, 64px) !important;
    padding-bottom: clamp(40px, 3.7vw, 56px) !important;
  }
  body main > .what-changed-hero {
    height: auto !important;
    min-height: 0 !important;
  }
  body main > .what-changed-hero .what-changed-hero__grid {
    min-height: 0 !important;
    padding-top: clamp(50px, 4.1vw, 70px) !important;
    padding-bottom: clamp(42px, 4vw, 62px) !important;
  }
  body main > .market-story-hero .market-story-hero__stat {
    min-height: 0;
  }
}
@media (min-width: 721px) and (max-width: 900px) {
  body:not(.nivata-educate-page--academy) main > :is(
    .educate-hero,.guide-hero,.calculator-page-hero,.trust-hero,
    .market-stories-index-hero,.market-story-hero,.tools-hero,.data-hero,
    .results-hero,.results-archive-hero
  ),
  body.nivata-educate-page--academy main > .educate-hero--academy {
    padding-top: 46px !important;
    padding-bottom: 42px !important;
  }
  body main > .what-changed-hero .what-changed-hero__grid {
    padding-top: 46px !important;
    padding-bottom: 42px !important;
  }
}
@media (max-width: 720px) {
  /* Keep the already compact Education Hub CTA layout intact. */
  body:not(.nivata-educate-page--academy) main > :is(
    .educate-hero,.guide-hero,.calculator-page-hero,.trust-hero,
    .market-stories-index-hero,.market-story-hero,.tools-hero,.data-hero,
    .results-hero,.results-archive-hero
  ) {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 42px !important;
    padding-bottom: 32px !important;
  }
  body.nivata-investing-books-page main > .educate-hero--academy {
    padding-top: 40px !important;
    padding-bottom: 32px !important;
  }
  body main > .what-changed-hero {
    height: auto !important;
    min-height: 0 !important;
  }
  body main > .what-changed-hero .what-changed-hero__grid {
    min-height: 0 !important;
    padding-top: 42px !important;
    padding-bottom: 34px !important;
  }
  body main > .market-story-hero .market-story-hero__stat {
    min-height: 0 !important;
  }
}
@media (max-width: 420px) {
  body:not(.nivata-educate-page--academy) main > :is(
    .educate-hero,.guide-hero,.calculator-page-hero,.trust-hero,
    .market-stories-index-hero,.market-story-hero,.tools-hero,.data-hero,
    .results-hero,.results-archive-hero
  ) {
    padding-top: 36px !important;
    padding-bottom: 30px !important;
  }
  body.nivata-investing-books-page main > .educate-hero--academy {
    padding-top: 36px !important;
  }
  body main > .what-changed-hero .what-changed-hero__grid {
    padding-top: 36px !important;
    padding-bottom: 30px !important;
  }
}


/* v3.34.89.170 — IPO overall subscription multipliers: 25% larger and
   more vivid. Only the numeric Overall issue pills in the subscription
   column are affected; their labels, data and mobile table stay unchanged. */
.nivata-ipos-page .ipo-allotment-cell .ipo-allotment-odds:not(.is-pending){
  font-size:13.75px !important; /* previous desktop 11px */
  padding:7.5px 12.5px !important; /* previous desktop 6px 10px */
  line-height:1.15 !important;
  color:#126f4f !important;
  background:#e1f8ec !important;
  border:1.5px solid #96d2af !important;
  box-shadow:0 2px 7px rgba(15,112,75,.07);
}
@media(max-width:700px){
  .nivata-ipos-page .ipo-allotment-cell .ipo-allotment-odds:not(.is-pending){
    font-size:10px !important; /* previous mobile 8px */
    padding:3.75px 6.25px !important; /* previous mobile 3px 5px */
  }
}
@media(max-width:380px){
  .nivata-ipos-page .ipo-allotment-cell .ipo-allotment-odds:not(.is-pending){
    font-size:9.375px !important; /* previous narrow-mobile 7.5px */
    padding:3.75px 5px !important; /* previous narrow-mobile 3px 4px */
  }
}


/* v3.34.89.171 — bullion interactive axis / crosshair / value-on-cursor. */
.nivata-bullion-page .bullion-trend-chart{overflow:visible;cursor:crosshair;outline-offset:4px;touch-action:pan-y}
.nivata-bullion-page .bullion-trend-chart svg{overflow:visible}
.nivata-bullion-page .bullion-trend-line{stroke-width:2.5}
.nivata-bullion-page .bullion-trend-tooltip{position:absolute;z-index:5;pointer-events:none;transform:translateX(-50%);display:grid;gap:3px;min-width:144px;max-width:210px;border:1px solid #b7cdbd;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(20,52,40,.15);padding:9px 12px;text-align:center;color:#153e30}
.nivata-bullion-page .bullion-trend-tooltip[hidden]{display:none!important}
.nivata-bullion-page .bullion-trend-tooltip strong{font-size:13px;white-space:nowrap}
.nivata-bullion-page .bullion-trend-tooltip span{font-size:10px;color:#6b7c71}
.nivata-bullion-page .bullion-trend-chart:focus-visible{outline:2px solid #0f6f4f}
.nivata-bullion-page .bullion-trend-note{margin-top:10px}
@media(max-width:760px){.nivata-bullion-page .bullion-trend-chart{height:240px}}


/* v3.34.89.174 — native, light-touch navigation feedback.
   This adds zero network requests, reserves no layout space, and never
   replaces or intercepts the ordinary WordPress navigation. */
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 130ms;
  animation-timing-function: ease-out;
}
/* Highlight the chosen destination on the existing document immediately,
   without moving elements or committing to a speculative navigation. */
.nivata-mobile-dock__item.nivata-nav-target {
  background: rgba(87,216,137,.16) !important;
  color: #83e4aa !important;
}
.nivata-mobile-dock__item.nivata-nav-target::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: #c9a96a;
  transform: translateX(-50%);
}
.site-nav a.nivata-nav-target,
.nivata-mobile-panel__links a.nivata-nav-target {
  outline: 2px solid rgba(201,169,106,.58);
  outline-offset: 2px;
}
/* A small fixed progress line appears only when the old page is still
   waiting at 160 ms. Fixed positioning means zero CLS / reflow. */
html.nivata-nav-still-loading::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  z-index: 2147483645;
  pointer-events: none;
  transform-origin: left center;
  background: linear-gradient(90deg,#52d98e,#c9a96a);
  animation: nivata-nav-progress-174 2.2s ease-out both;
}
@keyframes nivata-nav-progress-174 {
  from { transform: scaleX(.1); }
  to { transform: scaleX(.92); }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation-duration: .01ms !important; }
  html.nivata-nav-still-loading::after { animation: none; transform: scaleX(.72); }
}


/* v3.34.89.183 — 25% larger mutual-fund leaderboard SORTABLE HEADER text only.
   Relative to the existing th font at every breakpoint, including narrow phones.
   Keep sort-arrow glyphs their existing size and leave widths/JS unchanged. */
.nivata-funds-page .fund-leader-table thead th .nivata-sort-header {
  font-size: 125%;
  line-height: 1.2;
}
.nivata-funds-page .fund-leader-table thead th .nivata-sort-header::after {
  font-size: .624em; /* old .78em / 1.25 */
}
@media (max-width: 700px) {
  .nivata-funds-page .fund-leader-table thead th .nivata-sort-header::after {
    font-size: .576em; /* old .72em / 1.25 */
  }
}
