.slw-workshops, .slw-single {
  --slw-ink: var(--neutral-ultra-dark, #30190d);
  --slw-accent: #a24015;
  --slw-paper: #fff8f3;
  color: var(--slw-ink);
  background: var(--slw-paper);
  padding: var(--section-space-m, 4rem) var(--gutter, 1.5rem);
}
.slw-workshops__inner, .slw-single__inner { max-width: var(--content-width, 1366px); margin-inline: auto; }
.slw-workshops h2, .slw-single h1, .slw-single h2, .slw-single h3 { text-wrap: balance; }
.slw-workshops__intro { margin-bottom: var(--space-xl, 3rem); }
.slw-workshops__year { margin-block: var(--space-xl, 3rem); }
.slw-workshops__year > h3 { font-size: clamp(1.5rem, 2vw, 2rem); margin-bottom: var(--space-m, 1.5rem); }
.slw-workshop-card { display: grid; gap: var(--space-m, 1.5rem); padding-block: var(--space-l, 2rem); border-bottom: 1px solid #d9c1b1; }
.slw-workshop-card__image { width: 100%; height: auto; display: block; aspect-ratio: 7.5 / 1; object-fit: cover; }
.slw-workshop-card__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--space-l, 2rem); align-items: start; }
.slw-workshop-card h4 { font-size: clamp(1.4rem, 2vw, 2rem); margin: 0 0 .4rem; }
.slw-workshop-card__subtitle { font-size: var(--text-l, 1.3rem); margin: 0 0 1rem; }
.slw-workshop-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem 1.6rem; margin: 0; }
.slw-workshop-facts dt { font-weight: 700; font-size: .85em; margin-bottom: .3em; }
.slw-workshop-facts dd { margin: 0; font-variant-numeric: tabular-nums; }
.slw-workshops a, .slw-single a { text-underline-offset: .2em; }
.slw-workshops a:focus-visible, .slw-single a:focus-visible, .slw-single button:focus-visible, .slw-single select:focus-visible { outline: 3px solid var(--slw-accent); outline-offset: 4px; }
.slw-workshop-link { display: inline-block; color: var(--slw-accent); font-weight: 700; text-decoration: underline; }
.slw-workshop-link:hover { color: var(--slw-ink); }
.slw-single__heading { margin-block: 1.5rem; }
.slw-single__heading h1 { margin: 0 0 .5rem; max-width: 22ch; }
.slw-single__subtitle { font-size: var(--text-xl, 2rem); margin: 0 0 1.5rem; }
.slw-single__summary { padding-block: var(--space-l, 2rem); border-block: 1px solid #d9c1b1; margin-block: var(--space-l, 2rem); }
.slw-single__content { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-xl, 3rem); margin-block: var(--space-xl, 3rem); }
.slw-single__description { max-width: 72ch; }
.slw-single__description p { margin-bottom: 1.2em; }
.slw-guide { margin-block: 1.5rem 2.5rem; }
.slw-guide__photo { display: block; width: min(100%, 12rem); height: auto; aspect-ratio: 1; object-fit: cover; margin-bottom: 1rem; }
.slw-guide h3 { font-size: var(--text-l, 1.4rem); margin-bottom: .6rem; }
.slw-guide p { font-size: .9em; margin-bottom: 1em; }
.slw-single__registration { border-top: 1px solid #d9c1b1; padding-top: var(--space-l, 2rem); scroll-margin-top: 6rem; }
.slw-single__registration table { width: 100%; }
.slw-single__registration input[type=submit] { background: var(--slw-accent); color: #fff; border: 0; padding: .8em 1.4em; cursor: pointer; }
.slw-single__registration input[type=submit]:hover { background: var(--slw-ink); }
.slw-single__registration input[type=submit]:focus-visible { outline: 3px solid var(--slw-accent); outline-offset: 4px; }
.slw-workshops ::selection, .slw-single ::selection { color: #fff; background: var(--slw-accent); }
@media (max-width: 800px) {
  .slw-workshop-card__body, .slw-single__content { grid-template-columns: 1fr; }
  .slw-workshop-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .slw-workshop-card__image { aspect-ratio: 4 / 1; }
  .slw-single__registration table { font-size: .8em; }
  .slw-single__registration td, .slw-single__registration th { padding: .6em .25em; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .slw-workshops *, .slw-single * { scroll-behavior: auto; }
}

/* ACSS section defaults belong to outer sections, not nested content groups. */
.slw-workshops__year, .slw-single__description { padding: 0; }
.slw-single__registration { padding-inline: 0; padding-bottom: 0; }

.slw-single__extra { padding: 0; margin-block: var(--space-xl, 3rem); max-width: 72ch; }
.slw-single__extra h3 { font-size: clamp(1.2rem, 1.5vw, 1.5rem); margin-block: 1.5em .5em; }
.slw-single__extra p { margin-bottom: 1em; }
.slw-single__extra details { border-bottom: 1px solid #d9c1b1; padding-block: 1rem; }
.slw-single__extra summary { cursor: pointer; font-weight: 700; }
.slw-single__extra summary:hover { color: var(--slw-accent); }
.slw-single__extra summary:focus-visible { outline: 3px solid var(--slw-accent); outline-offset: 4px; }
.slw-single__extra details[open] summary { margin-bottom: 1rem; }
