:root {
  --content-ink: #2b1f1c;
  --content-muted: #6f625c;
  --content-rose: #b87872;
  --content-sand: #f7f0e9;
  --content-line: rgba(43, 31, 28, .13);
}

.content-toc {
  border: 1px solid var(--content-line);
  border-radius: 20px;
  background: rgba(255,255,255,.68);
  padding: 1.1rem 1.25rem;
  margin: 0 0 2rem;
}
.content-toc summary { cursor: pointer; font-weight: 800; color: var(--content-ink); }
.content-toc ol { margin: .8rem 0 0; padding-inline-start: 1.25rem; }
.content-toc li { margin: .35rem 0; }
.content-toc a { color: var(--content-muted); text-decoration: none; }
.content-toc a:hover, .content-toc a:focus-visible { color: var(--content-rose); }
.content-toc .toc-level-3 { margin-inline-start: 1rem; font-size: .93em; }

.prose h2, .prose h3 { scroll-margin-top: 7rem; }
.prose h2 { margin-top: 2.4rem; }
.prose h3 { margin-top: 1.7rem; }
.prose ol, .prose ul { padding-inline-start: 1.35rem; }
.prose li { margin: .55rem 0; }

.article-layout, .education-layout { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.article-aside, .education-aside { position: sticky; top: 6.5rem; display: grid; gap: 1rem; }
.editorial-facts { border: 1px solid var(--content-line); border-radius: 20px; background: var(--content-sand); padding: 1.25rem; }
.editorial-facts h3 { margin: 0 0 .8rem; }
.editorial-facts dl { margin: 0; display: grid; gap: .7rem; }
.editorial-facts dt { color: var(--content-muted); font-size: .82rem; }
.editorial-facts dd { margin: .1rem 0 0; font-weight: 700; }

.related-content { border-top: 1px solid var(--content-line); margin-top: 3rem; padding-top: 2.2rem; }
.related-content-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.related-content-card { display: block; border: 1px solid var(--content-line); border-radius: 18px; padding: 1rem; background: #fff; text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.related-content-card:hover, .related-content-card:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(43,31,28,.1); }
.related-content-card small { color: var(--content-rose); }
.related-content-card h3 { margin: .45rem 0; }
.related-content-card p { color: var(--content-muted); margin: 0; }

.education-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.education-card { border: 1px solid var(--content-line); border-radius: 24px; background: linear-gradient(160deg,#fff,#f8eee9); padding: 1.35rem; color: inherit; text-decoration: none; display: flex; flex-direction: column; min-height: 14rem; }
.education-card small { color: var(--content-rose); letter-spacing: .06em; }
.education-card h2 { margin: .7rem 0 .5rem; }
.education-card p { color: var(--content-muted); margin: 0; }
.education-card b { margin-top: auto; padding-top: 1.2rem; }
.education-hero-note { border-radius: 26px; background: var(--content-ink); color: #fff; padding: 1.5rem; }
.education-hero-note p { color: rgba(255,255,255,.75); }
.education-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; margin: 1.4rem 0 2rem; }
.education-meta { border: 1px solid var(--content-line); border-radius: 16px; padding: .85rem; background: #fff; }
.education-meta small { color: var(--content-muted); display: block; }
.education-meta b { display: block; margin-top: .25rem; }
.license-placeholder { border: 1px dashed var(--content-line); border-radius: 16px; padding: 1rem; color: var(--content-muted); background: var(--content-sand); }

.service-structured-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; margin: 2rem 0; }
.service-structured-card { border: 1px solid var(--content-line); border-radius: 18px; padding: 1.15rem; background: #fff; }
.service-structured-card h3 { margin-top: 0; }
.service-structured-card p { color: var(--content-muted); }
.service-structured-card ol, .service-structured-card ul { margin-bottom: 0; padding-inline-start: 1.1rem; }
.service-structured-card li { margin: .4rem 0; }
.service-cover { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.inline-media-slot { border: 1px dashed var(--content-line); border-radius: 18px; padding: 1rem; margin: 1.5rem 0; background: var(--content-sand); color: var(--content-muted); }

@media (max-width: 860px) {
  .article-layout, .education-layout { grid-template-columns: 1fr; }
  .article-aside, .education-aside { position: static; }
  .related-content-grid, .education-card-grid, .service-structured-grid { grid-template-columns: 1fr 1fr; }
  .education-meta-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .related-content-grid, .education-card-grid, .service-structured-grid, .education-meta-grid { grid-template-columns: 1fr; }
}
