/* Blog and article pages only; colors are inherited from the existing theme variables. */
.dcs-blog-page .pbmit-tbar-title {
  max-width: 1040px;
  font-size: clamp(32px, 4.2vw, 64px);
  line-height: 1.16;
  letter-spacing: -0.025em;
  text-transform: none;
}
.dcs-blog-page .pbmit-breadcrumb-wrapper a:focus-visible {
  outline: 2px solid var(--pbmit-white-color);
  outline-offset: 4px;
}
.dcs-blog-directory .dcs-home-blog-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.dcs-blog-directory .dcs-home-blog-card { grid-column: span 6; }
.dcs-blog-directory .dcs-home-blog-card-featured { grid-row: span 2; }
.dcs-blog-directory .dcs-home-blog-card:nth-child(n+4) {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
}
.dcs-blog-directory .dcs-home-blog-card:nth-child(n+4) .dcs-home-blog-media { aspect-ratio: 16 / 9; }
.dcs-blog-directory .dcs-home-blog-card:nth-child(n+4) .dcs-home-blog-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.dcs-blog-directory .dcs-home-blog-links { margin-top: auto; padding-top: 18px; }
.dcs-article {
  padding-block: clamp(56px, 7vw, 100px);
  background: var(--pbmit-white-color);
  color: var(--pbmit-body-typography-color);
}
.dcs-article-heading { max-width: 1000px; margin: 0 0 52px; }
.dcs-article h1 {
  margin: 0;
  color: var(--pbmit-heading-color);
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.16;
  letter-spacing: -0.025em;
}
.dcs-article-summary { margin: 24px 0 0; max-width: 820px; font-size: 19px; line-height: 1.7; }
/* Same column widths as the service pages (.service-left-col 28% / .service-right-col 72%). */
.dcs-article-grid { display: grid; grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); gap: 0; margin-inline: -12px; align-items: start; }
.dcs-article-aside { min-width: 0; padding-inline: 12px; position: sticky; top: 135px; }
.dcs-article-aside .widget { margin-bottom: 0; }
.dcs-article-aside .all-post-list ul { margin: 0; padding: 0; list-style: none; }
.dcs-article-aside .all-post-list ul > li a { min-height: 44px; padding-block: 16px; padding-right: 56px; font-size: 16px; line-height: 1.45; text-transform: none; }
.dcs-article-aside .all-post-list ul > li:hover a,
.dcs-article-aside .all-post-list ul > li.post-active a { padding-left: 18px; }
.dcs-article-back { display: inline-flex; align-items: center; min-height: 44px; margin-top: 18px; color: var(--pbmit-blackish-color); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.dcs-article-body { min-width: 0; padding: 0 12px 0 80px; }
.dcs-article-image { margin: 0 0 36px; }
.dcs-article-image img { display: block; width: auto; max-width: 100%; height: auto; margin-inline: auto; border-radius: 12px; }
.dcs-article-image figcaption { margin-top: 12px; font-size: 13px; line-height: 1.6; }
/* Portrait photos: same frame width as landscape images, full photo shown over a blurred fill of itself. */
.dcs-article-image-frame {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  max-height: 760px;
  border-radius: 12px;
  background: var(--pbmit-blackish-color);
}
.dcs-article-image-portrait .dcs-article-image-backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: 0;
  filter: blur(32px) saturate(1.1);
  opacity: 0.75;
  transform: scale(1.2);
}
.dcs-article-image-portrait .dcs-article-image-main {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  filter: drop-shadow(0 12px 32px rgba(var(--pbmit-blackish-color-rgb), 0.45));
}
.dcs-article-prose { font-size: 17px; line-height: 1.85; }
.dcs-article h2 { margin: 40px 0 18px; color: var(--pbmit-heading-color); font-size: clamp(25px, 2.5vw, 32px); line-height: 1.25; letter-spacing: -0.02em; scroll-margin-top: 140px; }
.dcs-article-prose p { margin-bottom: 22px; }
.dcs-article-prose ul { padding-left: 24px; margin-bottom: 26px; }
.dcs-article-prose li { margin-bottom: 12px; }
.dcs-article-prose a,
.dcs-article-related a { color: var(--pbmit-blackish-color); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
/* Internal links in article text are emphasized; external references keep the regular weight. */
.dcs-article-prose a[href$=".php"],
.dcs-article-prose a[href*=".php?"],
.dcs-article-prose a[href*=".php#"] { font-weight: 700; }
.dcs-article-prose a:hover,
.dcs-article-related a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.dcs-article-related,
.dcs-article-contact { margin-top: 40px; padding-top: 12px; border-top: 1px solid var(--pbmit-light-color); }
.dcs-article-related ul { padding: 0; list-style: none; }
.dcs-article-related a { display: inline-flex; align-items: center; min-height: 44px; }
.dcs-article-contact p { margin-bottom: 24px; }
.dcs-article-contact .pbmit-btn { max-width: 100%; }
.dcs-article a:focus-visible,
.dcs-article summary:focus-visible { outline: 2px solid var(--pbmit-blackish-color); outline-offset: 4px; }
.dcs-article-not-found .container { max-width: 850px; }
.dcs-article-not-found p { margin-top: 24px; }
@media (min-width: 768px) and (max-width: 1023px) {
  .dcs-blog-directory .dcs-home-blog-card-featured { grid-column: 1 / -1; grid-row: auto; }
  .dcs-blog-directory .dcs-home-blog-card:nth-child(n+4) { grid-column: span 6; }
}
@media (max-width: 1023px) {
  .dcs-article-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; margin-inline: 0; }
  .dcs-article-aside { position: static; padding-inline: 0; }
  .dcs-article-body { padding: 0; }
}
@media (min-width: 1024px) and (max-width: 1200px) {
  .dcs-article-body { padding-left: 44px; }
}
@media (max-width: 767px) {
  .dcs-article-image-frame { aspect-ratio: 4 / 5; max-height: 78vh; }
  .dcs-blog-directory .dcs-home-blog-card,
  .dcs-blog-directory .dcs-home-blog-card:nth-child(n+4) { grid-column: 1 / -1; grid-row: auto; }
  .dcs-article-heading { margin-bottom: 30px; }
  .dcs-article-summary { font-size: 17px; }
  .dcs-article-contact .pbmit-btn { padding: 14px 18px; }
  .dcs-article-contact .pbmit-btn-content-wrapper { gap: 12px; }
  .dcs-article-contact .pbmit-btn-text { font-size: 16px; }
}
