:root{--paper:#f5f1e8;--ink:#242920;--muted:#62685c;--line:#c9c7bc;--tomato:#d85b3d;--lime:#d6e79a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid var(--tomato);outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.site-shell{max-width:1600px;margin:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5.55%;border-bottom:1px solid var(--ink)}.brand,.footer-brand{font-family:var(--serif);font-size:39px;font-weight:700;letter-spacing:-.075em;line-height:1;text-decoration:none}.brand-period,.footer-brand span,.heading-dot{color:var(--tomato)}.header-note{font-family:var(--serif);font-style:italic;font-size:17px}.header-link{font-size:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.header-link span{font-size:16px;margin-left:8px}
.hero{min-height:420px;display:grid;grid-template-columns:52% 48%;border-bottom:1px solid var(--ink)}.hero-copy{padding:52px 7% 38px 10.7%;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,7.15vw,108px);letter-spacing:-.06em;line-height:.91;margin:0 0 24px}.hero h1 em{font-weight:400;color:var(--tomato);letter-spacing:-.065em}.hero-copy p{max-width:400px;font-size:17px;line-height:1.5;margin:0 0 25px}.hero-link{display:inline-flex;gap:44px;align-items:center;background:var(--ink);color:var(--paper);padding:15px 19px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em;transition:background .2s,color .2s}.hero-link:hover{background:var(--tomato);color:white}.hero-link span{font-size:20px;font-weight:400;line-height:1}.hero-image-wrap{position:relative;min-width:0;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.82)}.hero-image-tag{position:absolute;right:0;bottom:0;background:var(--lime);width:124px;height:124px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg) translate(9px,12px);font-weight:900;letter-spacing:.08em;line-height:.95;font-size:18px;box-shadow:0 8px 20px #24292022}
.workshops{padding:64px 5.55% 115px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.section-heading h2{font-family:var(--serif);font-size:clamp(48px,5.4vw,76px);letter-spacing:-.055em;font-weight:400;line-height:1;margin:0 0 12px}.section-heading p{margin:0;font-size:16px}.section-heading .edition{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;white-space:nowrap;padding-bottom:5px}.edition span{color:var(--tomato);margin:0 10px}
.filter-bar{display:grid;grid-template-columns:minmax(280px,1fr) 230px 175px;border:1px solid var(--ink);min-height:60px}.search-field,.select-field{display:flex;align-items:center;position:relative;min-width:0}.search-field{border-right:1px solid var(--ink)}.search-field svg{width:22px;height:22px;flex:none;margin-left:20px}.search-field input{width:100%;height:100%;min-height:58px;border:0;outline:0;background:transparent;color:var(--ink);padding:0 18px;font-size:14px}.search-field input::placeholder{color:#62685c;opacity:1}.search-field:focus-within,.select-field:focus-within{box-shadow:inset 0 0 0 2px var(--tomato)}.search-field input:focus-visible,.select-field select:focus-visible{outline:0}.select-field{border-right:1px solid var(--ink)}.select-field select{width:100%;height:100%;min-height:58px;border:0;background:transparent;color:var(--ink);appearance:none;padding:0 42px 0 20px;font-size:14px;cursor:pointer}.select-field svg{position:absolute;right:18px;width:15px;pointer-events:none}.saved-filter{background:transparent;color:var(--ink);border:0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:700;transition:background .2s}.saved-filter:hover,.saved-filter[aria-pressed=true]{background:var(--lime)}.saved-filter svg{height:19px;width:19px}.saved-filter[aria-pressed=true] svg,.save-item[aria-pressed=true] svg{fill:currentColor}.saved-count{font-size:11px;font-weight:700;border:1px solid currentColor;min-width:24px;height:24px;display:grid;place-items:center;border-radius:50%}
.results-line{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);padding:27px 0 20px}.results-line-rule{height:1px;background:var(--line);flex:1}.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 22px}.workshop-card{min-width:0;position:relative}.card-open{border:0;background:none;color:var(--ink);padding:0;font-size:12px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--tomato);font-weight:700}.card-open::after{content:"";position:absolute;inset:0}.card-open:focus-visible{outline:0}.workshop-card:has(.card-open:focus-visible){outline:3px solid var(--tomato);outline-offset:5px}.card-image-wrap{height:250px;overflow:hidden;background:#ddd5c8;position:relative}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s}.workshop-card:hover .card-image{transform:scale(1.045);filter:saturate(1.1)}.card-category{position:absolute;left:12px;top:12px;background:var(--paper);padding:9px 11px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.card-saved{position:absolute;right:12px;top:12px;background:var(--lime);width:34px;height:34px;display:grid;place-items:center}.card-saved svg{width:19px;height:19px;fill:var(--ink)}.card-meta{display:flex;justify-content:space-between;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;padding:20px 0 11px;color:var(--muted)}.card-title-row{display:flex;justify-content:space-between;align-items:start;gap:10px}.card-title{font-family:var(--serif);font-size:clamp(25px,2.35vw,34px);letter-spacing:-.035em;font-weight:400;line-height:1.12;margin:0}.card-description{font-size:14px;line-height:1.5;color:var(--muted);max-width:38ch;margin:11px 0 0}.card-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;margin-top:19px;padding-top:12px;font-size:12px}.card-price{font-size:17px;font-weight:700}.card-open span{display:inline-block;font-size:19px;margin-left:6px;text-decoration:none;transition:transform .2s}.workshop-card:hover .card-open span{transform:translate(3px,-3px)}
.empty-state,.load-error{min-height:340px;text-align:center;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px}.empty-mark{font-family:var(--serif);font-size:54px;color:var(--tomato);line-height:1}.empty-state h3,.load-error h3{font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-.04em;margin:15px 0 8px}.empty-state p,.load-error p{color:var(--muted);font-size:14px;margin:0 0 20px}.empty-state button,.load-error button{border:0;border-bottom:1px solid currentColor;background:none;color:var(--ink);padding:6px 0;font-size:13px;font-weight:700}
.site-footer{background:var(--ink);color:var(--paper);min-height:155px;padding:34px 5.55%;display:flex;justify-content:space-between;align-items:end}.footer-brand{font-size:56px}.site-footer p{font-family:var(--serif);font-style:italic;font-size:18px;margin:0 0 6px}.site-footer a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;text-decoration:underline;text-underline-offset:5px;margin-bottom:8px}
.detail-dialog{border:0;padding:0;max-width:min(1080px,calc(100vw - 64px));width:100%;max-height:min(780px,calc(100dvh - 64px));background:var(--paper);color:var(--ink);box-shadow:0 25px 80px #0b110e55;overflow:auto}.detail-dialog::backdrop{background:#141c17b3}.detail-content{display:grid;grid-template-columns:46% 54%;min-height:640px}.detail-media{position:relative;background:#ddd1c4;min-height:640px}.detail-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.detail-photo-note{position:absolute;bottom:19px;left:20px;color:#fff;font-family:var(--serif);font-style:italic;font-size:19px;text-shadow:0 1px 8px #0009}.detail-main{padding:32px 43px 38px;display:flex;flex-direction:column}.detail-topline{display:flex;align-items:center;justify-content:space-between}.detail-category{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--tomato)}.close-detail{border:1px solid var(--line);background:transparent;width:40px;height:40px;display:grid;place-items:center;transition:background .2s}.close-detail:hover{background:var(--lime)}.close-detail svg{width:19px}.detail-main h2{font-family:var(--serif);font-size:clamp(46px,4.3vw,68px);letter-spacing:-.055em;line-height:.99;font-weight:400;margin:34px 0 22px}.detail-body{font-size:17px;line-height:1.55;margin:0 0 37px;max-width:50ch}.detail-facts{border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.detail-facts>div{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line);padding:15px 0 17px}.fact-label,.detail-price span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}.detail-facts strong{font-size:15px;font-weight:500;line-height:1.3}.detail-bottom{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;align-items:end;gap:16px}.detail-price{display:flex;flex-direction:column;gap:4px}.detail-price strong{font-family:var(--serif);font-weight:400;font-size:41px;letter-spacing:-.05em}.save-item{min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:white;border:1px solid var(--ink);padding:12px 18px;font-size:13px;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}.save-item:hover,.save-item[aria-pressed=true]{background:var(--lime);color:var(--ink)}.save-item svg{width:19px;height:19px}
@media(max-width:1000px){.hero{grid-template-columns:52% 48%;min-height:370px}.hero-copy{padding-left:8%;padding-top:47px}.hero h1{font-size:clamp(61px,7vw,82px)}.card-image-wrap{height:210px}.workshop-grid{gap:40px 18px}.detail-main{padding:27px}.detail-media,.detail-content{min-height:600px}}
@media(max-width:700px){.site-header{height:69px;padding:0 22px}.brand{font-size:35px}.header-note{display:none}.header-link{font-size:10px}.hero{display:flex;flex-direction:column;border-bottom:0}.hero-copy{padding:40px 22px 34px}.hero h1{font-size:clamp(58px,14.8vw,88px);margin-bottom:20px}.hero-copy p{font-size:15px;max-width:330px;margin-bottom:22px}.hero-link{padding:13px 16px}.hero-image-wrap{height:270px}.hero-image-tag{height:88px;width:88px;font-size:12px;transform:rotate(-8deg) translate(7px,9px)}.workshops{padding:55px 22px 80px}.section-heading{align-items:start;margin-bottom:25px}.section-heading h2{font-size:49px;margin-bottom:10px}.section-heading p{font-size:14px}.section-heading .edition{display:none}.filter-bar{grid-template-columns:1fr 138px;min-height:auto}.search-field{grid-column:1/-1;border-bottom:1px solid var(--ink);border-right:0}.search-field input{min-height:54px}.select-field{border-right:1px solid var(--ink)}.select-field select{min-height:52px;padding-left:13px;font-size:13px}.select-field svg{right:10px}.saved-filter{gap:6px;font-size:13px}.saved-filter svg{width:17px}.saved-count{min-width:21px;height:21px;font-size:10px}.results-line{gap:10px;padding:24px 0 17px;font-size:9px}.results-line span:last-child{display:none}.workshop-grid{grid-template-columns:1fr;gap:42px}.card-image-wrap{height:260px}.card-meta{padding-top:15px}.card-title{font-size:31px}.card-description{font-size:14px}.site-footer{padding:30px 22px;min-height:155px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.footer-brand{font-size:47px}.site-footer p{grid-row:2;grid-column:1/-1;font-size:15px}.site-footer a{grid-column:2;grid-row:1;font-size:10px}.detail-dialog{position:fixed;max-width:none;width:100vw;max-height:none;height:100dvh;margin:0;inset:0;box-shadow:none}.detail-content{display:block;min-height:100%}.detail-media{min-height:0;height:260px}.detail-main{padding:22px 22px 30px;min-height:calc(100dvh - 260px)}.detail-topline{position:absolute;top:16px;left:22px;right:22px}.detail-category{background:var(--paper);padding:10px}.close-detail{background:var(--paper);border-color:var(--paper)}.detail-main h2{font-size:49px;margin:13px 0 17px}.detail-body{font-size:15px;margin-bottom:25px}.detail-facts strong{font-size:14px}.detail-facts>div{padding:12px 0 13px}.detail-bottom{padding-top:24px}.detail-price strong{font-size:37px}.save-item{padding:11px 12px;font-size:12px;min-height:50px}}
@media(max-width:370px){.hero h1{font-size:55px}.section-heading h2{font-size:44px}.detail-main h2{font-size:43px}.detail-media{height:220px}.detail-main{min-height:calc(100dvh - 220px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.header-link svg{width:16px;height:16px;margin-left:6px}.hero-link svg{width:20px;height:20px}.card-open{display:inline-flex;align-items:center;gap:6px}.card-open svg{width:18px;height:18px;transition:transform .2s}.workshop-card:hover .card-open svg{transform:translate(3px,-3px)}.empty-mark{width:48px;height:48px;color:var(--tomato)}
@media(min-width:701px){.hero{min-height:370px}.hero-copy{padding-top:42px;padding-bottom:30px}.hero h1{font-size:clamp(70px,6vw,92px);margin-bottom:20px}.hero-copy p{margin-bottom:20px}.workshops{padding-top:50px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:clamp(48px,4.6vw,66px)}.results-line{padding-top:20px;padding-bottom:15px}}
@media(max-width:700px){.hero-copy{padding-top:30px;padding-bottom:25px}.hero-image-wrap{height:205px}.workshops{padding-top:40px}.section-heading{margin-bottom:20px}}
