@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#243b32;--cream:#faf6ec;--pink:#eeb9c0;--green:#dce5d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b44c38;outline-offset:5px}.top{background:var(--ink);color:white;text-align:center;padding:10px;font-size:11px;letter-spacing:2px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid #243b3220}.logo{font-family:'Playfair Display',serif;font-weight:700;font-size:29px;line-height:.85;letter-spacing:-1px}.logo small{display:block;font:9px 'DM Sans';letter-spacing:3px;margin-top:10px}nav{display:flex;gap:30px;align-items:center;font-size:13px}.pill,.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid var(--ink);border-radius:40px;padding:15px 24px;font-size:13px;font-weight:600}.button{background:var(--ink);color:white}.button:hover{background:#40604f}.pill:hover{background:var(--green)}main{overflow:hidden}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px}.hero-copy{padding:72px 10% 65px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(48px,5.4vw,82px);font-weight:500;letter-spacing:-3px;line-height:1.06;margin:25px 0}.hero h1 em{color:#a84f3c;font-weight:500}.hero p{font-size:15px;line-height:1.8;max-width:390px;margin-bottom:30px}.hero-photo{position:relative;min-height:500px;margin:30px 5% 30px 0}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;border-radius:220px 220px 8px 8px}.seal{position:absolute;bottom:25px;left:-35px;width:118px;height:118px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--pink);font-family:'Playfair Display';font-size:22px;transform:rotate(-12deg);border:1px solid var(--ink)}.ribbon{background:var(--pink);display:flex;justify-content:space-around;gap:25px;padding:20px;font-size:12px;letter-spacing:2px;text-transform:uppercase}.intro{text-align:center;padding:80px 20px 35px}.intro h2,h2{font-family:'Playfair Display';font-size:44px;font-weight:500;letter-spacing:-1.5px;margin:16px 0}.intro p{font-size:14px;line-height:1.8}.locations{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:0 6% 80px}.location{border:1px solid #243b3238;border-radius:5px;overflow:hidden}.location img{width:100%;height:300px;object-fit:cover;display:block}.location-info{padding:28px 32px;position:relative}.location-info h3{font-family:'Playfair Display';font-weight:500;font-size:36px;margin:7px 0 12px}.location-info p{font-size:13px;line-height:1.7}.arrow{position:absolute;right:28px;top:35px;border:1px solid;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:24px}.location:hover .arrow{background:var(--ink);color:white}.discover{padding:70px 6%;background:var(--green)}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.section-head p{font-size:14px;max-width:330px;line-height:1.7}.goods{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.goods img{width:100%;height:300px;object-fit:cover;border-radius:120px 120px 0 0}.goods h3{font-family:'Playfair Display';font-size:26px;font-weight:500;margin-bottom:8px}.goods p{font-size:13px;line-height:1.6}.visit{padding:80px 6%;display:grid;grid-template-columns:1fr 1fr;gap:60px}.visit address{font-style:normal;font-size:22px;line-height:1.6;margin:25px 0}.hours{font-size:14px;line-height:2.2}.hours span{display:flex;justify-content:space-between;border-bottom:1px solid #243b3220}.note{font-size:11px;line-height:1.6;margin-top:20px}.vendor{margin:0 6% 70px;background:var(--pink);padding:45px;display:flex;justify-content:space-between;align-items:center;border-radius:4px}.vendor h2{font-size:35px}.vendor p{font-size:14px;max-width:510px;line-height:1.7}footer{background:var(--ink);color:var(--cream);padding:45px 6%;display:flex;align-items:center;justify-content:space-between}footer p{font-size:11px;line-height:1.8}.text-link{border-bottom:1px solid;padding-bottom:4px;font-size:13px}@media(max-width:750px){header{padding:22px 6%}nav{gap:15px}nav .optional{display:none}.logo{font-size:23px}nav .pill{padding:10px 14px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 25px}.hero h1{font-size:57px}.hero-photo{height:430px;margin:15px 7% 35px}.seal{left:-10px;width:100px;height:100px}.ribbon{font-size:10px;gap:12px;flex-wrap:wrap}.intro{padding-top:50px}h2,.intro h2{font-size:35px}.locations,.visit{grid-template-columns:1fr;gap:25px}.location img{height:260px}.goods{grid-template-columns:1fr}.goods img{height:340px}.section-head{display:block}.vendor{padding:30px;display:block}.vendor .button{margin-top:15px}footer{gap:30px;align-items:start;flex-direction:column}}

.logo{display:block;line-height:0;flex-shrink:0}.logo img{display:block;width:190px;height:auto}footer .logo img{filter:invert(1);width:210px}@media(max-width:750px){.logo img{width:145px}}

.store-gallery{padding:55px 6% 75px}.photo-grid{columns:4;column-gap:18px}.photo-grid a{display:block;break-inside:avoid;margin-bottom:18px;border-radius:5px;overflow:hidden}.photo-grid img{display:block;width:100%;height:auto;transition:transform .25s}.photo-grid a:hover img{transform:scale(1.025)}@media(max-width:900px){.photo-grid{columns:3}}@media(max-width:600px){.photo-grid{columns:2;column-gap:12px}.photo-grid a{margin-bottom:12px}}

/* Give store photography the leading role. */
.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:44px 6% 36px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:7%;align-items:center}.hero-copy .eyebrow{grid-column:1/-1}.hero h1{grid-column:1;grid-row:2/4;font-size:clamp(48px,5vw,76px);margin:18px 0 0}.hero-copy p{grid-column:2;max-width:490px;margin:20px 0}.hero-copy>.button{grid-column:2;justify-self:start;align-self:start}.hero-photo{height:clamp(480px,62vw,850px);min-height:0;margin:0 2.5% 38px}.hero-photo img{border-radius:8px;object-position:center 55%}.seal{left:28px;bottom:28px;width:125px;height:125px}.locations{padding-left:3%;padding-right:3%;gap:25px}.location img{height:clamp(340px,35vw,540px)}.discover{padding:65px 3%}.goods{gap:22px}.goods img{height:clamp(360px,39vw,600px);border-radius:6px}.store-gallery{padding:65px 3% 70px}.photo-grid{columns:2;column-gap:24px}.photo-grid a{margin-bottom:24px;border-radius:6px}.photo-grid img{width:100%;height:auto}.store-gallery .section-head{padding:0 3%;margin-bottom:35px}@media(min-width:1500px){.photo-grid{columns:3}}@media(max-width:750px){.hero-copy{display:block;padding:34px 6% 30px}.hero h1{font-size:53px;margin:18px 0}.hero-copy p{margin:18px 0 24px}.hero-photo{height:520px;margin:0 3% 25px}.hero-photo img{object-position:center}.seal{width:100px;height:100px;left:15px;bottom:18px}.location img{height:360px}.goods img{height:460px}.photo-grid{columns:1}.store-gallery{padding:45px 4%}.photo-grid a{margin-bottom:20px}.goods{gap:35px}.discover{padding-left:5%;padding-right:5%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-grid img{transition:none}}

.vendor-intro{padding:65px 6% 55px;text-align:center;max-width:1050px;margin:auto}.vendor-intro h1{font-family:'Playfair Display',serif;font-size:clamp(48px,6vw,82px);font-weight:500;line-height:1.08;letter-spacing:-2px;margin:24px 0}.vendor-intro h1 em{color:#a84f3c;font-weight:500}.vendor-intro p{max-width:620px;margin:0 auto 28px;line-height:1.8;font-size:16px}.vendor-options{padding:0 3% 70px;display:grid;grid-template-columns:1fr 1fr;gap:28px;scroll-margin-top:25px}.vendor-option{border:1px solid #243b3238;border-radius:7px;overflow:hidden}.vendor-store-photo{display:block;width:100%;height:390px;object-fit:cover}.vendor-option-copy{padding:32px}.vendor-option h2{font-size:36px}.vendor-option address{font-style:normal;line-height:1.7;font-size:15px}.vendor-option p{font-size:14px;line-height:1.8;max-width:490px}.vendor-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.vendor-more{display:flex;flex-wrap:wrap;gap:24px}.vendor-steps{background:var(--green);padding:65px 6%}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:38px}.step-grid article>span{font-family:'Playfair Display';font-size:35px;color:#8d4939}.step-grid h3{font-family:'Playfair Display';font-size:25px;font-weight:500}.step-grid p,.vendor-help p{font-size:14px;line-height:1.8;max-width:580px}.vendor-help{padding:65px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}@media(max-width:750px){.vendor-options{grid-template-columns:1fr;padding:0 4% 40px}.vendor-intro{padding:45px 6%}.vendor-store-photo{height:330px}.vendor-option-copy{padding:25px}.vendor-option h2{font-size:32px}.step-grid{grid-template-columns:1fr;gap:25px}.vendor-help{display:block}.vendor-help .pill{margin-top:15px}}

.shop-nav{font-weight:700;white-space:nowrap}.online-shop{background:var(--green);padding:45px 5%;margin:0 6% 55px;display:flex;gap:35px;align-items:center;justify-content:space-between;border-radius:6px}.online-shop h2{font-size:36px}.online-shop p{font-size:15px;line-height:1.8;max-width:600px}.online-shop .button{flex-shrink:0}.footer-shop{font-size:13px;white-space:nowrap}.footer-shop small{display:block;font-size:10px;opacity:.85;margin-top:9px}@media(max-width:750px){header{flex-wrap:wrap;gap:20px}nav{flex:1;justify-content:flex-end;gap:14px;font-size:12px}.online-shop{display:block;margin:0 4% 40px;padding:30px}.online-shop h2{font-size:32px}.online-shop .button{margin-top:12px}}@media(max-width:420px){header .logo img{width:125px}nav{gap:10px;font-size:11px}}

.events-intro{padding:60px 6% 45px;text-align:center}.events-intro h1{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(48px,6vw,80px);letter-spacing:-2px;line-height:1.1;margin:24px 0}.events-intro h1 em{color:#a84f3c;font-weight:500}.events-intro p{max-width:620px;margin:0 auto;line-height:1.8;font-size:16px}.event-feature{margin:0 4% 70px;border:1px solid #243b3235;border-radius:8px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.event-image{position:relative;min-height:620px}.event-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:57% center}.event-date{position:absolute;top:24px;left:24px;background:var(--cream);border-radius:4px;padding:18px 25px;text-align:center;font-size:12px;letter-spacing:2px}.event-date strong{display:block;font-family:'Playfair Display';font-size:48px;line-height:1.25}.event-details{padding:48px 40px}.event-details h2{font-size:52px}.event-tagline{font-family:'Playfair Display';font-size:24px}.event-details dl{margin:30px 0}.event-details dl>div{display:grid;grid-template-columns:70px 1fr;border-top:1px solid #243b3220;padding:16px 0;font-size:14px;line-height:1.7}.event-details dt{font-weight:700}.event-details dd{margin:0}.vendor-invite{background:var(--green);padding:25px;border-radius:5px}.event-status{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700}.vendor-invite h3{font-family:'Playfair Display';font-size:27px;font-weight:500;margin:18px 0}.vendor-invite p{font-size:14px;line-height:1.8}.vendor-invite small{display:block;font-size:10px;margin-top:12px;line-height:1.5}.events-next{text-align:center;padding:0 6% 70px}.events-next p{font-size:15px;line-height:1.8}.events-next a{display:inline-block;margin:15px}.events-nav{white-space:nowrap}.footer-events{font-size:12px;white-space:nowrap}nav{gap:22px}footer{flex-wrap:wrap;gap:25px}@media(max-width:850px){header{flex-wrap:wrap;gap:20px}nav{flex-wrap:wrap;gap:16px}.event-feature{grid-template-columns:1fr}.event-image{min-height:420px}.event-details{padding:32px 25px}.event-details h2{font-size:43px}.events-intro{padding:40px 6%}.event-feature{margin-bottom:45px}}@media(max-width:420px){nav{justify-content:flex-start;gap:13px}.event-image{min-height:350px}.vendor-invite{padding:22px}.vendor-invite .button{padding:15px 18px;gap:12px}}
