:root{--paper:#f5f2eb;--ink:#252922;--muted:#77796f;--green:#354839;--orange:#d27b4c;--line:#d9d6cd;--white:#fffefa;--serif:'Iowan Old Style',Baskerville,'Palatino Linotype',Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:rgba(53,72,57,.15)}
button,input,select{font:inherit}
a{color:inherit}
button,a,select{touch-action:manipulation}
:focus-visible{outline:3px solid #bc6034;outline-offset:4px}
.skip-link{position:absolute;z-index:10;top:8px;left:8px;padding:12px 16px;background:var(--ink);color:white;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:82px;padding:0 6.25%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(37,41,34,.13)}
.wordmark{font-size:30px;letter-spacing:-2px;text-decoration:none;font-weight:700;line-height:1}.wordmark span{color:var(--orange)}
.main-nav{display:flex;gap:36px;margin-left:80px}.main-nav a,.header-note,.site-footer>a:last-child{font-size:12px;text-decoration:none;font-weight:600;letter-spacing:.025em}.main-nav a{color:#55584f}.main-nav a:hover,.site-footer a:hover{color:var(--orange)}
.header-note{color:var(--green)}.header-note span{padding-left:8px;color:var(--orange);font-size:16px}
.hero{min-height:458px;padding:50px 6.25% 60px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:7%;position:relative;border-bottom:1px solid var(--line)}
.hero-copy{padding:6px 0 4px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700;color:#74796b;margin:0 0 20px}.eyebrow-dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:9px;vertical-align:1px}
h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;font-size:clamp(54px,5.4vw,78px);line-height:.99;margin:0 0 19px;text-wrap:balance}.hero h1 em{color:var(--green);font-weight:500}
.hero-intro{max-width:355px;color:#6d7067;font-size:14px;line-height:1.7;margin:0 0 22px}.text-link{color:var(--green);font-size:12px;font-weight:700;letter-spacing:.03em;text-decoration:none;border-bottom:1px solid #95998c;padding-bottom:6px}.text-link span{color:var(--orange);padding-left:8px;font-size:16px}
.hero-image-wrap{height:328px;position:relative;padding:0 28px 20px 0}.hero-image-wrap:before{content:"";position:absolute;inset:20px 0 0 28px;background:#d8ddce}.hero-image{position:relative;width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.image-stamp{position:absolute;right:-14px;top:26px;width:89px;height:89px;border-radius:50%;background:var(--orange);color:#fff8ef;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;line-height:1.45;font-weight:700;letter-spacing:.13em;transform:rotate(9deg)}
.image-caption{position:absolute;bottom:0;right:42px;margin:0;background:var(--white);padding:10px 14px;color:#686a61;font-family:var(--serif);font-style:italic;font-size:12px}.hero-index{position:absolute;bottom:22px;left:6.25%;font-size:9px;letter-spacing:.14em;color:#929388}
.workshops{padding:62px 6.25% 76px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:31px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2{font-family:var(--serif);font-size:39px;font-weight:500;letter-spacing:-.035em;line-height:1.12;margin:0;text-wrap:balance}.section-aside{font-family:var(--serif);font-style:italic;font-size:14px;line-height:1.5;color:#797a70;margin:0 0 3px}
.toolbar{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0}.search-wrap{display:flex;align-items:center;gap:9px;flex:1;max-width:330px;color:#77796f}.search-icon{font-size:23px;line-height:1}.search-wrap input{border:0;background:transparent;width:100%;height:38px;padding:0;color:var(--ink);font-size:12px}.search-wrap input::placeholder{color:#95958b}.search-wrap input:focus-visible{outline:2px solid #bc6034;outline-offset:2px}.search-wrap:focus-within{box-shadow:0 2px 0 var(--green)}.filter-wrap{display:flex;align-items:center;gap:12px;border-left:1px solid var(--line);padding-left:19px}.control-label{font-size:10px;color:#77796f;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.filter-wrap select{appearance:none;border:0;background-color:transparent;color:var(--ink);padding:9px 25px 9px 0;font-size:12px;font-weight:600;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23354839' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}
.saved-toggle{margin-left:auto;border:1px solid var(--line);border-radius:30px;background:transparent;min-height:38px;padding:0 14px;display:flex;align-items:center;gap:8px;color:var(--green);font-size:11px;font-weight:700;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}.saved-toggle:hover{border-color:var(--green);background:#ebece4}.saved-toggle[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:white}.heart-icon{font-size:17px;line-height:1}.saved-count{font-variant-numeric:tabular-nums;color:var(--orange)}.saved-toggle[aria-pressed="true"] .saved-count{color:#f2b28f}
.results-line{font-size:10px;color:#818277;letter-spacing:.03em;margin:17px 0 14px}.results-line span{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 19px}.workshop-card{min-width:0;position:relative}.card-open{display:block;border:0;padding:0;background:none;text-align:left;color:inherit;width:100%;cursor:pointer}.card-image-wrap{height:186px;display:block;position:relative;overflow:hidden;background:#e8e3d8}.card-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.card-open:hover .card-image{transform:scale(1.035)}.card-category{position:absolute;bottom:11px;left:11px;background:var(--paper);color:var(--green);padding:7px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:13px 1px 0}.card-date{font-size:9px;color:#74776e;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin:0 0 7px;grid-column:1}.card-title{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:0;grid-column:1;overflow-wrap:anywhere}.card-price{font-size:13px;font-weight:600;align-self:end;grid-column:2;grid-row:1/3;font-variant-numeric:tabular-nums}.card-meta{font-size:10px;color:#77796f;margin:8px 0 0;grid-column:1/-1}.card-arrow{position:absolute;right:0;top:201px;font-size:18px;color:var(--orange);transition:transform .18s}.card-open:hover .card-arrow{transform:translate(2px,-2px)}
.empty-state{text-align:center;padding:55px 16px 70px}.empty-mark{font-size:28px;color:var(--orange)}.empty-state h3{font-family:var(--serif);font-weight:500;font-size:25px;margin:13px 0 7px}.empty-state p{font-size:12px;color:var(--muted)}.reset-button{border:0;border-bottom:1px solid var(--green);background:none;color:var(--green);padding:6px 0;font-size:11px;font-weight:700;cursor:pointer}
.about{min-height:210px;background:var(--green);color:#f8f4eb;padding:40px 9%;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.about:after{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:30%;top:-155px}.about-star{font-size:34px;color:#e7a27b}.about>p{font-family:var(--serif);font-size:38px;line-height:1.08;margin:0;letter-spacing:-.025em}.about>p em{color:#e8a27b}.about-note{font-family:var(--serif);font-style:italic;color:#d5dbcf;font-size:14px;line-height:1.5}.site-footer{padding:28px 6.25%;display:flex;justify-content:space-between;align-items:center}.footer-wordmark{font-size:24px}.site-footer p{font-size:10px;color:#797a70;margin:0}.site-footer>a:last-child{color:var(--green)}
.detail-dialog{width:min(850px,calc(100% - 36px));max-width:none;max-height:min(700px,calc(100% - 36px));padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 22px 80px #17201644;overflow:auto;overscroll-behavior:contain}.detail-dialog::backdrop{background:rgba(28,34,28,.66);backdrop-filter:blur(2px)}.detail-shell{display:grid;grid-template-columns:1fr 1fr;min-height:450px;position:relative}.dialog-close{position:absolute;z-index:2;right:15px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px;line-height:1;cursor:pointer}.dialog-close:hover{background:var(--green);color:white}.detail-photo-wrap{min-height:450px;background:#e7e1d7}.detail-photo{display:block;width:100%;height:100%;min-height:450px;object-fit:cover}.detail-copy{padding:55px 42px 38px;align-self:center}.detail-category{margin-bottom:13px}.detail-copy h2{font-family:var(--serif);font-size:40px;line-height:1.06;letter-spacing:-.04em;font-weight:500;margin:0 0 15px;text-wrap:balance}.detail-body{font-size:13px;color:#6e7067;line-height:1.75;margin:0 0 22px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px 10px;margin:0 0 25px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-facts div{min-width:0}.detail-facts dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#898a80;font-weight:700;margin-bottom:5px}.detail-facts dd{margin:0;font-size:12px;font-weight:600}.save-button{height:44px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--green);border:1px solid var(--green);color:#fffefa;font-size:11px;font-weight:700;cursor:pointer;transition:background-color .18s,color .18s}.save-button:hover{background:#26382a}.save-button[aria-pressed="true"]{background:transparent;color:var(--green)}.save-button span:first-child{font-size:17px}.detail-footnote{font-family:var(--serif);font-size:11px;font-style:italic;color:#84867b;text-align:center;margin:13px 0 0}
@media(max-width:760px){.site-header{height:68px;padding:0 6%}.wordmark{font-size:27px}.main-nav{display:none}.header-note{font-size:10px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:27px;padding:44px 6% 45px}.hero h1{font-size:58px}.hero-intro{font-size:13px;max-width:330px}.hero-image-wrap{height:235px;margin:0 8px 0 0;padding:0 17px 13px 0}.hero-image-wrap:before{inset:14px 0 0 17px}.image-stamp{width:72px;height:72px;right:-10px;top:14px;font-size:8px}.image-caption{right:20px;font-size:10px;padding:8px 10px}.hero-index{left:auto;right:6%;bottom:13px}.workshops{padding:47px 6% 58px}.section-heading{align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:22px}.section-heading h2{font-size:33px}.section-aside{font-size:12px}.section-aside br{display:none}.toolbar{gap:9px;flex-wrap:wrap;padding:9px 0}.search-wrap{order:0;flex-basis:100%;max-width:none;border-bottom:1px solid var(--line);padding-bottom:6px}.filter-wrap{order:1;padding-left:3px;border:0;flex:1}.control-label{font-size:9px}.filter-wrap select{font-size:11px}.saved-toggle{order:2;margin-left:auto;padding:0 12px;font-size:10px}.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.card-image-wrap{height:auto;aspect-ratio:1.1}.card-title{font-size:17px}.card-price{font-size:11px}.card-meta{font-size:9px;line-height:1.5}.card-arrow{top:auto;bottom:28px;font-size:15px}.about{min-height:175px;padding:30px 7%;gap:18px}.about>p{font-size:30px}.about-star{font-size:25px}.about-note{font-size:11px}.site-footer{padding:22px 6%;gap:12px;flex-wrap:wrap}.site-footer p{order:3;flex-basis:100%}.site-footer>a:last-child{font-size:10px}.detail-dialog{width:calc(100% - 22px);max-height:calc(100% - 22px)}.detail-shell{grid-template-columns:1fr;min-height:0}.detail-photo-wrap{height:220px;min-height:0}.detail-photo{height:220px;min-height:0}.detail-copy{padding:28px 24px 25px}.detail-copy h2{font-size:32px}.detail-body{margin-bottom:16px}.detail-facts{gap:12px 8px;padding:14px 0;margin-bottom:18px}}
@media(max-width:390px){.hero h1{font-size:53px}.card-image-wrap{aspect-ratio:.98}.card-title{font-size:16px}.card-body{column-gap:7px}.about{padding-inline:6%}.about-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
