:root{--cream:#f8f4ed;--ink:#27371e;--olive:#647650;--terracotta:#af6039;--soft:#eee9dd}*{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}button{font:inherit;cursor:pointer}.header{height:87px;display:flex;align-items:center;justify-content:space-between;padding:0 4.3%;gap:32px;background:#faf7f1}.brand{display:flex;align-items:center;gap:12px;color:#304324;white-space:nowrap}.brand strong{font-family:'Playfair Display',serif;font-size:42px;font-weight:400;letter-spacing:.065em;line-height:1}.brand small{display:block;text-align:center;font-size:9px;letter-spacing:.65em;margin-top:2px}.sprig{font-family:serif;font-size:48px;color:#b86e42;transform:rotate(-30deg)}.nav{display:flex;align-items:center;gap:45px;font-size:18px;color:#192719}.nav span{margin-left:4px}.whats,.product-wa{background:#526640;color:white;border-radius:24px}.headwa{padding:13px 25px;white-space:nowrap}.menu{display:none}.hero{height:423px;position:relative;overflow:hidden;background:#e9e2d6}.hero-image{position:absolute;inset:0 0 0 38%;background:url('assets/hero.webp') center center/cover no-repeat}.hero-copy{position:relative;height:100%;width:47%;background:#eae5da;border-radius:0 47% 45% 0/0 45% 55% 0;display:flex;align-items:center}.hero-inner{padding-left:7.1vw;position:relative;z-index:1;white-space:nowrap}.hero h1{font:400 clamp(46px,5.1vw,68px)/1.06 'Playfair Display',serif;letter-spacing:-.045em;margin:0}.hero h1 em{font-weight:400}.hero p{font-size:23px;margin:17px 0 29px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:14px 37px;background:var(--terracotta);color:#fff;border-radius:17px;font-size:20px;font-weight:600;min-height:54px}.primary span{font-size:26px;line-height:1}.botanical{position:absolute;bottom:-48px;left:-12px;color:#a1ae8d;font-size:135px;transform:rotate(-30deg);opacity:.75}.catalog{max-width:1200px;margin:auto;padding:35px 26px 48px}.section-title{display:flex;align-items:center;gap:40px;justify-content:center}.section-title span{height:1px;background:#e5d2c2;flex:1;max-width:250px}.section-title h2,.story h2,.visit h2{font:400 36px/1.2 'Playfair Display',serif;letter-spacing:-.025em;margin:0}.filters{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin:27px 0 32px}.filters button{border:0;border-radius:30px;background:var(--soft);color:#314029;padding:9px 22px;min-width:112px;font-size:16px}.filters button.active{background:#65734d;color:white}.filters i{font-style:normal;font-size:21px;vertical-align:middle;margin-right:7px}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.card{background:#faf7f1;border:1px solid #e9e3da;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #5d553b15}.card img{width:100%;aspect-ratio: 279 / 290;object-fit:cover;display:block}.card-body{padding:13px 20px 18px;min-height:158px;display:flex;flex-direction:column}.card h3{font:400 21px/1.2 'Playfair Display',serif;color:#1d2019;margin:0 0 7px}.card p{font-size:14px;color:#252c23;margin:0 0 20px;line-height:1.4}.product-wa{border-radius:10px;margin-top:auto;text-align:center;padding:9px 5px;font-size:14px;font-weight:600;background:#687c54}.product-wa span{font-size:20px;vertical-align:middle;margin-right:4px}.note{font-size:12px;color:#837e71;margin:18px 0 0}.empty{text-align:center;margin:40px}.empty a{text-decoration:underline}.story{background:#e7e8d9;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;padding:40px max(4%,calc((100% - 1148px)/2));min-height:330px}.story-photo{height:250px;border-radius:90px 12px 12px 12px;background:url('assets/hero.webp') center/cover}.story-text{padding:10px 0}.story h2{font-size:38px}.story p{line-height:1.75;max-width:500px;color:#4a5342}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;color:#8e725a}.text-link{display:inline-block;color:#99532e;font-weight:600;margin-top:10px}.text-link span{margin-left:10px}.visit{max-width:1148px;margin:auto;padding:75px 26px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.visit h2{margin:12px 0 22px}.visit p{line-height:1.7;color:#4d5748}.visit small{font-size:12px}.visit-links{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:25px}.visit .primary{font-size:15px;border-radius:12px;min-height:48px;padding:10px 22px}.map{min-height:250px;background:#e4e7d9;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#4c603d}.map span{font-size:46px}.map small{font-size:13px;text-decoration:underline}footer{padding:35px 5%;background:#334329;color:#f4f0e6;display:flex;align-items:center;gap:40px;flex-wrap:wrap}footer .brand{color:#f4f0e6}footer .brand strong{font-size:28px}footer .sprig{font-size:38px}footer p{margin-right:auto;font-size:14px}footer small{font-size:11px;opacity:.8}a:hover,button:hover{filter:brightness(.92)}:focus-visible{outline:3px solid #c78350;outline-offset:3px}@media(max-width:760px){.header{height:72px;padding:0 5%;position:relative}.brand strong{font-size:29px}.brand small{font-size:7px}.sprig{font-size:37px}.menu{display:block;background:none;border:0;font-size:26px;color:var(--ink)}.nav{display:none;position:absolute;z-index:10;top:72px;left:0;right:0;background:#faf7f1;padding:20px 6%;align-items:stretch;gap:0;box-shadow:0 8px 15px #0001}.nav.open{display:flex;flex-direction:column}.nav a{padding:13px 0}.nav .headwa{padding:12px;text-align:center;margin-top:7px}.hero{height:auto;display:flex;flex-direction:column-reverse}.hero-image{position:relative;inset:auto;height:310px;background-position:center}.hero-copy{width:100%;min-height:275px;border-radius:0;align-items:center}.hero-inner{padding:36px 6%;white-space:normal}.hero h1{font-size:clamp(39px,9vw,56px)}.hero p{font-size:17px;margin:14px 0 23px}.primary{font-size:16px;min-height:48px;padding:12px 25px}.botanical{right:5px;left:auto;font-size:85px;bottom:-30px}.catalog{padding:38px 16px}.section-title{gap:14px}.section-title h2{font-size:27px;text-align:center;white-space:nowrap}.filters{gap:8px;margin:22px 0}.filters button{font-size:14px;min-width:auto;padding:8px 15px}.filters i{font-size:17px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-body{padding:12px;min-height:150px}.card h3{font-size:17px}.card p{font-size:12px}.product-wa{font-size:12px}.story{grid-template-columns:1fr;padding:35px 6%;gap:25px}.story-photo{height:210px;border-radius:55px 10px 10px}.story h2{font-size:31px}.visit{grid-template-columns:1fr;padding:55px 6%;gap:25px}.visit h2{font-size:31px}.map{min-height:190px}footer{gap:20px}footer p{width:100%;margin:0}footer small{width:100%}}@media(max-width:360px){.section-title h2{font-size:23px}.card h3{font-size:15px}.product-wa{font-size:11px}.hero-image{height:245px}}

/* Artwork and spacing from the approved concept. */
.icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.header{height:clamp(72px,7.17vw,100px);padding:0 2.3% 0 4.25%;gap:clamp(16px,3.9vw,48px);background:#f8f3ec;justify-content:flex-start}
.header .brand{margin-right:auto;min-width:0;flex:0 1 clamp(215px,26.45vw,350px)}
.brand img{display:block;width:100%;height:auto;filter:url(#brand-ink);mix-blend-mode:multiply}
.nav{gap:clamp(16px,3.95vw,48px);white-space:nowrap;font-size:clamp(15px,1.55vw,19px)}
.nav a{display:inline-flex;align-items:center;gap:6px}
.nav .icon{width:15px;height:15px}
.headwa{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 24px;line-height:1.1;font-size:clamp(14px,1.52vw,18px);background:#475c36;min-height:45px}
.headwa .icon{width:22px;height:22px}
.hero{height:clamp(352px,38.5vw,655px);background:#ebe6dc}
.hero-image{display:block;position:absolute;inset:0 0 0 25.35%;background:none}
.hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:64% 82%}
.hero-copy{width:100%;height:100%;background:none;border-radius:0;isolation:isolate}
.hero-copy::before{content:"";position:absolute;inset:0 auto 0 0;width:47.54%;background:url('assets/hero-shape.svg') 0 0/100% 100% no-repeat;z-index:-1}
.hero-inner{padding-left:7.04vw}
.hero h1{font-size:clamp(45px,5.45vw,80px);line-height:1.045;letter-spacing:-.058em;color:#26301d}
.hero p{font-size:clamp(17px,1.98vw,28px);margin:18px 0 27px}
.hero .primary{background:#a85b32;border-radius:17px;gap:15px;padding:13px 32px 13px 38px;font-size:clamp(17px,1.83vw,24px);font-weight:500;line-height:1.2}
.hero .primary .icon{width:26px;height:26px}
.filters button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:41px;padding:8px 23px}
.filters .icon{width:23px;height:23px}
.product-wa{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 5px;min-height:38px;background:#60734b}
.product-wa .icon{width:21px;height:21px}
.footer-brand{width:195px;background:#f8f3ec;padding:8px 11px;border-radius:5px}
.map>.icon{width:42px;height:42px}
@media(min-width:761px) and (max-width:1000px){.header{gap:20px}.nav{gap:20px}.headwa{padding:10px 15px}.filters button{padding:8px 16px}}
@media(max-width:760px){
.header{height:68px;padding:0 4%;gap:10px}
.header .brand{flex-basis:205px}
.header .headwa{min-height:39px;padding:8px 11px;font-size:13px;gap:5px}
.header .headwa .icon{width:18px;height:18px}
.menu{display:grid;place-items:center;order:3;min-width:35px;height:42px;padding:0}
.nav{top:68px;gap:0}
.hero{display:flex;flex-direction:column-reverse;height:auto}
.hero-image{position:relative;inset:auto;width:100%;height:clamp(240px,76vw,430px)}
.hero-image img{object-fit:cover;object-position:center 70%}
.hero-copy{height:auto;min-height:0;background:#eee8dd}
.hero-copy::before{width:100%;background-size:125% 100%;opacity:.5}
.hero-inner{padding:30px 6% 27px;white-space:normal}
.hero h1{font-size:clamp(39px,9.8vw,61px)}
.hero p{font-size:clamp(15px,3.9vw,22px);margin:13px 0 20px}
.hero .primary{gap:10px;padding:11px 20px;min-height:45px;border-radius:13px}
.hero .primary .icon{width:21px;height:21px}
.filters button{min-width:0;min-height:40px;padding:7px 12px;gap:6px}
.filters .icon{width:19px;height:19px}
.product-wa{gap:5px}
.product-wa .icon{width:16px;height:16px}
}
@media(max-width:360px){.header .headwa span{font-size:11px}.header .headwa{padding:7px}.menu{min-width:28px}.product-wa .icon{width:14px;height:14px}}

/* Catalog rhythm and the transition into the shop section. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
[hidden]{display:none!important}
.catalog{max-width:1440px;padding:clamp(30px,3.02vw,47px) max(22px,2.17vw) clamp(27px,2.4vw,40px)}
.section-title h2{font-size:clamp(28px,3vw,41px)}
.filters{margin:clamp(22px,2.3vw,33px) 0 clamp(23px,2.65vw,38px)}
.filters button{font-weight:500;transition:background-color .15s,color .15s}
.filters button:not(.active):hover{background:#e2dfd0}
.products{gap:clamp(12px,1.25vw,18px)}
.card{display:flex;flex-direction:column}
.card img{height:auto}
.card-body{flex:1;padding:clamp(12px,1.17vw,17px) clamp(12px,1.73vw,25px) clamp(14px,1.55vw,22px);min-height:clamp(138px,13.17vw,183px)}
.card h3{font-size:clamp(17px,1.77vw,25px);line-height:1.23}
.card p{font-size:clamp(13px,1.29vw,17px);margin-bottom:17px}
.product-wa{font-size:clamp(12px,1.19vw,16px);gap:8px;background:#5d7048;font-weight:500;transition:background-color .15s;line-height:1.2}
.product-wa span{font-size:inherit;vertical-align:baseline;margin:0}
.product-wa:hover{background:#4c6038}
.note{margin-top:12px;font-size:11px;color:#686457;text-align:right}
.empty{max-width:620px;margin:0 auto;padding:28px 16px;border-radius:12px;background:#ede9de;color:var(--ink)}
.empty strong{font:400 23px/1.2 'Playfair Display',serif}
.empty p{margin:8px 0 12px}
.empty a{display:inline-block;padding:6px;text-underline-offset:3px}
.story{gap:0;padding:0;min-height:0;background:#eeeade;grid-template-columns:46% 54%}
.story-photo{height:100%;min-height:270px;border-radius:0 100px 0 0;background:linear-gradient(180deg,#5666420a,#4354381f),url('assets/hero.webp') 74% 42%/cover}
.story-text{padding:35px 6% 39px max(24px,3.1vw)}
.story h2{margin-top:8px;font-size:clamp(31px,3.25vw,48px)}
.map{gap:8px;text-align:center;background:#e6e8db;border:1px solid #d9decb}
.map>.icon{margin-bottom:4px;width:32px;height:32px}
.map .map-address{font-size:14px}
.map .map-action{margin-top:12px;padding:9px 15px;border-radius:20px;background:#f7f5ec;font-size:14px;font-weight:600}
@media(max-width:760px){
.catalog{padding:31px 16px 28px}
.section-title{gap:10px}
.section-title h2{font-size:clamp(21px,6.5vw,31px)}
.filters{gap:7px;margin:19px 0 24px}
.filters button{min-height:44px}
.card-body{min-height:144px;padding:10px}
.card p{font-size:12px;margin-bottom:11px}
.product-wa{min-height:44px;font-size:12px;gap:5px}
.note{text-align:left}
.story{grid-template-columns:1fr}
.story-photo{min-height:210px;border-radius:0 64px 0 0}
.story-text{padding:25px 6% 32px}
.nav a{min-height:44px}
.header .headwa,.menu{min-height:44px}
}
@media(max-width:360px){.product-wa{font-size:11px}.card h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.filters button,.product-wa{transition:none}}

/* Search and photography for the Instagram selection. */
.catalog-tools{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 22px}
.catalog-search{display:grid;gap:5px;width:min(100%,390px);font-size:14px;font-weight:600}
.catalog-search input{min-width:0;width:100%;min-height:44px;padding:10px 13px;border:1px solid #d3cfc0;border-radius:10px;background:#fffdfa;color:#26301d;font:inherit;font-weight:400}
.catalog-search input::placeholder{color:#67685e}
.catalog-count{margin:0 0 10px;color:#4c5141;font-size:14px;white-space:nowrap}
.card-photo{display:grid;place-items:center;aspect-ratio:279/290;overflow:hidden;background:#fff}
.card .card-photo img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain}
.card-body .product-source{align-self:flex-start;margin:0 0 12px;color:#4c6038;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.card-body .product-wa{min-height:44px}
.clear-catalog{padding:9px 14px;border:1px solid #5d7048;border-radius:8px;background:#5d7048;color:#fff}
@media(max-width:480px){
  .catalog-tools{display:grid;gap:10px;margin-bottom:16px}
  .catalog-count{margin:0}
  .card-body .product-source{font-size:12px}
}
