.workshop-section { color: #223044; margin: 1.5rem auto; padding: 2.5rem 1.5rem; }
.workshop-home { border: 1px solid #d5e6e4; border-radius: 18px; background: linear-gradient(135deg, #eef6f4, #fff 65%); }
.workshop-heading { max-width: 860px; margin-bottom: 1.75rem; }
.workshop-heading h1, .workshop-heading h2 { color: #173d72; line-height: 1.25; font-weight: 700; }
.workshop-heading h1 { font-size: clamp(1.65rem, 3vw, 2.4rem); }
.workshop-heading h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.workshop-heading p { line-height: 1.7; }
.workshop-eyebrow { color: #526a78; font-size: .85rem; margin-bottom: .5rem; }
.workshop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.workshop-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dce4e8; border-radius: 12px; scroll-margin-top: 100px; }
.workshop-card figure { margin: 0; }
.workshop-visual { background: #eaf0f2; position: relative; aspect-ratio: 4 / 3; }
.workshop-visual .workshop-photo, .workshop-play { display: block; width: 100%; height: 100%; }
.workshop-visual img, .workshop-visual video { display: block; width: 100%; height: 100%; object-fit: contain; }
.workshop-play { padding: 0; border: 0; cursor: pointer; color: #fff; background: transparent; position: relative; }
.workshop-play-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #173d72ed; box-shadow: 0 2px 12px #0004; }
.workshop-duration { position: absolute; bottom: 8px; right: 8px; background: #15243ddd; padding: 2px 6px; font-size: .8rem; border-radius: 4px; }
.workshop-card figcaption { padding: .6rem .85rem; font-size: .73rem; color: #596875; line-height: 1.45; overflow-wrap: anywhere; border-bottom: 1px solid #edf0f2; }
.workshop-card-copy { padding: .85rem; }
.workshop-card-copy h2, .workshop-card-copy h3 { font-size: 1.08rem; line-height: 1.4; margin: .4rem 0 .65rem; color: #173d72; }
.workshop-card-copy p { font-size: .9rem; line-height: 1.6; margin-bottom: .65rem; }
.workshop-card-copy .workshop-location { color: #346358; font-size: .8rem; font-weight: 600; margin: 0; }
.workshop-location span { color: #6b7582; font-weight: 400; }
.workshop-button { display: inline-block; padding: .8rem 1.2rem; border-radius: 7px; color: #fff; background: #173d72; font-weight: 600; margin-top: 1.5rem; text-align: center; }
.workshop-button:hover { color: #fff; background: #102e58; text-decoration: none; }
.workshop-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.workshop-links a, .workshop-product { color: #173d72; text-decoration: underline; }
.workshop-breadcrumb { margin-bottom: 1.5rem; font-size: .85rem; }
.workshop-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .6rem; margin: 2rem 0; }
.workshop-pagination a, .workshop-pagination span { padding: .55rem .8rem; border: 1px solid #dce4e8; border-radius: 6px; }
.workshop-pagination [aria-current] { color: #fff; background: #173d72; border-color: #173d72; }
.workshop-cta { margin-top: 2.5rem; padding: 2rem; border-radius: 12px; background: #eff4fb; }
.workshop-cta h2 { font-size: 1.6rem; color: #173d72; }
.workshop-cta p { max-width: 720px; line-height: 1.7; }
.workshop-cta .workshop-button { margin-top: .5rem; }
.workshop-dialog { border: none; border-radius: 12px; padding: 2.5rem 1rem 1rem; max-width: min(96vw, 1200px); max-height: 94vh; }
.workshop-dialog::backdrop { background: #0d1925dd; }
.workshop-dialog figure { margin: 0; }
.workshop-dialog img { display: block; max-width: 100%; max-height: 76vh; object-fit: contain; margin: auto; }
.workshop-dialog figcaption { margin-top: .75rem; overflow-wrap: anywhere; font-size: .8rem; }
.workshop-close { position: absolute; top: .15rem; right: .4rem; border: none; background: transparent; color: #173d72; font-size: 2rem; line-height: 1; padding: .3rem .6rem; }
.workshop-section a:focus-visible, .workshop-section button:focus-visible, .workshop-close:focus-visible { outline: 3px solid #bf2831; outline-offset: 3px; }
@media (max-width: 767px) {
    .workshop-section { padding: 1.6rem 1rem; }
    .workshop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .workshop-card-copy { padding: .65rem; }
    .workshop-card-copy h2, .workshop-card-copy h3 { font-size: .95rem; }
    .workshop-card-copy p { font-size: .82rem; }
    .workshop-card figcaption { padding: .5rem .6rem; font-size: .65rem; }
    .workshop-play-icon { width: 42px; height: 42px; }
    .workshop-cta { padding: 1.3rem; }
}
@media (max-width: 359px) { .workshop-grid { grid-template-columns: 1fr; } }
