.workshop-shell { max-width: 1120px; padding-block: clamp(2rem, 5vw, 5rem); }
.workshop-breadcrumb { font-size: .875rem; margin-bottom: 2.5rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.workshop-breadcrumb a { text-decoration: underline; text-underline-offset: .25em; }
.workshop-hero h1 { max-width: 850px; font-size: clamp(2.5rem, 5.5vw, 4.5rem); line-height: 1.07; margin: 1rem 0 1.5rem; }
.workshop-lead { max-width: 780px; font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.7; color: var(--color-text-light); }
.workshop-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.workshop-actions .btn { min-height: 48px; white-space: normal; text-align: center; }
.workshop-actions .btn--primary { background: var(--color-forest-ink); border-color: var(--color-forest-ink); color: var(--color-soft-ivory); }
.workshop-actions .btn--primary:hover { background: #294e44; border-color: #294e44; }
.workshop-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 3rem 0 2rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.workshop-facts dt { font-size: .8rem; color: var(--color-text-light); margin-bottom: .5rem; }
.workshop-facts dd { margin: 0; font-weight: 600; }
.workshop-cover, .workshop-figure { margin: 0; }
.workshop-cover img, .workshop-figure img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--color-border); }
.workshop figcaption { font-size: .875rem; line-height: 1.6; color: var(--color-text-light); margin-top: .75rem; }
.workshop-article { max-width: 800px; margin: 0 auto; }
.workshop-article section { margin-top: clamp(3rem, 6vw, 5rem); }
.workshop-article h2 { font-size: clamp(1.85rem, 3vw, 2.5rem); line-height: 1.2; margin-bottom: 1.3rem; }
.workshop-article p { line-height: 1.85; margin-bottom: 1.2rem; }
.workshop-steps { list-style: none; padding: 0; margin: 2rem 0; }
.workshop-steps li { padding: 1.4rem 0; border-top: 1px solid var(--color-border); }
.workshop-steps h3 { font-size: 1.4rem; margin-bottom: .75rem; }
.workshop-figure { margin-top: 2rem; }
.workshop-note { border-left: 3px solid var(--color-accent); padding: 1.5rem; background: var(--color-bg-card); }
.workshop-enquiry { padding-top: 2rem; border-top: 1px solid var(--color-border); }
@media (max-width: 600px) {
  .workshop-facts { grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
  .workshop-actions { flex-direction: column; align-items: stretch; }
  .workshop-breadcrumb { margin-bottom: 2rem; }
}
