/* Newsroom dimensions are the common content boundary. Keep full-bleed backgrounds. */
:root {
  --site-content-width: 1240px;
  --site-gutter: 24px;
  --site-column-gap: 32px;
  --site-section-space: 56px;
  --site-title-size: clamp(32px, 3.1vw, 44px);
  --site-muted: #69727b;
  --site-line: #e4e8ec;
}
body :is(.nr-page, .pb-page .pb-shell, .pmd .pmd-wrap, .pl-page .pl-wrap,
  .pp-page .container, .px-tool-container, .article-main .innerWrap > .container,
  .pxe-listing-inner, .blog-detail-inner) {
  box-sizing: border-box;
  width: min(var(--site-content-width), calc(100% - 2 * var(--site-gutter)));
  max-width: var(--site-content-width);
  margin-inline: auto;
  padding-inline: 0;
}
body .article-main { padding-inline: 0; }
/* Product workspace chrome owns its sidebar; size only the available content area. */
body .px-shell__container {
  width: min(var(--site-content-width), calc(100% - 2 * var(--site-gutter)));
  max-width: var(--site-content-width);
  padding-inline: 0;
}
body .pb-page { padding-top: 38px; padding-bottom: var(--site-section-space); }
body .pb-list-head h1, body .pmd-directory-head h1 { font-size: var(--site-title-size); line-height: 1.15; }
body .pb-list-head p { line-height: 1.6; }
body .pb-list-head { padding-bottom: 30px; }
body .pb-list-layout { gap: var(--site-column-gap); }
body .pb-card-title { font-size: 20px; line-height: 1.35; }
body .pb-card-copy > p { font-size: 15px; line-height: 1.6; }
body .pb-feed-head h2 { font-size: 21px; }
body .pb-list-layout .pb-card { padding-block: 20px; gap: 20px; }
body .pb-reader-grid { grid-template-columns: minmax(0, 1fr) 300px; gap: var(--site-column-gap); }
body .pb-article-head { max-width: 780px; border: 0; padding-bottom: 0; }
body .pb-article-head h1 { max-width: 780px; font-size: clamp(34px, 4vw, 48px); font-weight: 600; line-height: 1.1; letter-spacing: -.03em; }
body .pb-dek { max-width: 720px; line-height: 1.6; }
body .pb-prose { font-size: 18px; line-height: 1.76; }
body .pb-article-meta { gap: 16px 20px; padding-bottom: 22px; border-bottom: 1px solid var(--site-line); font-size: 14px; line-height: 1.6; }
body .pb-author { gap: 12px; }
body .pb-page--article :is(.pb-avatar, .pb-author img) { width: 48px; height: 48px; flex-basis: 48px; }
body .pb-article-meta .pb-author strong { font-size: 16px; font-weight: 600; line-height: 1.4; }
body .pb-article-meta .pb-author small { font-size: 14px; line-height: 1.6; margin-top: 4px; }
body .pb-article-meta :is(.pb-dates, .pb-read-time) { font-size: 14px; color: var(--site-muted); }
body .pb-share { min-height: 44px; padding: 10px; font-size: 14px !important; border-radius: 10px; }
body .pb-share .pb-icon { width: 19px; height: 19px; flex-basis: 19px; }
body .article-main .row { grid-template-columns: minmax(0, 1fr) 300px; gap: var(--site-column-gap); }
body .article-main .article-content, body .pb-reading-column { width: 100%; max-width: 780px; }
body .pl-page .pl-section, body .pp-page .pp-section { padding-block: var(--site-section-space); }
body .pl-directory-visual .pl-directory-mascot { height: auto; }
body .pmd-layout { gap: var(--site-column-gap); }
@media (max-width: 991px) {
  body .article-main .row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 959px) {
  body .pb-reader-grid { gap: 28px; }
}
@media (max-width: 760px) {
  :root { --site-gutter: 16px; --site-column-gap: 24px; --site-section-space: 32px; }
  body .pb-page { padding-top: 26px; }
  body .pb-article-head h1 { font-size: 34px; line-height: 1.2; }
  body .pb-list-head { padding-bottom: 22px; }
  body .pb-article-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding-bottom: 20px; gap: 16px 12px; }
  body .pb-article-meta .pb-author { grid-column: 1; grid-row: 1; }
  body .pb-article-meta .pb-share { grid-column: 2; grid-row: 1; }
  body .pb-article-meta .pb-dates { grid-column: 1; grid-row: 2; padding: 0; border: 0; }
  body .pb-article-meta .pb-read-time { grid-column: 2; grid-row: 2; }
  body .pb-list-layout .pb-card-title { font-size: 20px; }
  body .pb-prose { font-size: 17px; }
}
@media print {
  body .pb-page .pb-shell { width: 100%; }
}
