/** Shopify CDN: Minification failed

Line 36:1642 Unexpected "}"

**/
:root{--paper:#f5ecdf;--ink:#231714;--wine:#601d22;--gold:#b18a4d;--line:rgba(62,37,27,.2)}
.product-reassurance{display:grid;gap:6px;list-style:none;margin:13px 0 24px;padding:0;color:#705d50;font-size:11px;line-height:1.45}.product-reassurance li{display:flex;gap:7px;align-items:flex-start}.product-reassurance li::before{content:'✦';color:var(--gold);font-size:10px}.bag-intro{max-width:31ch;margin:0 0 20px;color:#715d50;font:500 16px/1.35 "Cormorant Garamond",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit}.skip{position:fixed;top:10px;left:10px;z-index:99;background:#fff;padding:10px 14px;transform:translateY(-150%)}.skip:focus{transform:none}.product-nav{height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line);background:#efe3d1}.product-nav .brand{justify-self:start}.product-nav .brand img{display:block;width:62px;height:48px;object-fit:contain;filter:brightness(0);mix-blend-mode:normal}.product-nav>div{display:flex;gap:30px}.product-nav a{text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.product-nav button{justify-self:end;border:1px solid var(--ink);background:transparent;border-radius:2px;padding:9px 15px;cursor:pointer;font-weight:600;letter-spacing:.06em}.crumb{max-width:1380px;margin:0 auto;padding:28px clamp(20px,5vw,72px) 18px;display:flex;gap:9px;align-items:center;font-size:12px;color:#705d50}.crumb a{text-decoration:none}.product-hero{max-width:1380px;margin:0 auto;padding:0 clamp(20px,5vw,72px) clamp(70px,8vw,120px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(45px,7vw,110px);align-items:center}.product-shot{position:relative;min-height:650px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 60% 35%,color-mix(in srgb,var(--product) 58%,#fff),var(--product));border-radius:3px}.product-shot:after{content:"";position:absolute;inset:auto 8% 7%;height:13%;background:#000;filter:blur(35px);opacity:.2;border-radius:50%}.product-shot>p{position:absolute;left:28px;top:22px;margin:0;color:#fff;font:500 11px Inter;letter-spacing:.2em;text-transform:uppercase;opacity:.72}.mobile-gallery{position:relative;z-index:1;width:100%;height:100%;display:grid;place-items:center}.gallery-main{width:min(78%,580px);height:auto;max-height:570px;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.28))}.gallery-dots{display:none}.eyebrow{margin:0 0 16px;color:var(--wine);font-size:11px;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.product-copy h1{margin:0;max-width:650px;font:500 clamp(48px,5.5vw,84px)/.96 "Playfair Display",serif;letter-spacing:-.035em}.price{margin:24px 0;font:600 18px Inter;color:var(--wine)}.description{max-width:620px;font:500 clamp(19px,1.7vw,25px)/1.55 "Cormorant Garamond",serif;color:#4c392e}.ingredients{margin:28px 0}.ingredients>p{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#766252}.ingredients ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.ingredients li{border:1px solid var(--gold);padding:8px 12px;font-size:12px}.buy-row{display:flex;align-items:center;gap:18px;margin:32px 0 10px}.buy-row .add,.order{border:0;background:var(--wine);color:#fff;padding:12px 20px;font-size:12.5px;font-weight:600;letter-spacing:.4px;text-decoration:none;cursor:pointer}.buy-row>a{font-size:13px;text-underline-offset:4px}.purchase-note{max-width:490px;font-size:11px;color:#7a695e;line-height:1.5}.product-copy details{border-top:1px solid var(--line);padding:17px 0;font-size:13px;line-height:1.6}.product-copy details:last-child{border-bottom:1px solid var(--line)}.product-copy summary{cursor:pointer;font-weight:600}.product-copy details p{margin:12px 0 0;color:#654f42}.related{background:#e8dbc8;padding:clamp(70px,8vw,110px) clamp(20px,5vw,72px)}.related>p,.related>h2,.related-grid{max-width:1240px;margin-left:auto;margin-right:auto}.related h2{font:500 clamp(34px,4vw,56px)/1.05 "Playfair Display",serif;margin-top:0;margin-bottom:42px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-card a{text-decoration:none;display:block}.related-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#f2e7d8}.related-card p{margin:16px 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#7c6658}.related-card h3{font:500 24px/1.1 "Cormorant Garamond",serif;margin:0 0 8px}.related-card strong{font-size:12px;color:var(--wine)}.bag{position:fixed;z-index:101;top:0;right:0;width:min(420px,100%);height:100dvh;background:#f5ecdf;padding:34px;transform:translateX(105%);transition:transform .35s ease;box-shadow:-20px 0 50px rgba(0,0,0,.15);overflow:auto}.bag.open{transform:none}.bag h2{font:500 38px "Playfair Display",serif}.bag-close{position:absolute;top:22px;right:25px;border:0;background:none;font-size:30px;cursor:pointer}.bag-overlay{position:fixed;z-index:100;inset:0;background:rgba(20,10,7,.48);opacity:0;visibility:hidden;transition:.3s}.bag-overlay.open{opacity:1;visibility:visible}.bag-item{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.bag-item img{width:82px;height:82px;object-fit:contain;background:#eadbc8}.bag-item strong,.bag-item small{display:block}.bag-item small{margin:6px 0}.bag-item p{display:flex;align-items:center;gap:13px;margin:8px 0}.bag-item button{width:25px;height:25px;border:1px solid var(--line);background:transparent;cursor:pointer}.bag-total{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:16px}.order{display:block;text-align:center;margin-top:20px}.empty{color:#7b685c}.product-nav button:focus-visible,.buy-row button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}footer{background:#2b1715;color:#f0e4d0;padding:48px clamp(20px,5vw,72px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}footer img{object-fit:contain;mix-blend-mode:screen}footer p,footer small{margin:0}footer div{display:flex;gap:20px}footer a{font-size:12px}footer small{grid-column:1/-1;color:#b9a794}
@media(max-width:860px){.product-nav{height:66px;grid-template-columns:1fr auto}.product-nav>div{display:none}.product-hero{grid-template-columns:1fr;gap:34px}.product-shot{min-height:min(118vw,560px)}.product-copy h1{font-size:clamp(45px,13vw,66px)}.related-grid{grid-template-columns:1fr 1fr}.related-card:last-child{display:none}footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto}footer div{justify-content:center}footer small{grid-column:auto}}

/* Desktop / tablet gallery. These rules were lost in an earlier edit; restored
   here scoped above the phone breakpoint so the mobile block still wins. */
@media(min-width:521px){
  .product-shot{overflow:visible;background:transparent;border-radius:0}
  .product-shot:after{inset:auto 10% 12%;height:15px;background:rgba(41,24,17,.18);filter:blur(12px);opacity:1}
  .product-shot>p{left:4%;top:5%;color:#766252;opacity:1}
  .product-gallery{position:relative;z-index:1;width:100%;min-height:610px;display:grid;place-items:center}
  .gallery-main{width:min(78%,580px);height:min(74vh,570px);max-height:none;object-fit:contain;
    filter:drop-shadow(0 24px 30px rgba(0,0,0,.18));transition:opacity .22s ease}
  .gallery-thumbs{position:absolute;left:4%;bottom:4%;display:flex;gap:10px}
  .gallery-thumb{width:54px;height:68px;padding:3px;border:1px solid transparent;background:transparent;
    cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s}
  .gallery-thumb:hover{opacity:.85}
  .gallery-thumb.active{opacity:1;border-color:var(--wine)}
  .gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
  /* square, solid arrows rather than translucent circles */
  .gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:58px;
    border:1px solid var(--wine);border-radius:0;background:var(--paper);color:var(--wine);
    font-size:18px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
  .gallery-arrow:hover{background:var(--wine);color:var(--paper)}
  .gallery-prev{left:2%}
  .gallery-next{right:2%}
  .gallery-thumb:focus-visible,.gallery-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
}

@media(max-width:520px){.product-shot>p{display:none}.product-shot{aspect-ratio:auto;min-height:0;background:transparent;overflow:visible}.product-shot:after{display:none}/* Image on its own row, thumbnails on a scrollable strip underneath, arrows   centred on the image only. Previously the thumbs floated over the photo. */.product-gallery{display:grid;grid-template-rows:auto auto;justify-items:center;height:auto;min-height:0;aspect-ratio:auto;overflow:visible;position:relative}.gallery-main{grid-row:1;grid-column:1;width:82%;height:auto;max-width:82%;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(46,30,21,.18))}.gallery-arrow{grid-row:1;grid-column:1;position:relative;align-self:center;top:auto;bottom:auto;left:auto;right:auto;transform:none;width:38px;height:52px;border-radius:0;font-size:17px;background:var(--paper);border:1px solid var(--wine);color:var(--wine)}.gallery-prev{justify-self:start;margin-left:2px}.gallery-next{justify-self:end;margin-right:2px}.gallery-thumbs{grid-row:2;grid-column:1;position:static;transform:none;display:flex;gap:8px;margin:14px 0 0;padding:2px 16px 6px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start}.gallery-thumbs::-webkit-scrollbar{display:none}.gallery-thumb{flex:0 0 auto;width:58px;height:58px;padding:3px;border:1px solid rgba(125,85,45,.3);border-radius:2px;background:#fff;opacity:1}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.gallery-thumb.active{border-color:var(--wine);border-width:2px}.product-copy{padding:26px 20px 0}.price{position:static;right:auto;margin:14px 0 0;font-size:16px}}}

/* Product artwork must remain dimensionally stable while gallery state changes. */
.product-gallery .gallery-main{max-width:580px;max-height:570px;transform:none!important;scale:none!important;animation:none!important}
.ingredient-guide{display:inline-block;margin-top:12px;color:var(--wine);font-size:12px;font-weight:600}

/* ---- commerce: quantity, buy now, assurance, bag progress, sticky bar ---- */
.qty{display:inline-flex;align-items:center;border:1px solid var(--ink);background:#fff}
.qty input{width:46px;height:44px;border:0;text-align:center;font:600 15px Inter;background:transparent;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-step{width:38px;height:44px;border:0;background:transparent;cursor:pointer;font-size:17px;line-height:1}
.qty-step:hover{background:rgba(122,44,44,.08)}
.qty-step:focus-visible,.qty input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.buy-row .buynow{border:1px solid var(--wine);color:var(--wine);background:transparent;padding:11px 20px;font-size:12.5px;
  font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.buy-row .buynow:hover{background:var(--wine);color:#fff}
.buy-assure{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 22px;padding:0;
  max-width:560px;font-size:11.5px;color:#7a695e}
.buy-assure li{position:relative;padding-left:15px}
.buy-assure li:before{content:"✓";position:absolute;left:0;color:var(--wine);font-size:10px}
.bag-remove{width:auto!important;padding:0 8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#7a695e}
.bag-ship{margin:16px 0 6px;font-size:12px;color:var(--wine)}
.bag-ship.done{color:#2f6b3f;font-weight:600}
.bag-bar{height:4px;background:rgba(122,44,44,.16);border-radius:2px;overflow:hidden}
.bag-bar i{display:block;height:100%;background:var(--wine);transition:width .4s ease}
.sticky-buy{position:fixed;z-index:95;left:0;right:0;bottom:0;display:none;align-items:center;gap:14px;
  padding:12px clamp(20px,5vw,72px);background:rgba(245,236,223,.96);backdrop-filter:blur(12px);
  border-top:1px solid var(--line);transform:translateY(110%);transition:transform .32s ease}
.sticky-buy.show{transform:none}
.sticky-info{flex:1;display:flex;flex-direction:column;line-height:1.25;min-width:0}
.sticky-info strong{font:500 17px "Cormorant Garamond",serif}
.sticky-info span{font-size:12px;color:var(--wine)}
.sticky-add{border:0;background:var(--wine);color:#fff;padding:11px 18px;font-size:12.5px;font-weight:600;cursor:pointer}
.sticky-buynow{border:1px solid var(--wine);color:var(--wine);padding:11px 18px;font-size:12.5px;font-weight:600;text-decoration:none}
.sticky-add:focus-visible,.sticky-buynow:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(min-width:521px){.sticky-buy{display:flex}}
@media(max-width:520px){
  .buy-row{flex-wrap:wrap;gap:10px}
  .buy-row .add{flex:1 1 auto;min-width:0}
  .buy-row .buynow{flex:1 1 100%;text-align:center;border-radius:2px;padding:11px 18px}
  .qty{flex:0 0 auto;border-radius:2px}
  .buy-assure{margin:12px 0 18px;font-size:10.5px;gap:4px 12px}
}

/* phone touch targets: 44px minimum on anything you actually press */
@media(max-width:520px){
  .qty-step{width:40px;height:42px;font-size:18px}
  .qty input{height:42px;width:46px;font-size:16px}
  .gallery-arrow{width:44px;height:44px}
  .gallery-thumb{min-width:44px;min-height:44px}
  .product-nav button{min-height:44px}
  .bag-close{width:44px;height:44px;font-size:28px}
  .bag-item button{width:34px;height:34px}
  .bag-item button.bag-remove{width:auto;height:34px;padding:0 10px}
}

/* iOS Safari zooms the whole page when a focused field is under 16px.
   That auto-zoom does not reset on blur, which reads as the page being stuck
   mid-zoom. Keep every real input at 16px on phones. */
@media (max-width: 760px) {
  input, textarea, select { font-size: 16px !important; }
  input:not([type=checkbox]):not([type=radio]), select { min-height: 46px; }
  textarea { min-height: 92px; }
}

/* buy-row merchandising: shipping gap, quantity break, batch honesty */
.merch{margin:14px 0 4px;display:grid;gap:7px;max-width:560px}
.merch p{margin:0;font-size:12.5px;line-height:1.5}
.m-ship{color:var(--wine)}
.m-ship b{font-weight:700}
.m-ship.done{color:#2f6b3f;font-weight:600}
.m-bundle{padding:8px 10px;background:rgba(122,44,44,.06);border-left:2px solid var(--wine);color:#5c4438}
.m-bundle.on{background:rgba(47,107,63,.09);border-left-color:#2f6b3f;color:#2f6b3f;font-weight:600}
.m-batch{color:#7a695e;font-size:11.5px}
.m-batch b{color:var(--ink);font-weight:600}
@media(max-width:520px){.merch{margin:12px 0 2px;gap:6px}.merch p{font-size:12px}}
