:root{--cream:#faf8f2;--paper:#f1eee4;--ink:#233c30;--green:#244638;--muted:#666b61;--line:#dddcd0;--gold:#a5743b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b78142;outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(42px,4.5vw,65px)}h2{font-size:clamp(32px,3.2vw,46px)}em{font-weight:400;color:#788164}p{color:var(--muted)}.wrap{max-width:1320px;width:calc(100% - 112px);margin:auto}.topline{background:var(--green);color:#f4f3e7;padding:8px 56px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px}.topline span:last-child{font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.3px}.site-header{position:sticky;top:0;z-index:20;background:#faf8f2f5;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:20px 56px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font:24px var(--serif);white-space:nowrap}.brand small{display:block;font:9px var(--sans);letter-spacing:1.8px;margin-top:7px}.brand-mark{display:flex;align-items:center;justify-content:center;border:1px solid #687963;border-radius:50%;width:48px;height:48px;font:33px var(--serif);position:relative;flex-shrink:0}.brand-mark>span{font-size:12px;position:absolute;bottom:0;right:6px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px}.site-header nav a{padding:8px 0}.site-header nav a:hover,.text-link:hover{color:var(--gold)}.site-header nav .nav-contact{border:1px solid #9fa896;padding:10px 18px}.nav-contact span{margin-left:20px}.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:60px;align-items:center;padding-top:64px;padding-bottom:57px}.eyebrow{font-size:10px;letter-spacing:1.7px;line-height:1.6;font-weight:600;color:var(--green);margin-bottom:22px}.hero .eyebrow{font-size:9px;display:flex;align-items:center;gap:9px}.tiny-line{height:1px;width:22px;background:var(--gold)}.intro{max-width:380px;font-size:16px;line-height:1.75;margin:25px 0 28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--green);border:1px solid var(--green);color:#fffef7;font-size:12px;padding:15px 23px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#365843;transform:translateY(-1px)}.button span{font-size:17px}.hero-note{font-size:10px;margin-top:19px;letter-spacing:.3px}.hero-image{position:relative;background:#ebe5d5;aspect-ratio:1.18;display:grid;place-items:center;padding:38px 20px 35px;border-radius:3px;isolation:isolate;overflow:hidden}.hero-image:before{content:'';position:absolute;inset:25px;border:1px solid #d8cfbb;border-radius:50% 50% 0 0;z-index:-1}.hero-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 12px #40321722);transform:rotate(-3deg)}.hero-stamp{position:absolute;bottom:18px;right:18px;width:85px;height:85px;background:var(--green);border-radius:50%;color:#fffef7;display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:10px;letter-spacing:1.3px;transform:rotate(10deg);outline:1px solid #58705b;outline-offset:-6px}.hero-stamp span{font:12px var(--serif);letter-spacing:0;font-style:italic;margin-top:5px}.hero-caption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:10px;color:var(--muted)}.hero-caption>span:first-child{font-size:8px;letter-spacing:1.1px}.caption-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:7px}.craft-strip{display:flex;justify-content:space-between;padding:21px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);letter-spacing:.4px}.craft-strip span:before{content:'✦';font-size:11px;color:#9e997c;margin-right:12px}.gallery-section{padding-top:78px;padding-bottom:65px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:32px}.section-heading h2{font-size:38px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{font-size:12px;line-height:1.8;padding-bottom:3px}.gallery-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;gap:6px}.filter{border:1px solid transparent;background:transparent;padding:8px 11px;font-size:11px;white-space:nowrap;border-radius:2px;min-height:38px}.filter:hover{background:var(--paper)}.filter[aria-pressed=true]{background:var(--green);color:var(--cream)}.search-box{border-bottom:1px solid #b7bcae;display:flex;align-items:center;gap:8px;min-width:180px;flex:0 1 190px;padding:4px 0}.search-box svg{width:17px;height:17px;flex-shrink:0}.search-box input{background:transparent;border:0;min-width:0;width:100%;padding:6px 0;font-size:12px;color:var(--ink);border-radius:0}.gallery-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;padding:19px 0;color:var(--muted)}.gallery-meta>span{font-size:8px;letter-spacing:1px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:33px 26px}.product{min-width:0}.product button{display:block;width:100%;border:0;padding:0;background:none;text-align:left}.product-photo{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1.25;background:#eeeade;overflow:hidden;padding:21px;transition:background .2s}.product-photo img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.product button:hover img{transform:scale(1.035)}.product button:hover .product-photo{background:#e8e1d2}.zoom-icon{position:absolute;bottom:10px;right:10px;background:var(--cream);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:16px;box-shadow:0 2px 8px #3331}.product-category{display:block;font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:15px}.product h3{font:21px var(--serif);letter-spacing:-.3px;margin-top:4px;line-height:1.25}.product-format{font-size:11px;color:var(--muted);margin-top:6px}.load-more{display:flex;justify-content:center;padding-top:42px}.button.outline{border-color:#a6af9b;background:transparent;color:var(--ink)}.button.outline:hover{background:var(--paper)}.gallery-note{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);margin-top:42px;padding-top:22px;font-size:11px}.text-link{border-bottom:1px solid var(--ink);padding-bottom:3px;white-space:nowrap;font-size:12px}.text-link span{margin-left:20px}.empty{text-align:center;padding:55px 20px}.empty h3{font:28px var(--serif)}.empty p{margin:10px 0 23px}.story-section{background:var(--paper);padding:80px 0}.story-layout{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:95px}.story-photo{position:relative}.story-photo img{width:100%;height:380px;object-fit:cover}.story-photo>span{position:absolute;bottom:0;left:0;background:var(--cream);font-size:8px;letter-spacing:1.2px;padding:12px 18px}.story-copy .eyebrow{margin-bottom:20px}.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:21px}.story-foot{display:flex;gap:16px;align-items:center;margin-top:25px}.story-foot .brand-mark{width:37px;height:37px;font-size:25px}.story-foot p{font:italic 17px/1.4 var(--serif);color:#5f6e58}.contact-section{background:var(--green);color:var(--cream);padding:82px 0}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:120px;align-items:center}.contact-section .eyebrow{color:#c1cbb7}.contact-section h2{font-size:47px}.contact-section h2 em{color:#c7cfb5}.contact-section p:not(.eyebrow){color:#d2d9cd;font-size:13px;max-width:400px;margin-top:23px}.button.cream{background:var(--cream);color:var(--green);border-color:var(--cream);margin-top:29px}.button.cream:hover{background:#e9eadc}.contact-section .email-note{font-size:10px!important;margin-top:12px!important;color:#bdc9b8!important}.contact-card{border-left:1px solid #627760;padding:0 0 0 42px}.contact-card>div{padding:18px 0;border-bottom:1px solid #58715a}.contact-card>div:first-child{padding-top:0}.contact-label{display:block;font-size:8px;letter-spacing:1.6px;color:#becbb6;margin-bottom:7px}.contact-card a{font-size:14px;display:flex;justify-content:space-between;gap:10px}.contact-card a:hover{text-decoration:underline}.contact-card p{margin-top:0!important;font-size:14px!important;color:var(--cream)!important}.contact-card .socials{display:flex;gap:25px;border:0;padding-bottom:0}.socials a{font-size:11px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:29px;padding-bottom:29px}.footer-brand{font:19px var(--serif)}footer p{font-size:8px;letter-spacing:1px}footer small{font-size:9px;color:var(--muted)}.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}.skip{position:fixed;top:-90px;left:15px;z-index:1000;padding:12px;background:white}.skip:focus{top:10px}dialog{padding:0;border:0;border-radius:4px;max-width:1040px;width:calc(100% - 64px);max-height:90dvh;background:var(--cream);color:var(--ink);overflow:auto;box-shadow:0 20px 80px #0005}dialog::backdrop{background:#102118b8;backdrop-filter:blur(5px)}.dialog-shell{display:grid;grid-template-columns:1.2fr 1fr;position:relative}.close-dialog{position:sticky;float:right;top:12px;margin:12px 12px -54px auto;grid-column:1/-1;z-index:2;border:1px solid var(--line);background:var(--cream);border-radius:50%;width:40px;height:40px;font-size:26px;line-height:1;display:block}.dialog-photo{background:#ece6d9;padding:36px;min-height:450px;display:flex;align-items:center;justify-content:center}.dialog-photo img{width:100%;height:100%;max-height:70dvh;object-fit:contain}.dialog-info{padding:65px 34px 30px}.dialog-info h2{font-size:35px}.dialog-info>p:not(.eyebrow){font-size:13px;line-height:1.7;margin-top:20px}.dialog-info .format{border-bottom:1px solid var(--line);padding-bottom:18px;font-size:11px!important}.dialog-info .availability{font-size:11px!important}.dialog-info .button{margin-top:23px;font-size:11px;gap:20px}.dialog-info .dialog-hint{font-size:10px!important;margin-top:10px!important}.dialog-nav{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:27px;padding-top:18px;gap:8px;font-size:10px;color:var(--muted)}.dialog-nav button{border:0;background:none;font-size:11px;padding:8px 0;min-height:38px}.dialog-nav button:disabled{opacity:.4}.dialog-nav button:not(:disabled):hover{text-decoration:underline}[hidden]{display:none!important}
@media(min-width:1450px){.site-header{padding-left:max(56px,calc((100vw - 1320px)/2));padding-right:max(56px,calc((100vw - 1320px)/2))}.hero{gap:90px}.hero-image{aspect-ratio:1.3}.hero-copy h1{font-size:68px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{padding:18px 32px}.topline{padding-inline:32px}.hero{gap:35px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero-image{aspect-ratio:1}.section-heading h2{font-size:32px}.section-heading>p{max-width:270px}.gallery-toolbar{gap:14px}.search-box{flex-basis:220px}.story-layout{gap:48px}.contact-layout{gap:60px}.contact-card{padding-left:30px}.contact-section h2{font-size:42px}}
@media(max-width:760px){html{scroll-padding-top:135px}.wrap{width:calc(100% - 40px)}.topline{padding:7px 20px;justify-content:center;font-size:8px}.topline span:last-child{display:none}.site-header{padding:14px 20px;flex-wrap:wrap;gap:12px;justify-content:center}.brand{font-size:23px}.brand-mark{width:40px;height:40px;font-size:29px}.brand small{font-size:8px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}.site-header nav .nav-contact{padding:7px 12px}.nav-contact span{margin-left:10px}.hero{grid-template-columns:1fr;gap:32px;padding:42px 0 30px}.hero-copy{max-width:500px}.hero .eyebrow{font-size:8px;margin-bottom:20px}.hero h1{font-size:49px}.intro{font-size:15px;margin-top:22px;max-width:330px}.hero-note{font-size:9px}.hero-image{aspect-ratio:1.28;padding:20px 14px}.hero-stamp{width:73px;height:73px;font-size:9px;bottom:12px;right:12px}.hero-stamp span{font-size:10px}.hero-caption{font-size:9px}.craft-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;padding:18px 0;font-size:10px}.craft-strip span:before{margin-right:8px}.gallery-section{padding-top:46px;padding-bottom:40px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:34px;max-width:380px}.section-heading>p{font-size:12px;margin-top:17px;max-width:none}.section-heading>p br{display:none}.gallery-toolbar{gap:16px}.filters{gap:5px}.filter{font-size:11px;padding:8px 10px;min-height:40px;border-color:#dcded3}.search-box{flex-basis:100%;padding:4px 8px;background:#f0eee5;border-bottom-color:#c5c9bb}.search-box input{font-size:14px;padding:8px 0}.gallery-meta{font-size:10px;padding:16px 0}.gallery-meta>span{font-size:7px;letter-spacing:.5px;align-self:center}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.product-photo{aspect-ratio:1;padding:10px}.product h3{font-size:19px}.product-category{font-size:7px;letter-spacing:.8px}.product-format{font-size:10px}.zoom-icon{width:25px;height:25px;bottom:6px;right:6px}.gallery-note{display:block;margin-top:28px}.gallery-note .text-link{display:inline-block;margin-top:17px}.load-more{padding-top:32px}.story-section{padding:43px 0}.story-layout{grid-template-columns:1fr;gap:32px}.story-photo img{height:300px}.story-copy h2{font-size:41px}.story-copy>p:not(.eyebrow){font-size:14px}.contact-section{padding:45px 0}.contact-layout{grid-template-columns:1fr;gap:38px}.contact-section h2{font-size:39px}.contact-section p:not(.eyebrow){font-size:14px}.contact-card{border-left:0;border-top:1px solid #627760;padding:28px 0 0}.contact-card a{font-size:15px}.contact-card .socials a{font-size:12px}footer{flex-wrap:wrap;gap:13px;padding-top:25px;padding-bottom:25px}footer p{order:3;width:100%;font-size:7px}footer small{font-size:8px}.footer-brand{font-size:17px}dialog{width:calc(100% - 24px);max-height:92dvh}.dialog-shell{grid-template-columns:1fr}.dialog-photo{min-height:260px;padding:30px 20px}.dialog-photo img{height:300px;max-height:43dvh}.dialog-info{padding:28px 24px 20px}.dialog-info h2{font-size:31px}.dialog-info .eyebrow{margin-bottom:14px}.dialog-info>p:not(.eyebrow){margin-top:16px}.dialog-info .button{width:100%}.close-dialog{top:10px;margin-top:10px;margin-right:10px}}
@media(max-width:380px){.hero h1{font-size:42px}.brand{font-size:21px}.gallery{gap:22px 12px}.product h3{font-size:17px}.gallery-meta>span{max-width:140px;text-align:right}.contact-section h2{font-size:34px}.hero-caption>span:first-child{font-size:7px}.hero-caption>span:last-child{font-size:8px}.filter{padding:8px;font-size:10px}.wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none}}
/* Keep the small maker's stamp legible at both hero sizes. */
.hero-stamp{display:block;text-align:center;padding:24px 4px 0;line-height:1.3}.hero-stamp br{display:none}.hero-stamp span{display:block;white-space:nowrap;line-height:1.15;margin-top:4px;font-size:10px}@media(max-width:760px){.hero-stamp{padding-top:20px}.hero-stamp span{font-size:9px}}

/* Fair and market schedule: readable event rows grouped by month. */
.schedule-section{padding:76px 0;background:var(--cream)}
.schedule-heading>p{font-size:1rem;max-width:none}
.schedule-months{border-top:1px solid var(--line)}
.schedule-month{border-bottom:1px solid var(--line)}
.schedule-month summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:22px 24px;font:1.6rem/1.3 var(--serif);min-height:72px}
.schedule-month summary::-webkit-details-marker{display:none}
.schedule-month summary:after{content:'+';width:24px;text-align:center;font:1.5rem var(--sans)}
.schedule-month[open] summary:after{content:'−'}
.schedule-month summary:hover{background:var(--paper)}
.schedule-month summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.schedule-month[open] summary{background:var(--green);color:var(--cream)}
.month-count{margin-left:auto;font:0.875rem var(--sans);white-space:nowrap}
.event-list{list-style:none;margin:0;padding:0 24px}
.event{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.event:last-child{border-bottom:0}
.event-date{color:var(--green);text-align:center;border-right:1px solid var(--line);padding-right:20px}
.event-date time>span:first-child{display:block;font-size:0.875rem;line-height:1.5}
.event-date strong{display:block;font:2rem/1.2 var(--serif)}
.event-info h3{font:1.35rem/1.3 var(--serif)}
.event-location{font-size:1rem;line-height:1.5;margin-top:7px}
.event-time{font-size:1rem;color:var(--ink);white-space:nowrap}
.schedule-footnote{font-size:0.875rem;margin-top:22px}
@media(min-width:761px) and (max-width:1000px){.site-header{flex-wrap:wrap;justify-content:center}.site-header nav{width:100%;justify-content:center;gap:24px}html{scroll-padding-top:165px}}
@media(max-width:760px){.site-header nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;text-align:center;font-size:0.875rem}.site-header nav a{min-height:40px;display:flex;align-items:center;justify-content:center}.site-header nav .nav-contact{padding:5px 8px}html{scroll-padding-top:180px}.schedule-section{padding:45px 0}.schedule-heading>p{font-size:1rem}.schedule-heading>p br{display:block}.schedule-month summary{padding:18px 14px;font-size:1.35rem;gap:12px}.event-list{padding:0 14px}.event{grid-template-columns:48px minmax(0,1fr);gap:8px 16px;align-items:start;padding:22px 0}.event-date{grid-row:1/3;padding-right:10px}.event-info h3{font-size:1.25rem}.event-time{grid-column:2;white-space:normal}.event-location{margin-top:8px}}
@media print{.schedule-month::details-content{content-visibility:visible;height:auto}.schedule-month .event-list{display:block}}
