:root{--linen:#f6f1eb;--parchment:#ede6dc;--clay:#c4a07c;--clay-light:#d9c4a8;--herb:#7a8e6b;--herb-light:#b5c4a8;--herb-deep:#4d5e42;--bark:#2a2420;--bark-mid:#4a3f35;--bark-light:#6b5f53;--honey:#c9a96e;--apothecary:#1e1b17;--white:#fefcfa}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;font-weight:300;color:var(--bark);background:var(--linen);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* NAV */
nav{position:fixed;top:0;width:100%;z-index:1000;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:all .6s cubic-bezier(.16,1,.3,1)}
nav.scrolled{background:rgba(30,27,23,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1rem 3rem}
.nav-logo{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.4rem;color:var(--bark);text-decoration:none;transition:color .5s}
.nav-logo .amp{font-style:italic;color:var(--herb);transition:color .5s}
nav.scrolled .nav-logo{color:var(--white)}
nav.scrolled .nav-logo .amp{color:var(--herb-light)}
.nav-links{display:flex;list-style:none;gap:2.5rem;align-items:center}
.nav-links a{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--bark-light);text-decoration:none;transition:color .3s}
.nav-links a:hover{color:var(--bark)}
nav.scrolled .nav-links a{color:rgba(254,252,250,.75)}
nav.scrolled .nav-links a:hover{color:var(--white)}
.menu-toggle{display:none;flex-direction:column;cursor:pointer;gap:5px;z-index:1001;background:none;border:none;padding:5px}
.menu-toggle span{width:22px;height:1.5px;background:var(--bark);display:block;transition:background .5s}
nav.scrolled .menu-toggle span{background:var(--white)}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.hero-image{position:absolute;inset:0;background:linear-gradient(160deg,#dce8d6 0%,#e8efe4 30%,#f0ebe3 60%,#ede6dc 100%)}
.hero-overlay{position:absolute;inset:0}
.hero-logo{display:block;width:140px;height:auto;margin:0 auto 2rem;opacity:0;animation:fadeUp 1s ease .1s forwards}
.hero-lavender{position:absolute;left:-14%;top:-5%;width:auto;height:115%;z-index:1;pointer-events:none;opacity:.85}
.hero-content{text-align:center;position:relative;z-index:2;padding:2rem;max-width:800px}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(3rem,7vw,5.5rem);line-height:1.1;color:var(--bark);margin-bottom:.5rem;opacity:0;animation:fadeUp 1s ease .3s forwards}
.hero h1 .amp{font-style:italic;color:var(--herb)}
.hero-sub{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.85rem;letter-spacing:5px;text-transform:uppercase;color:var(--bark-mid);margin-bottom:1.5rem;opacity:0;animation:fadeUp 1s ease .5s forwards}
.hero-description{font-family:'Cormorant Garamond',serif;font-weight:400;font-style:italic;font-size:clamp(1.1rem,2vw,1.35rem);color:var(--bark-light);line-height:1.7;max-width:520px;margin:0 auto 2.5rem;opacity:0;animation:fadeUp 1s ease .7s forwards}
.hero-cta{display:inline-block;font-family:'DM Sans',sans-serif;font-weight:400;font-size:.8rem;letter-spacing:3px;text-transform:uppercase;color:var(--bark);text-decoration:none;padding:1rem 2.8rem;border:1px solid var(--bark-mid);transition:all .5s;opacity:0;animation:fadeUp 1s ease .9s forwards}
.hero-cta:hover{background:var(--herb-deep);color:var(--white);border-color:var(--herb-deep)}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* SHARED */
.section-tag{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.75rem;letter-spacing:4px;text-transform:uppercase;color:var(--herb);margin-bottom:1.2rem;display:block}
.section-heading{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,3.5vw,2.8rem);color:var(--bark);line-height:1.25}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal.delay-1{transition-delay:.15s}
.reveal.delay-2{transition-delay:.3s}
.reveal.delay-3{transition-delay:.45s}

/* ABOUT */
.about{padding:7rem 3rem 8rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:1100px;margin:0 auto;align-items:center}
.about-image{aspect-ratio:3/4;position:relative;overflow:hidden}
.about-image img{width:100%;height:100%;object-fit:cover}
.about-image::before{content:'';position:absolute;inset:10px;border:1px solid rgba(254,252,250,.15);pointer-events:none;z-index:2}
.about-text .section-heading{margin-bottom:1.5rem}
.about-text p{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1rem;line-height:2;color:var(--bark-mid);margin-bottom:1.2rem}
.about-text .credential{display:inline-block;margin-top:1rem;font-family:'DM Sans',sans-serif;font-weight:400;font-size:.75rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--herb-deep);padding:.7rem 1.5rem;border:1px solid var(--herb-light);background:rgba(138,154,123,.06)}

/* PRODUCTS */
.products{padding:7rem 3rem 8rem;background:var(--apothecary)}
.products .section-tag{color:var(--clay-light)}
.products .section-heading{color:var(--white)}
.products-header{text-align:center;margin-bottom:4rem}
.products-header p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem;color:rgba(254,252,250,.6);margin-top:.5rem}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1000px;margin:0 auto}
.product-card{text-align:center}
.product-thumb{aspect-ratio:1;position:relative;overflow:hidden;margin-bottom:1.5rem;background:linear-gradient(145deg,#3a342c,#2a2420);display:flex;align-items:center;justify-content:center}
.product-thumb::before{content:'';position:absolute;inset:8px;border:1px solid rgba(254,252,250,.06);pointer-events:none;z-index:2}
.product-thumb .product-icon{opacity:.15;transition:opacity .4s}
.product-card:hover .product-icon{opacity:.25}
.product-thumb::after{content:'photo coming soon';position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(254,252,250,.2);white-space:nowrap}
.product-thumb:has(.product-photo)::after{display:none}
.product-thumb:has(.product-photo)::before{display:none}
.product-thumb:has(.product-photo){background:none}
.product-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.product-card:hover .product-photo{transform:scale(1.04)}
.product-card h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.35rem;color:var(--white);margin-bottom:.5rem}
.product-card .product-desc{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.9rem;color:rgba(254,252,250,.55);line-height:1.7;max-width:280px;margin:0 auto}
.products-grid-bottom{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;max-width:670px;margin:2.5rem auto 0}

/* SEASONAL */
.seasonal{padding:7rem 3rem;text-align:center;background:var(--parchment)}
.seasonal-inner{max-width:700px;margin:0 auto}
.seasonal h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--bark);line-height:1.6;margin-bottom:1.2rem}
.seasonal p{font-family:'DM Sans',sans-serif;font-weight:300;font-size:1rem;color:var(--bark-mid);line-height:1.8}

/* VALUES */
.values{padding:7rem 3rem 8rem;max-width:1000px;margin:0 auto}
.values-header{text-align:center;margin-bottom:4rem}
.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.value-card{text-align:center;padding:2.5rem 1.5rem;position:relative}
.value-card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:1px;background:var(--clay)}
.value-number{font-family:'Bodoni Moda',serif;font-weight:400;font-size:2.5rem;color:var(--herb-light);line-height:1;margin-bottom:1rem;display:block}
.value-card h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.3rem;color:var(--bark);margin-bottom:.8rem}
.value-card p{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.95rem;color:var(--bark-mid);line-height:1.85}

/* FIND US */
.findus{padding:5rem 3rem 6rem;background:var(--apothecary)}
.findus .section-tag{color:var(--clay-light)}
.findus-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.findus-name{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.6rem;color:var(--white);margin-bottom:.8rem;margin-top:1.5rem}
.findus-address{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.95rem;color:rgba(254,252,250,.6);line-height:1.8;margin-bottom:1.5rem}
.findus-hours h4{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--herb-light);margin-bottom:.8rem}
.findus-hours p{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.9rem;color:rgba(254,252,250,.55);line-height:1.9}
.findus-actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.findus-btn{display:inline-block;font-family:'DM Sans',sans-serif;font-weight:400;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:.85rem 1.8rem;transition:all .4s;cursor:pointer;background:var(--herb-deep);color:var(--white);border:1px solid var(--herb-deep)}
.findus-btn:hover{background:var(--herb);border-color:var(--herb)}
.findus-btn-outline{background:transparent;border:1px solid rgba(254,252,250,.3);color:rgba(254,252,250,.7)}
.findus-btn-outline:hover{background:rgba(254,252,250,.1);border-color:rgba(254,252,250,.5);color:var(--white)}
.findus-map{aspect-ratio:1;overflow:hidden;min-height:350px}
.findus-map iframe{width:100%;height:100%}

/* CUSTOM */
.custom{padding:7rem 3rem;max-width:750px;margin:0 auto;text-align:center}
.custom .section-heading{margin-bottom:1.5rem}
.custom p{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1rem;line-height:2;color:var(--bark-mid);margin-bottom:2rem}
.custom-ideas{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}
.custom-tag{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--bark-mid);padding:.7rem 1.3rem;border:1px solid var(--clay-light)}
.btn-outline{display:inline-block;font-family:'DM Sans',sans-serif;font-weight:400;font-size:.8rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--bark);text-decoration:none;padding:1rem 2.8rem;border:1px solid var(--bark-mid);transition:all .5s}
.btn-outline:hover{background:var(--herb-deep);color:var(--white);border-color:var(--herb-deep)}

/* GALLERY */
.gallery{padding:5rem 0 0;background:var(--linen);overflow:hidden}
.gallery-header{text-align:center;margin-bottom:3rem;padding:0 3rem}
.gallery-header .section-heading{margin-bottom:.3rem}
.gallery-header p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:var(--bark-light)}
.gallery-track{display:flex;gap:1rem;animation:galleryScroll 35s linear infinite;width:max-content}
.gallery-track:hover{animation-play-state:paused}
.gallery-item{flex-shrink:0;width:320px;height:400px;overflow:hidden}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery-item:hover img{transform:scale(1.04)}
@keyframes galleryScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* NEWSLETTER */
.newsletter{padding:6rem 3rem;text-align:center;background:var(--apothecary)}
.newsletter .section-tag{color:var(--clay-light)}
.newsletter .section-heading{color:var(--white);margin-bottom:.6rem}
.newsletter p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:rgba(254,252,250,.55);margin-bottom:2.5rem}
.newsletter-form{display:flex;max-width:450px;margin:0 auto}
.newsletter-form input{flex:1;padding:1rem 1.4rem;border:1px solid rgba(254,252,250,.15);border-right:none;background:rgba(254,252,250,.05);font-family:'DM Sans',sans-serif;font-weight:300;font-size:.9rem;color:var(--white);outline:none}
.newsletter-form input::placeholder{color:rgba(254,252,250,.3);font-size:.8rem}
.newsletter-form input:focus{border-color:var(--herb)}
.newsletter-form button{padding:1rem 2rem;background:var(--herb-deep);color:var(--white);border:1px solid var(--herb-deep);font-family:'DM Sans',sans-serif;font-weight:400;font-size:.75rem;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:all .4s}
.newsletter-form button:hover{background:var(--herb);border-color:var(--herb)}

/* FOOTER */
footer{padding:4rem 3rem 2.5rem;background:var(--apothecary);color:var(--white);border-top:1px solid rgba(254,252,250,.05)}
.footer-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand .footer-logo{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.5rem;color:var(--white);display:block;margin-bottom:1rem}
.footer-brand .footer-logo .amp{font-style:italic;color:var(--herb-light)}
.footer-brand p{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.9rem;color:rgba(254,252,250,.4);line-height:1.8}
.footer-col h4{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--herb-light);margin-bottom:1.3rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.7rem}
.footer-col ul a{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.9rem;color:rgba(254,252,250,.4);text-decoration:none;transition:color .3s}
.footer-col ul a:hover{color:var(--white)}
.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(254,252,250,.06)}
.footer-bottom p{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.75rem;letter-spacing:1px;color:rgba(254,252,250,.2)}

/* RESPONSIVE */
@media(max-width:900px){
.about{grid-template-columns:1fr;gap:3rem;padding:5rem 2rem}
.about-image{max-width:450px;margin:0 auto}
.products-grid{grid-template-columns:repeat(2,1fr);gap:2rem}
.products-grid-bottom{grid-template-columns:1fr;max-width:335px}
.values-row{grid-template-columns:1fr;gap:1.5rem}
.footer-inner{grid-template-columns:1fr;text-align:center}
.findus-inner{grid-template-columns:1fr}
.findus-map{min-height:300px}
.gallery-item{width:260px;height:330px}
}
@media(max-width:650px){
.hero-lavender{height:80%;width:auto;opacity:.35;left:-20%;top:5%}
.hero h1{color:#1a1612;font-weight:500;text-shadow:0 1px 12px rgba(246,241,235,.8);font-size:clamp(3.3rem,8vw,6rem)}
.hero h1 .amp{color:#3d5a2e}
.hero-sub{color:#2a2420;font-weight:500;font-size:.88rem}
.hero-description{color:#2a2420;font-weight:700;font-style:italic;font-family:'Cormorant Garamond',serif}
.hero-cta{color:#1a1612;border-color:#2a2420;font-weight:500;background:rgba(246,241,235,.85)}
nav{padding:1rem 1.5rem}
.nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--apothecary);flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;z-index:999}
.nav-links.open{display:flex}
.nav-links a{font-size:.9rem;letter-spacing:4px;color:var(--white)}
.close-menu{display:block;position:absolute;top:1.5rem;right:1.5rem;font-size:1.5rem;color:var(--white);cursor:pointer;background:none;border:none}
.menu-toggle{display:flex}
.products-grid{grid-template-columns:1fr;max-width:350px;margin:0 auto}
.products-grid-bottom{max-width:350px;grid-template-columns:1fr}
.newsletter-form{flex-direction:column}
.newsletter-form input{border-right:1px solid rgba(254,252,250,.15);border-bottom:none}
.gallery-item{width:220px;height:280px}
}

/* POPUP */
.popup-overlay{position:fixed;inset:0;background:rgba(30,27,23,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;padding:1.5rem}
.popup-overlay.active{opacity:1;visibility:visible}
.popup{background:var(--linen);max-width:460px;width:100%;padding:3rem 2.5rem;position:relative;text-align:center;transform:translateY(20px) scale(.97);transition:transform .4s cubic-bezier(.16,1,.3,1);border-top:3px solid var(--herb)}
.popup-overlay.active .popup{transform:translateY(0) scale(1)}
.popup-close{position:absolute;top:1rem;right:1.2rem;background:none;border:none;font-size:1.6rem;color:var(--bark-light);cursor:pointer;transition:color .3s;line-height:1}
.popup-close:hover{color:var(--bark)}
.popup-tag{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.7rem;letter-spacing:3.5px;text-transform:uppercase;color:var(--herb);display:block;margin-bottom:1rem}
.popup-heading{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.8rem,4vw,2.4rem);color:var(--bark);line-height:1.2;margin-bottom:1rem}
.popup-text{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.9rem;color:var(--bark-mid);line-height:1.7;margin-bottom:2rem}
.popup-form{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}
.popup-form input{padding:.9rem 1.2rem;border:1px solid var(--clay-light);background:var(--white);font-family:'DM Sans',sans-serif;font-weight:300;font-size:.9rem;color:var(--bark);outline:none;transition:border-color .3s}
.popup-form input::placeholder{color:var(--bark-light);font-size:.85rem}
.popup-form input:focus{border-color:var(--herb)}
.popup-form button{padding:.9rem 2rem;background:var(--herb-deep);color:var(--white);border:1px solid var(--herb-deep);font-family:'DM Sans',sans-serif;font-weight:400;font-size:.75rem;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:all .4s}
.popup-form button:hover{background:var(--herb);border-color:var(--herb)}
.popup-message{font-family:'DM Sans',sans-serif;font-size:.85rem;display:none;margin-bottom:.5rem}
.popup-dismiss{font-family:'DM Sans',sans-serif;font-weight:300;font-size:.8rem;color:var(--bark-light);cursor:pointer;transition:color .3s;text-decoration:underline;text-underline-offset:2px}
.popup-dismiss:hover{color:var(--bark)}
