/* Hallmark · genre: editorial · macrostructure: Long Document · theme: Atelier · enrichment: real product photography where exact · nav: N6 · footer: Ft3 · audience: Dutch crystal shoppers · use: answer search intent then refer to Etsy · tone: soft luxury */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 */

.article-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
  width: min(100%, 76rem);
  margin-inline: auto;
  padding: var(--space-xl) clamp(var(--space-md), 5vw, var(--space-2xl)) var(--space-4xl);
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.breadcrumbs a {
  white-space: nowrap;
}

.article-header {
  display: grid;
  max-width: 58rem;
  gap: var(--space-lg);
  padding-block: var(--space-lg) var(--space-xl);
}

.article-header h1 {
  max-width: 15ch;
  font-size: var(--text-display-s);
}

.article-lede {
  max-width: 60ch;
  color: var(--color-ink-2);
  font-size: var(--text-md);
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2xl);
}

.article-prose {
  display: grid;
  max-width: 65ch;
  gap: var(--space-lg);
}

.article-prose h2 {
  margin-block-start: var(--space-xl);
  font-size: var(--text-xl);
  font-weight: 700;
}

.article-prose h3 {
  margin-block-start: var(--space-md);
}

.article-prose p,
.article-prose li {
  color: var(--color-ink-2);
}

.article-prose ul,
.article-prose ol {
  display: grid;
  gap: var(--space-sm);
  margin: 0;
  padding-inline-start: var(--space-lg);
}

.article-prose strong {
  color: var(--color-ink);
}

.article-figure {
  display: grid;
  gap: var(--space-sm);
  margin-block: var(--space-md);
}

.article-figure img {
  width: 100%;
  max-height: 38rem;
  object-fit: cover;
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.article-figure figcaption,
.source-note,
.tradition-note {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.article-aside {
  display: grid;
  align-content: start;
  gap: var(--space-lg);
  padding-block-start: var(--space-lg);
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.article-aside h2 {
  font-size: var(--text-lg);
  font-weight: 700;
}

.article-aside nav,
.article-aside ul {
  display: grid;
  gap: var(--space-sm);
}

.article-aside ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-aside a {
  width: fit-content;
}

.article-cta {
  display: grid;
  gap: var(--space-md);
  margin-block-start: var(--space-2xl);
  padding-block: var(--space-xl);
  border-block: var(--rule-hair) solid var(--color-rule);
}

.article-cta h2 {
  margin: 0;
}

.article-cta .action-link {
  justify-self: start;
}

.facts {
  display: grid;
  margin: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.facts > div {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-md);
  padding-block: var(--space-sm);
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.facts dt {
  color: var(--color-muted);
}

.facts dd {
  margin: 0;
  color: var(--color-ink);
}

@media (min-width: 60rem) {
  .article-shell {
    padding-block-start: var(--space-2xl);
  }

  .article-layout {
    grid-template-columns: minmax(0, 2.1fr) minmax(14rem, 0.9fr);
    gap: var(--space-3xl);
    align-items: start;
  }

  .article-aside {
    position: sticky;
    inset-block-start: var(--space-xl);
  }
}

@media (pointer: coarse) {
  .breadcrumbs a,
  .article-aside a {
    min-height: 2.75rem;
    align-content: center;
  }
}
