:root{--surface:#fff;--ink:#000;--primary:#f00;--contact:#05d757;--muted:#666;--rule:#e7e3dc;--gutter:24px;font-family:system-ui,sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column}a{color:inherit}button{font:inherit;color:inherit}img{display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--primary);outline-offset:6px}p,h1,h2,ul,dl{margin:0}p{line-height:1.5}h2{font-size:26px;line-height:1.25;font-weight:900}main{flex:1}main:focus{outline:none}[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:10;background:#000;color:#fff;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{height:64px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);flex-shrink:0}.mark,.menu-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.menu-button{flex-direction:column;gap:6px;border:0;background:none;cursor:pointer}.menu-button span{width:20px;height:2px;background:var(--ink);transition:transform .15s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu{padding:24px var(--gutter);border-bottom:8px solid var(--ink);display:flex;flex-direction:column;gap:0}.menu a{font-size:28px;line-height:1.25;font-weight:900;padding:16px 0;border-top:1px solid var(--rule);text-decoration-thickness:8px;text-underline-offset:8px}.menu a[aria-current=page]{color:var(--primary)}
.landing{padding:28px var(--gutter) 0;display:flex;flex-direction:column;gap:24px}.landing-intro{display:flex;flex-direction:column;gap:24px}.eyebrow{font-size:14px;line-height:20px;letter-spacing:.1em;text-transform:uppercase}.landing .eyebrow{display:none}.display{font-size:clamp(30px,9.5vw,37px);line-height:1.54;letter-spacing:.17em;font-weight:900;color:var(--primary);text-decoration-line:underline;text-decoration-thickness:17px;text-underline-position:from-font}.intro-copy{font-size:16px;line-height:24px;max-width:480px}
.entry-links{min-width:0}.entry{display:flex;align-items:center;gap:8px;min-height:110px;padding:20px 0;border-top:1px solid var(--rule);text-decoration:none}.entry.primary{border-top:6px solid var(--ink)}.number{display:flex;align-items:center;justify-content:center;width:28px;height:24px;flex-shrink:0;background:var(--ink);color:var(--surface);font-size:14px;font-weight:600}.primary .number{background:var(--primary);color:var(--ink)}.entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.entry strong{font-size:clamp(23px,7.2vw,28px);line-height:36px;letter-spacing:.03em;font-weight:900;text-decoration:underline;text-decoration-thickness:12px;text-underline-position:from-font;overflow-wrap:anywhere}.band{display:inline-block;width:fit-content;padding:2px 4px;background:var(--ink);color:var(--surface);font-size:14px;line-height:20px}.arrow{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:28px}.primary .arrow{background:var(--ink);color:var(--surface)}.entry:hover strong{color:var(--primary)}
.site-footer{border-top:1px solid var(--rule);padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.footer-address{display:flex;align-items:center;gap:32px;font-size:14px;line-height:20px}.footer-address a{font-weight:600}.footer-address span{display:none;color:var(--muted)}.contact-action{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;width:fit-content;max-width:100%;padding:10px 12px;border-top:4px solid var(--contact);color:var(--surface);background:var(--ink);font-size:16px;line-height:24px;font-weight:600;text-decoration:none}.contact-action:hover{border-top-color:var(--ink);color:var(--ink);background:var(--contact)}
.page{max-width:1240px;margin:auto;padding:40px var(--gutter) 64px;display:flex;flex-direction:column;align-items:flex-start;gap:28px}.page-title{font-size:clamp(36px,8vw,72px);line-height:1.4;font-weight:900;letter-spacing:.02em;color:var(--primary);text-decoration:underline;text-decoration-thickness:.22em;text-underline-position:from-font;overflow-wrap:anywhere}.lead{font-size:20px;line-height:30px;max-width:720px}.notice{border-left:6px solid var(--ink);padding-left:16px;max-width:780px;color:var(--muted);font-size:16px}.catalogue{width:100%;display:flex;flex-direction:column}.workshop{border-top:1px solid var(--rule);padding:28px 0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.workshop h2{font-size:28px;font-weight:900}.workshop p{max-width:660px}.text-action{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;max-width:100%;padding:8px 0;border-bottom:4px solid var(--ink);text-decoration:none;font-weight:600;line-height:24px}.text-action:hover{color:var(--primary)}.workshop .text-action{width:100%}.information-grid{display:flex;flex-direction:column;gap:32px;width:100%}.information-grid>div{flex:1;display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--rule);padding-top:24px}.facts{width:100%;max-width:760px}.facts>div{display:flex;gap:24px;border-top:1px solid var(--rule);padding:16px 0;line-height:24px}.facts dt{width:110px;flex-shrink:0;font-weight:600}.facts dd{margin:0;flex:1;min-width:0}.plain-list{padding-left:20px;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:24px}.detail-copy{max-width:760px;line-height:1.6}.message-preview{white-space:pre-wrap;max-width:760px;padding:20px;border:1px solid var(--rule);font:inherit;line-height:1.5}.sample-label{color:var(--muted);font-size:14px}
@media(min-width:1000px){:root{--gutter:24px}.site-header{height:80px;padding:8px 40px}.menu{flex-direction:row;gap:40px}.menu a{font-size:22px}.landing{min-height:calc(100svh - 201px);flex-direction:row;align-items:flex-start;justify-content:space-between;gap:80px;padding:64px var(--gutter)}.landing-intro,.entry-links{flex:1;min-width:0}.landing-intro{gap:32px}.landing .eyebrow{display:block}.display{font-size:clamp(60px,6.12vw,88px);line-height:1.25;letter-spacing:.04em;text-decoration-thickness:24px}.intro-copy{font-size:18px;line-height:28px;padding-top:8px}.entry{gap:16px;min-height:134px;padding:28px 0}.entry.primary{border-top-width:8px;min-height:166px}.entry strong{font-size:34px;line-height:44px;letter-spacing:.04em}.entry.primary strong{font-size:clamp(34px,3.05vw,44px);line-height:52px;text-decoration-thickness:16px}.entry-copy{gap:14px}.number{width:32px}.band{padding:3px 6px;letter-spacing:.04em}.site-footer{margin-top:0}.footer-address span{display:block}.site-footer>.contact-action{min-width:286px;min-height:64px;border-top-width:8px;font-size:18px}.information-grid{flex-direction:row;gap:64px}.workshop{flex-direction:row;align-items:center;gap:48px}.workshop-copy{flex:1}.workshop .text-action{width:240px}.page{padding-top:64px}.page-title{font-size:72px}}
.workshop-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.calendar-link{display:inline-block;margin-top:8px;font-weight:600;text-underline-offset:4px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;max-width:560px}
.calendar-weekday{text-align:center;font-size:12px;padding:8px 0}
.calendar-empty{grid-column:span 6}
.calendar-day{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--rule);font-weight:600}
.calendar-day.available{background:var(--ink);color:var(--surface);text-decoration:none}
.calendar-day.unavailable{color:var(--muted)}
.calendar-day.available:hover,.calendar-day[aria-current=date]{background:var(--primary);color:var(--surface)}
.site-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;height:92px;padding:24px;align-items:center}
.brand{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center;justify-content:center}
.brand img{width:auto;height:44px;aspect-ratio:29/24}
.menu-button{grid-column:2;grid-row:1;position:relative;gap:5px;background:var(--ink);flex-shrink:0}
.menu-button::after{content:"";position:absolute;right:0;bottom:0;width:8px;height:8px;background:var(--primary)}
.menu-button span{height:3px;background:var(--surface)}
:root{--header-height:92px;--footer-height:97px;scroll-padding-top:calc(var(--header-height) + 16px);scroll-padding-bottom:calc(var(--footer-height) + env(safe-area-inset-bottom,0px) + 16px)}
body{padding-top:var(--header-height);padding-bottom:calc(var(--footer-height) + env(safe-area-inset-bottom,0px))}
.site-header{position:fixed;inset:0 0 auto;z-index:7;height:var(--header-height);background:var(--surface)}
.menu{position:fixed;inset:var(--header-height) 0 auto;z-index:6;max-height:calc(100dvh - var(--header-height) - var(--footer-height) - env(safe-area-inset-bottom,0px));overflow-y:auto;background:var(--surface)}
.site-footer{position:fixed;inset:auto 0 0;z-index:5;height:calc(var(--footer-height) + env(safe-area-inset-bottom,0px));margin-top:0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--surface)}
@media(min-width:1000px){:root{--footer-height:113px}.landing{min-height:calc(100svh - 92px - var(--footer-height) - env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:1000px){.menu{flex-wrap:wrap}}

.header-contact-actions{display:flex;align-items:center;gap:16px}.newsletter-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:black;color:white;flex:none}.newsletter-button:hover{background:#f00}

.site-header{grid-template-columns:minmax(0,1fr) 104px}
