.field-error{color:#b42318;font-size:.92rem;font-weight:700;line-height:1.35;display:block}.field-error:before{content:"⚠ "}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:#b42318;outline:2px solid #b4231859}.field__label-row{justify-content:space-between;gap:8px;display:flex}.char-count{color:var(--c-muted);font-size:.85rem;font-weight:500}.char-count--over{color:#b42318;font-weight:800}.toast{z-index:60;left:var(--gutter,16px);right:var(--gutter,16px);bottom:calc(16px + env(safe-area-inset-bottom));color:#fff;background:#1f1f23;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.95rem;font-weight:600;line-height:1.4;animation:.2s ease-out toast-in;display:flex;position:fixed;box-shadow:0 10px 30px #0000004d}.toast--error{border-left:5px solid #f04438}.toast span{flex:1}.toast__close{color:inherit;cursor:pointer;background:0 0;border:0;min-width:40px;min-height:40px;margin:-10px -8px -10px 0;font-size:1.4rem;line-height:1}.site.has-actionbar .toast{bottom:calc(84px + env(safe-area-inset-bottom))}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media (min-width:900px){.toast,.site.has-actionbar .toast{max-width:420px;bottom:24px;left:auto;right:24px}}.check{align-items:flex-start;gap:10px;font-size:.95rem;display:flex}.check input{width:22px;height:22px;accent-color:var(--c-primary);flex:none;margin-top:1px}.contact-form{gap:14px;height:auto;display:grid}.contact-form .btn{width:100%}.contact-form__done{text-align:center;height:auto}.contact-form__icon{margin:0;font-size:2.4rem}@media (min-width:720px){.contact-form .btn{justify-self:start;width:auto}}.event-list{gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.event{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;height:auto;padding:16px;display:grid}.event__badge{border-radius:calc(var(--radius) / 2 + 4px);background:var(--c-primary);width:62px;color:var(--c-primary-text);justify-items:center;padding:6px 0 8px;line-height:1.1;display:grid}.event__month{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.event__day{font-size:1.7rem;font-weight:800}.event__weekday{opacity:.85;font-size:.72rem}.event__body{min-width:0}.event__title{overflow-wrap:anywhere;margin:0 0 4px;font-size:1.15rem}.event__when,.event__place{margin:0 0 4px;font-size:.95rem}.event__now{color:var(--c-accent);font-weight:700}.event__desc{overflow-wrap:anywhere;margin:6px 0 0;font-size:.95rem}.event__btn{margin-top:10px}.event__img{aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--radius) / 2 + 2px);grid-column:1/-1;width:100%}.event-list--past .event{opacity:.7}.event-list--past .event__badge{background:var(--c-border);color:var(--c-text)}.events-past__title{margin-top:32px;font-size:1.3rem}@media (min-width:720px){.event{grid-template-columns:auto minmax(0,1fr) 160px}.event__img{aspect-ratio:4/3;grid-column:auto}}.class-list{gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.class-card{gap:12px;height:auto;padding:16px;display:grid}.class-card__head{grid-template-columns:auto minmax(0,1fr);gap:14px;display:grid}.class-card__when{border-radius:calc(var(--radius) / 2 + 4px);background:color-mix(in srgb, var(--c-primary) 12%, var(--c-surface));text-align:center;align-content:center;justify-items:center;min-width:84px;max-width:104px;padding:8px 6px;line-height:1.2;display:grid}.class-card__when strong{font-size:1.35rem}.class-card__when span{color:var(--c-muted);font-size:.78rem}.class-card__main h3{overflow-wrap:anywhere;margin:0 0 2px;font-size:1.1rem}.class-card__main p{margin:0}.class-card__note{font-weight:600;margin-top:4px!important}.class-card__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.class-card__foot .btn{min-height:44px}.places{font-size:.95rem;font-weight:700}.places--few{color:var(--c-accent)}.places--full,.places--cancelled,.places--closed{color:var(--c-muted)}.class-card--full,.class-card--cancelled,.class-card--closed{opacity:.75}.class-card--cancelled h3{text-decoration:line-through}.class-card__booked{color:#157347;font-weight:800}.class-card__done{background:color-mix(in srgb, #157347 12%, var(--c-surface));border-radius:10px;margin:0;padding:12px}.class-form{border-top:1px solid var(--c-border);gap:12px;padding-top:12px;display:grid}.class-form .btn{width:100%}.class-about{gap:12px;margin-top:32px;display:grid}.class-about .card{height:auto}.preorder{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.preorder>*{min-width:0}.pay-note{background:color-mix(in srgb, var(--c-primary) 12%, var(--c-surface));border:1px solid color-mix(in srgb, var(--c-primary) 35%, var(--c-border));border-radius:12px;margin:0;padding:12px 14px}.preorder__cat h3{margin:12px 0 8px;font-size:1.05rem}.preorder__items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.preorder__item{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.preorder__item.is-chosen{border-color:var(--c-primary);box-shadow:0 0 0 1px var(--c-primary)}.preorder__item.is-soldout{opacity:.6}.preorder__info{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.preorder__price{font-weight:700}.preorder__soldout{color:var(--c-muted);font-weight:700}.stepper--small button{width:44px;height:44px;font-size:1.3rem}.stepper--small output{min-width:36px}.slots__grid--wide{grid-template-columns:repeat(2,1fr)}@media (min-width:500px){.slots__grid--wide{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.preorder__summary{gap:8px;height:auto;display:grid}.preorder__summary ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.preorder__summary li,.preorder__total{justify-content:space-between;gap:12px;display:flex}.preorder__total{border-top:1px solid var(--c-border);margin:0;padding-top:8px;font-size:1.1rem}.site:has(.preorder) .actionbar{display:none}.site.has-actionbar:has(.preorder){padding-bottom:0}.site:has(.preorder) .toast{bottom:calc(16px + env(safe-area-inset-bottom))}.preorder__details{gap:14px;display:grid}.toast{pointer-events:none}.toast__close{pointer-events:auto}.svc-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.svc{text-align:left;border:2px solid var(--c-border,#0000001f);border-radius:var(--radius,12px);background:var(--c-surface,#fff);width:100%;min-height:56px;color:inherit;font:inherit;cursor:pointer;gap:2px;padding:12px 14px;display:grid}.svc.is-selected{border-color:var(--c-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--c-primary) 25%, transparent)}.svc__name{font-weight:700}.svc__meta,.svc__desc{opacity:.75;font-size:.9rem}.staff-pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.staff-card{border:2px solid var(--c-border,#0000001f);border-radius:var(--radius,12px);background:var(--c-surface,#fff);min-height:120px;color:inherit;font:inherit;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:12px 8px;display:flex}.staff-card.is-selected{border-color:var(--c-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--c-primary) 25%, transparent)}.staff-card__avatar{object-fit:cover;background:color-mix(in srgb, var(--c-primary) 15%, transparent);border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.3rem;font-weight:700;display:grid}.staff-card__name{overflow-wrap:anywhere;font-weight:700}.staff-card__bio{opacity:.75;overflow-wrap:anywhere;font-size:.8rem}@media (min-width:720px){.staff-pick{grid-template-columns:repeat(4,minmax(0,1fr))}.svc-list{grid-template-columns:1fr 1fr}}.voucher-sheet{border:3px double var(--c-primary);border-radius:var(--radius,12px);text-align:center;background:var(--c-surface,#fff);gap:10px;padding:24px 16px;display:grid}.voucher-sheet--used{opacity:.6}.voucher-sheet__brand{letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;font-weight:700}.voucher-sheet__title{font-family:var(--font-heading,inherit);font-size:1.8rem}.voucher-sheet__value{color:var(--c-primary);overflow-wrap:anywhere;font-size:2.2rem;font-weight:800}.voucher-sheet__msg{overflow-wrap:anywhere;margin:0;font-style:italic}.voucher-sheet__code{border:1px dashed;border-radius:8px;gap:2px;padding:10px;display:grid}.voucher-sheet__code strong{letter-spacing:.08em;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.35rem}.voucher-sheet__foot,.voucher-sheet__small{opacity:.75;margin:0;font-size:.8rem}.voucher-note{text-align:center;font-weight:700}.voucher-actions{text-align:center;margin-top:16px}@media print{.site-header,.site-footer,.actionbar,.announce,.skip-link,.voucher-actions,.season-decor{display:none!important}.voucher-page{padding:0!important}.voucher-sheet{break-inside:avoid;color:#000;background:#fff;border-color:#000}.voucher-sheet__value{color:#000}}
.lang-switch{border:1px solid var(--c-border);font-family:var(--f-body);border-radius:999px;align-items:center;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.lang-switch a,.site-nav .lang-switch a:not(.btn){min-width:44px;min-height:40px;font-family:var(--f-body);text-transform:none;letter-spacing:.02em;color:var(--c-text);opacity:1;border:0;justify-content:center;align-items:center;padding:0 10px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.lang-switch a[aria-current=true],.site-nav .lang-switch a[aria-current=true]:not(.btn){background:var(--c-text);color:var(--c-bg)}.lang-switch-bar{margin-left:auto;display:inline-flex}.site-nav__langs{display:none}.site-footer__links .lang-switch{margin-top:4px}@media (min-width:900px){.lang-switch-bar{display:none}.site-nav__langs{margin-left:4px;display:inline-flex}}
