
/*
 * TAPE JOURNAL — GLOBAL DESIGN SYSTEM
 *
 * This file is the single source of truth for front-end presentation.
 * Do not place CSS inside pages or posts. Use the tokens and components below.
 */

:root {
  /* Brand colours */
  --tj-ink: #17120f;
  --tj-ink-soft: #4f4741;
  --tj-brown: #321200;
  --tj-espresso: #1b0b06;
  --tj-paper: #f4efe5;
  --tj-paper-deep: #e7dcc8;
  --tj-kraft: #a97a4b;
  --tj-warning: #8a3126;
  --tj-rule: rgba(50, 18, 0, 0.24);
  --tj-rule-dark: rgba(244, 239, 229, 0.28);

  /* Typography */
  --tj-font-display: "Cormorant Garamond", Georgia, serif;
  --tj-font-body: "Inter", Arial, sans-serif;
  --tj-font-data: "IBM Plex Mono", "Courier New", monospace;
  --tj-text-xs: 0.6875rem;
  --tj-text-sm: 0.875rem;
  --tj-text-base: 1rem;
  --tj-text-lead: clamp(1.075rem, 1.5vw, 1.25rem);
  --tj-h1: clamp(3rem, 7vw, 6rem);
  --tj-h2: clamp(2.35rem, 5vw, 4.25rem);
  --tj-h3: clamp(1.6rem, 3vw, 2.35rem);

  /* Layout */
  --tj-content: 47.5rem;
  --tj-wide: 77.5rem;
  --tj-gutter: clamp(1.25rem, 4vw, 2.5rem);
  --tj-space-xs: 0.5rem;
  --tj-space-s: 1rem;
  --tj-space-m: 1.5rem;
  --tj-space-l: 2.5rem;
  --tj-space-xl: clamp(4rem, 8vw, 7rem);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  scroll-behavior: smooth;
}

body {
  background: var(--tj-paper);
  color: var(--tj-ink);
  font-family: var(--tj-font-body);
  font-size: var(--tj-text-base);
  line-height: 1.65;
  margin: 0;
  padding-inline: 0 !important;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
.wp-site-blocks,
.editor-styles-wrapper {
  background-color: var(--tj-paper);
  color: var(--tj-ink);
}

.wp-site-blocks {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  padding-inline: 0 !important;
  width: 100%;
}

img,
svg,
video {
  display: block;
  height: auto;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration-color: currentColor;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.2em;
}

a:hover {
  text-decoration-style: solid;
}

:focus-visible {
  outline: 0.125rem solid var(--tj-kraft);
  outline-offset: 0.2rem;
}

::selection {
  background: var(--tj-brown);
  color: var(--tj-paper);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: inherit;
  font-family: var(--tj-font-display);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 0.98;
  margin-block: 0 var(--tj-space-m);
  text-wrap: balance;
}

h1 { font-size: var(--tj-h1); }
h2 { font-size: var(--tj-h2); }
h3 { font-size: var(--tj-h3); line-height: 1.02; }
h4 { font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.08; }

p,
ul,
ol,
blockquote {
  margin-block: 0 var(--tj-space-m);
}

p,
li {
  color: inherit;
}

/* Paper is always dark text. Light text is opt-in through a dark surface. */
.tj-surface--paper,
.has-paper-background-color,
.has-cream-background-color {
  background-color: var(--tj-paper) !important;
  color: var(--tj-ink) !important;
}

.has-cream-background-color {
  background-color: var(--tj-paper-deep) !important;
}

.tj-surface--paper :is(h1, h2, h3, h4, h5, h6, p, li, a),
.has-paper-background-color :is(h1, h2, h3, h4, h5, h6, p, li, a),
.has-cream-background-color :is(h1, h2, h3, h4, h5, h6, p, li, a) {
  color: inherit !important;
}

.tj-surface--dark {
  background-color: var(--tj-espresso) !important;
  color: var(--tj-paper) !important;
}

.has-brown-background-color {
  background-color: var(--tj-brown) !important;
  color: var(--tj-paper) !important;
}

.has-ink-background-color {
  background-color: var(--tj-ink) !important;
  color: var(--tj-paper) !important;
}

.tj-surface--dark :is(h1, h2, h3, h4, h5, h6, p, li, a),
.has-brown-background-color :is(h1, h2, h3, h4, h5, h6, p, li, a),
.has-ink-background-color :is(h1, h2, h3, h4, h5, h6, p, li, a) {
  color: inherit !important;
}

/* Global layout */
.tj-container,
.tj-container--wide {
  margin-inline: auto;
  padding-inline: var(--tj-gutter);
  width: 100%;
}

.tj-container { max-width: calc(var(--tj-content) + (2 * var(--tj-gutter))); }
.tj-container--wide { max-width: calc(var(--tj-wide) + (2 * var(--tj-gutter))); }

.tj-section {
  padding-block: var(--tj-space-xl);
}

.tj-section + .tj-section {
  border-top: 0.0625rem solid var(--tj-rule);
}

.tj-grid {
  display: grid;
  gap: var(--tj-space-l);
}

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

/* Editorial labels and data */
.tj-eyebrow,
.tj-ticker,
.tj-meta,
.tj-kicker,
.tj-label,
.tj-section-number {
  font-family: var(--tj-font-data);
  font-size: var(--tj-text-xs);
  font-weight: 400;
  letter-spacing: 0.09em;
  line-height: 1.45;
  text-transform: uppercase;
}

.tj-meta {
  color: var(--tj-ink-soft);
}

.tj-section-number {
  color: var(--tj-kraft);
}

.tj-lead {
  font-size: var(--tj-text-lead);
  line-height: 1.6;
  max-width: 44rem;
}

.tj-rule {
  border: 0;
  border-top: 0.0625rem solid currentColor;
  margin-block: var(--tj-space-l);
  opacity: 0.25;
}

/* Reusable editorial surfaces */
.tj-card {
  border-top: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink);
  padding-block: var(--tj-space-m);
}

.tj-card h3,
.tj-card h4 {
  color: inherit;
}

.tj-insight {
  border-block: 0.0625rem solid var(--tj-brown);
  color: var(--tj-ink);
  margin-block: var(--tj-space-l);
  padding-block: var(--tj-space-m);
}

.tj-insight__label {
  color: var(--tj-brown);
  display: block;
  font-family: var(--tj-font-data);
  font-size: var(--tj-text-xs);
  letter-spacing: 0.09em;
  margin-bottom: 0.6rem;
  text-transform: uppercase;
}

.tj-prose {
  color: var(--tj-ink);
}

.tj-prose > * + * {
  margin-top: 1.25em;
}

.tj-prose :is(h2, h3, h4) {
  margin-top: 1.65em;
}

.tj-prose p,
.tj-prose li {
  max-width: 72ch;
}

.tj-prose blockquote {
  border-left: 0.0625rem solid var(--tj-kraft);
  font-family: var(--tj-font-display);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1.2;
  margin-inline: 0;
  padding-left: var(--tj-space-m);
}

/* Buttons */
.wp-element-button,
.wp-block-button__link,
.tj-button {
  align-items: center;
  background: var(--tj-brown);
  border: 0.0625rem solid var(--tj-brown);
  border-radius: 0;
  color: var(--tj-paper) !important;
  display: inline-flex;
  font-family: var(--tj-font-data);
  font-size: var(--tj-text-xs);
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0.08em;
  min-height: 2.75rem;
  padding: 0.75rem 1.15rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 160ms ease, color 160ms ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.tj-button:hover {
  background: var(--tj-espresso);
}

.is-style-outline > .wp-block-button__link,
.tj-button--outline {
  background: transparent;
  border-color: currentColor;
  color: var(--tj-brown) !important;
}

.tj-surface--dark .is-style-outline > .wp-block-button__link,
.tj-surface--dark .tj-button--outline {
  color: var(--tj-paper) !important;
}

/* Header and footer */
.tj-market-tape {
  background: #fff;
  border-bottom: 0.0625rem solid var(--tj-rule);
  height: 2.875rem;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 49;
}

.tj-tv-widget--tape,
.tj-tv-widget--tape .tradingview-widget-container__widget {
  height: 2.875rem;
  min-height: 2.875rem;
  width: 100%;
}

.tj-tv-widget iframe {
  display: block;
  max-width: none;
}

.tj-tv-widget .tradingview-widget-copyright {
  color: var(--tj-ink-soft);
  font-family: var(--tj-font-data);
  font-size: 0.5625rem;
  letter-spacing: 0.04em;
  margin-top: 0.55rem;
  opacity: 0.55;
  text-align: right;
  text-transform: uppercase;
  transition: opacity 160ms ease;
}

.tj-tv-widget .tradingview-widget-copyright a {
  color: var(--tj-brown);
}

.tj-tv-widget .tradingview-widget-copyright:hover,
.tj-tv-widget .tradingview-widget-copyright:focus-within {
  opacity: 1;
}

.wp-block-template-part > header,
.tj-site-header {
  background: var(--tj-paper);
  border-bottom: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink);
}

.wp-block-site-title,
.wp-block-site-title a {
  color: var(--tj-ink);
  font-family: var(--tj-font-display);
  font-weight: 500;
  text-decoration: none;
}

.wp-block-navigation a {
  color: var(--tj-ink);
  font-family: var(--tj-font-data);
  font-size: var(--tj-text-xs);
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.wp-block-template-part > footer:not(.tj-site-footer) {
  background: var(--tj-paper);
  border-top: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink);
}

/* Editorial footer / trust layer */
.wp-block-template-part > .tj-site-footer,
.tj-site-footer {
  background: var(--tj-espresso);
  border-top: 0;
  color: var(--tj-paper);
  margin: 0 !important;
  max-width: none !important;
  width: 100%;
}

.tj-footer__main {
  display: grid;
  gap: clamp(2rem, 4vw, 4.5rem);
  grid-template-columns: minmax(17rem, 1.8fr) repeat(4, minmax(8rem, 1fr));
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.tj-footer__brand > a { display: inline-block; }

.tj-footer__brand img {
  display: block;
  filter: brightness(0) invert(1);
  height: auto;
  max-width: 12rem;
  opacity: 0.94;
}

.tj-footer__brand > p {
  color: rgba(244, 239, 229, 0.66);
  font-size: 0.84rem;
  line-height: 1.7;
  margin: 1.6rem 0 0;
  max-width: 24rem;
}

.tj-footer__contact {
  border-top: 0.0625rem solid rgba(244, 239, 229, 0.17);
  margin-top: 2rem;
  max-width: 24rem;
  padding-top: 1.25rem;
}

.tj-footer__contact span {
  color: var(--tj-kraft);
  display: block;
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.55rem;
  text-transform: uppercase;
}

.tj-footer__contact a {
  color: var(--tj-paper);
  font-family: var(--tj-font-display);
  font-size: clamp(1.45rem, 2vw, 1.85rem);
  text-decoration: none;
}

.tj-footer__column {
  align-content: start;
  display: grid;
  gap: 0.75rem;
}

.tj-footer__column p {
  color: var(--tj-kraft);
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  margin: 0 0 0.6rem;
  text-transform: uppercase;
}

.tj-footer__column a {
  color: rgba(244, 239, 229, 0.76);
  font-size: 0.78rem;
  line-height: 1.4;
  text-decoration: none;
  transition: color 160ms ease, transform 160ms ease;
}

.tj-footer__column a:hover,
.tj-footer__column a:focus-visible {
  color: var(--tj-paper);
  transform: translateX(0.2rem);
}

.tj-footer__trust {
  border-block: 0.0625rem solid rgba(244, 239, 229, 0.16);
  display: grid;
  gap: 1.5rem 4rem;
  grid-template-columns: 1.2fr 0.8fr;
  padding-block: 1.4rem;
}

.tj-footer__trust p {
  color: rgba(244, 239, 229, 0.52);
  font-size: 0.68rem;
  line-height: 1.6;
  margin: 0;
}

.tj-footer__trust strong { color: rgba(244, 239, 229, 0.78); font-weight: 500; }

.tj-footer__bottom {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding-block: 1.75rem;
}

.tj-footer__bottom p,
.tj-footer__bottom a {
  color: rgba(244, 239, 229, 0.48);
  font-family: var(--tj-font-data);
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  margin: 0;
  text-decoration: none;
  text-transform: uppercase;
}

.tj-footer__bottom > div { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.tj-footer__bottom a:hover { color: var(--tj-paper); }

@media (max-width: 1100px) {
  .tj-footer__main { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tj-footer__brand { grid-column: 1 / -1; }
  .tj-footer__brand > p,
  .tj-footer__contact { max-width: 34rem; }
}

@media (max-width: 700px) {
  .tj-footer__main { grid-template-columns: 1fr 1fr; }
  .tj-footer__column { border-top: 0.0625rem solid rgba(244, 239, 229, 0.12); padding-top: 1.4rem; }
  .tj-footer__trust { grid-template-columns: 1fr; }
  .tj-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .tj-footer__main { grid-template-columns: 1fr; }
  .tj-footer__brand { grid-column: auto; }
}

/* Primary navigation and mega menu */
.tj-site-header {
  position: relative;
  margin-inline: 0 !important;
  max-width: none !important;
  width: 100%;
  z-index: 50;
}

.tj-sticky-header-shell {
  margin-inline: 0 !important;
  max-width: none !important;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 50;
}

.admin-bar .tj-sticky-header-shell {
  top: 2rem;
}

.tj-header__bar {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
  min-height: 4.75rem;
  position: relative;
  z-index: 4;
}

.tj-header__brand {
  color: var(--tj-ink);
  font-family: var(--tj-font-display);
  font-size: 1.85rem;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1;
  text-decoration: none;
  width: max-content;
}

.tj-header__brand img {
  height: 2.75rem;
  object-fit: contain;
  object-position: left center;
  width: auto;
}

.tj-header__nav {
  align-items: stretch;
  display: flex;
  gap: 0.25rem;
  height: 4.75rem;
  justify-content: center;
}

.tj-nav-item {
  align-items: stretch;
  display: flex;
}

.tj-nav-link,
.tj-nav-trigger,
.tj-header__action {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--tj-ink);
  display: inline-flex;
  font-family: var(--tj-font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  justify-content: center;
  padding-inline: 0.8rem;
  position: relative;
  text-decoration: none;
}

.tj-nav-trigger {
  cursor: pointer;
}

.tj-nav-link::after,
.tj-nav-trigger::after {
  background: var(--tj-kraft);
  bottom: -0.0625rem;
  content: "";
  height: 0.125rem;
  left: 0.8rem;
  opacity: 0;
  position: absolute;
  right: 0.8rem;
  transform: scaleX(0.35);
  transition: opacity 160ms ease, transform 160ms ease;
}

.tj-nav-link:hover::after,
.tj-nav-trigger:hover::after,
.tj-nav-trigger[aria-expanded="true"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.tj-header__actions {
  align-items: center;
  display: flex;
  gap: 0.25rem;
  justify-content: flex-end;
}

.tj-header__action {
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tj-header__buy {
  align-items: center;
  background: var(--tj-brown);
  border: 0.0625rem solid var(--tj-brown);
  color: var(--tj-paper);
  display: inline-flex;
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0.07em;
  min-height: 2.5rem;
  padding-inline: 1rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
  white-space: nowrap;
  gap: 0.6rem;
}

.tj-header-candles {
  align-items: center;
  display: inline-flex;
  flex: 0 0 1.25rem;
  gap: 0.1875rem;
  height: 1.15rem;
  justify-content: center;
  overflow: hidden;
  width: 1.25rem;
}

.tj-header-candles > i {
  border: 0.0625rem solid currentColor;
  display: block;
  height: 0.42rem;
  position: relative;
  transform-origin: center;
  width: 0.1875rem;
}

.tj-header-candles > i::before {
  background: currentColor;
  content: "";
  height: 0.85rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0.0625rem;
}

.tj-header-candles > i:nth-child(2) {
  height: 0.65rem;
  transform: translateY(-0.12rem);
}

.tj-header-candles > i:nth-child(3) {
  transform: translateY(0.1rem);
}

@keyframes tj-header-candle-move {
  0%, 18%, 82%, 100% { transform: translateY(0) scaleY(1); }
  42% { transform: translateY(-0.18rem) scaleY(1.3); }
  62% { transform: translateY(0.1rem) scaleY(0.82); }
}

@media (prefers-reduced-motion: no-preference) {
  .tj-header-candles > i { animation: tj-header-candle-move 2.8s ease-in-out infinite; }
  .tj-header-candles > i:nth-child(2) { animation-delay: 220ms; }
  .tj-header-candles > i:nth-child(3) { animation-delay: 440ms; }
}

.tj-header__buy:hover,
.tj-header__buy:focus-visible {
  background: var(--tj-espresso);
  border-color: var(--tj-espresso);
  color: var(--tj-paper);
  transform: translateY(-0.1rem);
}

.tj-mobile-toggle {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--tj-ink);
  cursor: pointer;
  display: none;
  line-height: 1;
  padding: 0.75rem 0 0.75rem 0.75rem;
}

.tj-mobile-toggle > span:not(.screen-reader-text) {
  background: currentColor;
  display: block;
  height: 0.0625rem;
  margin-block: 0.3rem;
  transition: transform 160ms ease;
  width: 1.5rem;
}

@media (min-width: 783px) and (max-width: 1100px) {
  .tj-header__bar { grid-template-columns: minmax(8rem,1fr) auto minmax(7rem,1fr); }
  .tj-nav-trigger { font-size: 0.72rem; padding-inline: 0.48rem; }
  .tj-header__action { display: none; }
}

/* Animated trading-line icon shared by directory links and article actions. */
.tj-link-arrow {
  color: currentColor;
  display: inline-block;
  flex: 0 0 1.85rem;
  height: 1.05rem;
  overflow: visible;
  position: relative;
  width: 1.85rem;
}

.tj-link-arrow svg {
  display: block;
  height: 100%;
  overflow: visible;
  width: 100%;
}

.tj-link-arrow path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.45;
  vector-effect: non-scaling-stroke;
}

.tj-link-arrow__extension {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tj-link-arrow__tip {
  transition: opacity 110ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transform-box: fill-box;
  transform-origin: center;
}

.tj-link-arrow__tip--active {
  opacity: 0;
  transform: translate(-0.2rem, 0.14rem) scale(0.72);
}

@media (hover: hover) {
  :is(a, button):hover .tj-link-arrow__extension {
    stroke-dashoffset: 0;
  }

  :is(a, button):hover .tj-link-arrow__tip--rest {
    opacity: 0;
    transform: translate(0.12rem, -0.1rem) scale(0.72);
  }

  :is(a, button):hover .tj-link-arrow__tip--active {
    opacity: 1;
    transform: none;
    transition-delay: 180ms;
  }
}

:is(a, button):focus-visible .tj-link-arrow__extension {
  stroke-dashoffset: 0;
}

:is(a, button):focus-visible .tj-link-arrow__tip--rest {
  opacity: 0;
}

:is(a, button):focus-visible .tj-link-arrow__tip--active {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .tj-link-arrow__extension,
  .tj-link-arrow__tip {
    transition: none;
  }
}

.tj-mega-menu {
  background: transparent;
  color: var(--tj-ink);
  left: 50%;
  position: absolute;
  right: auto;
  top: 100%;
  opacity: 0;
  transform: translate(-50%, -0.75rem);
  transition: opacity 220ms ease, transform 280ms cubic-bezier(0.22, 1, 0.36, 1), visibility 220ms ease;
  visibility: hidden;
  width: 100vw;
  z-index: 3;
}

.tj-mega-menu::before {
  background: var(--tj-paper);
  border-bottom: 0.0625rem solid var(--tj-rule);
  border-top: 0.0625rem solid var(--tj-rule);
  box-shadow: 0 1.5rem 3.5rem rgba(27, 11, 6, 0.13);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.tj-mega-menu.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
}

.tj-mega-menu[hidden],
.tj-menu-backdrop[hidden],
.tj-mobile-navigation[hidden] {
  display: none;
}

.tj-menu-backdrop {
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  background: rgba(23, 18, 15, 0.38);
  height: calc(100vh - 4.75rem);
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
  transition: opacity 240ms ease;
  width: 100vw;
  z-index: 2;
}

.tj-menu-backdrop.is-visible {
  opacity: 1;
}

.tj-mega-menu__inner {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  grid-template-columns: minmax(16rem, 1.2fr) repeat(3, minmax(10rem, 1fr));
  min-height: 30rem;
  padding-block: 2rem 2.75rem;
}

@keyframes tj-mega-item-in {
  from {
    opacity: 0;
    transform: translateY(0.45rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tj-mega-menu.is-visible :is(
  .tj-mega-feature__media,
  .tj-mega-feature > .tj-label,
  .tj-mega-feature > h2,
  .tj-mega-feature__cta,
  .tj-mega-intro > .tj-label,
  .tj-mega-intro > h2,
  .tj-mega-intro > p:not(.tj-label),
  .tj-mega-intro__cta,
  .tj-mega-column__title,
  .tj-mega-column > a
) {
  animation: tj-mega-item-in 90ms cubic-bezier(0.22, 1, 0.36, 1) backwards;
  animation-delay: var(--tj-reveal-delay, 0ms);
}

.tj-mega-feature__media { --tj-reveal-delay: 0ms; }
.tj-mega-feature > .tj-label { --tj-reveal-delay: 12ms; }
.tj-mega-feature > h2 { --tj-reveal-delay: 24ms; }
.tj-mega-feature__cta { --tj-reveal-delay: 36ms; }
.tj-mega-intro > .tj-label { --tj-reveal-delay: 0ms; }
.tj-mega-intro > h2 { --tj-reveal-delay: 12ms; }
.tj-mega-intro > p:not(.tj-label) { --tj-reveal-delay: 24ms; }
.tj-mega-intro__cta { --tj-reveal-delay: 36ms; }

.tj-mega-menu__inner > .tj-mega-column:nth-child(2) .tj-mega-column__title { --tj-reveal-delay: 60ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(2) > a:nth-of-type(1) { --tj-reveal-delay: 72ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(2) > a:nth-of-type(2) { --tj-reveal-delay: 84ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(2) > a:nth-of-type(3) { --tj-reveal-delay: 96ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(2) > a:nth-of-type(4) { --tj-reveal-delay: 108ms; }

.tj-mega-menu__inner > .tj-mega-column:nth-child(3) .tj-mega-column__title { --tj-reveal-delay: 135ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(3) > a:nth-of-type(1) { --tj-reveal-delay: 147ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(3) > a:nth-of-type(2) { --tj-reveal-delay: 159ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(3) > a:nth-of-type(3) { --tj-reveal-delay: 171ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(3) > a:nth-of-type(4) { --tj-reveal-delay: 183ms; }

.tj-mega-menu__inner > .tj-mega-column:nth-child(4) .tj-mega-column__title { --tj-reveal-delay: 210ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(4) > a:nth-of-type(1) { --tj-reveal-delay: 222ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(4) > a:nth-of-type(2) { --tj-reveal-delay: 234ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(4) > a:nth-of-type(3) { --tj-reveal-delay: 246ms; }
.tj-mega-menu__inner > .tj-mega-column:nth-child(4) > a:nth-of-type(4) { --tj-reveal-delay: 258ms; }

.tj-mega-feature {
  border-right: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink);
  padding-right: clamp(2rem, 4vw, 4rem);
  text-decoration: none;
}

.tj-mega-feature__media {
  aspect-ratio: auto;
  background: transparent !important;
  height: clamp(8rem, 10vw, 9.5rem);
  margin-bottom: 1.2rem;
  overflow: visible;
}

.tj-mega-feature__media img {
  filter: none;
  height: 100%;
  object-fit: contain !important;
  object-position: left center;
  transition: transform 320ms ease;
  width: 100%;
}

.tj-mega-feature:hover .tj-mega-feature__media img {
  transform: scale(1.025);
}

.tj-mega-feature h2,
.tj-mega-intro h2 {
  font-size: clamp(1.1rem, 1.55vw, 1.45rem);
  line-height: 1.08;
  margin: 0.55rem 0 0.8rem;
}

.tj-mega-feature h2 {
  white-space: nowrap;
}

.tj-mega-feature__cta {
  font-family: var(--tj-font-data);
  font-size: var(--tj-text-xs);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tj-mega-feature--compact {
  align-content: center;
  display: grid;
}

.tj-mega-feature--compact h2 {
  margin-top: 0.65rem;
}

.tj-mega-feature--compact .tj-mega-feature__cta {
  margin-top: 0.25rem;
}

.tj-mega-intro {
  border-right: 0.0625rem solid var(--tj-rule);
  padding-right: clamp(2rem, 4vw, 4rem);
}

.tj-mega-intro > p:not(.tj-label) {
  color: var(--tj-ink-soft);
  font-size: 0.875rem;
  line-height: 1.65;
  max-width: 25rem;
}

.tj-mega-intro__cta {
  display: inline-block;
  font-family: var(--tj-font-data);
  font-size: var(--tj-text-xs);
  letter-spacing: 0.07em;
  margin-top: 1rem;
  text-decoration: none;
  text-transform: uppercase;
}

.tj-mega-intro__cta:hover {
  color: var(--tj-brown);
}

.tj-mega-menu--editorial .tj-mega-menu__inner {
  min-height: 26rem;
}

.tj-mega-menu--compact .tj-mega-menu__inner {
  grid-template-columns: minmax(16rem, 1.2fr) repeat(2, minmax(14rem, 1fr));
  min-height: 20rem;
}

.tj-mega-column {
  align-content: start;
  display: grid;
  gap: 0.15rem;
  padding-top: 0.15rem;
}

.tj-mega-column__title {
  color: var(--tj-ink-soft);
  font-family: var(--tj-font-data);
  font-size: var(--tj-text-xs);
  letter-spacing: 0.14em;
  margin-bottom: 1.15rem;
  text-transform: uppercase;
}

.tj-mega-column > a {
  border: 0.0625rem solid transparent;
  color: var(--tj-ink);
  display: grid;
  gap: 0.18rem;
  margin-inline: -0.8rem;
  padding: 0.78rem 0.8rem;
  text-decoration: none;
  transform: translateX(0);
  transition: background-color 70ms linear, border-color 70ms linear, color 70ms linear, transform 100ms ease;
}

.tj-mega-column > a strong {
  font-family: var(--tj-font-body);
  font-size: 0.875rem;
  font-weight: 500;
}

.tj-mega-column > a span {
  color: var(--tj-ink-soft);
  font-size: 0.75rem;
  line-height: 1.45;
}

.tj-mega-column > a:hover,
.tj-mega-column > a:focus-visible {
  background: rgba(50, 18, 0, 0.065);
  border-color: rgba(50, 18, 0, 0.08);
  transform: translateX(0.22rem);
}

.tj-mega-column > a:hover strong,
.tj-mega-column > a:focus-visible strong {
  color: var(--tj-brown);
}

.tj-mega-column > a:hover span,
.tj-mega-column > a:focus-visible span {
  color: var(--tj-ink);
}

.tj-mobile-navigation {
  background: var(--tj-paper);
  border-top: 0.0625rem solid var(--tj-rule);
  padding: 0.75rem var(--tj-gutter) 1.5rem;
}

.tj-mobile-navigation a {
  border-bottom: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink);
  display: block;
  font-family: var(--tj-font-display);
  font-size: 1.65rem;
  line-height: 1;
  padding-block: 1rem;
  text-decoration: none;
}

/* Hero: light typography is allowed only because the surface is explicitly dark. */
.tj-hero {
  background-color: var(--tj-espresso);
  color: var(--tj-paper);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.tj-hero :is(h1, h2, h3, p, a, li) {
  color: inherit;
}

.tj-hero__media,
.tj-hero__overlay {
  inset: 0;
  position: absolute;
}

.tj-hero__media {
  height: 100%;
  object-fit: cover;
  width: 100%;
  z-index: -2;
}

.tj-hero__overlay {
  background: linear-gradient(90deg, rgba(8, 7, 7, 0.04) 25%, rgba(8, 7, 7, 0.35) 58%, rgba(8, 7, 7, 0.93) 100%);
  z-index: -1;
}

.tj-hero__content {
  margin-left: auto;
  max-width: 38rem;
  padding-block: clamp(5rem, 11vw, 9rem);
  width: min(48%, 38rem);
}

.tj-hero__content h1 {
  color: var(--tj-paper);
}

.tj-hero__content .tj-lead {
  color: rgba(244, 239, 229, 0.82);
}

/* Single Tape Desk article */
.tj-article {
  padding: clamp(2.25rem, 5vw, 4.5rem) var(--tj-gutter) var(--tj-space-xl);
}

.tj-article__top,
.tj-article__layout,
.tj-article__related {
  margin-inline: auto;
  max-width: var(--tj-wide);
  padding-inline: 0;
}

.tj-article__top {
  max-width: var(--tj-wide);
  width: 100%;
}

.tj-article__top.alignwide,
.tj-article__related.alignwide {
  max-width: var(--tj-wide);
}

.tj-article__top > *,
.tj-article__header > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

.tj-breadcrumbs {
  align-items: center;
  color: var(--tj-ink-soft);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  gap: 0.55rem;
  letter-spacing: 0.06em;
  margin-bottom: clamp(2.5rem, 5vw, 4.75rem);
  text-transform: uppercase;
}

.tj-breadcrumbs a,
.tj-breadcrumbs span {
  color: inherit;
  text-decoration: none;
}

.tj-breadcrumbs a:hover {
  color: var(--tj-brown);
}

.tj-breadcrumbs [aria-current="page"] {
  max-width: 34ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tj-breadcrumbs__separator {
  opacity: 0.45;
}

.tj-article__header {
  max-width: none;
  width: 100%;
}

.tj-article__header .tj-eyebrow {
  margin-bottom: 1.35rem;
}

.tj-article__header h1 {
  font-size: clamp(3rem, 4.65vw, 4.75rem);
  line-height: 0.97;
  max-width: none;
  text-wrap: wrap;
  width: 100%;
}

.tj-article__excerpt {
  color: var(--tj-ink-soft);
  font-size: clamp(1.05rem, 1.65vw, 1.3rem);
  line-height: 1.55;
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
  max-width: none;
  width: 100%;
}

.tj-article__excerpt > * {
  margin: 0;
}

.tj-article__meta {
  align-items: center;
  color: var(--tj-ink-soft);
  display: flex;
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  gap: 0;
  letter-spacing: 0.06em;
  margin-top: 1.5rem;
  text-transform: uppercase;
}

.tj-article__meta > * {
  margin: 0;
}

.tj-article__meta > * + *::before {
  content: "·";
  margin-inline: 0.65rem;
  opacity: 0.55;
}

.tj-article__featured {
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
}

.tj-article__featured img {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  width: 100%;
}

.tj-article__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 7vw, 6.5rem);
  grid-template-columns: minmax(0, 47.5rem) minmax(13.5rem, 17rem);
  justify-content: space-between;
  max-width: var(--tj-wide);
  margin-top: clamp(3.5rem, 7vw, 6.5rem);
}

.tj-article > .wp-block-shortcode {
  margin-inline: auto;
  max-width: var(--tj-wide);
  width: 100%;
}

.tj-article-content {
  font-size: 1.03rem;
  line-height: 1.78;
  min-width: 0;
}

.tj-article-content > :first-child {
  margin-top: 0;
}

.tj-article-content h2 {
  font-size: clamp(2.25rem, 3.6vw, 3.2rem);
  line-height: 0.98;
  margin-top: clamp(3.75rem, 7vw, 6rem);
  scroll-margin-top: calc(var(--tj-sticky-offset, 7.25rem) + 1.25rem);
}

.tj-article-content h3 {
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  line-height: 1;
  margin-top: 3.5rem;
  scroll-margin-top: calc(var(--tj-sticky-offset, 7.25rem) + 1.25rem);
}

.tj-article-content .tj-article-lead {
  font-size: clamp(1.1rem, 1.6vw, 1.28rem);
  line-height: 1.7;
}

.tj-article-content blockquote {
  font-size: clamp(1.65rem, 3.1vw, 2.65rem);
  line-height: 1.13;
  margin-block: clamp(2.5rem, 5vw, 4.5rem);
  padding-left: clamp(1.25rem, 3vw, 2rem);
}

.tj-article-content .wp-block-table {
  margin-block: 2.5rem 4rem;
  max-width: 100%;
  overflow-x: auto;
}

/* Every table (also from the Custom HTML block) scrolls sideways instead of
   stretching the article. The wrapper is added in tape_journal_wrap_content_tables(). */
.tj-table-scroll {
  -webkit-overflow-scrolling: touch;
  margin-block: 2.5rem 4rem;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.wp-block-table .tj-table-scroll {
  margin-block: 0;
}

.tj-article-content .tj-table-scroll:focus-visible {
  outline: 0.125rem solid var(--tj-kraft);
  outline-offset: 0.25rem;
}

/* Guard rails for hand-written HTML inside posts */
.tj-article-content {
  overflow-wrap: break-word;
}

.tj-article-content :where(div, section, figure, p, ul, ol, blockquote, pre, img, iframe, video, svg, canvas) {
  max-width: 100%;
}

.tj-article-content :where(img, video) {
  height: auto;
}

.tj-article-content pre {
  overflow-x: auto;
}

.tj-article-content table {
  border-collapse: collapse;
  font-size: 0.875rem;
  line-height: 1.5;
  width: 100%;
}

.tj-article-content th,
.tj-article-content td {
  border: 0.0625rem solid var(--tj-rule);
  padding: 0.85rem 1rem;
  text-align: left;
  vertical-align: top;
}

.tj-article-content th {
  background: rgba(50, 18, 0, 0.055);
  font-weight: 500;
}

.tj-article-content :is(ul, ol) {
  padding-left: 1.35rem;
}

.tj-article-content li {
  margin-bottom: 0.72rem;
  padding-left: 0.4rem;
}

.tj-article-callout,
.tj-article-summary {
  background: rgba(50, 18, 0, 0.055);
  border-left: 0.1875rem solid var(--tj-kraft);
  margin-block: clamp(2.5rem, 5vw, 4.5rem);
  padding: clamp(1.4rem, 3vw, 2.25rem);
}

.tj-article-callout > :last-child,
.tj-article-summary {
  margin-bottom: 0;
}

.tj-article-callout h3 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin: 0 0 0.85rem;
}

.tj-article-details {
  border-bottom: 0.0625rem solid var(--tj-rule);
  border-top: 0.125rem solid var(--tj-ink);
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  padding: 1.25rem 0 1.5rem;
}

.tj-article-details > .tj-label {
  margin: 0 0 1.35rem;
}

.tj-article-details__grid {
  display: grid;
  gap: 1.15rem clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.tj-article-details__item {
  min-width: 0;
}

.tj-article-details dt {
  color: var(--tj-ink-soft);
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  letter-spacing: 0.07em;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.tj-article-details dd {
  font-size: 0.9rem;
  line-height: 1.4;
  margin: 0;
  overflow-wrap: anywhere;
}

.tj-article-details dd a {
  color: var(--tj-brown);
  text-decoration-color: rgba(50, 18, 0, 0.28);
  text-underline-offset: 0.18em;
}

.tj-article-details dd a:hover {
  text-decoration-color: currentColor;
}

.tj-article-details__separator {
  color: var(--tj-ink-soft);
  margin-inline: 0.45rem;
}

.tj-article-details__ticker {
  font-family: var(--tj-font-data);
  font-weight: 600;
  letter-spacing: 0.06em;
}

.tj-article-details__source {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}

.tj-article-key-facts {
  background: rgba(50, 18, 0, 0.055);
  border-left: 0.1875rem solid var(--tj-kraft);
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  padding: clamp(1.4rem, 3vw, 2rem);
}

.tj-article-key-facts > .tj-label {
  margin: 0 0 0.75rem;
}

.tj-article-key-facts > p:last-child {
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0;
}

.tj-article-sidebar {
  max-height: calc(100vh - var(--tj-sticky-offset, 7.25rem) - 2.5rem);
  max-width: 100%;
  min-width: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  position: sticky;
  scrollbar-width: thin;
  /* --tj-sticky-offset = real height of the sticky header (set in article.js) */
  top: calc(var(--tj-sticky-offset, 7.25rem) + 1.25rem);
}

.tj-article-sidebar .tj-article-toc__list {
  max-height: none;
  overflow: visible;
}

.tj-sidebar-label {
  color: var(--tj-ink);
  font-family: var(--tj-font-data);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.tj-article-toc {
  border-top: 0.125rem solid var(--tj-ink);
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  padding-top: 1.25rem;
}

.tj-article-toc__list {
  list-style: none;
  margin: 0;
  max-height: min(56vh, 32rem);
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 0 0 0.95rem;
  width: 100%;
}

.tj-article-toc__list li {
  border-left: 0.0625rem solid transparent;
  margin: 0;
  max-width: 100%;
  padding: 0.42rem 0 0.42rem 0.8rem;
}

.tj-article-toc__list li.is-subheading {
  padding-left: 1.55rem;
}

.tj-article-toc__list a {
  color: var(--tj-ink-soft);
  display: block;
  font-size: 0.8125rem;
  line-height: 1.38;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-decoration: none;
  transition: color 120ms ease, transform 120ms ease;
}

.tj-article-toc__list a:hover,
.tj-article-toc__list a.is-active {
  color: var(--tj-brown);
  transform: translateX(0.2rem);
}

.tj-article-toc__list li:has(a.is-active) {
  border-left-color: var(--tj-brown);
}

.tj-article-share {
  border-top: 0.0625rem solid var(--tj-rule);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
}

.tj-article-share__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tj-article-share__links :is(a, button) {
  align-items: center;
  background: transparent;
  border: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink);
  display: inline-flex;
  font-family: var(--tj-font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  height: 2.25rem;
  justify-content: center;
  min-width: 2.25rem;
  padding: 0 0.65rem;
  text-decoration: none;
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease, transform 120ms ease;
}

.tj-article-share__links :is(a, button):hover {
  background: var(--tj-brown);
  border-color: var(--tj-brown);
  color: var(--tj-paper);
  transform: translateY(-0.12rem);
}

/* Article flow: details + share close the article */
.tj-article-body > :first-child {
  margin-top: 0;
}

.tj-article-content > .tj-article-details {
  margin: clamp(3rem, 6vw, 4.5rem) 0 0;
}

.tj-article-content > .tj-article-share {
  border-top: 0;
  margin-top: 0;
  padding-top: 1.5rem;
}

.tj-article-key-facts {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

/* Collapsible TOC used on phones; desktop keeps the sticky sidebar */
.tj-article-toc--mobile {
  display: none;
}

.tj-article-toc--mobile > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  min-height: 2.75rem;
}

.tj-article-toc--mobile > summary::-webkit-details-marker {
  display: none;
}

.tj-article-toc--mobile > summary::after {
  content: "+";
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
}

.tj-article-toc--mobile[open] > summary::after {
  content: "−";
}

.tj-article-toc--mobile[open] > .tj-article-toc__list {
  margin-top: 0.5rem;
}

.tj-copy-status {
  color: var(--tj-ink-soft);
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  margin: 0.65rem 0 0;
  min-height: 1em;
}

/* Optional FAQ pattern inserted at the end of article content. */
.tj-article-faq {
  border-top: 0.0625rem solid var(--tj-rule);
  margin-top: clamp(4.5rem, 8vw, 7rem);
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.tj-article-faq > h2 {
  margin-top: 0;
}

.tj-article-faq details {
  border-bottom: 0.0625rem solid var(--tj-rule);
  margin: 0;
  transition: background-color 130ms ease;
}

.tj-article-faq details:first-of-type {
  border-top: 0.0625rem solid var(--tj-rule);
}

.tj-article-faq details:hover,
.tj-article-faq details[open] {
  background: rgba(50, 18, 0, 0.055);
}

.tj-article-faq summary {
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  list-style: none;
  padding: 1.35rem 3.5rem 1.35rem 1rem;
  position: relative;
}

.tj-article-faq summary::-webkit-details-marker {
  display: none;
}

.tj-article-faq summary::after {
  content: "+";
  font-family: var(--tj-font-display);
  font-size: 1.7rem;
  font-weight: 400;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(0);
  transition: transform 180ms ease;
}

.tj-article-faq details[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}

.tj-article-faq details > :not(summary) {
  color: var(--tj-ink-soft);
  margin-inline: 1rem 3.5rem;
}

.tj-article-faq details > :last-child {
  padding-bottom: 1.35rem;
}

.tj-article__related {
  border-top: 0.0625rem solid var(--tj-rule);
  margin-top: clamp(5rem, 10vw, 9rem);
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.tj-related > h2 {
  font-size: clamp(2.1rem, 3.5vw, 3rem);
  line-height: 1;
  margin: 0.5rem 0 2rem;
}

.tj-related__grid {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tj-related-card {
  align-self: start;
  border-top: 0.125rem solid var(--tj-ink);
}

.tj-related-card__link {
  color: var(--tj-ink);
  display: flex;
  flex-direction: column;
  padding-top: 1.25rem;
  text-decoration: none;
}

.tj-related-card__media {
  aspect-ratio: 16 / 9;
  margin: -1.25rem 0 1.25rem;
  overflow: hidden;
}

.tj-related-card__media img {
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
  width: 100%;
}

.tj-related-card__section,
.tj-related-card__date {
  color: var(--tj-kraft);
  font-family: var(--tj-font-data);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tj-related-card h3 {
  font-size: clamp(1.4rem, 1.9vw, 1.75rem);
  line-height: 1.08;
  margin: 0.7rem 0 0.7rem;
}

.tj-related-card p {
  color: var(--tj-ink-soft);
  font-size: 0.875rem;
  line-height: 1.6;
  margin: 0 0 0.9rem;
}

.tj-related-card__date {
  color: var(--tj-ink-soft);
  display: block;
  margin-top: 0;
}

.tj-related__grid--count-1 {
  grid-template-columns: minmax(0, 31rem);
}

.tj-related__grid--count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 68rem;
}

.tj-related-card__link:hover h3 {
  color: var(--tj-brown);
}

.tj-related-card__link:hover .tj-related-card__media img {
  transform: scale(1.025);
}

/* Taxonomy archives: editorial hubs for sections, companies and market tags. */
.tj-taxonomy {
  padding: clamp(2.25rem, 5vw, 4.5rem) var(--tj-gutter) var(--tj-space-xl);
}

.tj-taxonomy__inner {
  margin-inline: auto;
  max-width: var(--tj-wide);
  padding-inline: 0;
  width: 100%;
}

.tj-taxonomy__inner > * {
  max-width: none !important;
  width: 100%;
}

.tj-directory {
  padding-block: clamp(2.25rem, 5vw, 4.5rem) var(--tj-space-xl);
}

.tj-directory__hero {
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.tj-directory__hero .tj-taxonomy-breadcrumbs {
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.tj-directory__hero .tj-taxonomy-hero__description {
  margin-top: 1.5rem;
}

.tj-directory__section {
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.tj-directory__section .tj-taxonomy-list-heading {
  margin-top: 0;
}

.tj-directory__grid {
  border-left: 0.0625rem solid var(--tj-rule);
  border-top: 0.0625rem solid var(--tj-rule);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
}

/* WordPress may add line breaks around shortcode output. Keep them from
 * becoming grid items or adding blank space inside a directory card. */
.tj-directory__grid > br,
.tj-directory-card > br {
  display: none;
}

.tj-directory-card {
  background: var(--tj-paper);
  border-bottom: 0.0625rem solid var(--tj-rule);
  border-right: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink);
  display: flex;
  flex-direction: column;
  min-height: 21rem;
  min-width: 0;
  overflow: hidden;
  padding: clamp(1.35rem, 2.5vw, 2rem);
  position: relative;
  text-decoration: none;
  transition: background-color 300ms ease;
}

.tj-directory-card:hover,
.tj-directory-card:focus-visible {
  background: var(--tj-paper);
  color: var(--tj-ink);
}

.tj-directory-card__image {
  color: var(--tj-brown);
  height: 63%;
  overflow: hidden;
  opacity: 0.48;
  pointer-events: none;
  position: absolute;
  right: -0.3rem;
  top: 2rem;
  transition: opacity 450ms ease;
  width: 82%;
}

.tj-directory-card__image img {
  display: block;
  height: 100%;
  mix-blend-mode: multiply;
  object-fit: contain;
  transform: translate(1rem, -0.4rem) scale(0.95);
  transition: transform 550ms cubic-bezier(0.2, 0.7, 0.2, 1);
  width: 100%;
}

.tj-directory-card:hover .tj-directory-card__image,
.tj-directory-card:focus-visible .tj-directory-card__image {
  opacity: 0.48;
}

.tj-directory-card:hover .tj-directory-card__image img,
.tj-directory-card:focus-visible .tj-directory-card__image img {
  transform: translate(0, 0) scale(1.035);
}

.tj-directory-card__label {
  color: var(--tj-ink-soft);
  font-family: var(--tj-font-data);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.tj-directory-card > strong {
  display: block;
  font-family: var(--tj-font-display);
  font-size: clamp(1.95rem, 2.9vw, 3rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.94;
  margin-top: auto;
  position: relative;
  z-index: 1;
}

.tj-directory-card__description {
  color: var(--tj-ink-soft);
  display: block;
  line-height: 1.55;
  margin-top: 0.8rem;
  max-width: 17rem;
  min-height: 3em;
  position: relative;
  z-index: 1;
}

.tj-directory-card__link {
  align-items: center;
  color: var(--tj-brown);
  display: flex;
  font-family: var(--tj-font-data);
  font-size: 0.7rem;
  gap: 0.65rem;
  letter-spacing: 0.04em;
  margin-top: 1.25rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.tj-directory-card__link .tj-link-arrow {
  opacity: 0.35;
  width: 2rem;
}

.tj-directory-card:hover .tj-directory-card__link .tj-link-arrow,
.tj-directory-card:focus-visible .tj-directory-card__link .tj-link-arrow {
  opacity: 1;
}

.tj-directory__crosslink {
  border-top: 0.0625rem solid var(--tj-rule);
  color: var(--tj-ink-soft);
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: 1.25rem;
}

.tj-directory__crosslink a {
  color: var(--tj-brown);
  font-weight: 600;
}

.tj-desk-archive__hero {
  border-bottom: 0.0625rem solid var(--tj-rule);
  padding-bottom: clamp(3rem, 6vw, 5.5rem);
}

.tj-desk-archive__hero > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

.tj-desk-archive__hero h1 {
  font-size: clamp(3.25rem, 5.25vw, 5.4rem);
  line-height: 0.92;
  margin: 1rem 0 0;
}

.tj-taxonomy-hero {
  border-bottom: 0.0625rem solid var(--tj-rule);
  overflow: hidden;
  padding-bottom: clamp(3rem, 6vw, 5.5rem);
  position: relative;
}

.tj-taxonomy-breadcrumbs {
  margin-bottom: clamp(2.75rem, 5vw, 4.75rem);
}

.tj-taxonomy-hero__grid {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.7fr);
}

.tj-taxonomy-hero__content {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.tj-taxonomy-hero__content > .tj-eyebrow {
  margin-bottom: 1.15rem;
}

.tj-taxonomy-hero h1 {
  font-size: clamp(3.25rem, 5.25vw, 5.4rem);
  line-height: 0.92;
  margin: 0;
  max-width: none;
  text-wrap: wrap;
}

.tj-taxonomy-hero__description {
  color: var(--tj-ink-soft);
  font-size: clamp(1.05rem, 1.55vw, 1.28rem);
  line-height: 1.6;
  margin: clamp(1.75rem, 3vw, 2.5rem) 0 0;
  max-width: 52rem;
}

.tj-taxonomy-hero__illustration {
  justify-self: end;
  margin: 0;
  max-width: 29rem;
  opacity: 0.82;
  width: 100%;
}

.tj-taxonomy-hero__illustration img {
  filter: saturate(0.75) contrast(0.94);
  max-height: 24rem;
  object-fit: contain;
  object-position: right center;
  width: 100%;
}

.tj-taxonomy-tree {
  border-bottom: 0.0625rem solid var(--tj-rule);
  padding-block: clamp(2rem, 4vw, 3rem);
}

.tj-taxonomy-tree__heading {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.tj-taxonomy-tree__heading > * {
  margin: 0;
}

.tj-taxonomy-tree__heading > a {
  color: var(--tj-brown);
  font-family: var(--tj-font-data);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tj-taxonomy-tree__links {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tj-taxonomy-tree__links a {
  align-items: center;
  border: 0.0625rem solid var(--tj-rule);
  display: flex;
  font-size: 0.875rem;
  gap: 1rem;
  justify-content: space-between;
  line-height: 1.3;
  min-height: 3.5rem;
  margin: 0 !important;
  max-width: none !important;
  padding: 0.85rem 1rem;
  text-decoration: none;
  transition: background-color 130ms ease, border-color 130ms ease, color 130ms ease, transform 130ms ease;
  width: 100%;
}

.tj-taxonomy-tree__links a:hover,
.tj-taxonomy-tree__links a[aria-current="page"] {
  background: var(--tj-brown);
  border-color: var(--tj-brown);
  color: var(--tj-paper);
  transform: translateY(-0.1rem);
}

.tj-taxonomy-tree__links a[aria-current="page"] span:first-child::before {
  content: "— ";
}

.tj-taxonomy-list-heading {
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.tj-economic-calendar {
  border-bottom: 0.0625rem solid var(--tj-rule);
  padding-block: clamp(3rem, 6vw, 5rem);
}

.tj-economic-calendar__head {
  margin-bottom: 2rem;
  max-width: 48rem;
}

.tj-economic-calendar__head .tj-label {
  margin: 0 0 0.75rem;
}

.tj-economic-calendar__head h2 {
  font-size: clamp(2.25rem, 3.5vw, 3.25rem);
  line-height: 1;
  margin: 0;
}

.tj-economic-calendar__head > p:last-child {
  color: var(--tj-ink-soft);
  line-height: 1.6;
  margin: 1rem 0 0;
}

.tj-tv-widget--calendar {
  min-height: 41rem;
}

.tj-archive-market-chart {
  border-bottom: 0.0625rem solid var(--tj-rule);
  padding-block: clamp(3rem, 6vw, 5rem);
}

.tj-archive-market-chart__head {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 2rem;
  max-width: 52rem;
}

.tj-archive-market-chart__head > * {
  margin: 0;
}

.tj-archive-market-chart__head h2 {
  font-size: clamp(2.25rem, 3.5vw, 3.25rem);
  line-height: 1;
}

.tj-archive-market-chart__head > p:last-child,
.tj-archive-market-chart__note {
  color: var(--tj-ink-soft);
}

.tj-market-unavailable {
  align-items: end;
  border-bottom: 0.0625rem solid var(--tj-rule);
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1fr) auto;
  padding-block: clamp(3rem, 6vw, 5rem);
}

.tj-market-unavailable > div {
  max-width: 52rem;
}

.tj-market-unavailable .tj-label {
  margin-bottom: 0.75rem;
}

.tj-market-unavailable h2 {
  font-size: clamp(2.25rem, 3.5vw, 3.25rem);
  margin-bottom: 1rem;
}

.tj-market-unavailable > div > p:not(.tj-label) {
  color: var(--tj-ink-soft);
}

.tj-market-unavailable > div > p:last-child {
  margin-bottom: 0;
}

.tj-market-unavailable .tj-button:hover,
.tj-market-unavailable .tj-button:focus-visible {
  background: var(--tj-brown);
  border-color: var(--tj-brown);
  color: var(--tj-paper) !important;
}

.tj-tv-widget--archive-chart,
.tj-tv-widget--archive-chart .tradingview-widget-container__widget {
  min-height: 38.75rem;
  width: 100%;
}

.tj-tv-widget--archive-chart {
  background: #fff;
  border: 0.0625rem solid var(--tj-rule);
  overflow: hidden;
}

.tj-archive-market-chart__note {
  font-family: var(--tj-font-data);
  font-size: 0.6875rem;
  letter-spacing: 0.025em;
  margin: 1rem 0 0;
}

.tj-taxonomy-list-heading > .tj-label {
  margin-bottom: 0.75rem;
}

.tj-taxonomy-list-heading h2 {
  font-size: clamp(2.25rem, 3.5vw, 3.25rem);
  line-height: 1;
  margin: 0;
}

.tj-taxonomy-grid {
  margin-top: clamp(2rem, 4vw, 3.25rem);
}

.tj-editorial-grid {
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}

.tj-editorial-card {
  align-items: center;
  border-bottom: 0.0625rem solid var(--tj-rule);
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  min-width: 0;
  padding-block: clamp(2.25rem, 4vw, 3.5rem);
  width: 100%;
}

.tj-editorial-card:first-child:not(:only-child) {
  grid-column: auto;
}

.tj-editorial-card:first-child {
  padding-top: 0;
}

.tj-editorial-card > .tj-taxonomy-card__media {
  margin: 0;
  min-width: 0;
  width: 100%;
}

.tj-editorial-card__body {
  min-width: 0;
}

.tj-editorial-card .tj-eyebrow {
  margin: 0 0 0.8rem;
}

.tj-editorial-card h2 {
  font-size: clamp(1.4rem, 1.65vw, 1.75rem);
  line-height: 1.08;
  margin: 0;
  text-wrap: wrap;
}

.tj-editorial-card h2 a {
  text-decoration: none;
}

.tj-editorial-card h2 a:hover {
  color: var(--tj-brown);
}

.tj-editorial-card__meta {
  color: var(--tj-ink-soft);
  display: flex;
  font-family: var(--tj-font-data);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  margin: 1.25rem 0 0;
  text-transform: uppercase;
}

.tj-editorial-card__meta span + span::before {
  content: "·";
  margin-inline: 0.65rem;
  opacity: 0.55;
}

.tj-editorial-grid--single .tj-editorial-card {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  width: 100%;
}

.tj-editorial-grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.tj-editorial-grid--single .tj-taxonomy-card__media {
  margin: 0;
  min-width: 0;
  width: 100%;
}

.tj-editorial-pagination {
  align-items: center;
  border-top: 0.0625rem solid var(--tj-rule);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--tj-font-data);
  font-size: 0.6875rem;
  gap: 0.5rem;
  letter-spacing: 0.06em;
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding-top: 1.5rem;
  text-transform: uppercase;
}

.tj-editorial-pagination .page-numbers {
  border: 0.0625rem solid var(--tj-rule);
  padding: 0.65rem 0.8rem;
  text-decoration: none;
}

.tj-editorial-pagination .current,
.tj-editorial-pagination a:hover {
  background: var(--tj-brown);
  border-color: var(--tj-brown);
  color: var(--tj-paper);
}

.tj-taxonomy-grid__posts {
  display: grid !important;
  gap: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 3vw, 2.5rem);
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tj-taxonomy-grid__posts > .wp-block-post {
  margin: 0;
  min-width: 0;
}

.tj-taxonomy-grid__posts > .wp-block-post:first-child:not(:only-child) {
  grid-column: span 2;
}

.tj-taxonomy-card {
  border-bottom: 0.0625rem solid var(--tj-rule);
  height: 100%;
  padding-bottom: 2rem;
}

.tj-taxonomy-card__media {
  background: rgba(50, 18, 0, 0.045);
  display: block;
  margin: 0 0 1.75rem;
  overflow: hidden;
}

.tj-taxonomy-card__media img {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  transition: transform 220ms ease;
  width: 100%;
}

.tj-taxonomy-card__media img.tj-taxonomy-card__fallback {
  object-fit: contain;
  padding: clamp(1rem, 3vw, 2.25rem);
}

.tj-taxonomy-card > .wp-block-shortcode {
  margin: 0;
  min-width: 0;
  width: 100%;
}

.tj-taxonomy-card__media:hover img {
  transform: scale(1.018);
}

.tj-taxonomy-card__body > .wp-block-shortcode {
  margin: 0 0 0.85rem;
}

.tj-taxonomy-card .tj-eyebrow {
  margin: 0;
}

.tj-taxonomy-card h2,
.tj-article-card h2 {
  font-size: clamp(1.4rem, 1.65vw, 1.75rem) !important;
  line-height: 1.08;
  margin: 0 0 1.1rem;
  text-wrap: wrap;
}

.tj-taxonomy-card h2 a {
  text-decoration: none;
}

.tj-taxonomy-card h2 a:hover {
  color: var(--tj-brown);
}

.tj-taxonomy-card .wp-block-post-excerpt,
.tj-article-card .wp-block-post-excerpt {
  display: none !important;
}

.tj-taxonomy-card .wp-block-post-featured-image:empty,
.tj-article-card .wp-block-post-featured-image:empty,
.tj-taxonomy-card .wp-block-post-featured-image:not(:has(img)),
.tj-article-card .wp-block-post-featured-image:not(:has(img)) {
  display: none !important;
}

.tj-taxonomy-card__meta {
  gap: 0;
  margin-top: 1.4rem;
}

.tj-taxonomy-card__meta > * + *::before {
  content: "·";
  margin-inline: 0.65rem;
  opacity: 0.55;
}

.tj-taxonomy-grid__posts > .wp-block-post:only-child .tj-taxonomy-card {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 0.95fr) minmax(22rem, 1.05fr);
}

.tj-taxonomy-grid__posts > .wp-block-post:only-child .tj-taxonomy-card > .wp-block-shortcode,
.tj-taxonomy-grid__posts > .wp-block-post:only-child .tj-taxonomy-card__media {
  margin: 0;
}

/* Compatibility layout for an archive template previously saved in Site Editor. */
.wp-block-query:has(.tj-article-card),
.wp-block-post-template:has(.tj-article-card) {
  max-width: var(--tj-wide) !important;
  width: 100%;
}

.wp-block-post-template:has(.tj-article-card) {
  list-style: none;
  padding: 0;
}

.tj-article-card {
  align-items: start;
  display: grid !important;
  gap: 0 clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(18rem, 0.95fr) minmax(22rem, 1.05fr);
  max-width: none !important;
  width: 100%;
}

.tj-article-card > .tj-taxonomy-card__media {
  grid-column: 1;
  grid-row: 1 / span 5;
  margin: 0;
}

.tj-article-card > :not(.tj-taxonomy-card__media) {
  grid-column: 2;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

.tj-article-card .wp-block-post-terms {
  margin-bottom: 0.7rem;
}

.tj-article-card .tj-meta {
  margin-top: 0.4rem;
}

.tj-taxonomy-empty {
  border-bottom: 0.0625rem solid var(--tj-rule);
  border-top: 0.0625rem solid var(--tj-rule);
  max-width: 48rem;
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

.tj-taxonomy-empty h2 {
  font-size: clamp(2.25rem, 4vw, 3.4rem);
  margin-top: 0;
}

.tj-taxonomy-pagination {
  border-top: 0.0625rem solid var(--tj-rule);
  font-family: var(--tj-font-data);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding-top: 1.5rem;
  text-transform: uppercase;
}

/* WordPress utility corrections */
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }
.alignwide { max-width: var(--tj-wide); }
.alignfull { margin-inline: calc(50% - 50vw); max-width: none; width: 100vw; }

.tj-article.alignfull {
  margin-inline: 0;
  width: 100%;
}

.screen-reader-text {
  clip: rect(0.0625rem, 0.0625rem, 0.0625rem, 0.0625rem);
  clip-path: inset(50%);
  height: 0.0625rem;
  overflow: hidden;
  position: absolute;
  width: 0.0625rem;
}

@media (max-width: 782px) {
  :root {
    --tj-h1: clamp(2.75rem, 14vw, 4.6rem);
    --tj-h2: clamp(2.2rem, 10vw, 3.4rem);
  }

  .tj-grid--2,
  .tj-grid--3 {
    grid-template-columns: 1fr;
  }

  .tj-header__bar {
    grid-template-columns: 1fr auto;
    min-height: 4.25rem;
  }

  .admin-bar .tj-sticky-header-shell {
    top: 2.875rem;
  }

  .tj-header__nav,
  .tj-header__action {
    display: none;
  }

  .tj-header__buy {
    font-size: 0.5625rem;
    min-height: 2.25rem;
    padding-inline: 0.75rem;
    gap: 0.4rem;
  }

  .tj-header-candles {
    flex-basis: 0.95rem;
    height: 0.95rem;
    width: 0.95rem;
  }

  .tj-mobile-toggle {
    display: block;
  }

  .tj-mega-menu {
    display: none !important;
  }

  .tj-menu-backdrop {
    display: none !important;
  }

  .tj-hero__content {
    margin-left: 0;
    padding-block: 22rem 3rem;
    width: 100%;
  }

  .tj-hero__overlay {
    background: linear-gradient(180deg, rgba(8, 7, 7, 0.08) 22%, rgba(8, 7, 7, 0.32) 52%, rgba(8, 7, 7, 0.96) 100%);
  }

  .wp-site-blocks {
    overflow: clip;
  }

  .tj-tv-widget--archive-chart,
  .tj-tv-widget--archive-chart .tradingview-widget-container__widget {
    min-height: 32rem;
  }

  .tj-market-unavailable {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .tj-article {
    padding-top: 2rem;
  }

  .tj-breadcrumbs [aria-current="page"] {
    display: none;
  }

  .tj-article__header h1 {
    font-size: clamp(2.5rem, 11.5vw, 3.75rem);
    max-width: none;
  }

  .tj-article__layout {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
    margin-top: 3.5rem;
    max-width: 100%;
  }

  /* Without this the column grew to the widest child (e.g. a table)
     and everything from the featured image down ran off-screen. */
  .tj-article-content {
    max-width: 100%;
    width: 100%;
  }

  /* Mobile reading typography inside posts */
  .tj-article-content {
    font-size: 0.875rem;
    line-height: 1.7;
  }

  .tj-article-content .tj-article-lead,
  .tj-article__excerpt {
    font-size: 0.9375rem;
    line-height: 1.6;
  }

  .tj-article-content h2 {
    font-size: 1.85rem;
    line-height: 1.04;
    margin-top: 3rem;
  }

  .tj-article-content h3 {
    font-size: 1.45rem;
    line-height: 1.08;
    margin-top: 2.25rem;
  }

  .tj-article-content h4 {
    font-size: 1.2rem;
  }

  .tj-article-callout h3 {
    font-size: 1.3rem;
  }

  .tj-article-content blockquote {
    font-size: 1.45rem;
    line-height: 1.2;
  }

  .tj-article-content li {
    margin-bottom: 0.5rem;
  }

  .tj-article-content table {
    font-size: 0.8125rem;
  }

  /* Wide tables (4+ columns) keep readable cells and scroll sideways */
  .tj-article-content table:has(tr > :nth-child(4)) {
    min-width: 36rem;
  }

  .tj-article-content th,
  .tj-article-content td {
    padding: 0.7rem 0.8rem;
  }

  /* Phones: image → key facts → collapsible TOC → text → details → share */
  .tj-article-sidebar {
    display: none;
  }

  .tj-article-toc--mobile {
    border-bottom: 0.0625rem solid var(--tj-rule);
    display: block;
    margin: 0 0 2.5rem;
    padding: 0.5rem 0 0.75rem;
  }

  .tj-article-toc__list {
    max-height: none;
  }

  .tj-article__featured {
    margin: 0 0 2rem;
  }

  .tj-article__layout {
    margin-top: 2rem;
  }

  .tj-related__grid {
    grid-template-columns: 1fr;
  }

  .tj-article-details__grid {
    grid-template-columns: 1fr;
  }

  .tj-taxonomy-hero h1,
  .tj-desk-archive__hero h1 {
    font-size: clamp(2.85rem, 13.5vw, 4.25rem);
  }

  .tj-taxonomy-hero__grid {
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }

  .tj-taxonomy-hero__illustration {
    justify-self: start;
    max-width: 16rem;
    opacity: 0.72;
  }

  .tj-taxonomy-hero__illustration img {
    max-height: 12rem;
    object-position: left center;
  }

  .tj-taxonomy-tree__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.65rem;
  }

  .tj-taxonomy-tree__links {
    grid-template-columns: 1fr;
  }

  .tj-taxonomy-grid__posts {
    grid-template-columns: 1fr !important;
  }

  .tj-editorial-grid {
    grid-template-columns: 1fr;
  }

  .tj-editorial-card {
    display: block;
  }

  .tj-editorial-card > .tj-taxonomy-card__media {
    margin-bottom: 1.75rem;
  }

  .tj-editorial-card:first-child:not(:only-child) {
    grid-column: auto;
  }

  .tj-editorial-grid--single .tj-editorial-card {
    display: block;
  }

  .tj-editorial-grid--single .tj-taxonomy-card__media {
    margin-bottom: 1.75rem;
  }

  .tj-taxonomy-grid__posts > .wp-block-post:first-child:not(:only-child) {
    grid-column: auto;
  }

  .tj-taxonomy-grid__posts > .wp-block-post:only-child .tj-taxonomy-card {
    display: block;
  }

  .tj-taxonomy-grid__posts > .wp-block-post:only-child .tj-taxonomy-card__media {
    margin-bottom: 1.75rem;
  }

  .tj-article-card {
    display: block !important;
  }

  .tj-article-card > .tj-taxonomy-card__media {
    margin-bottom: 1.5rem;
  }

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

@media (min-width: 783px) and (max-width: 1080px) {
  .tj-article__layout {
    gap: 3rem;
    grid-template-columns: minmax(0, 1fr) minmax(12rem, 14rem);
  }

  .tj-taxonomy-hero__grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(15rem, 0.75fr);
  }

  .tj-taxonomy-tree__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 560px) {
  .tj-directory__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tj-directory-card {
    min-height: 14rem;
    padding: 1rem;
  }

  .tj-directory-card__image {
    height: 56%;
    right: -0.2rem;
    top: 1.45rem;
    width: 94%;
  }

  .tj-directory-card__label {
    font-size: 0.54rem;
  }

  .tj-directory-card > strong {
    font-size: clamp(1.55rem, 7vw, 2.2rem);
  }

  .tj-directory-card__description {
    font-size: 0.66rem;
    line-height: 1.35;
    margin-top: 0.55rem;
    max-width: calc(100% - 1rem);
    min-height: 4.05em;
  }

  .tj-directory-card__link {
    bottom: 1rem;
    font-size: 0.56rem;
    margin-top: 0.75rem;
    position: absolute;
    right: 0.85rem;
  }

  .tj-directory-card__link .tj-link-arrow {
    transform: scale(0.82);
    transform-origin: right bottom;
  }
}

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

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Stała przezroczystość ilustracji, również podczas hovera. */
.tj-home-market-hub .tj-home-market-hub__art,
.tj-directory-card .tj-directory-card__image {
  opacity: 0.38 !important;
}

/* Urządzenia dotykowe: zachowaj skalę spoczynkową,
   bez powiększania po dotknięciu kafla. */
@media (hover: none), (pointer: coarse) {
  .tj-home-market-hub .tj-home-market-hub__art > img,
  .tj-directory-card .tj-directory-card__image img {
    transform: translate(1rem, -0.4rem) scale(0.95) !important;
    transition: none !important;
  }
}

/* Mobile: CTA znajduje się pod opisem, w normalnym układzie. */
@media (max-width: 782px) {
  .tj-directory-card__link {
    position: static;
    inset: auto;
    margin-top: 0.85rem;
    padding-top: 0;
    flex-wrap: wrap;
    flex-shrink: 0;
    line-height: 1.4;
  }

  .tj-directory-card__description {
    min-height: 0;
  }
}


/* Większa widoczność ilustracji — także na hoverze. */
.tj-home-market-hub .tj-home-market-hub__art,
.tj-directory-card .tj-directory-card__image {
  opacity: 0.25 !important;
  box-shadow: none !important;
}

/* Bez cienia i filtrów na grafikach. */
.tj-home-market-hub .tj-home-market-hub__art > img,
.tj-directory-card .tj-directory-card__image img {
  box-shadow: none !important;
  filter: none !important;
}

/* Wyłącz dekoracyjną poświatę kafli homepage. */
.tj-home-market-hub::before {
  display: none !important;
}

/* Komputer: tylko 2% powiększenia, bez przesuwania grafiki. */
@media (hover: hover) and (pointer: fine) {
  .tj-home-market-hub .tj-home-market-hub__art > img,
  .tj-directory-card .tj-directory-card__image img {
    transform: scale(1) !important;
  }

  .tj-home-market-hub:hover .tj-home-market-hub__art > img,
  .tj-directory-card:hover .tj-directory-card__image img {
    transform: scale(1.02) !important;
  }
}


/* Scoped full-width correction for Contact and Legal pages. */
.tj-contact.alignfull,
.tj-legal-main.alignfull {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  min-width: 0;
}
.tj-contact .tj-container--wide,
.tj-legal-main .tj-legal-page {
  width: 100%;
  max-width: calc(var(--tj-wide) + 2 * var(--tj-gutter));
  margin-inline: auto;
  min-width: 0;
  box-sizing: border-box;
}
.tj-contact__grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}
@media (max-width: 700px) {
  .tj-contact__grid { grid-template-columns: minmax(0, 1fr); }
}


/* Tape Journal — mobile navigation / header actions (2026-10) */
.tj-header__cart {
  align-items: center;
  color: var(--tj-ink);
  display: inline-flex;
  justify-content: center;
  min-height: 2.75rem;
  min-width: 2.5rem;
  position: relative;
  flex: 0 0 auto;
  white-space: nowrap;
  text-decoration: none;
}
.tj-header__cart:hover { color: var(--tj-brown); }
.tj-header__cart svg { display: block; height: 1.35rem; width: 1.35rem; }
.tj-header-cart-count:not(:empty) {
  align-items: center;
  background: var(--tj-brown);
  border-radius: 50%;
  color: var(--tj-paper);
  display: inline-flex;
  font-family: var(--tj-font-data);
  font-size: .58rem;
  height: 1.1rem;
  justify-content: center;
  line-height: 1;
  min-width: 1.1rem;
  padding-inline: .14rem;
  position: absolute;
  right: -.18rem;
  top: -.08rem;
  white-space: nowrap;
}
@media (max-width: 782px) {
  .tj-header__bar { grid-template-columns: minmax(0,1fr) auto; gap: .6rem; }
  .tj-header__brand img { max-width: min(42vw, 10rem); height: auto; max-height: 3.2rem; }
  .tj-header__actions { gap: .18rem; }
  .tj-header__buy { display: none; }
  .tj-header__cart { min-height: 2.6rem; min-width: 2.6rem; }
  .tj-mobile-toggle { padding-left: .4rem; min-width: 2.4rem; }
  .tj-mobile-navigation {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 8;
    max-height: calc(100dvh - 4.25rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1.35rem var(--tj-gutter) 2rem;
    box-shadow: 0 1.2rem 2rem rgba(27,11,6,.16);
  }
  .tj-mobile-navigation__eyebrow {
    color: var(--tj-ink-soft);
    font-family: var(--tj-font-data);
    font-size: .65rem;
    letter-spacing: .1em;
    margin: 0 0 1.1rem;
    text-transform: uppercase;
  }
  .tj-mobile-nav-group { border-bottom: 1px solid var(--tj-rule); }
  .tj-mobile-nav-group summary {
    align-items: center;
    color: var(--tj-ink);
    cursor: pointer;
    display: flex;
    font-family: var(--tj-font-display);
    font-size: clamp(1.65rem, 7vw, 2.1rem);
    justify-content: space-between;
    list-style: none;
    padding: 1.1rem 0;
  }
  .tj-mobile-nav-group summary::-webkit-details-marker { display: none; }
  .tj-mobile-nav-group__chevron {
    border-bottom: 1px solid currentColor;
    border-right: 1px solid currentColor;
    height: .55rem;
    transform: rotate(45deg);
    transition: transform 160ms ease;
    width: .55rem;
  }
  .tj-mobile-nav-group[open] .tj-mobile-nav-group__chevron { transform: rotate(225deg); }
  .tj-mobile-nav-group__links { padding: 0 0 1.15rem 1rem; }
  .tj-mobile-navigation .tj-mobile-nav-group__links a {
    border: 0;
    color: var(--tj-ink-soft);
    font-family: var(--tj-font-body);
    font-size: .85rem;
    line-height: 1.4;
    padding: .68rem 0;
  }
  .tj-mobile-navigation .tj-mobile-nav-group__links .tj-mobile-nav-group__all {
    color: var(--tj-brown);
    font-weight: 600;
  }
  .tj-mobile-navigation .tj-mobile-navigation__buy {
    background: var(--tj-brown);
    border: 0;
    color: var(--tj-paper);
    display: flex;
    font-family: var(--tj-font-data);
    font-size: .7rem;
    justify-content: space-between;
    letter-spacing: .08em;
    margin-top: 1.65rem;
    padding: 1rem 1.2rem;
    text-transform: uppercase;
  }
  .tj-mobile-navigation .tj-mobile-navigation__shipping {
    border: 0;
    font-family: var(--tj-font-body);
    font-size: .8rem;
  }
}
@media (max-width: 370px) {
  .tj-header__brand img { max-width: 38vw; }
  .tj-header__actions { gap: 0; }
}


/* Mobile navigation: clear hierarchy, primary purchase CTA, contact footer. */
@media (max-width: 782px) {
  .tj-header__actions { display: flex; align-items: center; flex-wrap: nowrap; }
  .tj-header__cart { display: inline-flex; flex-direction: row; flex-wrap: nowrap; }
  .tj-header-cart-count:not(:empty) { margin: 0; text-decoration: none; }
  .tj-mobile-navigation {
    padding-top: 1.3rem;
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
    max-height: calc(100dvh - 4.75rem);
  }
  .tj-mobile-navigation .tj-mobile-navigation__buy {
    align-items: center;
    margin: 0 0 1.4rem;
    padding: 1.05rem 1.25rem;
    min-height: 3.25rem;
  }
  .tj-mobile-nav-group summary { font-size: clamp(1.5rem, 6.4vw, 1.9rem); padding: .95rem 0; }
  .tj-mobile-nav-group__links { padding-left: .85rem; }
  .tj-mobile-navigation__footer {
    border-top: 1px solid var(--tj-rule);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .95rem;
    margin-top: 1.65rem;
    padding-top: 1.35rem;
  }
  .tj-mobile-navigation .tj-mobile-navigation__footer a {
    align-items: center;
    border: 0;
    color: var(--tj-ink-soft);
    display: inline-flex;
    font-family: var(--tj-font-body);
    font-size: .83rem;
    gap: .65rem;
    line-height: 1.4;
    padding: .15rem 0;
    text-decoration: none;
    text-transform: none;
  }
  .tj-mobile-navigation__footer svg { height: 1.1rem; width: 1.1rem; flex: 0 0 auto; }
  .tj-mobile-navigation .tj-mobile-navigation__footer a:hover { color: var(--tj-brown); }
}



/* Outline buttons: readable hover state (2026-10). */
.tj-button--outline:hover,
.tj-button--outline:focus-visible,
.is-style-outline > .wp-block-button__link:hover {
  background: var(--tj-brown);
  border-color: var(--tj-brown);
  color: var(--tj-paper) !important;
}

/* Header actions: more breathing room on desktop (2026-10). */
@media (min-width: 783px) {
  .tj-header__actions { gap: .5rem; }
  .tj-header__actions .tj-header__cart { min-width: 2.75rem; }
  .tj-header__buy {
    gap: .7rem;
    margin-left: .9rem;
    min-height: 2.75rem;
    padding-inline: 1.35rem;
    letter-spacing: .1em;
  }
}

@media (min-width: 1280px) {
  .tj-header__nav { gap: .5rem; }
  .tj-nav-trigger { padding-inline: 1rem; }
  .tj-nav-trigger::after { left: 1rem; right: 1rem; }
  .tj-header__actions { gap: .75rem; }
  .tj-header__buy { margin-left: 1.25rem; padding-inline: 1.5rem; }
}

/* Tape Journal social links — desktop strip, mobile navigation, footer */
.tj-social-strip { border-bottom: 1px solid var(--tj-rule); background: var(--tj-paper); }
.tj-social-strip__inner { display:flex; align-items:center; justify-content:space-between; min-height: 2.15rem; gap: 1rem; }
.tj-social-strip__links { display:flex; align-items:center; gap:.85rem; }
.tj-social-strip__label, .tj-social-strip__motto { font-family:var(--tj-font-data); font-size:.59rem; letter-spacing:.115em; color:var(--tj-ink-soft); }
.tj-social-strip__links a, .tj-footer__social a { display:inline-flex; align-items:center; justify-content:center; width:1.65rem; height:1.65rem; color:var(--tj-ink-soft); transition:color .18s ease, transform .18s ease; }
.tj-social-strip__links a:hover, .tj-social-strip__links a:focus-visible { color:var(--tj-brown); transform:translateY(-1px); }
.tj-social-strip__links svg, .tj-footer__social svg { width:1.05rem; height:1.05rem; }
.tj-footer__social { display:flex; align-items:center; gap:.8rem; margin-top:1.25rem; }
.tj-footer__social a { color:var(--tj-paper); opacity:.7; }
.tj-footer__social a:hover, .tj-footer__social a:focus-visible { opacity:1; color:var(--tj-kraft); transform:translateY(-1px); }
.tj-mobile-social-links { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; }
.tj-mobile-navigation .tj-mobile-navigation__footer .tj-mobile-social-links a { display:inline-flex; flex-direction:column; align-items:center; gap:.3rem; min-width:3.6rem; font-size:.67rem; padding:.3rem; text-align:center; }
.tj-mobile-navigation__footer .tj-mobile-social-links svg { width:1.2rem; height:1.2rem; }
@media (max-width:782px) { .tj-social-strip { display:none; } }
@media (prefers-reduced-motion:reduce) { .tj-social-strip__links a, .tj-footer__social a { transition:none; } }



/* ==========================================
   TAPE JOURNAL — ARTICLE CHARTS & TABLES
   ========================================== */

/* Kolorystyka */
.tj-article-content .tj-financial-article {
  --tj-chart-dark: #513321;
  --tj-chart-brown: #987357;
  --tj-chart-light: #c8ae98;
  --tj-chart-bg: #f8f4ed;
  --tj-chart-border: rgba(50, 18, 0, 0.13);
}

/* ==========================================
   KAFELKI STATYSTYK
   ========================================== */

.tj-article-content .tj-article-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0;
}

.tj-article-content .tj-article-stats > div {
  min-width: 0;
  padding: 20px !important;
  background: #f6f2ee !important;
  border: 1px solid rgba(50, 18, 0, 0.10);
  border-radius: 12px !important;
}

.tj-article-content .tj-article-stats span {
  display: block;
  color: #74675d;
  font-size: 13px;
  line-height: 1.5;
}

.tj-article-content .tj-article-stats strong {
  display: block;
  margin-top: 6px;
  font-size: clamp(18px, 2.4vw, 25px);
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}

/* ==========================================
   TABELE FINANSOWE
   ========================================== */

.tj-article-content .tj-article-table-wrap {
  max-width: 100%;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  margin: 24px 0 !important;
  border: 1px solid rgba(50, 18, 0, 0.15);
  border-radius: 12px;
}

.tj-article-content .tj-article-table-wrap .tj-table-scroll {
  margin: 0;
  max-width: none;
  overflow-x: visible;
}

.tj-article-content table.tj-article-table {
  width: 100%;
  min-width: 500px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  line-height: 1.5;
}

.tj-article-content .tj-article-table th {
  padding: 13px 14px !important;
  background: #ede3d6 !important;
  color: #3e261a;
  font-size: 12px;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  white-space: nowrap;
  border: 0 !important;
  border-bottom: 1px solid #d8c9ba !important;
}

.tj-article-content .tj-article-table td {
  padding: 13px 14px !important;
  background: transparent;
  border: 0 !important;
  border-bottom: 1px solid rgba(50, 18, 0, 0.10) !important;
}

.tj-article-content .tj-article-table tbody tr:nth-child(even) td {
  background: rgba(169, 122, 75, 0.055);
}

.tj-article-content .tj-article-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

.tj-article-content .tj-article-table td strong {
  font-weight: 650;
}

/* ==========================================
   WSPÓLNY WYGLĄD WYKRESÓW
   ========================================== */

.tj-article-content .tj-article-chart {
  max-width: 100%;
  padding: 24px !important;
  margin: 30px 0 !important;
  background: #f8f4ed !important;
  border: 1px solid rgba(50, 18, 0, 0.14) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(50, 18, 0, 0.035);
}

.tj-article-content .tj-article-chart__head {
  margin-bottom: 22px !important;
}

.tj-article-content .tj-article-chart__head strong {
  display: block;
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -0.02em;
}

.tj-article-content .tj-article-chart__head span {
  display: block;
  margin-top: 5px;
  color: #756a60;
  font-size: 13px;
}

.tj-article-content .tj-article-chart p:last-child {
  font-size: 12px !important;
  line-height: 1.6;
  color: #756a60;
}

/* ==========================================
   POZIOME WYKRESY SŁUPKOWE
   ========================================== */

.tj-article-content .tj-article-chart--bar
.tj-article-chart__body > div {
  grid-template-columns: 95px minmax(0, 1fr) 50px !important;
  align-items: center;
}

.tj-article-content .tj-article-chart--bar
.tj-article-chart__body > div > div {
  background: #e7ddd3 !important;
  border-radius: 5px;
  overflow: hidden;
}

.tj-article-content .tj-article-chart--bar
.tj-article-chart__body > div > div > div {
  border-radius: 5px;
  transition: width 0.35s ease;
}

/* ==========================================
   PIONOWE WYKRESY SŁUPKOWE
   ========================================== */

.tj-article-content .tj-article-chart--columns
.tj-article-chart__body {
  gap: 20px !important;
}

.tj-article-content .tj-article-chart--columns
.tj-article-chart__body > div {
  min-width: 0;
}

.tj-article-content .tj-article-chart--columns
.tj-article-chart__body strong {
  font-size: 14px;
  font-weight: 650;
}

/* ==========================================
   ZDJĘCIA W ARTYKUŁACH
   ========================================== */

.tj-article-content figure.tj-article-figure {
  margin: 30px 0;
}

.tj-article-content figure.tj-article-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.tj-article-content figure.tj-article-figure figcaption {
  margin-top: 10px;
  color: #777;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

/* ==========================================
   TRADINGVIEW W ARTYKUŁACH
   ========================================== */

.tj-article-content .tj-article-market-chart {
  max-width: 100%;
  margin: 32px 0 !important;
  padding: 22px;
  background: #f8f4ed;
  border: 1px solid rgba(50, 18, 0, 0.14);
  border-radius: 16px;
  overflow: hidden;
}

.tj-article-content .tj-article-market-chart
.tradingview-widget-container {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 9px;
}

.tj-article-content .tj-article-market-chart
.tj-archive-market-chart__head h3 {
  margin: 5px 0 10px;
}

.tj-article-content .tj-article-market-chart
.tj-archive-market-chart__note {
  font-size: 12px;
  line-height: 1.6;
  color: #74675d;
}

/* ==========================================
   RESPONSYWNOŚĆ — MOBILE
   ========================================== */

@media (max-width: 640px) {

  .tj-article-content .tj-article-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .tj-article-content .tj-article-stats > div {
    padding: 14px !important;
  }

  .tj-article-content .tj-article-stats > div:last-child {
    grid-column: 1 / -1;
  }

  .tj-article-content .tj-article-stats strong {
    font-size: 20px;
  }

  .tj-article-content .tj-article-table-wrap {
    margin: 18px 0 !important;
  }

  .tj-article-content .tj-article-chart {
    padding: 16px !important;
    margin: 24px 0 !important;
  }

  .tj-article-content .tj-article-chart--bar
  .tj-article-chart__body > div {
    grid-template-columns: 74px minmax(0, 1fr) 45px !important;
    gap: 8px !important;
  }

  .tj-article-content .tj-article-chart--bar
  .tj-article-chart__body span {
    font-size: 11px !important;
  }

  .tj-article-content .tj-article-chart--columns
  .tj-article-chart__body {
    height: 180px !important;
    gap: 10px !important;
  }

  .tj-article-content .tj-article-market-chart {
    padding: 12px;
    margin: 24px 0 !important;
  }
}



/* ==========================================
   TAPE JOURNAL — FINANCIAL CHARTS v2.0
   Bar / Line / Positive / Negative / Zero
   ========================================== */

/* Main chart container */

.tj-article-content .tj-data-chart {
  --tj-graph: #573b2a;
  --tj-graph-soft: #b49b86;
  --tj-graph-negative: #a8453d;
  --tj-graph-paper: #f8f4ed;
  --tj-graph-track: #e7ddd3;
  --tj-graph-grid: #d9cbbd;

  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;

  margin: 30px 0;
  padding: clamp(16px, 3vw, 26px);

  background: var(--tj-graph-paper);
  border: 1px solid #e3d8ca;
  border-radius: 16px;
  overflow: hidden;
}

.tj-article-content .tj-data-chart [hidden] {
  display: none !important;
}

/* Chart heading */

.tj-article-content .tj-chart2 {
  display: block;
  width: 100%;
  min-width: 0;
}

.tj-article-content .tj-chart2-title {
  display: block;
  margin: 0 0 8px;
  color: #30231a;

  font-family: var(--tj-font-body);
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 700;
  line-height: 1.3;
}

.tj-article-content .tj-chart2-subtitle {
  margin: 0 0 26px;
  color: #74685e;

  font-family: var(--tj-font-body);
  font-size: 13px;
  line-height: 1.6;
}

/* ==========================================
   HORIZONTAL BAR CHARTS
   ========================================== */

.tj-article-content .tj-chart2-bars {
  display: grid;
  gap: 18px;
  width: 100%;
  min-width: 0;
  margin: 8px 0 0;
}

.tj-article-content .tj-chart2-row {
  display: grid;
  grid-template-columns: minmax(100px, 155px) minmax(0, 1fr) minmax(64px, auto);
  align-items: center;
  column-gap: 14px;
  width: 100%;
  min-width: 0;
}

.tj-article-content .tj-chart2-label {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;

  color: #584a3f;
  font-family: var(--tj-font-body);
  font-size: 13px;
  line-height: 1.4;
}

/* Track */

.tj-article-content .tj-chart2-track {
  display: block;
  position: relative;
  width: 100%;
  height: 26px;
  min-width: 0;

  background: var(--tj-graph-track);
  border-radius: 6px;
  overflow: hidden;
}

/* Bar fill */

.tj-article-content .tj-chart2-fill {
  display: block;
  position: relative;
  width: var(--tj-chart2-width, 0%);
  max-width: 100%;
  height: 100%;
  min-height: 100%;

  background: var(--tj-graph-soft);
  border-radius: 5px;

  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

.tj-article-content .tj-chart2-fill--latest {
  background: var(--tj-graph);
}

.tj-article-content .tj-chart2-fill--forecast {
  background: repeating-linear-gradient(
    -45deg,
    #cab8a8 0 8px,
    #e6dbd1 8px 16px
  );
}

/* Negative values */

.tj-article-content .tj-chart2-fill--negative {
  background: var(--tj-graph-negative);
  border-radius: 5px 0 0 5px;
  transform-origin: right center;
}

/* Signed chart: negative left, positive right */

.tj-article-content .tj-chart2-bars--signed
.tj-chart2-track {
  display: flex;
  align-items: stretch;
  position: relative;
  overflow: hidden;
}

.tj-article-content .tj-chart2-half {
  display: flex;
  align-items: center;
  width: 50%;
  min-width: 0;
  height: 100%;
  overflow: hidden;
}

.tj-article-content .tj-chart2-half--negative {
  justify-content: flex-end;
}

.tj-article-content .tj-chart2-half--positive {
  justify-content: flex-start;
}

.tj-article-content .tj-chart2-bars--signed
.tj-chart2-track::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;

  background: #907e70;
  z-index: 2;
  pointer-events: none;
}

/* Displayed numeric values */

.tj-article-content .tj-chart2-number {
  display: block;
  min-width: 0;

  color: #3f2b1f;
  font-family: var(--tj-font-data);
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
  text-align: right;
  white-space: nowrap;

  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 450ms ease,
    transform 450ms ease;
}

.tj-article-content .tj-chart2-number--negative {
  color: var(--tj-graph-negative);
}

.tj-article-content .tj-chart2-note {
  margin: 14px 0 0;
  color: #786c61;

  font-family: var(--tj-font-data);
  font-size: 10px;
  line-height: 1.65;
  letter-spacing: 0.01em;
}

/* ==========================================
   LINE CHARTS / SVG
   ========================================== */

.tj-article-content .tj-chart2-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.tj-article-content .tj-chart2-scroll--wide {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.tj-article-content .tj-chart2-scroll:focus-visible {
  outline: 2px solid var(--tj-kraft);
  outline-offset: -2px;
}

.tj-article-content .tj-chart2-svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  overflow: visible;

  font-family: var(--tj-font-data);
}

/* Horizontal axis / grid */

.tj-article-content .tj-chart2-grid {
  stroke: var(--tj-graph-grid);
  stroke-width: 1;
  stroke-dasharray: 4 5;
}

.tj-article-content .tj-chart2-zero {
  stroke: #907e70;
  stroke-width: 1.5;
}

.tj-article-content .tj-chart2-tick {
  fill: #7b6d61;
  font-size: 12px;
  font-weight: 400;
}

.tj-article-content .tj-chart2-xlabel {
  fill: #7b6d61;
  font-size: 12px;
  font-weight: 400;
}

/* Area underneath line */

.tj-article-content .tj-chart2-area {
  fill: var(--tj-graph);
  opacity: 0.09;
  pointer-events: none;
}

/* Main line */

.tj-article-content .tj-chart2-line {
  fill: none;
  stroke: var(--tj-graph);
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;

  stroke-dasharray: 1;
  stroke-dashoffset: 1;

  vector-effect: non-scaling-stroke;
}

/* Data points */

.tj-article-content .tj-chart2-dot {
  fill: var(--tj-graph);
  stroke: var(--tj-graph-paper);
  stroke-width: 3;

  opacity: 0;
  transform: scale(0.25);
  transform-box: fill-box;
  transform-origin: center;
}

/* Labels above/below points */

.tj-article-content .tj-chart2-point-value {
  fill: #3a2b22;

  font-family: var(--tj-font-data);
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;

  opacity: 0;
  transition: opacity 350ms ease;
}

/* ==========================================
   ANIMATIONS
   ========================================== */

@keyframes tj-chart2-line-draw {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes tj-chart2-bar-grow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes tj-chart2-dot-in {
  from {
    opacity: 0;
    transform: scale(0.25);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Activate on viewport entry */

.tj-article-content
.tj-data-chart.tj-chart2-visible
.tj-chart2-fill {
  animation:
    tj-chart2-bar-grow
    900ms cubic-bezier(.16, 1, .3, 1)
    both;

  animation-delay: var(--tj-chart2-delay, 0s);
}

.tj-article-content
.tj-data-chart.tj-chart2-visible
.tj-chart2-number {
  opacity: 1;
  transform: translateY(0);
}

.tj-article-content
.tj-data-chart.tj-chart2-visible
.tj-chart2-line {
  animation:
    tj-chart2-line-draw
    1500ms cubic-bezier(.2, .7, .2, 1)
    both;
}

.tj-article-content
.tj-data-chart.tj-chart2-visible
.tj-chart2-dot {
  animation:
    tj-chart2-dot-in
    320ms ease both;

  animation-delay: var(--tj-chart2-delay, .5s);
}

.tj-article-content
.tj-data-chart.tj-chart2-visible
.tj-chart2-point-value {
  opacity: 1;
  transition-delay: var(--tj-chart2-delay, .5s);
}

/* ==========================================
   SOURCE / FALLBACK
   ========================================== */

.tj-article-content .tj-data-chart__source,
.tj-article-content .tj-data-chart > figcaption {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;

  margin: 22px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid rgba(50, 18, 0, .12);

  color: #756a60;
  font-family: var(--tj-font-body);
  font-size: 12px;
  line-height: 1.7;
  text-align: left;
  overflow-wrap: anywhere;
}

.tj-article-content .tj-data-chart__fallback {
  margin: 12px 0 0;
  color: #6a5a50;
  font-size: 14px;
  line-height: 1.65;
}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 767px) {
  .tj-article-content .tj-data-chart {
    margin: 24px 0;
    padding: 16px 14px;
    border-radius: 12px;
  }

  .tj-article-content .tj-chart2-subtitle {
    font-size: 12px;
    margin-bottom: 22px;
  }

  .tj-article-content .tj-chart2-bars {
    gap: 18px;
  }

  .tj-article-content .tj-chart2-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
  }

  .tj-article-content .tj-chart2-label {
    grid-column: 1 / -1;
    font-size: 13px;
  }

  .tj-article-content .tj-chart2-track {
    grid-column: 1;
    grid-row: 2;
    height: 23px;
  }

  .tj-article-content .tj-chart2-number {
    grid-column: 2;
    grid-row: 2;
    font-size: 12px;
  }

  /* Horizontal scroll for dense line charts */
 .tj-article-content .tj-chart2-scroll--wide .tj-chart2-svg {
  width: max(100%, 760px);
  max-width: none;
}

  .tj-article-content .tj-chart2-tick,
  .tj-article-content .tj-chart2-xlabel {
    font-size: 11px;
  }

  .tj-article-content .tj-chart2-point-value {
    font-size: 11px;
  }

  .tj-article-content .tj-chart2-note {
    font-size: 10px;
  }

  .tj-article-content .tj-data-chart__source,
  .tj-article-content .tj-data-chart > figcaption {
    font-size: 11px;
    line-height: 1.65;
  }
}

@media (max-width: 420px) {
  .tj-article-content .tj-chart2-row {
    grid-template-columns: minmax(0, 1fr) minmax(70px, auto);
    gap: 8px;
  }

  .tj-article-content .tj-chart2-label {
    font-size: 12px;
  }

  .tj-article-content .tj-chart2-track {
    height: 21px;
  }

  .tj-article-content .tj-chart2-number {
    font-size: 11px;
  }
}

/* ==========================================
   ACCESSIBILITY / REDUCED MOTION
   ========================================== */

@media (prefers-reduced-motion: reduce) {
  .tj-article-content .tj-chart2-fill {
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  .tj-article-content .tj-chart2-line {
    stroke-dashoffset: 0 !important;
    animation: none !important;
  }

  .tj-article-content .tj-chart2-dot {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .tj-article-content .tj-chart2-number,
  .tj-article-content .tj-chart2-point-value {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}




/* ==========================================
   TAPE JOURNAL — FINANCIAL GLOSSARY
   ========================================== */

.tj-article-content .tj-term {
  display: inline;
  appearance: none;
  -webkit-appearance: none;

  border: 0;
  border-bottom: 1px dotted #967354;
  border-radius: 0;

  padding: 0;
  margin: 0;

  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  line-height: inherit;
  text-align: inherit;
  vertical-align: baseline;

  cursor: help;
  text-decoration: none;

  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.tj-article-content .tj-term:hover,
.tj-article-content .tj-term:focus-visible {
  color: #855b3c;
  border-bottom-color: #855b3c;
}

.tj-article-content .tj-term:focus-visible {
  outline: 2px solid #b99470;
  outline-offset: 3px;
}

/* Tooltip */
.tj-glossary-tooltip {
  position: fixed;
  z-index: 99999;

  max-width: calc(100vw - 24px);
  box-sizing: border-box;

  padding: 15px 18px;

  background: #fcf8f2;
  border: 1px solid #e3d6c6;
  border-radius: 12px;

  color: #3c3028;

  box-shadow:
    0 10px 35px rgba(52, 35, 20, 0.12),
    0 2px 8px rgba(52, 35, 20, 0.06);

  pointer-events: none;
}

.tj-glossary-tooltip[hidden] {
  display: none !important;
}

.tj-glossary-tooltip__title {
  display: block;

  margin: 0 0 7px;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;

  color: #48301f;
}

.tj-glossary-tooltip__description {
  display: block;

  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;

  color: #66584d;
}

@media (max-width: 767px) {
  .tj-article-content .tj-term {
    cursor: pointer;
    border-bottom-style: dashed;
  }

  .tj-glossary-tooltip {
    padding: 13px 15px;
    border-radius: 10px;
  }

  .tj-glossary-tooltip__title {
    font-size: 13px;
  }

  .tj-glossary-tooltip__description {
    font-size: 12px;
    line-height: 1.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tj-article-content .tj-term {
    transition: none;
  }
}

/* Tape Journal — większe liczby na wykresach */

.tj-article-content .tj-chart2-point-value {
  font-size: 15px;
}

.tj-article-content .tj-chart2-tick,
.tj-article-content .tj-chart2-xlabel {
  font-size: 14px;
}

.tj-article-content .tj-chart2-number {
  font-size: 15px;
}

@media (max-width: 767px) {
  .tj-article-content .tj-chart2-point-value {
    font-size: 15px;
  }

  .tj-article-content .tj-chart2-tick,
  .tj-article-content .tj-chart2-xlabel {
    font-size: 13px;
  }

  .tj-article-content .tj-chart2-number {
    font-size: 14px;
  }
}

/* Tape Journal — Back to top */

.tj-back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 100;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 46px;
  height: 46px;
  padding: 0;

  color: #f4efe5;
  background: #321200;
  border: 1px solid #321200;
  border-radius: 50%;

  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  pointer-events: none;

  box-shadow: 0 4px 16px rgba(27, 11, 6, 0.15);

  transition:
    opacity 250ms ease,
    visibility 250ms ease,
    transform 250ms ease,
    background 200ms ease;
}

.tj-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.tj-back-to-top:hover {
  background: #573b2a;
  transform: translateY(-3px);
}

.tj-back-to-top svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Mobile */
@media (max-width: 767px) {
  .tj-back-to-top {
    right: 16px;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    width: 42px;
    height: 42px;
  }

  .tj-back-to-top svg {
    width: 18px;
    height: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tj-back-to-top {
    transition: none;
  }
}