.shop-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:530px;background:#ece8de}
.shop-hero-copy{padding:64px var(--space);align-self:center}
.shop-hero h1{font-size:clamp(48px,5.8vw,84px);line-height:1.03;letter-spacing:-.045em;margin:24px 0 27px}
.shop-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
.shop-hero .button{margin-top:12px;min-width:0;gap:25px}
.shop-hero-copy .shop-preview-note{margin-top:25px;font-size:11px;color:var(--muted)}
.shop-hero figure{position:relative;min-height:530px;overflow:hidden}
.shop-hero figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.shop-origin{display:flex;align-items:center;justify-content:center;gap:35px;padding:27px var(--space);border-bottom:1px solid var(--line)}
.shop-origin .origin-logos{background:transparent}
.shop-origin .origin-logos img{mix-blend-mode:multiply;max-height:60px;width:auto}
.shop-origin p{margin:0;font-size:13px;line-height:1.7}.shop-origin p span{font-size:10px;color:var(--muted)}
.shop-catalog{padding-top:80px;padding-bottom:55px}
.shop-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}
.shop-heading h2{font-size:clamp(42px,4.5vw,66px);line-height:1.08;margin:0}
.shop-heading>div:last-child{max-width:440px;font-size:13px;line-height:1.9}
.shop-jump{display:flex;gap:24px;margin-top:20px;font-size:11px}
.shop-jump a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line)}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}
.shop-card{background:#fbf9f4;min-width:0;scroll-margin-top:40px}
.shop-card figure{margin:0;position:relative;background:#e8e4da}
.shop-card figure>img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.shop-card figcaption{min-height:44px;display:flex;align-items:center;padding:9px 17px;font-size:9px;line-height:1.5;color:var(--muted)}
.shop-card-copy{padding:25px 22px 28px}
.shop-card-copy .eyebrow{font-size:8px;letter-spacing:.15em;margin-bottom:10px}
.shop-card h3{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:-.035em;margin:0 0 15px}
.shop-card-description{min-height:94px;font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 20px}
.shop-choices{border:0;padding:0;margin:0;min-width:0;min-height:235px}
.shop-choices legend{font-size:10px;letter-spacing:.035em;margin-bottom:12px;padding:0}
.shop-option{display:flex;align-items:center;gap:8px;min-height:65px;border-top:1px solid var(--line);padding:10px 0;cursor:pointer}
.shop-option:last-child{border-bottom:1px solid var(--line)}
.shop-option input{width:15px;height:15px;flex:0 0 auto;accent-color:var(--ink);margin:0 3px 0 0}
.shop-option>span:first-of-type{display:flex;flex-direction:column;gap:5px;min-width:0}
.shop-option strong{font-size:11px;font-weight:500;line-height:1.45}
.shop-option small{font-size:9px;color:var(--muted);line-height:1.4}
.shop-option-price{margin-left:auto;font-size:11px;white-space:nowrap}
.shop-option:has(input:checked){background:#ece9df;box-shadow:10px 0 #ece9df,-10px 0 #ece9df}
.shop-option:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
.shop-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:17px 0;border-bottom:1px solid var(--line)}
.shop-selection p{margin:0;font-size:10px;line-height:1.6}.shop-selection p:last-child{white-space:nowrap}
.shop-selection strong{font-weight:500;font-size:18px}
.shop-selection span{font-size:9px;color:var(--muted)}
.shop-availability{font-size:10px;text-transform:uppercase;letter-spacing:.07em;text-align:center;border:1px solid #b7b6a8;padding:13px 8px;margin:20px 0 12px;color:#535a4c}
.shop-enquiry{font-size:10px;display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:8px;line-height:1.6}
.shop-add{width:100%;min-width:0;justify-content:space-between;font:inherit;font-size:11px;cursor:pointer;margin-bottom:8px;gap:10px}
.cart-shortcut{position:fixed;right:24px;bottom:22px;z-index:30;display:flex;align-items:center;gap:16px;min-height:48px;padding:10px 19px;background:#1e241c;color:#fff;box-shadow:0 4px 20px #0002;font-size:11px;border:1px solid #adb09f}
.cart-shortcut [data-cart-count]{border-left:1px solid #ffffff55;padding-left:15px;font-variant-numeric:tabular-nums}
.shop-cart{background:#e9e5db;scroll-margin-top:20px}
.shop-cart-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:40px}
.shop-cart h2{font-size:clamp(42px,4.5vw,64px);line-height:1.07;margin:0}
.shop-cart-heading>p{font-size:13px;line-height:1.9;max-width:420px}
.shop-cart-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
.cart-empty{font-family:var(--serif);font-size:24px;line-height:1.5;margin:0 0 30px;padding:25px 0;border-top:1px solid var(--line)}
.cart-line{padding:23px 0;border-top:1px solid #9e9d8e66;display:flex;justify-content:space-between;gap:20px}
.cart-line-info h3{font-family:var(--serif);font-size:26px;line-height:1.2;font-weight:400;margin:0 0 9px}
.cart-line-info p{font-size:10px;color:var(--muted);margin:0}
.cart-line-controls{display:grid;grid-template-columns:52px 90px;gap:8px 14px;text-align:right;align-items:center}
.cart-line-controls label{font-size:9px;grid-column:1/-1;text-align:left}
.cart-line-controls input{width:52px;height:44px;border:1px solid #a8a995;background:#faf9f3;color:var(--ink);padding:8px;font:inherit;font-size:14px;border-radius:0}
.cart-line-controls strong{font-weight:500;font-size:14px;white-space:nowrap}
.cart-remove{grid-column:1/-1;justify-self:start;min-height:44px;border:0;border-bottom:1px solid #a8a995;background:none;color:var(--ink);padding:3px 0;font:inherit;font-size:10px;cursor:pointer}
.shop-cart-grid>div>.text-link{margin-top:25px;font-size:11px;min-height:44px}
.cart-summary{background:#fbf9f4;padding:30px}
.cart-summary>.eyebrow{font-size:9px;line-height:1.8}
.cart-method{display:block;font-size:11px;margin:20px 0}
.cart-method select{display:block;width:100%;max-width:100%;padding:12px 30px 12px 10px;margin-top:9px;background:transparent;border:1px solid #afb29f;border-radius:0;font:inherit;color:var(--ink);min-height:44px}
.cart-summary dl{margin:25px 0 20px}
.cart-summary dl>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;font-size:12px}
.cart-summary dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.cart-summary .cart-grand-total{border-top:1px solid var(--line);margin-top:12px;padding-top:20px;font-size:20px;font-family:var(--serif)}
.cart-threshold{font-size:11px;line-height:1.8;border-top:1px solid var(--line);padding-top:18px}
.cart-weight{font-size:10px;line-height:1.7;color:var(--muted)}
.cart-estimate-note{font-size:10px;line-height:1.8;color:var(--muted);margin:20px 0}
.cart-estimate-note strong{font-weight:500;color:var(--ink)}
.cart-closed{border:1px solid #a8a995;padding:15px 10px;text-align:center;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.cart-summary>.text-link{font-size:10px;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cart-method-notice{font-size:11px;line-height:1.7;color:#8a4328}
.cart-status{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.shop-cart-grid{gap:30px;grid-template-columns:1fr 1fr}.shop-cart-heading{gap:30px}.cart-line{display:block}.cart-line-controls{margin-top:14px;grid-template-columns:60px 1fr}.cart-summary{padding:23px}}
@media(max-width:560px){.shop-cart-grid,.shop-cart-heading{grid-template-columns:1fr;gap:25px}.shop-cart-heading{margin-bottom:25px}.cart-line{display:flex;gap:15px}.cart-line-controls{margin-top:0;grid-template-columns:50px 80px;gap:7px 10px}.cart-line-info h3{font-size:23px}.cart-shortcut{right:15px;bottom:15px;padding:9px 14px;gap:12px}.cart-summary{padding:25px 20px}.cart-summary .cart-grand-total{font-size:23px}}
.shop-price-note{border-top:1px solid var(--line);margin-top:35px;padding-top:24px;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;font-size:11px;color:var(--muted);line-height:1.9}
.shop-price-note p{margin:0}.shop-price-note strong{font-weight:500;color:var(--ink)}
.shop-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#e7e4d9;align-items:center}
.shop-story h2,.shop-faq h2,.shop-contact h2{font-size:clamp(42px,4.5vw,64px);line-height:1.07;margin:0 0 25px}
.shop-story>div:last-child{font-size:14px;line-height:1.9;max-width:510px}
.shop-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}
.shop-faq details{border-top:1px solid var(--line);font-size:13px;line-height:1.85;padding:20px 0}
.shop-faq details:last-child{border-bottom:1px solid var(--line)}
.shop-faq summary{cursor:pointer;font-size:14px;padding:5px 0;min-height:44px}
.shop-faq details>p{color:var(--muted);padding-right:20px}
.shop-contact{text-align:center;background:#eeebe2}
.shop-contact>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-bottom:25px}
.shop-contact .subtle{display:block;margin:20px auto 0;width:fit-content;min-height:44px}
@media(max-width:1100px) and (min-width:821px){.shop-grid{gap:15px}.shop-card-copy{padding:23px 16px}.shop-card-description{min-height:115px}.shop-option{gap:6px}.shop-option strong,.shop-option-price{font-size:10px}.shop-selection{gap:5px}.shop-selection strong{font-size:16px}.shop-hero-copy{padding:45px 35px}}
@media(max-width:820px){
 .shop-hero{grid-template-columns:1fr 1fr;min-height:460px}.shop-hero-copy{padding:40px 28px}.shop-hero h1{font-size:49px}.shop-hero figure{min-height:460px}.shop-hero .button{font-size:11px;padding:16px;gap:14px}
 .shop-origin{padding:22px 28px;gap:20px}.shop-heading{align-items:start;gap:25px}.shop-heading>div:last-child{max-width:300px}
 .shop-grid{grid-template-columns:1fr;gap:30px}.shop-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.shop-card figure{height:100%;display:flex;flex-direction:column;justify-content:center}.shop-card figure>img{aspect-ratio:3/4}.shop-card-copy{padding:30px 25px}.shop-card-description{min-height:0}.shop-choices{min-height:0}.shop-price-note{gap:30px}
 .shop-story,.shop-faq{gap:35px}.shop-faq{grid-template-columns:1fr 1.2fr}
}
@media(max-width:560px){
 .shop-hero{grid-template-columns:1fr}.shop-hero-copy{padding:40px 25px}.shop-hero h1{font-size:53px}.shop-hero figure{min-height:0;aspect-ratio:1.25}.shop-hero figure>img{object-position:center 52%}
 .shop-origin{flex-direction:column;gap:13px;text-align:center}.shop-origin .origin-logos img{max-height:50px}
 .shop-catalog{padding-top:50px}.shop-heading{display:block;margin-bottom:30px}.shop-heading h2{font-size:46px;margin-bottom:25px}.shop-heading>div:last-child{max-width:none}
 .shop-card{display:block}.shop-card figure{height:auto;display:block}.shop-card figure>img{aspect-ratio:1.1}.shop-card figcaption{min-height:0;padding:12px 20px}.shop-card-copy{padding:28px 22px}.shop-card h3{font-size:37px}.shop-card-description{min-height:0;margin-bottom:24px}.shop-option{min-height:68px}.shop-option strong,.shop-option-price{font-size:12px}.shop-option small{font-size:10px}.shop-selection strong{font-size:20px}
 .shop-price-note,.shop-story,.shop-faq{grid-template-columns:1fr;gap:25px}.shop-faq summary{font-size:13px}.shop-contact h2{font-size:46px}.shop-contact .button{min-width:0}
}

.shop-delivery{background:var(--ink);color:var(--paper)}
.shop-delivery-heading h2{font-size:clamp(42px,4.5vw,64px);line-height:1.07;margin:0 0 50px}
.shop-delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}
.shop-delivery-grid article{border-top:1px solid #d4d4c844;padding-top:25px}
.shop-delivery-grid .eyebrow{font-size:9px;color:#bcbda9;margin-bottom:15px}
.shop-delivery-grid h3{font-size:29px;line-height:1.2;margin-bottom:20px}
.shop-delivery-grid article>p:last-child{font-size:12px;line-height:1.9;color:#deded1;margin:0}
.shop-delivery-foot{border-top:1px solid #d4d4c844;padding-top:25px;margin:35px 0 0;font-size:11px;color:#deded1}
@media(max-width:820px){.shop-delivery-grid{gap:25px}.shop-delivery-grid h3{font-size:25px}}
@media(max-width:560px){.shop-delivery-grid{grid-template-columns:1fr;gap:30px}.shop-delivery-heading h2{margin-bottom:35px}.shop-delivery-grid h3{font-size:30px}}

.shop-product-link{font-size:10px;line-height:1.7;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.shop-product-info{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;background:#f6f3ec}
.shop-product-info h2{font-size:clamp(42px,4.5vw,60px);line-height:1.08;margin:0 0 25px}
.shop-product-info p{font-size:12px;line-height:1.9;color:var(--muted)}
.shop-product-info details{border-top:1px solid var(--line);padding:18px 0}
.shop-product-info summary{font-size:13px;cursor:pointer;min-height:44px;padding:10px 0}
.nutrition-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:20px}
.nutrition-table caption{text-align:left;font-size:11px;margin-bottom:15px}
.nutrition-table th,.nutrition-table td{border-bottom:1px solid var(--line);padding:11px 0;font-weight:400;text-align:left}
.nutrition-table td{text-align:right;white-space:nowrap;padding-left:10px}
.shop-product-info .text-link{font-size:11px;line-height:1.7}
@media(max-width:700px){.shop-product-info{grid-template-columns:1fr;gap:25px}}
