@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--wine:#7e292e;--wine2:#5c2022;--cream:#fff1d9;--pale:#fff9ef;--pink:#f3d5c8;--ink:#321e1b;--muted:#826d63;--line:#e8d7c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--pale);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.topline{background:var(--wine);color:#fff0d9;text-align:center;padding:10px 16px;font-size:10px;letter-spacing:2.2px;font-weight:700}.topline span{color:#efc59c;padding:0 13px}.nav{height:88px;display:flex;align-items:center;justify-content:space-between}.brand img{width:175px;height:62px;object-fit:contain;mix-blend-mode:multiply}.nav nav{display:flex;gap:34px;font-size:13px;font-weight:600;color:#654b43}.nav nav a:hover,.text-link:hover{color:var(--wine)}.nav-cta{border:1px solid var(--wine);padding:12px 17px;border-radius:3px;font-size:12px;font-weight:700;color:var(--wine)}.nav-cta b{padding-left:14px}.mobile-toggle{display:none;background:none;border:0;font-size:24px;color:var(--wine)}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:565px;padding-top:58px;padding-bottom:66px;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:24px 0 0 26px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:var(--wine);display:flex;align-items:center;gap:10px}.eyebrow i{width:23px;height:2px;background:var(--wine)}h1,h2{font-family:'Playfair Display',serif;font-weight:500;letter-spacing:-1.7px}h1{font-size:clamp(48px,5.6vw,76px);line-height:1.06;margin:25px 0 22px}h1 em,h2 em{color:var(--wine);font-weight:500} .hero-copy>p,.story-copy p,.visit>div>p{color:var(--muted);font-size:14px;line-height:1.9;max-width:410px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 20px;font-size:12px;font-weight:700;border-radius:3px}.button span{font-size:17px}.button.dark{background:var(--wine);color:#fff2de}.text-link{font-size:12px;font-weight:700}.text-link span{padding-left:8px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:42px}.heart{display:grid;place-items:center;background:#f2ddd1;color:var(--wine);width:38px;height:38px;border-radius:50%;font-size:19px}.hero-note strong,.hero-note small{display:block}.hero-note strong{font-size:11px}.hero-note small{font-size:10px;color:var(--muted);margin-top:4px}.hero-art{position:relative;min-height:410px;display:grid;place-items:center}.art-blob{position:absolute;width:440px;height:440px;background:#f3dfc0;border-radius:50% 46% 50% 43%;transform:rotate(-10deg);right:35px;top:0}.hero-logo{position:relative;width:78%;max-width:410px;height:290px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(3deg);filter:drop-shadow(0 18px 12px #5d26221b)}.stamp{position:absolute;top:42px;right:23px;border:1px solid var(--wine);border-radius:50%;width:91px;height:91px;display:grid;place-content:center;text-align:center;font-size:10px;letter-spacing:1px;color:var(--wine);transform:rotate(12deg)}.stamp span{font-size:20px}.float-card{position:absolute;bottom:38px;left:20px;background:var(--wine);color:var(--cream);padding:20px 24px;transform:rotate(-6deg);font-family:'Playfair Display',serif;font-size:16px;line-height:1.2;box-shadow:0 10px 25px #4b25221c}.float-card b{font-weight:700}.hero-bottom{position:absolute;bottom:17px;left:26px;right:26px;border-top:1px solid var(--line);padding-top:17px;color:#987d6e;font-size:9px;letter-spacing:2px}.hero-bottom span{color:var(--wine);padding:0 13px}.ticker{background:#f4e4d2;overflow:hidden;white-space:nowrap;padding:17px 0;color:var(--wine);font-family:'Playfair Display',serif;font-size:15px;letter-spacing:1px}.ticker div{text-align:center}.ticker span{padding:0 23px;font-family:sans-serif;font-size:12px}.story{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-top:110px;padding-bottom:105px}.story-art{position:relative;background:#f2dfc5;padding:16px;transform:rotate(-2deg);max-width:470px}.story-art:before{content:"";position:absolute;inset:12px;border:1px solid #b77b64;pointer-events:none}.story-art img{display:block;width:100%;position:relative;mix-blend-mode:multiply}.story-copy{position:relative}.story-copy h2,.section-head h2,.visit h2{font-size:clamp(39px,4.2vw,55px);line-height:1.13;margin:19px 0}.story-copy p{max-width:470px}.under-link{display:inline-block;color:var(--wine);font-size:12px;font-weight:700;border-bottom:1px solid #c89b83;padding:0 0 8px;margin-top:13px}.under-link span{margin-left:20px}.scribble{position:absolute;right:15px;bottom:-30px;font-family:'Playfair Display',serif;color:#b8756d;font-style:italic;transform:rotate(-10deg);font-size:21px}.menu-section{background:#f7ecdf;padding:88px 0 100px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-head h2{margin:15px 0 9px}.section-head p{font-size:13px;color:var(--muted)}.menu-count{display:flex;align-items:center;gap:12px;padding:14px 20px;border-left:1px solid #d7b9a5;color:var(--muted);font-size:10px;line-height:1.5}.menu-count strong{font-family:'Playfair Display',serif;color:var(--wine);font-size:34px;font-weight:500}.searchbar{display:flex;align-items:center;background:#fffaf3;border:1px solid #e5d2c2;padding:5px 7px 5px 16px;max-width:560px;margin:25px 0 20px}.searchbar>span{font-size:25px;color:var(--wine);margin-right:9px}.searchbar input{background:transparent;border:0;outline:0;flex:1;min-width:0;padding:10px;font:12px 'DM Sans',sans-serif;color:var(--ink)}.searchbar button{background:var(--wine);border:0;color:#fff0dc;padding:12px 17px;font:700 11px 'DM Sans',sans-serif;cursor:pointer}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.filters a{padding:10px 14px;border:1px solid #ddc6b4;border-radius:30px;font-size:10px;font-weight:700;color:#785e52}.filters a.active,.filters a:hover{background:var(--wine);border-color:var(--wine);color:#fff1df}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:#fffaf3;border:1px solid #eadbce;transition:transform .25s,box-shadow .25s;min-width:0}.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #67342a0d}.product-image{height:220px;background:#f1ddc4;position:relative;overflow:hidden}.product-image>img{width:100%;height:100%;object-fit:cover;display:block}.featured{position:absolute;top:13px;left:13px;background:var(--wine);color:#fff1df;padding:7px 10px;font-size:9px;letter-spacing:.5px}.placeholder-dessert{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:radial-gradient(ellipse at 50% 42%,#fff1d8 0%,#f1d9bb 70%)}.placeholder-dessert span{font-size:27px;color:#9b4445}.placeholder-dessert small{font-size:8px;letter-spacing:2px;color:#9a6b57;margin-top:7px}.placeholder-dessert b{font-family:'Playfair Display',serif;font-size:23px;font-weight:500;max-width:250px;line-height:1.15;margin-top:8px;color:var(--wine2)}.placeholder-dessert i{font-family:'Playfair Display',serif;font-size:12px;color:#aa7866;margin-top:8px}.product-info{padding:20px 20px 17px}.product-category{font-size:9px;text-transform:uppercase;letter-spacing:1.6px;color:#a06c59;font-weight:700}.product-info h3{font-family:'Playfair Display',serif;font-weight:500;font-size:21px;line-height:1.2;margin:9px 0}.product-info p{font-size:11px;line-height:1.7;color:var(--muted);min-height:56px;margin:0}.product-bottom{border-top:1px solid #eee0d3;margin-top:17px;padding-top:13px;display:flex;align-items:center;justify-content:space-between}.price{font-size:11px;font-weight:700;color:var(--wine)}.product-heart{font-size:22px;color:#b47b6a}.empty{padding:60px;text-align:center;color:var(--muted)}.love-banner{background:var(--wine);color:var(--cream);overflow:hidden}.banner-inner{display:flex;align-items:center;gap:35px;position:relative;padding-top:58px;padding-bottom:58px}.banner-heart{font-size:65px;color:#e6bca0}.banner-inner .eyebrow{color:#e9c6a8}.banner-inner .eyebrow:before{content:"";width:22px;height:1px;background:#e9c6a8}.banner-inner h2{font-size:43px;line-height:1.08;margin:12px 0 0}.banner-inner h2 em{color:#f0c9aa}.button.cream{margin-left:auto;background:var(--cream);color:var(--wine);z-index:1}.banner-doodle{position:absolute;right:0;bottom:-23px;font-family:'Playfair Display',serif;font-style:italic;font-size:23px;line-height:1.05;color:#dca68e;transform:rotate(-12deg);opacity:.65}.banner-doodle b{font-size:58px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:100px;padding-bottom:100px;align-items:center}.visit h2{margin:16px 0}.visit-card{border:1px solid #e3ccba;background:#fffaf3;padding:35px;position:relative}.visit-icon{color:var(--wine);font-size:24px}.visit-card h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500;margin:15px 0 8px}.visit-card p{font-size:12px;color:var(--muted);line-height:1.8}.visit-placeholder{background:#f4e3d0;padding:20px;text-align:center;letter-spacing:3px;font-size:9px;color:#9d6d59;margin:20px 0}.admin-hint{display:block;font-size:9px;color:#a28a7c;margin-top:18px}footer{border-top:1px solid var(--line);padding:23px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-inner img{width:130px;height:45px;object-fit:contain;mix-blend-mode:multiply}.footer-inner p{font-family:'Playfair Display',serif;font-style:italic;font-size:13px;color:var(--muted)}.footer-inner p span{color:var(--wine)}.footer-inner small{font-size:9px;color:#9d877b}
@media(max-width:850px){.nav nav{gap:16px}.hero{grid-template-columns:1fr 0.85fr;padding-top:35px}.hero-copy{padding-left:0}.hero-logo{width:95%}.art-blob{width:330px;height:330px;right:0;top:40px}.stamp{right:0}.story,.visit{gap:45px}.product-grid{grid-template-columns:repeat(2,1fr)}.product-image{height:205px}.banner-inner{gap:20px}.banner-inner h2{font-size:36px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.topline{font-size:8px;letter-spacing:1.1px}.topline span{padding:0 5px}.nav{height:72px}.brand img{width:140px;height:54px}.nav nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--pale);padding:20px 25px;z-index:10;border-bottom:1px solid var(--line);flex-direction:column}.nav nav.open{display:flex}.nav-cta{display:none}.mobile-toggle{display:block}.hero{display:flex;flex-direction:column;padding-top:26px;padding-bottom:55px}.hero-copy{padding-top:15px}.hero h1{font-size:53px;margin-top:20px}.hero-copy>p{font-size:13px}.hero-actions{gap:17px;flex-wrap:wrap}.button{padding:14px 15px}.hero-note{margin-top:27px}.hero-art{min-height:300px;margin-top:18px}.art-blob{width:290px;height:290px;right:calc(50% - 145px);top:0}.hero-logo{height:235px;width:80%}.stamp{right:7%;top:7px;width:75px;height:75px;font-size:8px}.float-card{left:4%;bottom:15px;font-size:13px;padding:14px 17px}.hero-bottom{left:0;right:0;bottom:10px;font-size:7px;letter-spacing:1px}.hero-bottom span{padding:0 4px}.ticker{padding:13px 0;font-size:13px}.ticker div{text-align:left;padding-left:15px}.story{grid-template-columns:1fr;gap:38px;padding-top:65px;padding-bottom:65px}.story-art{max-width:430px;margin:auto}.story-copy h2,.section-head h2,.visit h2{font-size:43px}.scribble{right:4px;bottom:-20px}.menu-section{padding:62px 0}.section-head{align-items:start}.section-head h2{font-size:39px}.menu-count{padding:8px 0 8px 12px;gap:7px}.menu-count strong{font-size:27px}.menu-count span{font-size:8px}.searchbar{margin-top:20px}.filters{gap:6px}.filters a{padding:9px 11px;font-size:9px}.product-grid{grid-template-columns:1fr 1fr;gap:11px}.product-image{height:155px}.product-info{padding:13px 12px}.product-info h3{font-size:17px}.product-info p{font-size:10px;min-height:70px}.product-category{font-size:8px;letter-spacing:1px}.placeholder-dessert b{font-size:18px}.placeholder-dessert{padding:12px}.featured{font-size:7px;padding:6px 7px}.price{font-size:9px}.product-bottom{margin-top:12px}.love-banner .banner-inner{padding-top:42px;padding-bottom:42px;gap:13px;flex-wrap:wrap}.banner-heart{font-size:40px}.banner-inner h2{font-size:31px}.banner-inner .eyebrow{font-size:8px;letter-spacing:1.2px}.button.cream{margin-left:52px;margin-top:10px}.banner-doodle{right:4px;bottom:-18px;font-size:17px}.banner-doodle b{font-size:40px}.visit{grid-template-columns:1fr;gap:32px;padding-top:65px;padding-bottom:65px}.visit-card{padding:25px}.footer-inner{flex-wrap:wrap;gap:10px}.footer-inner img{width:105px}.footer-inner p{font-size:11px}.footer-inner small{width:100%;text-align:center}.empty{padding:35px 10px}}

.visit-address{display:flex;flex-direction:column;gap:7px;background:#f4e3d0;padding:18px;margin:20px 0;color:#6d493d;font-size:12px;line-height:1.6}.visit-address strong{color:var(--wine);font-size:13px}
.add-order{background:var(--wine);color:#fff1df;border:0;padding:10px 13px;font:700 10px 'DM Sans',sans-serif;cursor:pointer;border-radius:2px}.product-bottom{flex-wrap:wrap;gap:10px}.delivery-section{background:#fff8ee;padding:65px 0;border-top:1px solid var(--line)}.delivery-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.delivery-inner h2{font-size:clamp(38px,4vw,52px);margin:14px 0}.delivery-inner p{color:var(--muted);font-size:13px;line-height:1.8;max-width:600px}.delivery-inner small{color:#947a6b;font-size:10px;line-height:1.6;display:block;max-width:650px}.cart-dock{position:fixed;z-index:40;bottom:18px;left:50%;transform:translateX(-50%);background:var(--wine2);color:#fff2de;padding:12px 16px;display:flex;align-items:center;gap:22px;box-shadow:0 8px 30px #321e1b35;border-radius:4px;font-size:12px}.cart-dock[hidden],.checkout-overlay[hidden]{display:none}.cart-dock button{background:var(--cream);color:var(--wine);border:0;padding:10px 12px;font-weight:700;cursor:pointer}.checkout-overlay{position:fixed;inset:0;z-index:60;background:#241512a8;display:flex;justify-content:flex-end}.checkout-panel{background:var(--pale);width:min(560px,100%);height:100%;overflow:auto;padding:32px;position:relative;box-shadow:-10px 0 35px #0002}.checkout-close{position:absolute;right:20px;top:14px;background:none;border:0;font-size:30px;color:var(--wine);cursor:pointer}.checkout-panel h2{font-size:37px;margin:12px 0}.checkout-help,.map-hint{color:var(--muted);font-size:12px;line-height:1.6}.cart-lines{border-top:1px solid var(--line);margin:20px 0 12px}.cart-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line b,.cart-line small{display:block}.cart-line b{font-size:12px}.cart-line small{font-size:10px;color:var(--muted);margin-top:4px}.qty-controls{display:flex;align-items:center;gap:8px}.qty-controls button{width:26px;height:26px;background:#f1dfce;border:0;color:var(--wine);cursor:pointer}.qty-controls span{font-size:12px}.order-total{display:flex;justify-content:space-between;padding:14px 0 20px;font-size:13px}.order-total strong{color:var(--wine)}#delivery-form label{display:block;font-size:11px;font-weight:700;color:#654b43;margin:12px 0}#delivery-form input:not([type=checkbox]),#delivery-form textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #dfcbb9;background:#fffdf9;font:12px 'DM Sans',sans-serif;color:var(--ink);border-radius:2px}#delivery-form .consent{display:flex;align-items:flex-start;gap:8px;font-weight:400;line-height:1.5}.map-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-location-btn{border:1px solid #d7b9a5;background:transparent;color:var(--wine);padding:8px;font-size:10px;cursor:pointer}#delivery-map{height:260px;width:100%;border:1px solid #dfcbb9;z-index:1}.map-hint{display:block;margin-top:6px}.submit-order{width:100%;border:0;cursor:pointer}.submit-order:disabled{opacity:.6}.order-status{font-size:12px;line-height:1.6;color:var(--wine)}body.checkout-open{overflow:hidden}@media(max-width:600px){.delivery-inner{align-items:flex-start;flex-direction:column}.checkout-panel{padding:28px 18px}.cart-dock{width:calc(100% - 24px);justify-content:space-between;gap:10px;bottom:10px}.cart-line{align-items:flex-start}.qty-controls{gap:5px}}
