.workshop-page {
    --workshop-ink: #211b15;
    --workshop-paper: #fff2de;
    --workshop-oak: #f4dfc2;
    --workshop-blue: #184b96;
    --workshop-red: #b93220;
    --workshop-yellow: #ffcb1a;
    --workshop-edge: #d9c7ad;
    --workshop-line: #927c61;
    --workshop-error: #852d1c;
    --muted-ink: #5b4d3d;
    --wood-grain: url("workshop-wood.jpg");
    --plank-surface: linear-gradient(#fff2de99, #fff2de99), var(--workshop-paper) var(--wood-grain) center / cover;
    --bench-gap: clamp(.75rem, 2.6vw, 2.25rem);
    --bench-pad: clamp(.875rem, 2.7vw, 2.5rem);
    background: linear-gradient(#e8c7a086, #e8c7a086), #eed4b4 var(--wood-grain) center top / max(100%, 60rem) auto;
    color: var(--workshop-ink);
}

.workshop-hero {
    display: grid;
    gap: var(--bench-gap);
    width: min(96.5%, 97rem);
    margin-inline: auto;
    padding: var(--bench-pad);
    border: clamp(.3rem, .7vw, .7rem) solid var(--workshop-blue);
    border-block-end-color: var(--workshop-red);
    border-radius: 1rem;
    background: var(--workshop-oak);
    font-family: Arial, sans-serif;
    line-height: 1.3;
}

.workshop-front { margin-bottom: var(--bench-gap); }
.workshop-label { margin-bottom: .65rem; color: var(--muted-ink); font-size: 1rem; font-weight: 700; }
.workshop-copy { min-width: 0; padding: clamp(1rem, 3vw, 2.5rem); }
.workshop-copy h1 { margin: 0; font-size: clamp(2.1rem, 6vw, 3.5rem); font-weight: 800; line-height: .99; letter-spacing: -.035em; }
.workshop-description { margin-top: .75rem; font-size: clamp(1rem, 3vw, 1.35rem); }
.workshop-facts {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .125em .33em;
    width: fit-content;
    margin-top: .875rem;
    padding: .28em .55em;
    border-radius: .45em;
    background: var(--workshop-paper);
    font-size: clamp(1rem, 3.2vw, 1.35rem);
    font-weight: 750;
}
.workshop-facts .pricing-amount { margin: 0; color: inherit; font: inherit; letter-spacing: inherit; }
.workshop-cta {
    display: block;
    margin-top: .9rem;
    padding: .65em .6em;
    border: 1px solid #d1980a;
    border-radius: .35em;
    background: var(--workshop-yellow);
    box-shadow: 0 .15em .2em #5b3a2b40, inset 0 1px #fff3ac;
    color: var(--workshop-ink);
    font-size: clamp(1.125rem, 3.8vw, 1.65rem);
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
}
.workshop-cta:hover { background: #ffda43; }
.workshop-note { margin-top: .6rem; font-size: .9375rem; line-height: 1.3; }
.workshop-example { margin: 0; }
.workshop-example img { display: block; width: 100%; height: auto; border-radius: .5rem; }
.workshop-example figcaption { margin-top: .35rem; font-size: .875rem; font-weight: 700; text-align: center; }

.workshop-plank, .workshop-page :is(.pricing-card, .terms-card, .course-passport) {
    position: relative;
    border: 1px solid var(--workshop-edge);
    border-radius: .65rem;
    background: var(--plank-surface);
    background-blend-mode: normal, multiply;
}

.workshop-plank::before, .workshop-plank::after {
    position: absolute;
    top: .5rem;
    width: .58rem;
    height: .58rem;
    border: 1px solid #685d52;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 27%, #fff7df, #beb2a4 48%, #75695f 78%);
    box-shadow: 0 1px 2px #4a280d65;
    content: "";
    pointer-events: none;
}

.workshop-plank::before { left: .5rem; }
.workshop-plank::after { right: .5rem; }
.workshop-floor {
    display: grid;
    gap: var(--bench-gap);
    width: min(96.5%, 97rem);
    margin: 0 auto var(--bench-gap);
}

.workshop-floor > :is(.workshop-station, .schedule-section, .enrollment-pricing),
.workshop-bench,
.workshop-page .enrollment-cta-panel {
    min-width: 0;
    padding: var(--bench-pad);
    border: 1px solid var(--workshop-edge);
    border-radius: 1rem;
    background: var(--plank-surface);
    box-shadow: 0 3px 8px #5c341822;
}

.workshop-sign { margin-bottom: clamp(.75rem, 1.5vw, 1.25rem); }
.workshop-sign.workshop-plank {
    width: fit-content;
    padding: .5em .85em;
    box-shadow: 0 2px 3px #5c341826;
}
.workshop-copy-board {
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.75rem);
    box-shadow: 0 3px 0 #98502562, 0 5px 10px #522b2033;
}

.workshop-page :is(main, .footer) h2 { text-wrap: balance; }
.workshop-floor h2 { font-size: clamp(1.55rem, 1.1rem + 2vw, 3rem); }
.workshop-floor h3 { overflow-wrap: break-word; }
.workshop-page :is(a, button, input, select, textarea, summary):focus-visible { outline-color: var(--workshop-ink); }
.workshop-page .text-link { text-decoration: underline; text-decoration-thickness: 1px; border-bottom: 0; }
.workshop-page .button.primary {
    border: 1px solid #aa7308;
    border-radius: .5rem;
    background: var(--workshop-yellow);
    color: var(--workshop-ink);
    box-shadow: 0 3px 0 #ad7316, inset 0 1px #fff3ac;
}
.workshop-page .button.primary:hover { background: #ffda43; }
.workshop-page .button.secondary {
    border-color: var(--workshop-line);
    background: var(--workshop-paper);
    box-shadow: none;
    color: var(--workshop-ink);
}
.workshop-page .button.secondary:hover { background: var(--workshop-oak); }

.workshop-trial {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(.85rem, 2vw, 1.5rem);
}
.workshop-trial-art, .course-passport-art {
    display: block;
    width: 100%;
    height: auto;
    border-radius: .6rem;
}
.workshop-trial-art { box-shadow: 0 3px 8px #522b2040; }
.workshop-trial-steps {
    display: grid;
    gap: .45rem;
    margin: .85rem 0;
    list-style: none;
    counter-reset: workshop-step;
}
.workshop-section-intro p, .workshop-teacher p { max-width: 65ch; margin: .65rem 0; }
.workshop-trial-steps li {
    position: relative;
    padding: .5rem 0 .2rem 2.45rem;
    border-top: 1px solid var(--workshop-edge);
    counter-increment: workshop-step;
}
.workshop-trial-steps li::before {
    content: counter(workshop-step, decimal-leading-zero);
    position: absolute;
    display: grid;
    place-items: center;
    top: .55rem;
    left: 0;
    width: 1.95rem;
    height: 1.95rem;
    border: 0;
    border-radius: .35rem;
    background: var(--workshop-blue);
    color: var(--workshop-paper);
    font: 700 .95rem Consolas, monospace;
}
.workshop-trial-steps h3 { font-size: clamp(1.05rem, 1.4vw, 1.25rem); }
.workshop-trial-steps p { margin-top: .2rem; }

.workshop-projects {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 29rem), 1fr));
    gap: clamp(.8rem, 2vw, 1.5rem);
}
.workshop-project {
    display: grid;
    gap: .55rem 1rem;
    align-content: start;
    min-width: 0;
    padding: clamp(1rem, 1.8vw, 1.6rem);
    box-shadow: 0 2px 4px #5c341826;
}
.workshop-project:has(.workshop-project-art) {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    grid-template-areas: "title art" "description art";
}
.workshop-project-title { grid-area: title; }
.workshop-project-description { grid-area: description; }
.workshop-project:not(:has(.workshop-project-art)) { grid-template-areas: "title" "description"; }
.workshop-project-art {
    grid-area: art;
    align-self: center;
    justify-self: end;
    display: block;
    width: min(100%, 16rem);
    height: auto;
    border-radius: .45rem;
    box-shadow: 0 2px 4px #522b2040;
}
.workshop-tools { margin-top: .35rem; color: var(--muted-ink); font: 700 .8125rem/1.45 Consolas, monospace; }
.workshop-project h3 { font-size: clamp(1.125rem, 1.1rem + .45vw, 1.55rem); }
.workshop-project-description .caption, .workshop-project-description .text-link { margin-top: .5rem; }
.workshop-project-description .text-link { color: var(--workshop-blue); }

.workshop-floor > .workshop-plan {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.workshop-program {
    display: grid;
    gap: 1rem;
}
.workshop-program-heading p { max-width: 65ch; margin-top: .65rem; color: var(--muted-ink); }
.workshop-program-heading .eyebrow { margin: 0 0 .6rem; }
.workshop-code-example {
    min-width: 0;
}
.workshop-code-example p { margin-top: .65rem; }
.workshop-code-example h3 { margin-bottom: .65rem; }
.workshop-jump-stage {
    display: block;
    width: 100%;
    height: auto;
    border: .45rem solid var(--workshop-blue);
    border-bottom-color: var(--workshop-red);
    border-radius: .75rem;
    background: #132846;
}
.workshop-jump-buttons { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.workshop-jump-buttons .button { padding: .45rem .85rem; }
.workshop-page .workshop-jump-buttons .button[aria-pressed="true"] {
    border-color: var(--workshop-blue);
    background: var(--workshop-blue);
    color: var(--workshop-paper);
}
.workshop-jump-result { min-height: 2.8em; color: var(--muted-ink); font-size: .9375rem; }
.workshop-code-line {
    padding: .55rem .7rem;
    border: 1px solid var(--workshop-edge);
    border-radius: .35rem;
    background: var(--workshop-paper);
    font-size: clamp(.875rem, 2.2vw, 1.125rem);
    overflow-wrap: anywhere;
}
.workshop-code-line b { color: var(--workshop-blue); }
.workshop-code-example details { margin-top: .75rem; }
.workshop-code-example summary {
    width: fit-content;
    color: var(--workshop-blue);
    font-weight: 700;
    cursor: pointer;
}
@media (min-width: 900px) {
    .workshop-program:has(.workshop-code-example) {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
        gap: .75rem clamp(.85rem, 2vw, 1.5rem);
    }
    .workshop-program .workshop-code-example {
        grid-column: 2;
        grid-row: 1 / 3;
        align-self: center;
    }
}
.workshop-outcomes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--bench-gap);
}
.workshop-outcomes li { padding: .65rem 0; border-top: 1px solid var(--workshop-edge); }
.workshop-program-content h3 { margin-bottom: .45rem; }
.workshop-program-content > .text-link { margin-top: .85rem; }
.workshop-teacher {
    display: grid;
    grid-template-columns: clamp(6rem, 13vw, 10rem) minmax(0, 1fr);
    align-items: start;
    gap: clamp(.85rem, 2.5vw, 1.65rem);
    margin-top: .75rem;
    padding: clamp(1rem, 2vw, 1.65rem) var(--bench-pad);
    border-inline-start: .25rem solid var(--workshop-blue);
    border-radius: .35rem;
    background: var(--plank-surface);
}
.workshop-teacher h2 { font-size: clamp(1.5rem, 1.1rem + 1vw, 2rem); }
.workshop-teacher-photo, .workshop-about-portrait img {
    border-radius: .55rem;
    box-shadow: 0 2px 6px #522b2040;
}
.workshop-credentials {
    display: grid;
    gap: .3rem;
    padding-inline-start: 1.2em;
    list-style: disc;
    margin-block: .65rem;
}
.workshop-trust { padding-block: var(--inner-gap); }
.workshop-family-reviews { margin-top: 1rem; }
.workshop-family-reviews h2 { font-size: clamp(1.25rem, 1.05rem + .75vw, 1.65rem); margin-bottom: .65rem; }
.workshop-family-reviews .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.workshop-family-reviews .review-grid blockquote { margin: 0; padding: .95rem 1.25rem; }
.workshop-family-reviews .review-grid blockquote footer { margin-top: .5rem; }
.workshop-family-reviews .text-link { margin-top: .65rem; }
.workshop-about-portrait { width: min(100%, 14rem); margin-inline: auto; }
.workshop-about-portrait img { width: 100%; height: auto; }
.workshop-awards-gallery { margin-block: var(--inner-gap); }
.workshop-awards-gallery h2 { margin-bottom: 1rem; }
.workshop-awards-photos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.75rem, 2vw, 1.5rem);
}
.workshop-awards-photos img {
    width: 100%;
    height: auto;
    border-radius: .5rem;
}
.workshop-reviews-carousel { max-width: 1170px; width: 100%; margin-inline: auto; }
#approach .workshop-reviews-carousel { margin-top: 1rem; }
.workshop-reviews-carousel h2 { margin-bottom: .65rem; }
.workshop-reviews-carousel iframe { display: block; width: 100%; height: 100%; border: 0; }
.workshop-reviews-carousel iframe:not([src], [srcdoc]) { height: 0; }
.workshop-reviews-fallback { padding: .85rem 1.1rem; }
.workshop-secondary .about-hero.workshop-bench { width: min(96.5%, 66rem); }
@media (min-width: 761px) {
    .workshop-secondary .about-hero:has(.workshop-about-portrait) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 15rem);
    }
}

.workshop-floor :is(.schedule-section, .enrollment-cta) > .shell { width: 100%; max-width: none; padding-inline: 0; }
.workshop-page :is(.schedule-section, .program) .section-heading {
    align-items: start;
    flex-direction: column;
    gap: .65rem;
    margin-bottom: 1.25rem;
}
.workshop-page .schedule-section .section-heading h2 { margin-bottom: 0; }
.workshop-page :is(.schedule-section, .program) .section-heading > p { max-width: 65ch; }
.workshop-floor .schedule-layout { gap: clamp(1rem, 3vw, 2.5rem); }
.workshop-floor .schedule-layout > div {
    padding: clamp(.85rem, 2.4vw, 1.65rem);
    border: 1px solid var(--workshop-edge);
    border-radius: .65rem;
    background: var(--plank-surface);
    background-blend-mode: normal, multiply;
}
.workshop-page .timezone-form select {
    padding: .55rem;
    border: 1px solid var(--workshop-blue);
    border-radius: .4rem;
    background: var(--workshop-paper);
}
.workshop-page .time-rows { display: grid; gap: .4rem; border: 0; }
.workshop-page .time-rows > div { padding: .55rem .7rem; border: 1px solid var(--workshop-edge); border-radius: .4rem; background: var(--workshop-paper); color: var(--workshop-ink); }
.workshop-page .time-rows strong { color: var(--workshop-blue); }
.workshop-page .terms-card { align-self: start; color: var(--workshop-ink); }
.workshop-page .schedule-guidance { padding: clamp(1rem, 2.4vw, 1.65rem); }
.workshop-page .schedule-guidance h3 { font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); }
.workshop-page .terms-card h3 small { font-size: .875rem; }
.workshop-page .terms-card p, .workshop-page .demo-meetings { color: var(--muted-ink); }
.workshop-page .demo-meetings {
    padding: .85rem 1rem;
    border: 1px solid var(--workshop-edge);
    border-radius: .5rem;
    background: var(--workshop-paper);
    font-size: .875rem;
}

.workshop-floor > .enrollment-pricing { width: 100%; max-width: none; }
.workshop-page .enrollment-pricing { border-block-start: .3rem solid var(--workshop-blue); }
.workshop-page .enrollment-pricing .workshop-sign { margin-bottom: .4rem; }
.workshop-page .enrollment-pricing > div:first-child p, .workshop-page .pricing-detail { color: var(--muted-ink); }
.workshop-page .enrollment-pricing > .caption { margin-top: 1rem; }
.workshop-page .review-grid blockquote { background: var(--workshop-paper); border-color: var(--workshop-edge); }
.workshop-page .review-grid blockquote footer { color: var(--muted-ink); }

.workshop-page .faq-list details { border: 0; border-top: 1px solid var(--workshop-edge); }
.workshop-page .faq-list summary { min-height: 44px; gap: 1rem; padding-block: .85rem; }
.workshop-page .faq-list summary span { color: var(--muted-ink); }
.workshop-page .faq-list details[open] summary span { transform: rotate(45deg); }

.workshop-page .enrollment-cta { padding: 0; }
.workshop-page .enrollment-cta-panel {
    padding: clamp(1rem, 2vw, 1.75rem);
    border-radius: .65rem;
    gap: clamp(.85rem, 2vw, 1.5rem);
}
.workshop-page .enrollment-cta-panel p { color: var(--muted-ink); }
.workshop-page .enrollment-dialog {
    border-color: var(--workshop-edge);
    background: var(--workshop-paper);
    color: var(--workshop-ink);
    padding: 0;
}
.workshop-page .enrollment-dialog[open],
.enrollment-dialog .enrollment-flow,
.enrollment-dialog #enrollment-form:not([hidden]) {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.workshop-page .enrollment-dialog[open] { overflow: hidden; }
.enrollment-dialog :is(.enrollment-flow, #enrollment-form, .wizard-fields) { flex: 1 1 auto; }
.enrollment-dialog .wizard-header {
    flex: none;
    padding: 1rem clamp(1rem, 4vw, 2rem) .75rem;
    border-bottom: 1px solid var(--workshop-edge);
}
.enrollment-dialog .wizard-top h2 { font-size: clamp(1.125rem, 3vw, 1.5rem); }
.enrollment-dialog .wizard-progress { margin: .4rem 0 0; }
.enrollment-dialog .wizard-fields,
.enrollment-dialog [data-wizard-success] {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 1rem clamp(1rem, 4vw, 2rem);
}
#enrollment-form .wizard-fields > .wizard-caption { margin-bottom: .875rem; }
.enrollment-dialog .wizard-actions {
    flex: none;
    margin: 0;
    padding: .75rem clamp(1rem, 4vw, 2rem) max(.85rem, env(safe-area-inset-bottom));
    border-top: 1px solid var(--workshop-edge);
}
.workshop-page .enrollment-dialog::backdrop { background: rgb(34 26 22 / .68); }
.workshop-page :is(.wizard-caption, .wizard-progress, .wizard-consent p, .wizard-notes summary, .enrollment-flow section > p) { color: var(--muted-ink); }
.workshop-page .enrollment-flow :is(input, textarea)::placeholder,
.workshop-page .lead-form :is(input, textarea)::placeholder { color: #706052; }
.workshop-page .wizard-progress progress { background: var(--workshop-oak); }
.workshop-page .wizard-progress progress::-webkit-progress-bar { background: var(--workshop-oak); }
.workshop-page .wizard-progress progress::-webkit-progress-value { background: var(--workshop-ink); }
.workshop-page .wizard-progress progress::-moz-progress-bar { background: var(--workshop-ink); }
.workshop-page :is(.wizard-field input, .wizard-consent input, .wizard-alternative input, .lead-form input) { accent-color: var(--workshop-ink); }
.workshop-page :is(.wizard-close, .wizard-schedule, .wizard-alternative) { border-color: var(--workshop-edge); }
.workshop-page :is(.wizard-close, .wizard-skip):hover { background: var(--workshop-oak); }

.workshop-page .course-passport {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-items: start;
    gap: 1rem var(--bench-gap);
    width: min(96.5%, 97rem);
    max-width: none;
    margin: 0 auto var(--bench-gap);
    padding: var(--bench-pad);
    border-inline-start: .3rem solid var(--workshop-blue);
}
.workshop-page .course-passport h2 {
    margin: 0;
    font-size: clamp(1.55rem, 1.15rem + 1.35vw, 2.5rem);
}
.course-passport-art { grid-area: 1 / 2 / span 2; align-self: center; }
.workshop-page .course-passport dl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.workshop-page .course-passport dl > div { min-width: 0; padding-top: .65rem; border-top: 1px solid var(--workshop-edge); }
.workshop-page .course-passport .course-passport-key {
    padding: .7rem .8rem;
    border: 1px solid var(--workshop-edge);
    border-top: 3px solid var(--workshop-blue);
    border-radius: .35rem;
    background: var(--workshop-paper);
}
.workshop-page .course-passport dt { color: var(--workshop-blue); }
.workshop-page .course-passport dd { font-weight: 600; }
.workshop-page .course-passport-key dd { font-size: 1.05rem; font-weight: 750; }
.course-passport-facts > p { margin-top: 1rem; color: var(--muted-ink); font-size: .875rem; }

.workshop-page .footer {
    background: var(--plank-surface);
    border-top: .35rem solid var(--workshop-blue);
}
.workshop-page .footer-bottom { border-color: var(--workshop-edge); }
.workshop-page .footer-bottom a { text-decoration-color: currentColor; }
.workshop-secondary {
    --inner-gap: clamp(1rem, 3vw, 2.25rem);
}
.workshop-page .header {
    background: var(--plank-surface);
    border-bottom: 1px solid var(--workshop-edge);
}
.workshop-page .header .nav {
    min-height: 64px;
    column-gap: clamp(.5rem, 1.8vw, 1.5rem);
}
.workshop-page .header .brand { display: inline-flex; align-items: center; min-height: 44px; }
.workshop-page .preview-bar {
    background: var(--workshop-oak);
    border-color: var(--workshop-edge);
    color: var(--muted-ink);
}
.workshop-page .preview-bar span,
.workshop-page .preview-bar a { color: inherit; }
.workshop-page .region-switcher { min-width: 0; border: 0; }
.region-picker { position: relative; max-width: 100%; }
.region-picker summary {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 44px;
    color: var(--muted-ink);
    list-style: none;
    cursor: pointer;
}
.region-picker summary::-webkit-details-marker { display: none; }
.region-picker summary strong { color: var(--workshop-ink); }
.region-picker .region-chevron {
    width: .4rem;
    height: .4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    margin: 0;
    transform: translateY(-2px) rotate(45deg);
}
.region-picker[open] .region-chevron { transform: translateY(2px) rotate(225deg); }
.workshop-page .region-picker nav {
    position: absolute;
    inset: 100% 0 auto auto;
    z-index: 10;
    display: grid;
    gap: 0;
    width: max-content;
    min-width: min(16rem, calc(100vw - 2rem));
    max-width: min(23rem, calc(100vw - 2rem));
    padding: .35rem;
    border: 1px solid var(--workshop-line);
    border-radius: .5rem;
    background: var(--workshop-paper);
    box-shadow: 0 4px 12px #211b1526;
}
.workshop-page .region-picker nav a {
    justify-content: space-between;
    gap: 1rem;
    padding-inline: .65rem;
    border-radius: .3rem;
}
.region-picker nav small { color: var(--muted-ink); }
.workshop-page .region-switcher a:is(:hover, [aria-current]) {
    border-color: transparent;
    color: var(--workshop-ink);
    text-decoration: underline;
    text-underline-offset: .25em;
}
.workshop-page .region-switcher a[aria-current] {
    background: var(--workshop-oak);
    font-weight: 700;
}
.workshop-page .breadcrumbs {
    padding-top: .8rem;
    color: var(--muted-ink);
}
.workshop-secondary .region-notice {
    margin-block: .75rem;
    border: 1px solid var(--workshop-edge);
    border-radius: .5rem;
    background: var(--workshop-oak);
    font-size: .875rem;
}

.workshop-secondary :is(.workshop-bench, .workshop-panel, .workshop-reader) { min-width: 0; }
.workshop-secondary :is(.workshop-panel, .workshop-reader) { padding: clamp(1rem, 3vw, 2.25rem); }
.workshop-secondary :is(.workshop-bench, .page-hero, .workshop-reader) { margin-block: var(--inner-gap); }
.workshop-secondary :is(.shell.workshop-bench, .shell.workshop-panel, .shell.workshop-reader, .schedule-section.workshop-bench, .course-passport) {
    width: min(96.5%, 80rem);
    margin-inline: auto;
}
.workshop-secondary .workshop-reader {
    width: min(96.5%, 62rem);
    padding-block: clamp(1.25rem, 4vw, 2.75rem);
    overflow-wrap: anywhere;
}
.workshop-secondary .prose .block-callout { border-inline-start: 2px solid var(--workshop-line); background: var(--workshop-oak); }
.workshop-secondary :is(.page-hero .lede, .terms-card p, .received > p:not(.lede), .course-list-item p, .course-list-item small,
    .about-teacher p, .about-figure figcaption, .enrollment-example figcaption, .enrollment-note) { color: var(--muted-ink); }
.workshop-secondary .page-hero .lede { line-height: 1.55; }
.workshop-secondary .page-hero .eyebrow { margin-top: 0; }
.workshop-secondary .page-hero.workshop-plank { border-block-start: .25rem solid var(--workshop-blue); }
.workshop-secondary .enrollment-hero { align-items: center; gap: var(--inner-gap); }
.workshop-secondary :is(.hero-copy, .enrollment-intro) h1 {
    color: var(--workshop-ink);
    font-weight: 800;
    line-height: 1.04;
    text-wrap: balance;
}
.workshop-secondary :is(.hero-copy, .enrollment-intro) .hero-actions > .primary {
    justify-content: center;
    width: 100%;
    font-size: clamp(1rem, .9rem + .4vw, 1.25rem);
    font-weight: 750;
}
.workshop-secondary :is(.hero-art, .enrollment-example, .about-figure) {
    padding: 0;
    background: transparent;
    border: 0;
}
.workshop-secondary :is(.hero-art, .enrollment-example, .about-figure)::before,
.workshop-secondary :is(.hero-art, .enrollment-example, .about-figure)::after { content: none; }
.workshop-story-image {
    display: block;
    overflow: hidden;
    border-radius: .55rem;
}
.workshop-story-image img { width: 100%; height: auto; }
@media (min-width: 761px) {
    .workshop-story-image {
        position: relative;
        width: min(100%, 24rem);
        aspect-ratio: 460 / 600;
        margin-inline: auto;
    }
    .workshop-story-image img {
        /* Show the right-hand sequence of the original full-width illustration. */
        position: absolute;
        inset: -45.8% auto auto -215.2%;
        width: 352.2%;
        max-width: none;
    }
    .workshop-story-image + figcaption { justify-content: center; text-align: center; }
}
.workshop-secondary .enrollment-intro { container-type: inline-size; }
.workshop-secondary .enrollment-intro h1 {
    font-size: clamp(1.45rem, 10cqw, 3.5rem);
    hyphens: auto;
}
.workshop-secondary .enrollment-hero .hero-actions .text-link { margin-top: 0; }
.workshop-secondary .regional-availability li { border-color: var(--workshop-edge); }
.workshop-secondary .workshop-frame figcaption {
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin: .65rem auto 0;
    padding: .3rem .75rem;
    border: 1px solid var(--workshop-edge);
    border-radius: .35rem;
    background: var(--plank-surface);
    color: var(--workshop-ink);
    text-align: center;
}
.workshop-framed-image {
    border: 1px solid var(--workshop-edge);
    border-radius: .55rem;
}
.workshop-secondary .about-hero .about-figure { width: 100%; }
.workshop-secondary .hero { gap: var(--inner-gap); }
.workshop-secondary .hero .eyebrow,
.workshop-secondary .hero-footnote p { font-size: .875rem; }
.workshop-secondary .hero-footnote p,
.workshop-secondary .apply-copy .eyebrow { color: var(--muted-ink); }
.workshop-secondary .tiny-avatars span {
    border-color: var(--workshop-paper);
    background: var(--workshop-oak);
    color: var(--workshop-ink);
}
.workshop-secondary .hero .live-dot { display: none; }
.workshop-secondary .principles-strip {
    background: var(--workshop-oak);
    border-color: var(--workshop-edge);
    color: var(--muted-ink);
}
.workshop-secondary .principles-strip > .shell {
    color: inherit;
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .06em;
}

.workshop-secondary .collection { display: grid; gap: 1rem; }
.workshop-secondary .collection :is(.course-list-item, blockquote) { max-width: none; margin: 0; }
.workshop-secondary .collection > .course-list-item h2 { margin-block: .4rem .65rem; font-size: clamp(1.35rem, 2.5vw, 2rem); }
.workshop-secondary .collection a { text-decoration: underline; text-underline-offset: .2em; }
.workshop-secondary .approach,
.workshop-secondary .apply-section { padding-block: 0; background: transparent; color: inherit; }
.workshop-secondary .approach-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--inner-gap);
}
.workshop-secondary .approach-layout > div > p { max-width: 65ch; margin-block: .65rem; }
.workshop-secondary .steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--inner-gap);
}
.workshop-secondary .steps article {
    gap: .7rem;
    padding: .85rem 0 0;
    border: 0;
    border-top: 1px solid var(--workshop-edge);
}
.workshop-secondary .approach-layout > div > p,
.workshop-secondary .steps article p { color: var(--muted-ink); }
.workshop-secondary .steps article > span,
.workshop-secondary .program .outcomes > div > span { color: var(--workshop-blue); }
.workshop-secondary .program { border-block-start: .3rem solid var(--workshop-blue); }
.workshop-secondary :is(.hero, .approach-layout, .apply-copy, .faq-section, .schedule-section) :is(h1, h2) em { color: inherit; }
.workshop-secondary .program .outcomes > div,
.workshop-secondary .program-footer { border-color: var(--workshop-edge); color: var(--workshop-ink); }
.workshop-secondary .program-footer { font-size: .875rem; }
.workshop-secondary .schedule-section > .shell { width: 100%; max-width: none; padding-inline: 0; }
.workshop-secondary .schedule-layout { gap: var(--inner-gap); }
.workshop-secondary .faq-section { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.workshop-page .faq-list details > p { max-width: 65ch; padding-bottom: .8rem; }

.workshop-secondary .apply-layout { align-items: start; gap: var(--inner-gap); }
.workshop-secondary .apply-copy :is(p, a),
.workshop-secondary .lead-form :is(label, legend, .caption, .field-hint),
.workshop-secondary .apply-copy .local-form-note { color: var(--muted-ink); }
.workshop-secondary .apply-copy :is(.apply-note p, .local-form-note) { font-size: .875rem; }
.workshop-secondary .apply-note > span { color: var(--muted-ink); }
.workshop-secondary .lead-form .form-field > label span { color: var(--workshop-ink); }
.workshop-secondary .lead-form :is(input:not([type=checkbox], [type=radio], [type=hidden]), select, textarea) {
    background: var(--workshop-paper);
    border-color: var(--workshop-line);
    color: var(--workshop-ink);
}
.workshop-secondary .lead-form select option { background: var(--workshop-paper); }
.workshop-secondary .lead-form :is(.field-error, [aria-invalid=true]) { color: var(--workshop-error); }
.workshop-secondary .lead-form .error-summary {
    background: var(--workshop-paper);
    border-color: var(--workshop-error);
    color: var(--workshop-error);
}
.workshop-secondary .success-mark { background: var(--workshop-oak); color: var(--workshop-ink); }
.workshop-secondary .course-passport { margin-top: var(--inner-gap); }

@media (max-width: 760px) {
    .workshop-secondary .hero-art { margin: 0; }
    .workshop-secondary .steps { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
    .workshop-page .header .nav {
        position: relative;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0 .5rem;
        padding-block: .625rem .25rem;
    }
    .workshop-page .header .nav-links {
        grid-area: 2 / 1 / auto / -1;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .workshop-page .header .region-switcher {
        grid-area: 1 / 2;
        justify-content: center;
    }
    .workshop-page .header .nav-cta { grid-area: 1 / 3; }
    .region-picker { position: static; }
    .workshop-page .region-picker nav { inset: 100% 1rem auto; margin-inline: auto; }
}

@media (max-width: 460px) {
    .workshop-page .header .nav-links { justify-content: center; gap: 0 .5rem; font-size: .875rem; }
    .workshop-page .header .nav-links a { flex: 0 0 30%; justify-content: center; min-inline-size: max-content; }
}

@media (max-width: 520px) {
    .workshop-page .header .nav-cta {
        max-inline-size: 35vw;
        padding-inline: .5rem;
        font-size: .875rem;
        line-height: 1.25;
    }
    .workshop-page .header .nav-cta span { display: none; }
    .region-picker summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-content: center;
        gap: 0 .35rem;
        font-size: .875rem;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }
    .region-picker .region-chevron { grid-area: 1 / 2 / span 2; }
}

.workshop-page .wizard-schedule { margin-top: .7rem; }

@media (min-width: 761px) {
    .workshop-front {
        container-type: inline-size;
        width: min(100%, 100rem, max(48rem, calc((100svh - 11rem) * 1.95)));
        margin-inline: auto;
    }
    .workshop-hero {
        position: relative;
        grid-template-columns: 12.3% minmax(0, 43.6%) 1fr;
        grid-template-rows: 36.2fr minmax(auto, 53.2fr) 10.6fr;
        align-items: start;
        gap: 0;
        width: 100%;
        min-height: 59.94cqw;
        padding: 0;
        border: 0;
        background: none;
        box-shadow: none;
    }
    .workshop-copy {
        grid-area: 2 / 2;
        position: static;
        z-index: 1;
        padding: 0;
        border: 0;
        background: none;
        box-shadow: none;
    }
    .workshop-copy::before, .workshop-copy::after { display: none; }
    .workshop-label {
        position: absolute;
        top: 5.05%;
        left: 6.45%;
        width: 21.4%;
        margin: 0;
        color: var(--workshop-ink);
        font-size: 2.03cqw;
        text-align: center;
    }
    .workshop-copy h1 { font-size: 5.15cqw; }
    .workshop-description { max-width: 95%; margin-top: .85cqw; font-size: max(1rem, 2.15cqw); line-height: 1.14; }
    .workshop-facts { margin-top: 1.12cqw; font-size: max(1rem, 2.4cqw); }
    .workshop-cta { min-height: 44px; margin-top: 1.25cqw; padding: 1.08cqw .4cqw; font-size: 2.85cqw; }
    .workshop-note { margin-top: .8cqw; font-size: max(.875rem, 1.5cqw); text-align: center; text-wrap: balance; }
    .workshop-example { position: absolute; inset: 0; width: 100%; }
    .workshop-example img { height: 100%; object-fit: fill; border-radius: 0; }
    .workshop-example figcaption { display: none; }
}

.workshop-page .workshop-frame {
    --rail: clamp(.7rem, 2vw, 2rem);
    position: relative;
    isolation: isolate;
    padding: calc(var(--rail) + clamp(.5rem, 1.1vw, 1rem));
    border: 0;
    border-radius: .9rem;
    background: transparent;
    box-shadow: 0 4px 9px #5c341839;
}
.workshop-frame::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    border: var(--rail) solid var(--workshop-blue);
    border-block-end-color: var(--workshop-red);
    border-radius: inherit;
    background: #f5a071;
    border-image: url("workshop-frame.jpg") 60 56 60 56 fill stretch;
    content: "";
    pointer-events: none;
}
.workshop-page .enrollment-cta-panel .button {
    justify-content: center;
    justify-self: center;
    font-weight: 750;
}
.workshop-contact-enrollment > .shell {
    width: min(96.5%, 80rem);
    margin-block: var(--inner-gap);
    padding-inline: 0;
}
.workshop-contact-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(.85rem, 2vw, 1.5rem);
}
.workshop-contact-panel h1 { font-size: clamp(2rem, 1.4rem + 2.3vw, 3.5rem); }
.workshop-contact-panel h1 + p { margin-top: .7rem; }
.workshop-contact-panel .button { justify-content: center; width: 100%; margin-block: 1rem .65rem; }
.workshop-contact-art img {
    width: 100%;
    height: auto;
    border-radius: .6rem;
    box-shadow: 0 3px 8px #522b2040;
}
.workshop-contact-details {
    width: min(96.5%, 80rem);
    margin-block: var(--inner-gap);
    scroll-margin-block-start: 1rem;
}
.workshop-contact-details h2 { font-size: 1.25rem; text-align: start; }
.workshop-contact-details p { color: var(--muted-ink); }
.workshop-contact-details a { text-decoration: underline; }
.workshop-contact-links { display: flex; flex-wrap: wrap; column-gap: 1rem; }
.workshop-contact-links a { display: inline-flex; align-items: center; min-block-size: 44px; }

@media (max-width: 760px) {
    .workshop-trial, .workshop-contact-panel, .workshop-page .course-passport { grid-template-columns: minmax(0, 1fr); }
    .workshop-contact-art { width: min(100%, 26rem); justify-self: center; }
    .course-passport-art { grid-area: auto; }
    .workshop-page .course-passport dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workshop-page .course-passport-key:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .workshop-awards-photos { grid-template-columns: minmax(0, 1fr); }
    .workshop-family-reviews .review-grid { grid-template-columns: minmax(0, 1fr); }
    .workshop-teacher > div { display: contents; }
    .workshop-teacher h2 { align-self: center; }
    .workshop-teacher :is(p, ul, .text-link) { grid-column: 1 / -1; margin-block: 0; }
    .workshop-project:has(.workshop-project-art) {
        grid-template-areas: "title art" "description description";
        align-items: center;
    }
    .workshop-project-art { max-width: 9rem; width: 100%; }
    .workshop-page .enrollment-cta-panel .button { width: 100%; }
    .workshop-outcomes { grid-template-columns: minmax(0, 1fr); }
    .workshop-page .enrollment-dialog {
        line-height: 1.45;
    }
    .enrollment-dialog .wizard-header { padding-top: max(.75rem, env(safe-area-inset-top)); }
    .workshop-page .wizard-progress progress { margin-top: .2rem; }
    .workshop-page .enrollment-dialog .wizard-field { margin-top: .55rem; }
    .workshop-page .enrollment-dialog .wizard-schedule #id_windows { grid-template-columns: minmax(0, 1fr); }
    .workshop-page .enrollment-dialog .wizard-consent label { padding-block: .35rem; }
    .enrollment-dialog .wizard-actions { gap: .4rem; }
    .enrollment-dialog .wizard-actions .button { padding-inline: .65rem; }
}
