/* ============ Publications (light band in both themes): article details left, a preview of the published page right ============ */
.pubs__head, .pubs__list, .pubs__also { width: 900px; max-width: 100%; margin-left: auto; margin-right: auto; }
.pubs__list { margin-top: 100px; display: flex; flex-direction: column; gap: 20px; }

.pub { display: grid; grid-template-columns: 1fr 1.15fr; gap: 36px; align-items: center; padding: 32px;
  background: var(--surface); border-radius: 24px; box-shadow: 0 8px 20px rgba(0,0,0,.05); }
.pub__outlet { display: block; font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.pub h3 { margin-top: 14px; font-size: 28px; line-height: 1.12; letter-spacing: -0.03em; font-weight: 500; }
.pub__meta { margin-top: 12px; font-size: 14px; font-weight: 400; letter-spacing: -0.02em; color: var(--text-2); }
.pub p { margin-top: 18px; font-size: 16px; line-height: 1.35; font-weight: 400; letter-spacing: -0.02em; color: var(--text-2); }
.pub .btn { margin-top: 24px; }

/* the preview sits in a small browser frame and opens the article */
.pub__preview { display: block; border-radius: 14px; overflow: hidden; background: var(--surface-2);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 18px 40px rgba(0,0,0,.08); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.pub__preview:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 26px 50px rgba(0,0,0,.12); }
.pub__bar { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; background: var(--surface-2);
  font-size: 12px; font-weight: 400; letter-spacing: -0.01em; color: var(--text-2); }
.pub__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(0,0,0,.15); }
.pub__bar span { margin-left: 8px; }
.pub__preview img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 0; }

.pubs__also { margin-top: 28px; font-size: 16px; font-weight: 400; letter-spacing: -0.02em; color: var(--text-2); }

@media (max-width: 809px) {
  .pubs__list { margin-top: 60px; }
  .pub { grid-template-columns: 1fr; gap: 20px; padding: 20px; border-radius: 20px; }
  .pub__preview { order: -1; }
  .pub h3 { font-size: 24px; }
}

