:root{--ink:#172321;--teal:#1d4b49;--teal2:#123b39;--rust:#b65e34;--gold:#e2a563;--cream:#f4eddf;--paper:#fbf8f1;--white:#fff;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:inherit}
.holiday-banner{display:flex;align-items:center;background:var(--teal2);color:var(--cream);padding:.7rem 0;gap:.75rem}
.holiday-banner-window{flex:1;min-width:0;overflow:hidden}
.holiday-banner-track{display:flex;width:max-content;animation:holiday-scroll 100s linear infinite}
.holiday-banner-track p{flex:none;margin:0;padding:0 1rem;font-size:.95rem;font-weight:600;white-space:nowrap}
.holiday-banner-track span{padding:0 1.15rem;color:var(--gold)}
.holiday-banner-toggle{flex:none;margin-right:1rem;padding:.25rem .65rem;border:1px solid #f4eddf80;background:transparent;color:inherit;font:600 .875rem var(--sans);cursor:pointer}
.holiday-banner:hover .holiday-banner-track,.holiday-banner:focus-within .holiday-banner-track,.holiday-banner.is-paused .holiday-banner-track{animation-play-state:paused}
@keyframes holiday-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.holiday-banner-track{animation:none;width:auto}.holiday-banner-track p{white-space:normal}.holiday-banner-track p[aria-hidden]{display:none}.holiday-banner-toggle{display:none}}
.announcement{background:var(--rust);color:white;text-align:center;text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.14em;padding:.55rem 1rem}
.announcement span{padding:0 .6rem;color:#f4c5a9}
.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);background:rgba(251,248,241,.97);position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand-logo{width:70px;height:70px;object-fit:contain;display:block}
.brand-mark{width:48px;height:48px;background:var(--teal);color:var(--gold);border-radius:50%;display:grid;place-items:center;font:700 1rem var(--serif);letter-spacing:-.06em}
.brand-mark span{font-size:.72em;color:var(--cream)}
.brand-copy{display:flex;flex-direction:column;line-height:1.1}
.brand-copy strong{font:700 1.25rem var(--serif)}
.brand-copy small{text-transform:uppercase;letter-spacing:.18em;font-size:.58rem;margin-top:.25rem}
nav{display:flex;align-items:center;gap:clamp(.8rem,1.4vw,1.8rem)}
nav a{text-decoration:none;font-size:.85rem;font-weight:600}
.nav-cta{border:1px solid var(--ink);padding:.62rem 1rem}
.menu-toggle{display:none;background:none;border:1px solid var(--ink);padding:.55rem .85rem;font:600 .8rem var(--sans)}
.hero{min-height:720px;height:calc(100vh - 116px);position:relative;overflow:hidden;display:flex;align-items:center}
.hero-media{position:absolute;inset:0;display:grid;grid-template-columns:1.05fr 1.15fr .9fr;background:var(--ink)}
.hero-media img{width:100%;height:100%;object-fit:cover;min-width:0}
.hero-media img:nth-child(1){object-position:center}
.hero-media img:nth-child(2){object-position:52% center}
.hero-media img:nth-child(3){object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,24,22,.94) 0%,rgba(10,24,22,.66) 34%,rgba(10,24,22,.18) 72%),linear-gradient(0deg,rgba(10,24,22,.2),transparent 45%)}
.hero-content{position:relative;color:white;max-width:720px;padding-left:clamp(1.5rem,8vw,9rem);padding-right:1.5rem}
.eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.22em;color:var(--gold);margin:0 0 1rem}
.eyebrow.dark{color:var(--rust)}
h1,h2,h3{font-family:var(--serif);line-height:1.04;margin:0}
h1{font-size:clamp(3.7rem,7vw,7rem);letter-spacing:-.055em}
h1 em{color:var(--gold);font-weight:600}
.hero-lede{font-size:clamp(1rem,1.5vw,1.2rem);max-width:590px;color:#e9e3d8;margin:1.6rem 0 2rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.button{display:inline-block;padding:.9rem 1.35rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;transition:.2s}
.button.primary{background:var(--gold);color:var(--ink)}
.button.primary:hover{background:#f1ba78;transform:translateY(-2px)}
.button.ghost{border:1px solid rgba(255,255,255,.7);color:white}
.hero-stamp{position:absolute;right:clamp(1.5rem,6vw,6rem);bottom:3rem;width:150px;height:150px;border-radius:50%;background:var(--rust);color:white;display:flex;align-items:center;justify-content:center;gap:.5rem;transform:rotate(-7deg);box-shadow:0 15px 40px #0004}
.hero-stamp strong{font:700 1.55rem var(--serif)}
.hero-stamp span{text-transform:uppercase;font-size:.65rem;line-height:1.25;letter-spacing:.14em}
.intro{padding:clamp(5rem,10vw,10rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,9rem);align-items:end}
.intro h2,.paint h2,.story h2{font-size:clamp(2.5rem,4.5vw,5rem);letter-spacing:-.04em}
.intro>div:last-child{font-size:1.12rem;max-width:560px}
.text-link{display:inline-block;margin-top:1rem;color:var(--teal);font-weight:700;text-underline-offset:.35rem}
.availability-note{margin-top:1.25rem;font-size:.9rem;color:#5d6865}
.availability-note a{color:var(--teal);font-weight:700;text-underline-offset:.25rem}
.finds-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;min-height:500px;margin:0 clamp(1rem,3vw,3rem) clamp(5rem,9vw,9rem)}
.find-card{position:relative;overflow:hidden;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;color:white;isolation:isolate}
.find-card:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .5s}
.find-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,24,22,.92),rgba(9,24,22,.03) 70%)}
.find-card:hover:before{transform:scale(1.04)}
.find-card.furniture:before{background-image:url('real-market-table.jpg');background-position:center}
.find-card.decor:before{background-image:url('real-market-interior.jpg');background-position:center}
.find-card.treats:before{background-image:url('claeys-nats-nuts-products.jpg');background-position:center}
.find-card>span{font-size:.7rem;letter-spacing:.18em}
.find-card p{text-transform:uppercase;font-size:.68rem;letter-spacing:.18em;color:var(--gold)}
.find-card h3{font-size:clamp(1.55rem,2.4vw,2.6rem);max-width:360px}
.paint{background:var(--teal);color:white;display:grid;grid-template-columns:1fr 1fr;min-height:680px}
.paint-art{position:relative;overflow:hidden;background:var(--cream);min-height:620px}
.paint-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.paint-copy{padding:clamp(4rem,8vw,8rem);align-self:center}
.paint-copy p{color:#d8e1dd;font-size:1.08rem;max-width:560px}
.paint-copy ul{list-style:none;padding:0;margin:2rem 0}
.paint-copy li{border-top:1px solid #ffffff30;padding:.85rem 0}
.paint-copy li:last-child{border-bottom:1px solid #ffffff30}
.dark-button{background:var(--gold);color:var(--ink)}
.market-callout{text-align:center;background:var(--cream);padding:clamp(5rem,9vw,9rem) 1.5rem}
.market-callout h2{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.055em}
.big-date{font:600 clamp(1.4rem,3vw,2.5rem) var(--serif);color:var(--rust);margin:.8rem 0 3rem}
.big-date em{color:var(--ink)}
.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:960px;margin:0 auto 2.5rem;border-top:1px solid #bdb3a2;border-bottom:1px solid #bdb3a2}
.visit-grid>div{padding:1.5rem;display:flex;flex-direction:column}
.visit-grid>div+div{border-left:1px solid #bdb3a2}
.visit-grid small{text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--rust)}
.visit-grid strong{font:700 1.35rem var(--serif);margin-top:.3rem}
.visit-grid span{font-size:.8rem;color:#5e665f}
.past-markets{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,5vw,5rem);background:var(--paper)}
.past-markets-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,7vw,7rem);align-items:end;margin:0 auto 3rem;max-width:1280px}
.past-markets-heading h2{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.055em}
.past-markets-heading>div:last-child{font-size:1.05rem;max-width:560px}
.market-gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:330px 330px;gap:1rem;max-width:1280px;margin:0 auto}
.market-gallery figure{position:relative;overflow:hidden;margin:0;background:var(--cream)}
.market-gallery .gallery-tall{grid-row:span 2}
.market-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.market-gallery figure:hover img{transform:scale(1.025)}
.market-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.8rem 1rem 1rem;color:white;text-transform:uppercase;font-size:.66rem;font-weight:700;letter-spacing:.14em;background:linear-gradient(transparent,rgba(9,24,22,.82))}
.artisans{background:var(--ink);color:white;padding:clamp(5rem,9vw,9rem) clamp(1.5rem,5vw,5rem)}
.artisans-heading{display:grid;grid-template-columns:.8fr 1.35fr 1fr;gap:clamp(1.5rem,5vw,5rem);align-items:end;max-width:1280px;margin:0 auto 3.5rem}
.artisans-heading .eyebrow{align-self:start}
.artisans-heading h2{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.055em}
.artisans-heading>p:last-child{color:#cdd5d1;font-size:1.05rem;max-width:480px}
.artisan-profile{display:grid;grid-template-columns:1.15fr .85fr;max-width:1280px;margin:0 auto;background:var(--paper);color:var(--ink);min-height:650px}
.artisan-profile+.artisan-profile{margin-top:2rem}
.artisan-profile.reverse{grid-template-columns:.85fr 1.15fr}
.artisan-profile.reverse .artisan-photo{order:2}
.artisan-photo{position:relative;overflow:hidden;min-height:600px}
.artisan-photo[href]{cursor:pointer}
.artisan-photo[href]:focus-visible{outline:4px solid var(--gold);outline-offset:4px}
.artisan-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .6s}
.artisan-photo.logo-photo{background:#070807}
.artisan-photo.logo-photo img{object-fit:contain;padding:clamp(1rem,3vw,2.5rem)}
.artisan-photo.sweet-ry-photo{background:#fff}
.artisan-photo.sweet-ry-photo img{padding:clamp(2rem,5vw,5rem)}
.artisan-photo.light-logo-photo{background:#f4f1ee}
.artisan-photo.light-logo-photo img{padding:clamp(1.5rem,4vw,4rem)}
.artisan-photo.white-logo-photo{background:#fff}
.artisan-photo.white-logo-photo img{padding:clamp(1.5rem,4vw,4rem)}
.artisan-photo.juniper-brass-photo{background:#0f201c}
.artisan-photo.juniper-brass-photo img{padding:clamp(1rem,3vw,2.75rem)}
.artisan-copy .artisan-tagline{font:600 clamp(1.35rem,2.3vw,2rem)/1.35 var(--serif);color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.artisan-tagline span{color:var(--rust);padding:0 .35em}
.artisan-profile:hover .artisan-photo img{transform:scale(1.02)}
.artisan-copy{padding:clamp(2.5rem,6vw,6rem);align-self:center}
.artisan-copy h3{font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.045em;margin-bottom:1.5rem}
.artisan-copy>p:not(.eyebrow){font-size:1.08rem}
.artisan-quote{font:600 clamp(1.3rem,2.1vw,1.8rem)/1.35 var(--serif);color:var(--teal);border-top:1px solid #cfc6b7;padding-top:1.5rem;margin-top:2rem}
.market-favorites{background:var(--cream);padding:clamp(5rem,9vw,9rem) clamp(1.5rem,5vw,5rem)}
.market-favorites-heading{display:grid;grid-template-columns:.8fr 1.35fr 1fr;gap:clamp(1.5rem,5vw,5rem);align-items:end;max-width:1280px;margin:0 auto 3.5rem}
.market-favorites-heading .eyebrow{align-self:start}
.market-favorites-heading h2{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.055em}
.market-favorites-heading>p:last-child{font-size:1.05rem;max-width:480px}
.market-favorite-profile{box-shadow:0 18px 45px #28352f1a}
.artisan-photo.cedar-meadows-photo{background:#fff}
.artisan-photo.cedar-meadows-photo img{object-fit:contain;padding:clamp(1.5rem,4vw,4rem)}
.artisan-photo.sourdough-photo{background:#fff}
.artisan-photo.sourdough-photo img{object-fit:contain;padding:clamp(1.5rem,4vw,4rem)}
.artisan-photo.shaka-photo img{object-position:center}
.artisan-photo.allycatwalk-photo{background:#fff}
.artisan-photo.allycatwalk-photo img{object-fit:contain;padding:clamp(1.5rem,4vw,4rem)}
.favorite-note{font-size:.9rem!important;color:#655f55;margin-top:1.5rem}
.story{padding:clamp(5rem,10vw,10rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.story-number{font:700 clamp(11rem,26vw,25rem)/.7 var(--serif);color:var(--teal);letter-spacing:-.15em}
.owner-story-photo{margin:0;position:relative;overflow:hidden;background:transparent;min-height:0}
.owner-story-photo img{position:static;width:100%;height:auto;object-fit:contain;display:block}
.owner-story-photo:after{display:none}
.owner-story-photo figcaption{position:static;color:#111;padding:1.25rem 0 0;display:flex;flex-direction:column}
.owner-story-photo figcaption strong{font:700 1.45rem var(--serif)}
.owner-story-photo figcaption span{font-size:.85rem;color:#111;margin-top:.35rem;max-width:520px}
.story p:not(.eyebrow){font-size:1.1rem;max-width:650px}
.owned{font-weight:700;color:var(--rust);margin-top:2rem}
.vendor-callout{background:var(--teal);color:white;padding:clamp(4rem,8vw,7rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.vendor-callout h2{font-size:clamp(2.5rem,4.5vw,4.8rem);letter-spacing:-.04em}
.vendor-callout>div:last-child{font-size:1.05rem;max-width:620px}
.vendor-callout .button{margin-top:1rem}
.estate-callout{background:var(--cream);padding:clamp(4rem,8vw,7rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.estate-callout h2{font-size:clamp(2.5rem,4.5vw,4.8rem);letter-spacing:-.04em}
.estate-callout>div:last-child{font-size:1.05rem;max-width:620px}
.estate-button{margin-top:1rem;background:var(--teal);color:white}
.estate-button:hover{background:var(--teal2);transform:translateY(-2px)}
.final-cta{background:var(--rust);color:white;text-align:center;padding:clamp(5rem,10vw,9rem) 1.5rem}
.final-cta p{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700}
.final-cta h2{font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.055em;margin-bottom:2rem}
.final-cta a{font-weight:700;text-underline-offset:.4rem}
footer{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:2rem;padding:3rem clamp(1.5rem,5vw,5rem);font-size:.8rem}
.footer-brand .brand-mark{background:var(--gold);color:var(--ink)}
.footer-logo{filter:drop-shadow(0 3px 10px #0005)}
footer>div{text-align:center}
footer p{margin:.15rem}
.footer-email{color:white;text-decoration:underline;text-underline-offset:.2em}
.copyright{text-align:right;color:#aeb7b3}
@media(max-width:900px){nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:flex-start;box-shadow:0 12px 22px #0002}
nav.open{display:flex}
.menu-toggle{display:block}
.hero{min-height:680px}
.hero-stamp{width:110px;height:110px;right:1rem;bottom:1rem}
.hero-stamp strong{font-size:1.25rem}
.intro{grid-template-columns:1fr;gap:2rem}
.finds-grid{grid-template-columns:1fr;min-height:1100px}
.paint{grid-template-columns:1fr}
.paint-art{min-height:500px}
.paint-copy{padding:4rem 1.5rem}
.story{grid-template-columns:1fr}
.vendor-callout{grid-template-columns:1fr}
.estate-callout{grid-template-columns:1fr}
.story-number{font-size:12rem}
.owner-story-photo{min-height:0}
.visit-grid{grid-template-columns:1fr}
.visit-grid>div+div{border-left:0;border-top:1px solid #bdb3a2}
.past-markets-heading{grid-template-columns:1fr}
.artisans-heading{grid-template-columns:1fr}
.market-favorites-heading{grid-template-columns:1fr}
.artisan-profile{grid-template-columns:1fr}
.artisan-profile.reverse{grid-template-columns:1fr}
.artisan-profile.reverse .artisan-photo{order:0}
.artisan-photo{min-height:620px}
.market-gallery{grid-template-columns:1fr 1fr;grid-template-rows:420px 300px 300px}
.market-gallery .gallery-tall{grid-column:span 2;grid-row:auto}
footer{grid-template-columns:1fr;text-align:center}
.footer-brand{justify-content:center}
footer>div,.copyright{text-align:center}
}
@media(max-width:560px){.announcement{font-size:.63rem}
.hero-media{grid-template-columns:1fr}
.hero-media img{display:none}
.hero-media img:first-child{display:block}
.announcement span{display:none}
.site-header{height:74px}
.brand-copy strong{font-size:1.05rem}
.brand-mark{width:42px;height:42px}
.brand-logo{width:58px;height:58px}
.hero{height:calc(100vh - 103px)}
.hero-overlay{background:linear-gradient(90deg,rgba(10,24,22,.9),rgba(10,24,22,.45))}
.hero-content{padding-top:2rem}
.hero-stamp{display:none}
.hero-actions{flex-direction:column;align-items:flex-start}
.finds-grid{margin-inline:0}
.market-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-1.4rem;padding:0 1.4rem 1rem}
.market-gallery figure,.market-gallery .gallery-tall{flex:0 0 82vw;height:440px;scroll-snap-align:center}
.artisans{padding-inline:1.4rem}
.artisan-photo{min-height:480px}
.artisan-copy{padding:2.5rem 1.5rem}
.paint-art{min-height:390px}
.story-number{font-size:9rem}
.owner-story-photo{min-height:0}
.intro,.story{padding-inline:1.4rem}
}
