.article-page {
  min-height: 100vh;
  background: var(--color-bg-light);
}

.article-page__shell {
  max-width: var(--container);
  padding-top: 58px;
  padding-bottom: 70px;
}

.article-page__layout {
  display: grid;
  align-items: start;
  gap: 56px;
  grid-template-columns: minmax(0, 1fr) 300px;
}

.article-page__main { min-width: 0; }

.article-page__blocks {
  display: grid;
  gap: 44px;
  margin-top: 50px;
}

.dacon-article-intro {
  padding: 28px 30px;
  border-left: 4px solid var(--color-accent);
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
  background: #fff;
  color: var(--color-title);
  font-size: 18px;
  line-height: 1.65;
}

.dacon-article-intro > :first-child,
.dacon-cms-prose > :first-child { margin-top: 0; }

.dacon-article-intro > :last-child,
.dacon-cms-prose > :last-child { margin-bottom: 0; }

.dacon-cms-prose h1,
.dacon-cms-prose h2,
.dacon-cms-prose h3,
.dacon-cms-prose h4 { margin: 36px 0 18px; color: var(--color-title); }

.dacon-cms-prose h1 { font-size: 38px; }
.dacon-cms-prose h2 { font-size: 34px; }
.dacon-cms-prose h3 { font-size: 26px; }
.dacon-cms-prose h4 { font-size: 21px; }

.dacon-cms-prose p,
.dacon-cms-prose li,
.dacon-cms-prose td,
.dacon-cms-prose th { color: var(--color-text); font-size: 18px; line-height: 1.72; }

.dacon-cms-prose p { margin: 0 0 18px; }
.dacon-cms-prose ul,
.dacon-cms-prose ol { margin: 20px 0; padding-left: 28px; }
.dacon-cms-prose ul { display: block; list-style: disc; }
.dacon-cms-prose li { padding-left: 4px; margin-bottom: 9px; }
.dacon-cms-prose li::before { display: none; }
.dacon-cms-prose a { color: var(--color-accent); overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }
.dacon-cms-prose img { max-width: 100%; height: auto; border-radius: var(--radius-control); }
.dacon-cms-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.dacon-cms-prose td,
.dacon-cms-prose th { min-width: 140px; padding: 12px 14px; border: 1px solid var(--color-border); }

.dacon-cms-prose blockquote {
  position: relative;
  margin: 34px 0;
  padding: 32px 76px 32px 34px;
  border: 0;
  border-left: 4px solid var(--color-accent);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  color: var(--color-title);
  background: #fff;
  box-shadow: 0 16px 44px rgba(39, 45, 49, .06);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

.dacon-cms-prose blockquote::after {
  position: absolute;
  top: 12px;
  right: 24px;
  color: rgba(255, 99, 68, .16);
  font-size: 82px;
  font-weight: 900;
  line-height: 1;
  content: "“";
}

.dacon-cms-prose blockquote > :last-child { margin-bottom: 0; }
.dacon-anchor-target { height: 0; scroll-margin-top: 120px; }

.article-actions--footer { margin-top: 50px; padding-top: 26px; border-top: 1px solid var(--color-border); }

.dacon-article-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.dacon-article-gallery figure { margin: 0; border-radius: var(--radius-control); overflow: hidden; background: #fff; }
.dacon-article-gallery img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }

@media (max-width: 1080px) {
  .article-page__layout { gap: 36px; grid-template-columns: minmax(0, 1fr) 275px; }
}

@media (max-width: 920px) {
  .article-page__layout { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.article-page__shell { padding-top: 38px; padding-bottom: 48px; }
	.article-page__blocks { gap: 34px; margin-top: 38px; }
	.dacon-article-intro { padding: 22px 20px; font-size: 16px; }
	.dacon-cms-prose h1 { font-size: 29px; }
	.dacon-cms-prose h2 { font-size: 27px; }
	.dacon-cms-prose h3 { font-size: 23px; }
	.dacon-cms-prose p,
	.dacon-cms-prose li,
	.dacon-cms-prose td,
	.dacon-cms-prose th { font-size: 16px; }
	.dacon-cms-prose blockquote { padding: 26px 48px 26px 22px; font-size: 19px; }
	.dacon-article-gallery { grid-template-columns: 1fr; }
}
