*{margin:0;padding:0;box-sizing:border-box}:root{--espresso: #2c1810;--dark-roast: #3d2114;--medium-roast: #6b3a2a;--light-roast: #8b5e3c;--cream: #f5f0eb;--warm-white: #faf8f5;--gold: #c9a96e;--gold-light: #ddc08e;--text-primary: #1a1209;--text-secondary: #5a4a3a;--text-light: #8a7a6a;--accent: #b85c38;--accent-hover: #a04e2e;--border: #e5ddd5}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);background:var(--warm-white);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Playfair Display,Georgia,serif;line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.header{position:sticky;top:0;z-index:100;background:var(--espresso);color:#fff;padding:0 2rem}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}.logo{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--gold);letter-spacing:.02em}.logo span{color:#fff;font-weight:400}.nav{display:flex;gap:2rem;align-items:center}.nav a{font-size:.9rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#fffc;transition:color .2s}.nav a:hover,.nav a.active{color:var(--gold)}.cart-link{position:relative}.cart-badge{position:absolute;top:-8px;right:-12px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:600;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.hero{background:linear-gradient(135deg,var(--espresso) 0%,var(--dark-roast) 50%,var(--medium-roast) 100%);color:#fff;padding:6rem 2rem;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 50%,rgba(201,169,110,.15) 0%,transparent 60%)}.hero-content{position:relative;max-width:700px;margin:0 auto}.hero h1{font-size:3.5rem;margin-bottom:1rem;color:var(--gold)}.hero p{font-size:1.2rem;color:#ffffffd9;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.hero-tagline{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:1.1rem!important;color:var(--gold-light)!important;margin-bottom:.5rem!important}.btn{display:inline-block;padding:.85rem 2rem;border-radius:4px;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;border:none;font-family:Inter,sans-serif}.btn-primary{background:var(--gold);color:var(--espresso)}.btn-primary:hover{background:var(--gold-light)}.btn-secondary{background:transparent;color:#fff;border:2px solid var(--gold)}.btn-secondary:hover{background:var(--gold);color:var(--espresso)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn-outline:hover{background:var(--accent);color:#fff}.btn-small{padding:.5rem 1rem;font-size:.8rem}.section{padding:5rem 2rem;max-width:1200px;margin:0 auto}.section-dark{background:var(--espresso);color:#fff;max-width:100%;padding:5rem 2rem}.section-dark .section-inner{max-width:1200px;margin:0 auto}.section-cream{background:var(--cream);max-width:100%;padding:5rem 2rem}.section-cream .section-inner{max-width:1200px;margin:0 auto}.section-title{text-align:center;margin-bottom:3rem}.section-title h2{font-size:2.5rem;margin-bottom:.5rem}.section-title p{color:var(--text-secondary);font-size:1.05rem}.section-dark .section-title p{color:#ffffffb3}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.product-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.product-image{height:280px;background:var(--cream);overflow:hidden;display:flex;align-items:center;justify-content:center}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.product-card:hover .product-image img{transform:scale(1.05)}.product-info{padding:1.5rem}.product-category{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}.product-name{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;margin-bottom:.25rem}.product-origin{font-size:.85rem;color:var(--text-light);margin-bottom:.5rem}.product-notes{font-size:.8rem;font-weight:500;color:var(--accent);margin-bottom:.5rem;font-style:italic}.product-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.product-footer{display:flex;align-items:center;justify-content:space-between}.product-price{font-size:1.25rem;font-weight:600;color:var(--espresso)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;text-align:center}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature h3{font-size:1.25rem;margin-bottom:.5rem}.feature p{font-size:.95rem;color:var(--text-secondary)}.section-dark .feature p{color:#ffffffb3}.about-hero{background:linear-gradient(135deg,var(--espresso) 0%,var(--dark-roast) 100%);color:#fff;padding:5rem 2rem;text-align:center}.about-hero h1{font-size:3rem;color:var(--gold);margin-bottom:1rem}.about-hero p{font-size:1.1rem;color:#fffc;max-width:600px;margin:0 auto}.about-content{max-width:800px;margin:0 auto;padding:4rem 2rem}.about-content h2{font-size:2rem;margin-bottom:1rem;color:var(--espresso)}.about-content p{font-size:1.05rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.8}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}.value-card{background:var(--cream);padding:2rem;border-radius:12px}.value-card h3{font-size:1.15rem;margin-bottom:.5rem;color:var(--espresso)}.value-card p{font-size:.95rem;margin-bottom:0}.cart-page{max-width:800px;margin:0 auto;padding:3rem 2rem}.cart-page h1{font-size:2.5rem;margin-bottom:2rem}.cart-empty{text-align:center;padding:4rem 2rem}.cart-empty p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem}.cart-item{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}.cart-item-image{width:80px;height:80px;border-radius:8px;background:var(--cream);overflow:hidden;flex-shrink:0}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-info{flex:1}.cart-item-name{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;margin-bottom:.25rem}.cart-item-price{color:var(--text-secondary);font-size:.95rem}.cart-item-actions{display:flex;align-items:center;gap:.75rem}.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.qty-btn:hover{background:var(--cream);border-color:var(--text-light)}.cart-item-qty{font-weight:600;width:2rem;text-align:center}.cart-item-total{font-weight:600;font-size:1.1rem;width:80px;text-align:right}.cart-remove{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:.85rem;padding:.25rem;transition:color .2s}.cart-remove:hover{color:var(--accent)}.cart-summary{margin-top:2rem;padding:2rem;background:var(--cream);border-radius:12px}.cart-summary-row{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:1rem}.cart-summary-total{display:flex;justify-content:space-between;padding-top:1rem;border-top:2px solid var(--border);font-size:1.25rem;font-weight:700;font-family:Playfair Display,Georgia,serif}.cart-checkout{margin-top:1.5rem;text-align:right}.contact-page{max-width:900px;margin:0 auto;padding:3rem 2rem}.contact-page h1{font-size:2.5rem;margin-bottom:.5rem}.contact-page>p{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.05rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;font-family:Inter,sans-serif;transition:border-color .2s;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--gold)}.form-group textarea{resize:vertical;min-height:120px}.contact-info-card{background:var(--cream);padding:2rem;border-radius:12px}.contact-info-card h3{font-size:1.25rem;margin-bottom:1.5rem;color:var(--espresso)}.contact-detail{display:flex;gap:1rem;margin-bottom:1.5rem}.contact-detail-icon{font-size:1.5rem;flex-shrink:0}.contact-detail h4{font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.contact-detail p{font-size:.9rem;color:var(--text-secondary)}.hours-grid{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.hours-grid h4{font-family:Inter,sans-serif;font-weight:600;font-size:.9rem;margin-bottom:.75rem}.hours-row{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.4rem}.hours-row span:last-child{color:var(--text-secondary)}.footer{background:var(--espresso);color:#fff;padding:4rem 2rem 2rem}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand .logo{margin-bottom:1rem;display:inline-block}.footer-brand p{color:#fff9;font-size:.9rem;line-height:1.6;max-width:300px}.footer-col h4{font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:1rem}.footer-col a{display:block;color:#fff9;font-size:.9rem;margin-bottom:.6rem;transition:color .2s}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#fff6}.newsletter{text-align:center;padding:4rem 2rem;background:var(--cream)}.newsletter h2{font-size:2rem;margin-bottom:.5rem}.newsletter p{color:var(--text-secondary);margin-bottom:1.5rem}.newsletter-form{display:flex;gap:.75rem;max-width:450px;margin:0 auto}.newsletter-form input{flex:1;padding:.85rem 1rem;border:1px solid var(--border);border-radius:4px;font-size:1rem;font-family:Inter,sans-serif}.newsletter-form input:focus{outline:none;border-color:var(--gold)}.menu-hero{background:linear-gradient(135deg,var(--espresso) 0%,var(--dark-roast) 100%);color:#fff;padding:4rem 2rem;text-align:center}.menu-hero h1{font-size:3rem;color:var(--gold);margin-bottom:.5rem}.menu-hero p{font-size:1.1rem;color:#fffc}.menu-filters{display:flex;gap:.75rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1.25rem;border-radius:100px;border:1px solid var(--border);background:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.filter-btn:hover{border-color:var(--gold)}.filter-btn.active{background:var(--espresso);color:#fff;border-color:var(--espresso)}.lifestyle-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.lifestyle-img{height:300px;overflow:hidden}.lifestyle-img img{width:100%;height:100%;object-fit:cover}.stockists{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 3rem}.stockists span{font-size:1.1rem;font-weight:500;color:var(--text-secondary);padding:.5rem 1.25rem;border:1px solid var(--border);border-radius:100px}.about-image-break{margin:2rem 0;border-radius:12px;overflow:hidden;max-height:400px}.about-image-break img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.lifestyle-row{grid-template-columns:1fr}.lifestyle-img{height:200px}.hero h1{font-size:2.5rem}.features{grid-template-columns:1fr;gap:2rem}.footer-inner{grid-template-columns:1fr 1fr;gap:2rem}.contact-grid,.values-grid{grid-template-columns:1fr}.nav{gap:1rem}.cart-item{flex-wrap:wrap}}@media(max-width:480px){.hero h1{font-size:2rem}.hero{padding:4rem 1.5rem}.section{padding:3rem 1.5rem}.footer-inner{grid-template-columns:1fr}.newsletter-form{flex-direction:column}.header-inner{height:60px}.logo{font-size:1.2rem}.nav{gap:.75rem}.nav a{font-size:.8rem}}
