/* Shared-shell refinement only. Existing logo pixels and theme font files are retained. */
.ne-header > .ne-brand.ref15-brand,
.ne-footer-brand.ref15-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  max-width: 100%;
  flex: none;
  color: inherit;
  text-decoration: none;
}
.ne-header > .ne-brand.ref15-brand > img,
.ne-footer-brand.ref15-brand > img {
  width: 44px;
  height: 44px;
  flex: none;
  object-fit: contain;
}
.ref15-brand-type { display: grid; gap: 4px; min-width: 0; }
.ref15-brand-type > strong {
  display: block;
  font: 600 23px/1.05 var(--text);
  letter-spacing: 0;
  white-space: nowrap;
}
.ref15-brand-type > small {
  display: block;
  font: 600 11px/1.2 var(--text);
  letter-spacing: .06em;
  white-space: nowrap;
}
.ref15-footer .ne-footer-main {
  grid-template-columns: 220px minmax(360px,1.35fr) minmax(245px,1fr) minmax(260px,1fr);
  gap: 20px;
  align-items: start;
}
.ref15-footer .ne-footer-main > div {
  min-width: 0;
  border-left: 1px solid #ffffff33;
  padding-left: 24px;
}
.ref15-footer .ne-footer-brand { align-self: start; }
.ref15-footer .ne-footer-brand > img {
  padding: 3px;
  background: #fff;
  border-radius: 2px;
}
.ref15-footer .ne-footer-brand .ref15-brand-type > strong { font-size: 21px; }
.ref15-footer .ne-footer-brand .ref15-brand-type > small { font-size: 10px; }
.ref15-footer .ref15-footer-title {
  font: 600 17px/1.35 var(--text);
  letter-spacing: 0;
  color: inherit;
  margin: 0 0 12px;
}
.ref15-footer .ne-footer-main p,
.ref15-footer .ne-footer-main address {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  margin: 0;
}
.ref15-footer .ne-footer-main p + p,
.ref15-footer .ne-footer-main address + p { margin-top: 11px; }
.ref15-footer .ne-legal-names p { white-space: nowrap; }
.ref15-footer .ref15-footer-contact a { overflow-wrap: anywhere; }

/* Only numeral forms change. Existing typefaces, values and unit markup are untouched. */
body:has(.ne-header > .ref15-brand) main :is(h1,h2,.nm-stat-number,.nm-spec-strip dt,.mr-metric dt,.ne-timeline b,.ne-facts strong,.ne-m-definitions dt,.ne-m-disclosure-title,.ne-m-related-item h4) {
  font-variant-numeric: lining-nums;
}
body:has(.ne-header > .ref15-brand) main :is(table,.gd-comparison-scroll,.gd-grade-comparison,.ne-comparison) {
  font-variant-numeric: lining-nums tabular-nums;
}

@media(max-width:1319px) {
  .ref15-footer .ne-footer-main {
    width: calc(100% - 48px);
    grid-template-columns: minmax(230px,1fr) minmax(360px,1.4fr);
    gap: 28px;
  }
  .ref15-footer .ne-footer-main > div { padding-left: 0; border-left: 0; }
  .ref15-footer .ref15-footer-contact { border-left: 0; }
  .ref15-footer .ne-footer-bottom {
    width: calc(100% - 48px);
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}
@media(min-width:981px) and (max-width:1200px) {
  .ne-header > .ne-brand.ref15-brand { gap: 8px; }
  .ne-header > .ne-brand.ref15-brand > img { width: 38px; height: 38px; }
  .ne-header .ref15-brand-type > strong { font-size: 21px; }
  .ne-header .ref15-brand-type > small { font-size: 10px; }
}
@media(max-width:700px) {
  .ref15-footer .ne-footer-main {
    width: calc(100% - 36px);
    grid-template-columns: minmax(0,1fr);
    gap: 26px;
  }
  .ref15-footer .ne-legal-names p { white-space: normal; }
  .ref15-footer .ne-footer-bottom { width: calc(100% - 36px); }
}
@media(max-width:600px) {
  .ne-header > .ne-brand.ref15-brand { gap: 9px; }
  .ne-header > .ne-brand.ref15-brand > img { width: 40px; height: 40px; }
  .ne-header .ref15-brand-type > strong { font-size: 21px; }
  .ne-header .ref15-brand-type > small { font-size: 10px; }
}
@media(max-width:360px) {
  .ne-header > .ne-brand.ref15-brand { gap: 7px; }
  .ne-header > .ne-brand.ref15-brand > img { width: 34px; height: 34px; }
  .ne-header .ref15-brand-type { gap: 3px; }
  .ne-header .ref15-brand-type > strong { font-size: 19px; }
  .ne-header .ref15-brand-type > small { font-size: 9.5px; letter-spacing: .035em; }
}
