/* Approved publication emphasis. Shared by Python, Next and branded posts. */
@media screen {
:is(#main-content,body) .publication-reader {
  --publication-blue: var(--price-ink, #1f6fb2);
  --publication-quiet: var(--text-quiet, #556274);
}
:is(#main-content,body) .publication-reader :is(.publication-eyebrow,.pnb-eyebrow,.rc-eyebrow) {
  color: var(--publication-blue) !important;
  font: 700 .75rem/1.5 "Open Sans", Arial, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
:is(#main-content,body) .publication-reader :is(.res-story-header,.pnb-header,.rc-guide-hero,.rc-reader-header) h1,
:is(#main-content,body) .publication-reader .bp-title,
:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose) :is(h2,h3,h4) {
  text-transform: capitalize;
  font-weight: 600;
}
:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose) :is(strong,b,dt) {
  font-weight: 700;
}
/* Authored stress is bold; fee/terms small print keeps a grey italic note. */
:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose) em {
  font-style: normal;
  font-weight: 700;
}
:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose)
  :is(small,.fee-note,.billing-note,.terms-note,.small-print,.note) em,
:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose)
  em:is(.fee-note,.billing-note,.terms-note,.small-print),
:is(#main-content,body) .publication-reader .november-comparison em {
  font-style: italic;
  font-size: .875rem;
  font-weight: 400;
  color: var(--publication-quiet);
}
/* Notes use a sky box with an information icon, rather than a text marker. */
:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose)
  :is(p:has(mark),.publication-note,.ow-note,.info-note,.hint) {
  display: block;
  position: relative;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 12px 8px 36px;
  margin-block: 12px;
  border: 0;
  border-radius: 4px;
  background: var(--hint-bg, #c9ecff);
  color: var(--attention-ink, #042238);
  font-size: .875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose)
  :is(p:has(mark),.publication-note,.ow-note,.info-note,.hint)::before {
  content: "";
  position: absolute;
  inset: 10px auto auto 12px;
  width: 16px;
  height: 16px;
  background: currentColor;
  mask: url('/images/artwork-library/icons/outline/information.svg') center / contain no-repeat;
}
:is(#main-content,body) .publication-reader [data-tone="attention"]:is(.publication-note,.ow-note,.info-note,.hint) {
  background: #fff1b4;
  box-shadow: inset 0 0 0 1px #fce273;
}
/* Existing feature tags only. Do not turn dates or statuses into tags. */
:is(#main-content,body) .publication-reader :is(.publication-tag,.feature-tag,[data-tone="recommended"]) {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border: 0;
  border-radius: 999px;
  background: var(--tag-rec-bg, #e3edff);
  color: var(--tag-rec-ink, #2459c9);
  font: 600 .75rem/1.5 "Open Sans", Arial, sans-serif;
  vertical-align: middle;
}
:is(#main-content,body) .publication-reader :is(.publication-tag,.feature-tag)[data-tone="new"] {
  background: #ee4a80;
  color: #042238;
}
/* Labelled price pairs preserve both values and the meaning of each label. */
:is(#main-content,body) .publication-reader :is(.ow-price-pair,.publication-price-pair) {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  max-width: 100%;
}
:is(#main-content,body) .publication-reader :is(.ow-price-pair,.publication-price-pair) > span { display: flex; flex-direction: column; }
:is(#main-content,body) .publication-reader :is(.ow-price-pair,.publication-price-pair) :is(small,.price-label) {
  color: var(--publication-quiet);
  font-size: .75rem;
  font-style: normal;
  text-transform: uppercase;
}
:is(#main-content,body) .publication-reader :is(.ow-price-pair,.publication-price-pair) :is(b,strong) {
  color: var(--publication-blue);
  font-weight: 700;
  text-decoration: none;
}
/* DoorLoop-style key figures retain neutral, bold labels and values. */
:is(#main-content,body) .publication-reader :is(.publication-metric,.metric,.stat,.key-number) :is(dt,b,strong,.value,.label) {
  color: inherit;
  font-weight: 700;
  text-transform: none;
  font-variant-numeric: tabular-nums;
}
:is(#main-content,body) .publication-reader :is(.publication-metric,.metric,.stat,.key-number) :is(small,.caption) {
  color: var(--publication-quiet);
  font-size: .875rem;
  font-style: normal;
  font-weight: 400;
}

:is(#main-content,body) .publication-reader .publication-tag[data-tone="recommended"]::before { content: "\2713"; }
:is(#main-content,body) .publication-reader .publication-metric { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
:is(#main-content,body) .publication-reader .publication-metric > .label { flex-basis: 100%; }
:is(#main-content,body) .publication-reader .publication-metric > .value { font-size: 1.5rem; line-height: 1.3; }

:is(#main-content,body) .publication-reader :is(.publication-prose,.pnb-prose,.rc-prose) mark { background: transparent; color: inherit; font-weight: 700; }

}
