@import url("dim-contact-footer-sticky.css");
/* Page: Publication (Figma 536:3184), 1512×2823px artboard; Safari chrome omitted */

:root {
  --pub-board-w: 1512px;
  --pub-board-h: 2823px;
  --pub-text: #595656;
}

.dim-pub { width: 100%; background: #fff; }
.dim-pub__scale-wrap { width: min(100vw, var(--pub-board-w)); margin-inline: auto; height: calc(var(--pub-board-h) * min(100vw, var(--pub-board-w)) / var(--pub-board-w)); position: relative; overflow: hidden; }
.dim-pub__board { position: absolute; left: 0; top: 0; width: var(--pub-board-w); height: var(--pub-board-h); transform-origin: top left; transform: scale(calc(min(100vw, var(--pub-board-w)) / var(--pub-board-w))); background: #fff; font-family: Inter, system-ui, -apple-system, sans-serif; color: var(--pub-text); }

/* Logo */
.dim-pub__logo { position: absolute; left: 64px; top: 138px; width: 213px; height: 58px; z-index: 6; display: block; }
.dim-pub__logo img { width: 100%; height: 100%; object-fit: contain; object-position: left top; display: block; }

/* Header BG */
.dim-pub__header-bg { position: absolute; left: 0; top: 89px; width: 1008px; height: 252px; background: #fff; z-index: 2; pointer-events: none; }

/* Heading */
.dim-pub__heading { position: absolute; left: 64px; top: 290px; transform: translateY(-50%); margin: 0; font-size: 16px; font-weight: 400; letter-spacing: -0.064px; line-height: 1; text-transform: uppercase; z-index: 6; }

/* Column header */
.dim-pub__col-header { position: absolute; left: 64px; top: 373px; width: 912px; height: 10px; display: flex; justify-content: space-between; align-items: flex-start; font-size: 10px; font-weight: 400; letter-spacing: -0.04px; line-height: 1; z-index: 3; }
.dim-pub__col-header span { margin: 0; }

/* Publication rows */
.dim-pub__row { position: absolute; left: 53px; width: 923px; a:link{ color: #595656; }; a:visited{ color: #595656; } }
.dim-pub__row-link { position: absolute; inset: 0; z-index: 1; a:link{ color: #595656; }; a:visited{ color: #595656; } }
.dim-pub__row-source-link { position: absolute; left: 11px; top: 0; width: 200px; height: 40px; z-index: 2; display: flex; align-items: center; gap: 0; text-decoration: none; color: inherit; }
.dim-pub__row-logo { position: absolute; left: 11px; top: 0; width: 40px; height: 40px; object-fit: contain; object-position: left top; display: block; }
.dim-pub__row-source { position: absolute; left: 59px; top: 15px; font-size: 11px; font-weight: 400; letter-spacing: -0.044px; line-height: 1; white-space: nowrap; }
.dim-pub__row-date { position: absolute; right: 0; top: 15px; font-size: 11px; font-weight: 400; letter-spacing: -0.044px; line-height: 1; }
.dim-pub__row-title { position: absolute; left: 11px; top: 56px; width: 912px; margin: 0; font-size: 13px; font-weight: 400; letter-spacing: -0.052px; line-height: 1.65; a:link{ color: #595656; }; a:visited{ color: #595656; } }

/* Text-only rows (no logo image) */
.dim-pub__row--text-only .dim-pub__row-source { left: 11px; top: 0; }
.dim-pub__row--text-only .dim-pub__row-title { top: 41px; }

/* Separator lines */
.dim-pub__sep { position: absolute; left: 53px; width: 922px; height: 1px; background: rgba(89, 86, 86, 0.15); }

/* Footer */
.dim-pub__footer { position: absolute; left: 0; top: 904px; width: 1512px; height: 78px; z-index: 4; background: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); }
.dim-pub__footer-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 64px; gap: 24px; font-size: 13px; font-weight: 400; letter-spacing: -0.052px; line-height: 1.35; color: var(--pub-text); }
.dim-pub__footer-col { flex: 0 1 auto; min-width: 0; }
.dim-pub__footer-col p { margin: 0; }
.dim-pub__footer-col--mid { text-align: center; flex: 1 1 auto; }
.dim-pub__footer-col--right { text-align: right; }
.dim-pub__footer a { color: var(--pub-text); text-decoration: none; }
.dim-pub__footer a:hover { text-decoration: underline; }

@media (max-width: 480px) {
  .dim-pub__footer-inner { padding: 0 20px; flex-wrap: wrap; justify-content: center; text-align: center; row-gap: 4px; }
  .dim-pub__footer-col--mid,
  .dim-pub__footer-col--right { text-align: center; }
}
