:root {
  --ink: #25211d;
  --muted: #71695d;
  --canvas: #fffaf4;
  --paper: #fffdf9;
  --sand: #efe3d0;
  --line: #ded1c0;
  --red: #c9362d;
  --red-dark: #9d2c27;
  --turmeric: #e3a128;
  --leaf: #415a47;
  --plum: #6f3043;
  --page: clamp(18px, 4.25vw, 56px);
  --serif: "DM Sans", Arial, sans-serif;
  --sans: "DM Sans", Arial, sans-serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--canvas); overflow-x: clip; }
body { margin: 0; color: var(--ink); background: linear-gradient(180deg, #fffdfa 0, var(--canvas) 760px); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
main, section, article, header, footer, nav, div { min-width: 0; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
p, h1, h2, h3 { overflow-wrap: break-word; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--turmeric); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-shell { min-height: 100vh; overflow: hidden; }
.announcement { min-height: 35px; padding: 8px var(--page); display: flex; justify-content: center; align-items: center; gap: 9px; background: var(--ink); color: #f9eee0; font: 500 10px/1.2 var(--mono); letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.announcement span:first-child { color: #f5bd55; }
.site-header { width: min(1240px, calc(100% - var(--page) * 2)); height: 82px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); position: relative; z-index: 20; }
.brand { flex: 0 0 auto; }
.brand img { width: 230px; height: auto; }
.site-nav { display: flex; align-items: center; gap: clamp(14px, 2.1vw, 28px); color: #514a42; font-size: 13px; font-weight: 600; }
.site-nav > a { padding: 8px 0; transition: color .2s ease; }
.site-nav > a:hover { color: var(--red); }
.nav-cta { padding: 11px 14px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: 12px; font-weight: 700; transition: background .2s ease, color .2s ease; }
.nav-cta:hover { background: var(--ink); color: var(--paper); }
.menu-toggle { display: none; width: 42px; height: 38px; padding: 8px; border: 1px solid var(--line); background: var(--paper); }
.menu-toggle > span:not(.sr-only) { display: block; height: 1px; margin: 4px 0; background: var(--ink); }

.hero { width: min(1240px, calc(100% - var(--page) * 2)); min-height: min(705px, calc(100vh - 117px)); margin: 0 auto; padding: clamp(52px, 8vw, 115px) clamp(0px, 2vw, 24px) clamp(60px, 8vw, 105px); display: grid; grid-template-columns: minmax(0, .96fr) minmax(360px, .9fr); gap: clamp(38px, 6vw, 96px); align-items: center; }
.eyebrow { margin: 0 0 17px; color: var(--red); font: 500 10px/1.25 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.hero h1 { max-width: 730px; margin: 0; font: 800 clamp(52px, 6.6vw, 88px)/1.02 var(--sans); letter-spacing: -.025em; }
.hero h1 em { color: var(--red); font-style:normal; }.hero h1 em, h2 em { color: var(--red); }
.hero-text { max-width: 550px; margin: 26px 0 0; color: #60584d; font-size: clamp(16px, 1.8vw, 19px); line-height: 1.63; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 35px; }
.button { min-height: 53px; padding: 16px 21px; display: inline-flex; justify-content: center; align-items: center; gap: 13px; border: 1px solid transparent; font-size: 13px; font-weight: 800; line-height: 1; letter-spacing: .005em; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--red); color: #fff; box-shadow: 0 10px 22px rgba(166, 39, 34, .18); }
.button--primary:hover { background: var(--red-dark); }
.text-link { padding: 7px 0 5px; border: 0; border-bottom: 2px solid var(--ink); background: transparent; color: var(--ink); font-size: 13px; font-weight: 700; }
.text-link:hover { border-color: var(--red); color: var(--red); }

.hero-visual { height: clamp(390px, 45vw, 565px); margin:0; position: relative; isolation: isolate; overflow: hidden; background: #d5a143; box-shadow: 16px 18px 0 #efe1cb; }
.hero-visual::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .58; background: repeating-linear-gradient(45deg, transparent 0 18px, rgba(255,255,255,.15) 18px 20px), repeating-linear-gradient(-45deg, transparent 0 22px, rgba(95,42,26,.16) 22px 24px); }
.hero-visual--photo { background:#a96537; }
.hero-visual--photo::before { display:none; }
.hero-visual--photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(37,23,16,.03) 45%,rgba(37,23,16,.33) 100%); }
.hero-visual--photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-sun { position: absolute; width: 58%; aspect-ratio: 1; top: -13%; right: -12%; border-radius: 50%; background: #f4cc74; }
.hero-arch { position: absolute; width: 64%; height: 72%; left: 10%; bottom: -11%; border: clamp(18px, 3vw, 34px) solid #fcf1dc; border-bottom: 0; border-radius: 400px 400px 0 0; opacity: .95; }
.hero-label { position: absolute; z-index: 3; color: #4a251f; font: 500 9px/1.25 var(--mono); letter-spacing: .16em; }
.hero-label--top { top: 26px; left: 25px; }
.hero-label--bottom { right: 25px; bottom: 24px; text-align: right; }
.spice-jar { position: absolute; z-index: 2; width: clamp(88px, 10.5vw, 124px); height: clamp(145px, 17vw, 205px); bottom: 12%; display: grid; place-items: center; border: 5px solid rgba(49, 35, 27, .9); border-top-width: 18px; border-radius: 8px 8px 20px 20px; box-shadow: inset 0 0 0 5px rgba(255,255,255,.33), 7px 9px 0 rgba(74, 38, 25, .18); transform-origin: bottom center; }
.spice-jar::before { content: ""; position: absolute; width: 62%; height: 38%; left: 19%; top: 29%; border: 1px solid rgba(37,33,29,.4); background: rgba(255,250,244,.83); }
.spice-jar span { z-index: 1; color: var(--ink); font: 700 clamp(9px, 1vw, 12px)/1.12 var(--sans); letter-spacing: .08em; text-align: center; }
.spice-jar--chilli { left: 7%; background: #c84938; transform: rotate(-6deg); }
.spice-jar--turmeric { right: 8%; height: clamp(125px, 14vw, 165px); bottom: 17%; background: #e7b235; transform: rotate(8deg); }
.spice-jar--blend { width: clamp(77px, 9.5vw, 107px); height: clamp(128px, 15vw, 178px); left: 43%; bottom: 9%; background: #95633d; transform: rotate(2deg); }
.ker-bowl { position: absolute; z-index: 3; width: clamp(110px, 14vw, 160px); height: clamp(55px, 7vw, 83px); right: 26%; bottom: 7%; overflow: hidden; border-radius: 50%; background: #53352b; box-shadow: 0 7px 0 #34231e; }
.ker-bowl i { position: absolute; width: 21%; height: 42%; border-radius: 50% 50% 45% 45%; background: #5c774e; transform: rotate(30deg); }
.ker-bowl i:nth-child(1) { top: 9%; left: 10%; }.ker-bowl i:nth-child(2) { top: 34%; left: 28%; background: #8d492d; transform: rotate(-33deg); }.ker-bowl i:nth-child(3) { top: 4%; left: 45%; background: #71905e; }.ker-bowl i:nth-child(4) { top: 45%; left: 60%; background: #8d492d; }.ker-bowl i:nth-child(5) { top: 12%; left: 75%; }.ker-bowl i:nth-child(6) { top: 55%; left: 5%; background: #8d492d; }.ker-bowl i:nth-child(7) { top: 54%; left: 43%; }.ker-bowl i:nth-child(8) { top: 29%; left: 67%; background: #9b5635; }.ker-bowl i:nth-child(9) { top: 5%; left: 28%; }.ker-bowl i:nth-child(10) { top: 59%; left: 78%; }
.hero-caption { position: absolute; z-index: 4; left: 25px; bottom: 27px; color: #fff6e9; font: 600 clamp(15px, 1.7vw, 21px)/1.07 var(--serif); letter-spacing: -.02em; }

.intro-band { width: min(1120px, calc(100% - var(--page) * 2)); margin: 0 auto; padding: clamp(28px, 4vw, 46px) clamp(20px, 4vw, 52px); display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 3px solid var(--red); background: #eee3d3; }
.intro-band p { max-width: 850px; margin: 0; font: 500 clamp(19px, 2.4vw, 28px)/1.35 var(--serif); letter-spacing: -.025em; }
.intro-band span { color: var(--red); font-size: 25px; }
.section { width: min(1120px, calc(100% - var(--page) * 2)); margin: clamp(70px, 10vw, 132px) auto 0; }
.section-heading { max-width: 730px; margin-bottom: 34px; }
.section-heading h2, .approach-copy h2 { margin: 0; font: 600 clamp(38px, 5.2vw, 62px)/1.04 var(--serif); letter-spacing: -.05em; }
.section-heading > p:last-child { max-width: 590px; margin: 18px 0 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
.product-card { overflow: hidden; border: 1px solid var(--line); background: var(--paper); transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { box-shadow: 0 16px 30px rgba(67, 48, 33, .12); transform: translateY(-4px); }
.product-card--spice-pack { display: flex; flex-direction: column; }
.product-card--spice-pack .product-image { min-height: 278px; display: grid; place-items: center; overflow: hidden; background: #ede7de; }
.product-card--spice-pack .product-image img { width: 100%; height: 100%; min-height: 278px; padding: 16px; object-fit: contain; object-position: center; transition: transform .3s ease; }
.product-card--spice-pack:hover .product-image img { transform: scale(1.035); }
.product-card--spice-pack .product-copy { flex: 1; }
.product-card-link { margin-top: auto; padding-top: 13px; display: flex; justify-content: space-between; border-top: 1px solid var(--line); color: var(--ink); font: 700 11px/1.4 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.product-card-link:hover { color: var(--red); }
.product-art { min-height: 278px; position: relative; overflow: hidden; }
.product-card--ker .product-art { background: #a74c3b; }.product-card--spice .product-art { background: #e6ac32; }.product-card--gift .product-art { background: #405a4b; }
.product-art::before { content: ""; position: absolute; inset: 0; opacity: .38; background: repeating-linear-gradient(45deg, transparent 0 16px, rgba(255,255,255,.18) 16px 18px), repeating-linear-gradient(-45deg, transparent 0 23px, rgba(43,29,23,.12) 23px 25px); }
.art-tag { position: absolute; z-index: 2; top: 17px; left: 18px; color: rgba(255,255,255,.9); font: 500 10px var(--mono); letter-spacing: .08em; }
.product-art > p { position: absolute; z-index: 2; right: 18px; bottom: 15px; margin: 0; color: rgba(255,250,244,.95); font: 600 18px/.97 var(--serif); letter-spacing: -.03em; text-align: right; }
.ker-illustration { position: absolute; width: 64%; height: 69%; left: 18%; top: 18%; border: 2px solid #f6d68c; border-radius: 50%; background: #633d30; box-shadow: 9px 10px 0 rgba(84,38,29,.22); }
.ker-illustration b { position: absolute; width: 16%; height: 28%; border-radius: 49% 51% 47% 53%; background: #6c8a57; transform: rotate(37deg); }.ker-illustration b:nth-child(1) { top: 17%; left: 12%; }.ker-illustration b:nth-child(2) { top: 36%; left: 32%; background:#ab6440; transform:rotate(-22deg); }.ker-illustration b:nth-child(3) { top: 15%; left: 54%; }.ker-illustration b:nth-child(4) { top: 50%; left: 65%; background:#9a522f; }.ker-illustration b:nth-child(5) { top: 45%; left: 8%; }.ker-illustration b:nth-child(6) { top: 12%; left: 72%; background:#9a522f; }.ker-illustration b:nth-child(7) { top: 59%; left: 41%; }.ker-illustration b:nth-child(8) { top: 55%; left: 22%; background:#b46d43; }.ker-illustration b:nth-child(9) { top: 34%; left: 77%; }
.spice-spoon { position: absolute; z-index: 2; width: 42%; height: 86%; left: 30%; top: 5%; transform: rotate(-37deg); }.spice-spoon::before { content: ""; position: absolute; width: 49%; height: 72%; left: 25%; top: 23%; border-radius: 40px; background: #76422d; }.spice-spoon i { position: absolute; z-index: 2; width: 100%; aspect-ratio: 1; top: 0; border-radius: 50%; border: 8px solid #70402c; background: #c84334; box-shadow: inset 0 0 0 9px #dc5c42; }
.spice-dots { position: absolute; width: 100%; height: 100%; }.spice-dots b { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #823126; }.spice-dots b:nth-child(1){left:20%;top:27%}.spice-dots b:nth-child(2){left:18%;top:47%}.spice-dots b:nth-child(3){left:72%;top:23%}.spice-dots b:nth-child(4){left:80%;top:48%}.spice-dots b:nth-child(5){left:71%;top:69%}.spice-dots b:nth-child(6){left:24%;top:75%}.spice-dots b:nth-child(7){left:54%;top:13%}.spice-dots b:nth-child(8){left:48%;top:78%}
.gift-tin { position: absolute; z-index: 2; width: 49%; aspect-ratio: .82; top: 17%; left: 27%; display: grid; place-items: center; border: 7px solid #f6d793; border-radius: 9px 9px 17px 17px; background: #cc4838; box-shadow: inset 0 0 0 7px rgba(255,245,224,.25), 10px 10px 0 rgba(30,30,23,.16); }.gift-tin::before { content: ""; position: absolute; width: 100%; height: 18px; top: -20px; left: -7px; border: 7px solid #f6d793; border-bottom: 0; border-radius: 6px 6px 0 0; }.gift-tin i { position: absolute; width: 31%; height: 100%; background: #f6d793; }.gift-tin b { position: relative; z-index: 1; color: #fff6df; font: 600 26px var(--serif); }
.product-copy { min-height: 251px; padding: 25px 25px 23px; display: flex; flex-direction: column; }.product-kind { margin: 0 0 11px; color: var(--red); font: 500 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }.product-copy h3 { margin: 0; font: 600 clamp(28px, 3vw, 35px)/1.07 var(--serif); letter-spacing: -.04em; }.product-copy > p:not(.product-kind) { margin: 15px 0 20px; color: #625a4f; font-size: 14px; line-height: 1.58; }.availability { margin-top: auto; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font: 10px/1.4 var(--mono); letter-spacing: .04em; text-transform: uppercase; }

.approach { padding: clamp(0px, 1vw, 10px); display: grid; grid-template-columns: minmax(270px, .83fr) minmax(0, 1fr); gap: clamp(38px, 8vw, 110px); align-items: center; }.approach-art { min-height: 515px; position: relative; overflow: hidden; background: #d79b32; }.approach-art::before { content:""; position:absolute; width:112%; height:56%; left:-7%; bottom:-17%; border-radius:50% 50% 0 0; background:#9e3f32; }.approach-art::after { content:""; position:absolute; width:67%; height:67%; top:11%; left:16%; border: 22px solid #fae9ca; border-radius:50%; }.approach-sun { position:absolute; width:62px; aspect-ratio:1; right:12%; top:10%; border-radius:50%; background:#9e3f32; }.approach-pot { position:absolute; z-index:2; width:47%; height:30%; left:26%; bottom:13%; border-radius: 0 0 48% 48%; background:#322a26; box-shadow: 0 -15px 0 #554236; }.approach-pot::before { content:""; position:absolute; width:118%; height:28px; top:-27px; left:-9%; border-radius:50%; background:#3a3029; }.approach-pot i { position:absolute; width:19px; height:79px; bottom:88%; border-radius:50% 50% 0 0; background:#faf0d9; transform-origin: bottom center; }.approach-pot i:nth-child(1){left:26%;transform:rotate(-25deg)}.approach-pot i:nth-child(2){left:48%;height:105px}.approach-pot i:nth-child(3){left:69%;transform:rotate(26deg)}.approach-art > span { position:absolute; z-index:3; left:24px; bottom:23px; color:#fbeace; font:600 42px var(--serif); letter-spacing:-.1em; }.approach-copy { padding: clamp(0px, 2vw, 20px) 0; }.approach-copy > p:not(.eyebrow) { max-width: 560px; margin: 21px 0 30px; color: var(--muted); font-size: 16px; line-height: 1.65; }.approach-copy ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.approach-copy li { padding:17px 0; border-bottom:1px solid var(--line); }.approach-copy li strong { display:block; font-size:15px; }.approach-copy li p { margin:4px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.approach-art--photo { margin:0; background:#9c5c34; }.approach-art--photo::before, .approach-art--photo::after { display:none; }.approach-art--photo img { width:100%; height:100%; min-height:515px; object-fit:cover; object-position:center; }

.section-heading--row { max-width: none; display:flex; justify-content:space-between; gap:36px; align-items:end; }.section-heading--row > p { max-width:330px; margin:0 !important; padding-bottom:5px; }.notes-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.note-card { min-height: 345px; padding: 25px; display:flex; flex-direction:column; border:1px solid var(--line); background:var(--paper); }.note-card--dark { border-color:var(--ink); background:var(--ink); color:#fff9ef; }.note-number { margin:0; color:var(--red); font:500 11px var(--mono); }.note-line { width:42px; height:2px; margin:43px 0 16px; background:var(--red); }.note-category { margin:0; color:var(--muted); font:500 10px var(--mono); letter-spacing:.12em; text-transform:uppercase; }.note-card--dark .note-category { color:#cabdaf; }.note-card h3 { margin:10px 0 0; font:600 clamp(24px,2.5vw,31px)/1.08 var(--serif); letter-spacing:-.035em; }.note-card > p:not(.note-number):not(.note-category) { margin: 14px 0 18px; color:var(--muted); font-size:13px; line-height:1.55; }.note-card--dark > p:not(.note-number):not(.note-category) { color:#d8cfc3; }.note-status { margin-top:auto; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font:10px var(--mono); text-transform:uppercase; letter-spacing:.05em; }.note-card--dark .note-status { border-color:#5e5650; color:#e4d6c6; }

.site-footer { width:min(1240px,calc(100% - var(--page) * 2)); margin:0 auto 22px; padding: 31px 0 2px; display:grid; grid-template-columns:1.5fr 1fr auto; gap:32px; border-top:1px solid var(--line); color:var(--muted); }.footer-brand img { width:240px; height:auto; }.site-footer p { margin:12px 0 0; font-size:12px; line-height:1.5; }.footer-links { display:flex; flex-wrap:wrap; align-content:start; gap:10px 21px; padding-top:7px; font-size:12px; font-weight:600; }.footer-links a:hover { color:var(--red); }.footer-meta { white-space:nowrap; text-align:right; font:10px/1.55 var(--mono) !important; letter-spacing:.04em; text-transform:uppercase; }

.launch-dialog { width:min(500px,calc(100% - 36px)); padding:clamp(28px,5vw,48px); border:0; background:var(--paper); color:var(--ink); box-shadow: 0 22px 70px rgba(37,33,29,.28); }.launch-dialog::backdrop { background:rgba(37,33,29,.58); backdrop-filter:blur(3px); }.dialog-close { position:absolute; top:13px; right:16px; width:36px; height:36px; padding:0; border:0; background:transparent; color:var(--ink); font-size:30px; line-height:1; }.dialog-mark { width:56px; margin-bottom:25px; }.launch-dialog h2 { margin:0; font:600 clamp(32px,5vw,46px)/1.05 var(--serif); letter-spacing:-.045em; }.launch-dialog > p:not(.eyebrow) { margin:17px 0 26px; color:var(--muted); font-size:15px; line-height:1.62; }

/* Product detail */
.product-page .site-header { border-bottom: 1px solid var(--line); }
.breadcrumb { width:min(1120px,calc(100% - var(--page) * 2)); margin: 0 auto; padding: 22px 0 0; display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font:500 10px/1.4 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.breadcrumb a:hover { color:var(--red); }
.product-detail { width:min(1120px,calc(100% - var(--page) * 2)); margin: clamp(27px,5vw,60px) auto 0; display:grid; grid-template-columns: minmax(300px,.91fr) minmax(360px,1fr); gap:clamp(42px,8vw,112px); align-items:center; }
.product-gallery { min-height:clamp(510px,57vw,712px); position:relative; display:grid; place-items:center; overflow:hidden; background:linear-gradient(135deg,#f2ece4,#ded5ca); box-shadow:18px 20px 0 #eee1d0; }
.product-gallery::before { content:""; position:absolute; width:83%; aspect-ratio:1; border:1px solid rgba(160,124,75,.36); border-radius:50%; }
.product-gallery::after { content:""; position:absolute; inset:16px; border:1px solid rgba(89,68,47,.17); pointer-events:none; }
.product-gallery-note { position:absolute; z-index:2; top:27px; left:28px; color:#795130; font:500 9px var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.product-gallery img { position:relative; z-index:1; width:min(84%,480px); max-height:93%; object-fit:contain; filter:drop-shadow(12px 18px 15px rgba(37,31,26,.22)); }
.product-detail-copy { padding:clamp(3px,2vw,20px) 0; }
.product-detail-copy h1 { margin:0; font:600 clamp(53px,6.4vw,84px)/.94 var(--serif); letter-spacing:-.065em; }
.product-detail-copy h1 em { color:var(--red); font-style:italic; }
.product-lede { max-width:555px; margin:25px 0 28px; color:#5e554a; font-size:16px; line-height:1.67; }
.product-facts { margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-facts div { min-height:86px; padding:16px 12px 13px 0; }.product-facts div + div { padding-left:16px; border-left:1px solid var(--line); }
.product-facts dt { margin:0 0 8px; color:var(--muted); font:500 9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.product-facts dd { margin:0; color:var(--ink); font:600 14px/1.25 var(--sans); }
.product-pack-selector { margin-top:27px; }.product-pack-selector > span { display:block; margin-bottom:9px; color:var(--muted); font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }.product-pack-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.product-pack-options button { min-height:52px; padding:9px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--line); border-radius:0; background:var(--paper); color:var(--ink); font:700 13px var(--sans); text-align:left; transition:border-color .2s ease,background .2s ease,color .2s ease; }.product-pack-options button b { font:600 17px var(--serif); letter-spacing:-.03em; }.product-pack-options button:hover { border-color:var(--ink); }.product-pack-options button.is-selected { border-color:var(--ink); background:var(--ink); color:var(--canvas); }.product-price { margin-top:17px; display:flex; align-items:baseline; gap:14px; }.product-price span { color:var(--muted); font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }.product-price strong { font:600 26px var(--serif); letter-spacing:-.03em; }
.product-price-note { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.product-price del { color:var(--muted); font-size:12px; }
.product-pack-options button > span { display:grid; gap:2px; text-align:left; }
.product-pack-options button small { color:var(--muted); font-size:8px; font-weight:500; line-height:1.2; letter-spacing:.04em; }
.product-pack-options button.is-selected small { color:rgba(255,255,255,.72); }
.purchase-panel { margin-top:26px; display:flex; gap:12px; align-items:stretch; }.purchase-panel .button { flex:1; }
.quantity-control { min-width:119px; display:grid; grid-template-columns:36px 1fr 36px; border:1px solid var(--ink); background:var(--paper); }.quantity-control button { padding:0; border:0; background:transparent; color:var(--ink); font-size:21px; }.quantity-control button:hover { color:var(--red); }.quantity-control output { display:grid; place-items:center; border-left:1px solid var(--line); border-right:1px solid var(--line); font-weight:800; }
.basket-message { min-height:19px; margin:13px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }.basket-message.is-added { color:var(--leaf); font-weight:700; }
.product-story { margin-top:clamp(92px,12vw,152px); }.product-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }.product-story-grid article { min-height:277px; padding:25px 27px 26px 0; }.product-story-grid article + article { padding-left:27px; border-left:1px solid var(--line); }.product-story-grid h3 { margin:0 0 9px; font:600 27px/1.08 var(--serif); letter-spacing:-.04em; }.product-story-grid article > p:last-child { margin:0; color:var(--muted); font-size:13px; line-height:1.62; }.product-back { width:min(1120px,calc(100% - var(--page) * 2)); margin:0 auto clamp(72px,10vw,118px); }

@media (max-width: 850px) {
  .hero { grid-template-columns:1fr; padding-top:60px; }.hero-copy { max-width:680px; }.hero-visual { width:min(100%,560px); min-height:0; justify-self:center; }.product-grid, .notes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.product-card:last-child { grid-column:1 / -1; }.product-card:last-child .product-art { min-height:240px; }.approach { grid-template-columns:1fr; gap:38px; }.approach-art { min-height:420px; max-width:580px; width:100%; }.section-heading--row { align-items:start; flex-direction:column; gap:15px; }.section-heading--row > p { padding-bottom:0; }.site-footer { grid-template-columns:1fr 1fr; }.footer-meta { text-align:left; }
  .product-detail { grid-template-columns:1fr; gap:53px; }.product-gallery { min-height:min(100vw,680px); max-width:650px; width:100%; }.product-detail-copy { max-width:650px; }.product-story-grid { grid-template-columns:1fr; }.product-story-grid article { min-height:0; padding:25px 0; }.product-story-grid article + article { padding-left:0; border-left:0; border-top:1px solid var(--line); }.product-story-grid h3 { margin-top:0; }
}

@media (max-width: 650px) {
  .announcement { font-size:9px; letter-spacing:.06em; }.site-header { height:70px; }.brand img { width:190px; height:auto; }.menu-toggle { display:block; }.site-nav { width:100%; position:absolute; top:calc(100% + 1px); left:0; padding:14px; display:none; align-items:stretch; flex-direction:column; gap:0; border:1px solid var(--line); background:var(--paper); box-shadow:0 12px 24px rgba(37,33,29,.12); }.site-nav.is-open { display:flex; }.site-nav > a { padding:13px 10px; border-bottom:1px solid var(--line); }.nav-cta { margin-top:12px; width:100%; }.hero { min-height:0; padding:48px 0 64px; gap:43px; }.hero h1 { font-size:clamp(52px,14vw,73px); }.hero-text { margin-top:21px; font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:21px; margin-top:29px; }.button { min-height:52px; }.hero-visual { height: min(106vw, 480px); box-shadow:10px 12px 0 #efe1cb; }.intro-band { align-items:flex-start; padding:25px 20px; }.intro-band p { font-size:20px; }.section { margin-top:72px; }.section-heading { margin-bottom:27px; }.section-heading h2, .approach-copy h2 { font-size:clamp(34px,10vw,47px); }.product-grid, .notes-grid { grid-template-columns:1fr; }.product-card:last-child { grid-column:auto; }.product-art { min-height:255px; }.product-card:last-child .product-art { min-height:255px; }.product-copy { min-height:225px; }.approach { padding:0; }.approach-art { min-height:355px; }.approach-art::after { border-width:17px; }.approach-copy > p:not(.eyebrow) { margin-bottom:24px; }.note-card { min-height:290px; }.note-line { margin-top:25px; }.site-footer { grid-template-columns:1fr; gap:22px; padding-top:25px; }.footer-links { padding-top:0; }.footer-meta { margin-top:0 !important; }
  .product-card--spice-pack .product-image, .product-card--spice-pack .product-image img { min-height:255px; }.breadcrumb { padding-top:18px; font-size:9px; }.product-detail { margin-top:25px; gap:40px; }.product-gallery { min-height:calc(100vw - var(--page) * 2); box-shadow:10px 12px 0 #eee1d0; }.product-gallery-note { top:18px; left:19px; }.product-gallery::after { inset:11px; }.product-detail-copy h1 { font-size:clamp(50px,15vw,69px); }.product-lede { margin-top:20px; font-size:15px; }.product-facts { grid-template-columns:1fr; }.product-facts div { min-height:0; padding:13px 0; display:grid; grid-template-columns:118px 1fr; align-items:center; }.product-facts div + div { padding-left:0; border-left:0; border-top:1px solid var(--line); }.product-facts dt { margin:0; }.purchase-panel { flex-direction:column; }.purchase-panel .button { width:100%; }.quantity-control { min-height:49px; width:100%; }.product-story { margin-top:76px; }.product-back { margin-bottom:75px; }
}

/* Storefront additions */
.hero-proof { margin:31px 0 0; color:var(--muted); font:500 10px/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.hero-proof span { color:var(--red); }
.hero-proof b { margin-left:4px; color:var(--ink); font-weight:500; }
.button:disabled { cursor:not-allowed; opacity:.57; transform:none !important; }
.product-card-buy { margin-top:auto; padding-top:2px; }
.product-card-buy > strong { display:block; padding:0 0 12px; color:var(--ink); font:600 20px/1.1 var(--serif); letter-spacing:-.025em; }
.catalogue-note { margin:20px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.trust-strip { width:min(1120px,calc(100% - var(--page) * 2)); margin:clamp(64px,10vw,128px) auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.trust-strip > div { min-height:180px; padding:25px 28px 24px 0; }.trust-strip > div + div { padding-left:28px; border-left:1px solid var(--line); }
.trust-strip span { color:var(--red); font:500 10px var(--mono); letter-spacing:.08em; }.trust-strip strong { display:block; margin-top:38px; font-size:15px; }.trust-strip p { margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.note-link { margin-top:auto; padding-top:12px; border-top:1px solid var(--line); color:var(--ink); font:600 10px/1.4 var(--mono); letter-spacing:.04em; text-transform:uppercase; }.note-card--dark .note-link { border-color:#5e5650; color:#fff9ef; }.note-link:hover { color:var(--red); }
.faq-preview { display:grid; grid-template-columns:minmax(0,.8fr) minmax(360px,1fr); gap:clamp(36px,7vw,105px); align-items:start; }.faq-preview .section-heading { margin:0; }.faq-preview > .text-link { grid-column:2; justify-self:start; }
.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { position:relative; padding:20px 35px 20px 0; cursor:pointer; font:600 18px/1.35 var(--serif); list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content:"+"; position:absolute; right:2px; top:15px; color:var(--red); font:400 25px/1 var(--sans); }.faq-list details[open] summary::after { content:"–"; }.faq-list p { max-width:650px; margin:0 0 20px; color:var(--muted); font-size:14px; line-height:1.65; }

/* Cart, checkout and information pages */
.utility-main { width:min(1120px,calc(100% - var(--page) * 2)); margin:0 auto; min-height:60vh; }.utility-main .breadcrumb { width:100%; }
.empty-state { max-width:680px; padding:clamp(75px,12vw,150px) 0; }.empty-state h1, .content-hero h1, .checkout-form h1 { margin:0; font:600 clamp(44px,6.1vw,78px)/.98 var(--serif); letter-spacing:-.06em; }.empty-state h1 em, .content-hero h1 em, .checkout-form h1 em { color:var(--red); font-style:italic; }.empty-state > p:not(.eyebrow) { max-width:480px; margin:19px 0 28px; color:var(--muted); font-size:16px; line-height:1.65; }
.cart-layout, .checkout-layout { margin:clamp(36px,6vw,74px) 0 clamp(85px,11vw,135px); display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.39fr); gap:clamp(36px,7vw,95px); align-items:start; }.cart-items { border-top:1px solid var(--line); }.cart-item { min-height:175px; display:grid; grid-template-columns:132px minmax(0,1fr) 82px 106px; gap:22px; align-items:center; padding:17px 0; border-bottom:1px solid var(--line); }.cart-item-image { height:140px; display:grid; place-items:center; overflow:hidden; background:#eee7df; }.cart-item-image img { max-width:90%; max-height:95%; object-fit:contain; filter:drop-shadow(7px 9px 8px rgba(37,31,26,.15)); }.cart-item-copy h2 { margin:4px 0 8px; font:600 29px/1.04 var(--serif); letter-spacing:-.04em; }.cart-item-copy > p:not(.product-kind) { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }.cart-remove { margin-top:14px; padding:0; border:0; background:transparent; color:var(--red); font:600 10px var(--mono); letter-spacing:.05em; text-transform:uppercase; }.cart-item-quantity label { display:block; margin-bottom:7px; color:var(--muted); font:500 9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.cart-item-quantity select { width:100%; min-height:38px; padding:0 9px; border:1px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); }.cart-item-price { text-align:right; font:600 18px/1.1 var(--serif); letter-spacing:-.03em; }
.cart-summary { padding:26px; border:1px solid var(--line); background:var(--paper); }.cart-summary > div { display:flex; justify-content:space-between; gap:18px; margin-top:17px; color:var(--muted); font-size:13px; line-height:1.4; }.cart-summary > div strong { color:var(--ink); font:600 17px/1.1 var(--serif); text-align:right; }.cart-summary .summary-total { margin-top:21px; padding-top:17px; border-top:1px solid var(--line); color:var(--ink); font-weight:700; }.cart-summary .summary-total strong { font-size:24px; }.cart-summary > p { margin:23px 0 18px; color:var(--muted); font-size:12px; line-height:1.55; }.cart-summary .button { width:100%; }.cart-summary > .text-link { margin-top:17px; font-size:10px; }
.checkout-layout { grid-template-columns:minmax(0,1fr) minmax(265px,.39fr); }.checkout-form > .eyebrow { margin-bottom:15px; }.checkout-form h1 { max-width:640px; }.checkout-form label { display:grid; gap:7px; margin-top:19px; color:var(--muted); font:500 10px/1.3 var(--mono); letter-spacing:.07em; text-transform:uppercase; }.checkout-form input { min-height:50px; padding:0 14px; border:1px solid var(--line); border-radius:0; outline:0; background:var(--paper); color:var(--ink); font:500 15px var(--sans); }.checkout-form input:focus { border-color:var(--ink); }.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.checkout-form .button { min-width:260px; margin-top:28px; }.form-note, .form-status { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }.form-status.is-added { color:var(--leaf); font-weight:700; }
.content-page { margin-bottom:clamp(85px,12vw,150px); }.content-hero { max-width:790px; margin:clamp(45px,7vw,88px) 0 clamp(42px,6vw,74px); }.content-hero > p:not(.eyebrow) { max-width:630px; margin:20px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }.faq-list--full { max-width:860px; }.contact-grid, .policy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.contact-grid article, .policy-grid article { min-height:230px; padding:26px; border:1px solid var(--line); background:var(--paper); }.contact-label { margin:0; color:var(--red); font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }.contact-grid h2, .policy-grid h2 { margin:37px 0 9px; font:600 28px/1.06 var(--serif); letter-spacing:-.04em; }.contact-grid article > p:not(.contact-label), .policy-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.58; }.contact-grid .text-link, .policy-grid .text-link { display:inline-block; margin-top:17px; font-size:10px; }.policy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.policy-grid article { min-height:200px; }.policy-grid h2 { margin-top:0; }

@media (max-width:850px) { .trust-strip { grid-template-columns:1fr; }.trust-strip > div, .trust-strip > div + div { min-height:0; padding:21px 0; border-left:0; }.trust-strip > div + div { border-top:1px solid var(--line); }.trust-strip strong { margin-top:17px; }.faq-preview { grid-template-columns:1fr; gap:29px; }.faq-preview > .text-link { grid-column:auto; }.cart-layout, .checkout-layout { grid-template-columns:1fr; }.cart-summary { max-width:520px; width:100%; }.contact-grid { grid-template-columns:1fr; }.contact-grid article { min-height:0; }.policy-grid { grid-template-columns:1fr; }.site-nav--simple { display:flex; } }
@media (max-width:650px) { .hero-proof { margin-top:25px; }.cart-layout, .checkout-layout { margin-top:33px; }.cart-item { grid-template-columns:90px minmax(0,1fr); gap:15px; }.cart-item-image { height:105px; }.cart-item-quantity { grid-column:2; display:flex; align-items:center; gap:10px; }.cart-item-quantity label { margin:0; }.cart-item-quantity select { width:62px; }.cart-item-price { grid-column:2; text-align:left; }.field-grid { grid-template-columns:1fr; gap:0; }.checkout-form .button { width:100%; min-width:0; }.content-hero { margin-top:42px; }.contact-grid h2 { margin-top:27px; }.policy-grid article { min-height:0; } }

/* Clear, commerce-first MarwarMade home page */
.hero--store { min-height:min(735px,calc(100vh - 117px)); grid-template-columns:minmax(0,1fr) minmax(390px,.82fr); gap:clamp(42px,7vw,114px); }
.hero--store .hero-copy { max-width:660px; }.hero--store h1 { max-width:650px; font-size:clamp(54px,6.8vw,91px); line-height:.98; letter-spacing:-.04em; }.hero--store h1 em { color:var(--red); font-style:normal; }.hero--store .hero-text { max-width:510px; color:#514b43; font-size:clamp(17px,1.8vw,20px); font-weight:500; line-height:1.54; }.hero-points { margin:30px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 20px; color:var(--ink); list-style:none; font:500 10px/1.4 var(--mono); letter-spacing:.055em; text-transform:uppercase; }.hero-points li { position:relative; padding-left:13px; }.hero-points li::before { content:""; position:absolute; width:5px; height:5px; left:0; top:5px; border-radius:50%; background:var(--red); }
.hero--store .hero-visual { min-height:575px; }.hero-caption { right:22px; left:auto; bottom:20px; display:flex; flex-direction:column; gap:5px; font:700 13px/1.18 var(--sans); letter-spacing:-.02em; text-align:right; }.hero-caption span { color:#fed17a; font:500 9px var(--mono); letter-spacing:.1em; }
.section--store { margin-top:clamp(88px,11vw,150px); }.section-heading h2, .approach-copy h2 { font-weight:800; letter-spacing:-.052em; }.section-heading h2 em, .approach-copy h2 em { font-style:normal; }.section-heading--row > p { font-size:16px; line-height:1.58; }
.product-card { border-color:#cdc1b0; }.product-card--spice-pack .product-image { min-height:320px; background:#f0ebe4; }.product-card--spice-pack .product-image img { min-height:320px; padding:20px; }.product-copy { min-height:0; padding:25px 25px 22px; }.product-copy h3 { font-weight:800; font-size:30px; letter-spacing:-.055em; }.product-copy > p:not(.product-kind) { margin:12px 0 20px; color:#5c554b; font-size:14px; line-height:1.58; }.card-facts { margin:0 0 18px; padding:12px 0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.card-facts div + div { padding-left:14px; border-left:1px solid var(--line); }.card-facts dt { margin:0 0 5px; color:var(--muted); font:500 8px var(--mono); letter-spacing:.075em; text-transform:uppercase; }.card-facts dd { margin:0; color:var(--ink); font-size:12px; font-weight:700; line-height:1.35; }.product-card-link { padding-top:0; border-top:0; font-size:10px; }.catalogue-note { margin-top:18px; font-size:11px; }
.approach--store { gap:clamp(42px,8vw,122px); }.approach--store .approach-art { min-height:575px; }.approach-copy > p:not(.eyebrow) { font-size:17px; line-height:1.6; }.approach-copy li strong { font-size:16px; }.approach-copy li p { font-size:13px; line-height:1.52; }
.notes-grid--store .note-card { min-height:326px; }.notes-grid--store .note-number { margin-bottom:35px; }.notes-grid--store .note-category { color:var(--red); }.notes-grid--store .note-card h3 { font:800 25px/1.08 var(--sans); letter-spacing:-.05em; }.notes-grid--store .note-card > p:not(.note-number):not(.note-category) { font-size:13px; }
.faq-preview .section-heading h2 { max-width:540px; }.faq-list summary { font-family:var(--sans); font-size:17px; font-weight:800; letter-spacing:-.025em; }.site-footer { margin-top:0; }.site-footer p { font-size:12px; }

@media (max-width:850px) { .hero--store { grid-template-columns:1fr; }.hero--store .hero-visual { width:min(100%,600px); min-height:0; }.product-card--spice-pack .product-image, .product-card--spice-pack .product-image img { min-height:300px; } }
@media (max-width:650px) { .hero--store { padding-top:48px; }.hero--store h1 { font-size:clamp(50px,13.4vw,68px); letter-spacing:-.035em; }.hero--store .hero-text { font-size:16px; }.hero-points { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.hero--store .hero-visual { height:min(118vw,535px); }.product-card--spice-pack .product-image, .product-card--spice-pack .product-image img { min-height:275px; }.approach--store .approach-art { min-height:365px; }.notes-grid--store .note-card { min-height:0; }.faq-preview { gap:24px; } }

/* Dynamic home category feature */
.range-feature { width:min(1120px,calc(100% - var(--page) * 2)); min-height:410px; margin:44px auto 70px; display:grid; grid-template-columns:minmax(270px,.76fr) minmax(480px,1.24fr); overflow:hidden; border:1px solid var(--line); background:var(--paper); }
.range-feature-copy { z-index:2; padding:clamp(38px,5vw,66px); display:flex; flex-direction:column; justify-content:center; }
.range-feature-copy h2 { margin:10px 0 18px; font:800 clamp(40px,5vw,62px)/.94 var(--sans); letter-spacing:-.055em; }
.range-feature-copy h2 em { color:var(--red); font-style:normal; }
.range-feature-copy > p:not(.eyebrow) { max-width:360px; margin:0; color:var(--muted); font-size:15px; line-height:1.58; }
.range-feature-copy .text-link { align-self:flex-start; margin-top:25px; }
.range-feature-visual { position:relative; min-height:410px; overflow:hidden; isolation:isolate; background:linear-gradient(135deg,#f4e9d8 0%,#fffaf4 66%); }
.range-feature-visual::before { content:""; position:absolute; inset:9% 8%; border:1px solid rgba(201,54,45,.18); transform:rotate(-4deg); }
.range-pouch { position:absolute; z-index:2; width:43%; height:auto; object-fit:contain; filter:drop-shadow(10px 14px 12px rgba(37,33,29,.16)); will-change:transform; }
.range-pouch--left { left:2%; bottom:3%; transform:rotate(-8deg); animation:range-float-left 5.2s ease-in-out infinite; }
.range-pouch--centre { z-index:3; left:29%; bottom:5%; transform:translateY(-7px); animation:range-float-centre 4.6s ease-in-out infinite; }
.range-pouch--right { right:1%; bottom:3%; transform:rotate(8deg); animation:range-float-right 5.5s ease-in-out infinite; }
.range-spice-shape { position:absolute; z-index:1; width:160px; aspect-ratio:1; border-radius:50%; opacity:.2; filter:blur(2px); }
.range-spice-shape--red { left:6%; bottom:-36px; background:var(--red); }
.range-spice-shape--gold { left:39%; top:-42px; background:var(--turmeric); }
.range-spice-shape--green { right:-35px; bottom:28px; background:var(--leaf); }
@keyframes range-float-left { 0%,100% { transform:translateY(0) rotate(-8deg); } 50% { transform:translateY(-9px) rotate(-6deg); } }
@keyframes range-float-centre { 0%,100% { transform:translateY(-7px); } 50% { transform:translateY(3px); } }
@keyframes range-float-right { 0%,100% { transform:translateY(0) rotate(8deg); } 50% { transform:translateY(-7px) rotate(6deg); } }
@media (max-width:850px) { .range-feature { grid-template-columns:1fr; }.range-feature-copy { padding:34px; }.range-feature-visual { min-height:370px; } }
@media (max-width:650px) { .range-feature { margin:28px auto 46px; }.range-feature-copy { padding:27px 22px 22px; }.range-feature-copy h2 { font-size:38px; }.range-feature-copy > p:not(.eyebrow) { font-size:13px; }.range-feature-visual { min-height:285px; }.range-pouch { width:47%; }.range-pouch--left { left:-3%; }.range-pouch--centre { left:26.5%; }.range-pouch--right { right:-4%; } }
@media (prefers-reduced-motion:reduce) { .range-pouch { animation:none; } }

/* Simple product-range presentation */
.range-feature { width:100%; min-height:490px; margin:38px 0 64px; grid-template-columns:1fr 1fr; border:0; background:transparent; }
.range-feature-copy { align-items:center; min-height:490px; padding:42px clamp(30px,6vw,90px); text-align:center; }
.range-feature-copy h2 { position:relative; z-index:0; isolation:isolate; margin:0 0 30px; padding:10px 14px; color:var(--ink); font:800 clamp(30px,3vw,40px)/1 var(--sans); letter-spacing:.01em; }
.range-feature-copy h2::after { content:""; position:absolute; z-index:-1; inset:0; background:var(--turmeric); transform:scaleX(0); transform-origin:left center; transition:transform .45s cubic-bezier(.22,.61,.36,1); }
.range-feature:hover .range-feature-copy h2 { color:var(--ink); }
.range-feature:hover .range-feature-copy h2::after { transform:scaleX(1); }
.range-feature-copy > p:not(.eyebrow) { max-width:560px; color:var(--ink); font-size:16px; font-weight:600; line-height:1.58; }
.range-feature-copy .button { position:relative; width:min(200px,100%); margin-top:42px; overflow:hidden; isolation:isolate; border-color:var(--ink); border-radius:6px; background:var(--ink); color:#fff; font-size:15px; transition:border-color .42s ease; }
.range-feature-copy .button::before { content:""; position:absolute; z-index:0; inset:0; background:var(--red); transform:scaleX(0); transform-origin:left center; transition:transform .42s cubic-bezier(.22,.61,.36,1); }
.range-feature-copy .button span { position:relative; z-index:1; }
.range-feature-copy .button:hover { border-color:var(--red); background:var(--ink); color:#fff; transform:none; }
.range-feature-copy .button:hover::before { transform:scaleX(1); }
.hero--store.hero--text-only { grid-template-columns:minmax(0,720px); justify-content:start; }
.hero--store.hero--text-only .hero-copy { max-width:720px; }
.range-feature-visual { min-height:490px; background:transparent; }
.range-feature-visual::before { display:none; }
.range-pouch-composite { position:absolute; top:58%; left:50%; width:min(88%,560px); max-width:none; height:auto; transform:translate(-50%,-50%); object-fit:contain; }
.range-pouch { width:46%; mix-blend-mode:multiply; filter:drop-shadow(5px 9px 7px rgba(37,33,29,.12)); }
.range-pouch--left { left:1%; bottom:1%; transform:none; animation:range-pack-left 5.2s ease-in-out infinite; }
.range-pouch--centre { z-index:3; left:27%; bottom:0; transform:none; animation:range-pack-centre 4.8s ease-in-out infinite; }
.range-pouch--right { right:1%; bottom:1%; transform:none; animation:range-pack-right 5.5s ease-in-out infinite; }
@keyframes range-pack-left { 0%,100% { transform:translateX(0); } 50% { transform:translateX(-5px); } }
@keyframes range-pack-centre { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes range-pack-right { 0%,100% { transform:translateX(0); } 50% { transform:translateX(5px); } }
@media (max-width:850px) { .range-feature { grid-template-columns:1fr; }.range-feature-copy { min-height:0; padding:40px 24px 24px; }.range-feature-copy .button { margin-top:28px; }.range-feature-visual { min-height:390px; }.range-pouch-composite { width:min(92%,520px); } }
@media (max-width:650px) { .range-feature { margin:24px 0 42px; }.range-feature-copy h2 { font-size:29px; margin-bottom:20px; }.range-feature-copy > p:not(.eyebrow) { font-size:13px; }.range-feature-visual { min-height:280px; }.range-pouch { width:49%; }.range-pouch--left { left:-4%; }.range-pouch--centre { left:25.5%; }.range-pouch--right { right:-4%; } }

/* Product packs use a square shelf frame; editorial images retain their portrait context. */
.product-card--spice-pack .product-image,
.product-gallery,
.cart-item-image {
  height: auto;
  min-height: 0;
  aspect-ratio: 1;
}
.product-card--spice-pack .product-image img,
.product-gallery img,
.cart-item-image img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-height: 0;
  padding: 0;
  object-fit: cover;
  object-position: center;
}

.pantry-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-card--pantry .product-image { background:#f4eee6; }
.product-card--pantry .product-card-buy > strong { color:#7b4531; font-size:17px; }
.product-status { margin-top:25px; padding:17px 18px; border:1px solid var(--line); background:#f4eee6; }
.product-status strong { display:block; font-size:15px; }
.product-status p { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.product-gallery--clear-pack { background:linear-gradient(135deg,#fbfaf7,#e8e5df); }
.product-gallery--clear-pack img { width:min(92%,540px); }
.ker-guide { width:min(1120px,calc(100% - var(--page) * 2)); margin:clamp(88px,11vw,150px) auto 0; }
.ker-guide-heading { max-width:760px; }
.ker-guide-heading h2 { margin:0; font:800 clamp(36px,4.8vw,62px)/1.04 var(--sans); letter-spacing:-.06em; }
.ker-guide-heading h2 em { color:var(--red); font-style:normal; }
.ker-guide-heading > p:last-child { max-width:690px; margin:18px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
.ker-guide-grid { margin-top:36px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ker-guide-card { padding:28px; border:1px solid var(--line); background:var(--paper); }
.ker-guide-card--wide { grid-column:1 / -1; }
.ker-guide-card h3 { margin:0; font:800 clamp(22px,2.3vw,30px)/1.08 var(--sans); letter-spacing:-.045em; }
.ker-guide-card p, .ker-guide-card li { color:var(--muted); font-size:14px; line-height:1.65; }
.ker-guide-card p { margin:13px 0 0; }
.ker-guide-card ol { margin:17px 0 0; padding-left:21px; }
.ker-guide-card li + li { margin-top:8px; }
@media (max-width:850px) { .pantry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ker-guide-grid { grid-template-columns:1fr; }.ker-guide-card--wide { grid-column:auto; } }
@media (max-width:650px) { .pantry-grid { grid-template-columns:1fr; }.ker-guide { margin-top:72px; }.ker-guide-grid { margin-top:27px; gap:12px; }.ker-guide-card { padding:22px; } }

.hero--store .hero-visual,
.approach-art--photo {
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 5;
}
.hero--store .hero-visual img,
.approach-art--photo img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

@media (max-width:650px) {
  .brand img { width:190px; height:auto; }
  .footer-brand img { width:220px; height:auto; }
}

/* Two-level brand header: centered wordmark above a clear navigation bar. */
.announcement { display:none; }
.site-header {
  width:100%;
  height:auto;
  margin:0;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  border-bottom:0;
}
.site-header .brand {
  grid-column:2;
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.site-header .brand img { width:180px; }
.site-header .site-nav {
  grid-column:1 / -1;
  width:100%;
  min-height:42px;
  display:flex;
  justify-content:center;
  gap:0;
  background:var(--red);
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.site-header .site-nav > a { padding:13px 28px; color:#fff; }
.site-header .site-nav > a:hover { background:rgba(93,17,15,.22); color:#fff; }
.site-header .nav-cart span { color:#fff; }

@media (max-width:650px) {
  .site-header {
    width:calc(100% - var(--page) * 2);
    height:56px;
    margin:0 auto;
    display:flex;
    border-bottom:1px solid var(--line);
  }
  .site-header .brand { min-height:0; justify-content:flex-start; }
  .site-header .brand img { width:158px; }
  .site-header .menu-toggle { display:block; margin-left:auto; }
  .site-header .site-nav {
    width:calc(100% + var(--page) * 2);
    min-height:0;
    position:absolute;
    top:100%;
    left:calc(var(--page) * -1);
    padding:8px var(--page) 12px;
    display:none;
    align-items:stretch;
    flex-direction:column;
    background:var(--red);
    border:0;
    box-shadow:0 12px 24px rgba(37,33,29,.16);
  }
  .site-header .site-nav.is-open { display:flex; }
  .site-header .site-nav > a { padding:12px 6px; border-bottom:1px solid rgba(255,255,255,.22); }
}

/* Compact storefront scale: denser catalogue and shorter page rhythm. */
:root { --page:clamp(16px,3.4vw,44px); }
.announcement { min-height:24px; padding:4px var(--page); font-size:8px; }
.site-header { height:auto; }
.brand img { width:175px; }
.site-nav { gap:clamp(11px,1.5vw,19px); font-size:11px; }
.site-nav > a { padding:6px 0; }
.button { min-height:44px; padding:12px 16px; font-size:12px; }
.text-link { font-size:12px; }

.hero,
.hero--store {
  min-height:0;
  padding:36px 0 42px;
  grid-template-columns:minmax(0,1fr) minmax(310px,.68fr);
  gap:clamp(34px,5vw,68px);
}
.hero--store .hero-copy { max-width:600px; }
.hero h1,
.hero--store h1 { max-width:560px; font-size:clamp(40px,4.2vw,54px); line-height:1; }
.hero-text,
.hero--store .hero-text { max-width:500px; margin-top:18px; font-size:16px; line-height:1.52; }
.hero-actions { margin-top:23px; gap:17px; }
.hero-points { margin-top:21px; gap:7px 16px; font-size:9px; }
.hero--store .hero-visual { width:min(100%,288px); max-height:360px; justify-self:end; }
.hero-caption { right:15px; bottom:14px; font-size:11px; }

.category-strip {
  width:min(1120px,calc(100% - var(--page) * 2));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--line);
  background:var(--paper);
}
.category-strip a { min-height:76px; padding:13px 16px; display:flex; flex-direction:column; justify-content:center; transition:background .2s ease,color .2s ease; }
.category-strip a + a { border-left:1px solid var(--line); }
.category-strip a:hover { background:var(--ink); color:var(--canvas); }
.category-strip span { color:var(--red); font:500 8px/1.2 var(--mono); letter-spacing:.1em; }
.category-strip strong { margin-top:5px; font-size:14px; line-height:1.2; }
.category-strip small { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.3; }
.category-strip a:hover small { color:#d9cec1; }
.category-strip + .section { margin-top:48px; }

.popular-products { width:min(1120px,calc(100% - var(--page) * 2)); }
.popular-products > h2 { margin:0 0 28px; font:700 clamp(34px,4vw,48px)/1 Georgia,"Times New Roman",serif; letter-spacing:-.035em; text-align:center; }
.popular-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.popular-product-card { min-width:0; height:100%; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:10px; background:var(--paper); box-shadow:0 4px 12px rgba(40,34,28,.05); }
.popular-product-media { position:relative; aspect-ratio:1 / 1.02; overflow:hidden; background:var(--paper); }
.popular-product-media > a { width:100%; height:100%; display:block; overflow:hidden; }
.popular-product-media img { width:100%; height:100%; padding:16px 12px 10px; object-fit:contain; transition:transform .25s ease; }
.popular-product-card:hover .popular-product-media img { transform:scale(1.025); }
.product-badge { position:absolute; z-index:2; top:0; left:10px; width:31px; min-height:34px; padding:5px 2px 7px; display:grid; place-items:center; background:var(--red); color:#fff; font-size:8px; font-weight:800; line-height:1.02; text-align:center; text-transform:uppercase; clip-path:polygon(0 0,100% 0,100% 86%,88% 80%,75% 88%,63% 80%,50% 88%,37% 80%,25% 88%,12% 80%,0 86%); }
.popular-product-body { min-height:145px; padding:13px 14px 14px; display:flex; flex:1; flex-direction:column; }
.popular-product-card h3 { height:42px; margin:0; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font:700 17px/1.23 var(--sans); letter-spacing:-.02em; }
.popular-product-card h3 a:hover { color:var(--red); }
.popular-product-size { min-height:32px; margin:7px 0 0; color:#68635d; font-size:13px; line-height:1.25; }
.product-stock { margin:3px 0 0; font:700 9px/1.2 var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.product-stock--in { color:#287a3c; }
.product-stock--out { color:#8b867f; }
.popular-product-buy { margin-top:auto; padding-top:12px; display:flex; align-items:end; justify-content:space-between; gap:10px; }
.popular-product-buy > p { min-height:31px; margin:0; display:flex; flex-direction:column; justify-content:flex-end; line-height:1.05; }
.popular-product-buy strong { color:var(--ink); font-size:16px; }
.popular-product-buy del { margin-top:3px; color:#8b867f; font-size:11px; font-weight:500; }
.product-add-button { min-width:78px; min-height:39px; padding:9px 14px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:7px; color:var(--canvas); background:var(--ink); font-size:14px; font-weight:800; transition:background .2s ease,border-color .2s ease,color .2s ease; }
.product-add-button:hover { border-color:var(--red); background:var(--red); color:var(--canvas); }
.product-add-button.is-disabled { min-width:92px; border-color:var(--line); background:var(--sand); color:var(--muted); font-size:10px; cursor:not-allowed; }
.product-add-button.is-disabled:hover { border-color:var(--line); background:var(--sand); color:var(--muted); }
.popular-products-footer { margin-top:24px; display:flex; justify-content:center; }
.products-page-main { width:min(1240px,calc(100% - var(--page) * 2)); margin:0 auto; padding-bottom:clamp(72px,9vw,120px); }
.products-page-heading { margin:clamp(38px,6vw,72px) 0 34px; text-align:center; }
.products-page-heading h1 { margin:8px 0 12px; font:700 clamp(40px,5vw,58px)/1 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.products-page-heading > p:last-child { max-width:570px; margin:0 auto; color:var(--muted); font-size:15px; line-height:1.55; }
.products-catalogue { width:min(1120px,100%); margin:0 auto; }
.products-catalogue .popular-product-card h2 { height:42px; margin:0; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font:700 17px/1.23 var(--sans); letter-spacing:-.02em; }
.products-catalogue .popular-product-card h2 a:hover { color:var(--red); }

.intro-band { padding:22px 28px; }
.intro-band p { font-size:20px; }
.section,
.section--store { margin-top:clamp(48px,5vw,68px); }
.section-heading { margin-bottom:21px; }
.section-heading h2,
.approach-copy h2 { font-size:clamp(32px,3.8vw,46px); line-height:1.05; }
.section-heading--row { gap:28px; }
.section-heading--row > p,
.section-heading > p:last-child { font-size:13px; line-height:1.55; }

.product-grid,
.pantry-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pantry-grid { grid-template-columns:repeat(2,minmax(0,268px)); }
.product-card:hover { box-shadow:0 10px 22px rgba(67,48,33,.1); transform:translateY(-2px); }
.product-copy { min-height:0; padding:14px 14px 13px; }
.product-kind { margin-bottom:7px; font-size:8px; line-height:1.35; letter-spacing:.08em; }
.product-copy h3 { font-size:18px; line-height:1.13; letter-spacing:-.035em; }
.collection .product-copy > p:not(.product-kind),
.collection .card-facts { display:none; }
.product-card-buy { padding-top:15px; }
.product-card-buy > strong,
.product-card--pantry .product-card-buy > strong { padding-bottom:8px; font-size:17px; }
.unit-price { display:block; margin:-3px 0 8px; color:var(--muted); font:500 9px/1.3 var(--mono); letter-spacing:.025em; }
.product-card-link { padding-top:8px; border-top:1px solid var(--line); font-size:9px; }
.catalogue-note { margin-top:12px; font-size:10px; }

.approach,
.approach--store { grid-template-columns:minmax(260px,.68fr) minmax(0,1fr); gap:clamp(34px,5vw,64px); }
.approach--store .approach-art { width:min(100%,350px); min-height:0; max-height:438px; }
.approach-copy > p:not(.eyebrow) { margin:16px 0 21px; font-size:14px; line-height:1.55; }
.approach-copy li { padding:12px 0; }
.approach-copy li strong { font-size:14px; }
.approach-copy li p { font-size:12px; line-height:1.45; }

.notes-grid { gap:14px; }
.note-card,
.notes-grid--store .note-card { min-height:220px; padding:18px; }
.notes-grid--store .note-number { margin-bottom:20px; }
.note-line { margin:24px 0 13px; }
.note-card h3,
.notes-grid--store .note-card h3 { font-size:20px; line-height:1.12; }
.note-card > p:not(.note-number):not(.note-category),
.notes-grid--store .note-card > p:not(.note-number):not(.note-category) { margin:10px 0 14px; font-size:12px; line-height:1.48; }
.note-link { padding-top:9px; font-size:9px; }
.faq-preview { gap:clamp(30px,5vw,62px); }
.faq-list summary { padding:15px 32px 15px 0; font-size:15px; }
.faq-list summary::after { top:11px; font-size:22px; }
.faq-list p { margin-bottom:15px; font-size:13px; line-height:1.55; }

.trust-strip { margin-top:clamp(48px,6vw,72px); }
.trust-strip > div { min-height:132px; padding:20px 22px 18px 0; }
.trust-strip > div + div { padding-left:22px; }
.trust-strip strong { margin-top:22px; font-size:14px; }
.trust-strip p { font-size:12px; }

.breadcrumb { padding-top:14px; font-size:9px; }
.product-detail { margin-top:28px; grid-template-columns:minmax(300px,.72fr) minmax(360px,1fr); gap:clamp(35px,5vw,64px); align-items:start; }
.product-gallery { width:min(100%,430px); justify-self:start; box-shadow:10px 12px 0 #eee1d0; }
.product-gallery::after { inset:11px; }
.product-gallery-note { top:18px; left:19px; }
.product-detail-copy { padding:3px 0 0; }
.product-detail-copy h1 { font-size:clamp(40px,4.5vw,58px); line-height:.99; letter-spacing:-.055em; }
.product-lede { margin:16px 0 19px; font-size:14px; line-height:1.57; }
.product-facts div { min-height:65px; padding:12px 10px 10px 0; }
.product-facts div + div { padding-left:12px; }
.product-facts dt { margin-bottom:5px; font-size:8px; }
.product-facts dd { font-size:12px; }
.product-pack-selector { margin-top:18px; }
.product-pack-options button { min-height:44px; padding:7px 10px; font-size:12px; }
.product-pack-options button b { font-size:15px; }
.product-price { margin-top:13px; }
.product-price strong { font-size:23px; }
.purchase-panel { margin-top:18px; gap:9px; }
.quantity-control { min-width:108px; grid-template-columns:33px 1fr 33px; }
.basket-message { margin-top:9px; }
.product-status { margin-top:18px; padding:13px 14px; }
.product-status strong { font-size:14px; }
.product-status p { font-size:12px; }
.product-story { margin-top:clamp(52px,6vw,76px); }
.product-story-grid article { min-height:180px; padding:19px 21px 20px 0; }
.product-story-grid article + article { padding-left:21px; }
.product-story-grid h3 { font-size:21px; }
.product-story-grid article > p:last-child { font-size:12px; line-height:1.53; }
.product-back { margin-bottom:68px; }

.ker-guide { margin-top:clamp(54px,7vw,82px); }
.ker-guide-heading h2 { font-size:clamp(31px,3.8vw,45px); }
.ker-guide-heading > p:last-child { margin-top:13px; font-size:14px; line-height:1.55; }
.ker-guide-grid { margin-top:23px; gap:14px; }
.ker-guide-card { padding:20px; }
.ker-guide-card h3 { font-size:21px; }
.ker-guide-card p,
.ker-guide-card li { font-size:12px; line-height:1.55; }

.empty-state { padding:clamp(48px,7vw,78px) 0; }
.empty-state h1,
.content-hero h1,
.checkout-form h1 { font-size:clamp(38px,4.8vw,58px); line-height:1; }
.empty-state > p:not(.eyebrow),
.content-hero > p:not(.eyebrow) { margin-top:15px; font-size:14px; line-height:1.55; }
.content-page { margin-bottom:clamp(58px,8vw,90px); }
.content-hero { margin:clamp(35px,5vw,54px) 0 clamp(30px,4vw,46px); }
.contact-grid,
.policy-grid { gap:14px; }
.contact-grid article,
.policy-grid article { min-height:170px; padding:20px; }
.policy-grid article { min-height:145px; }
.contact-grid h2,
.policy-grid h2 { margin:24px 0 7px; font-size:22px; }

.cart-layout,
.checkout-layout { margin:32px 0 72px; gap:clamp(28px,4vw,54px); }
.cart-item { min-height:132px; grid-template-columns:104px minmax(0,1fr) 72px 86px; gap:16px; padding:13px 0; }
.cart-item-copy h2 { font-size:22px; }
.cart-summary { padding:20px; }
.cart-summary > div { margin-top:13px; font-size:12px; }
.cart-summary .summary-total { margin-top:16px; padding-top:14px; }
.cart-summary .summary-total strong { font-size:21px; }
.cart-summary > p { margin:17px 0 14px; }
.checkout-form label { margin-top:14px; }
.checkout-form input { min-height:44px; font-size:14px; }
.checkout-form .button { margin-top:21px; }

.site-footer { padding-top:23px; gap:24px; }
.footer-brand img { width:205px; }
.site-footer p { margin-top:8px; font-size:11px; }
.footer-links { gap:8px 17px; font-size:11px; }

@media (max-width:1050px) {
  .product-grid,
  .pantry-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pantry-grid { grid-template-columns:repeat(2,minmax(0,268px)); }
}

@media (max-width:850px) {
  .hero,
  .hero--store { grid-template-columns:1fr; padding:30px 0 38px; gap:25px; }
  .hero--store .hero-visual { width:min(100%,350px); justify-self:start; }
  .approach,
  .approach--store { grid-template-columns:1fr; gap:30px; }
  .approach--store .approach-art { width:min(100%,390px); }
  .product-detail { grid-template-columns:1fr; gap:32px; }
  .product-gallery { width:min(100%,410px); }
  .product-detail-copy { max-width:650px; }
  .popular-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 14px; }
  .product-story-grid article { min-height:0; padding:18px 0; }
  .product-story-grid article + article { padding-left:0; }
}

@media (max-width:760px) {
  .product-grid,
  .pantry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .category-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-strip a { min-height:68px; padding:11px 12px; }
  .category-strip a:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
  .category-strip a:nth-child(4) { border-top:1px solid var(--line); }
}

@media (max-width:650px) {
  .site-header { height:56px; }
  .brand img { width:158px; }
  .menu-toggle { width:36px; height:34px; }
  .hero,
  .hero--store { padding:24px 0 30px; gap:20px; }
  .hero h1,
  .hero--store h1 { font-size:clamp(33px,9.2vw,40px); }
  .hero-text,
  .hero--store .hero-text { margin-top:14px; font-size:14px; }
  .hero-actions { margin-top:16px; align-items:center; flex-direction:row; gap:14px; }
  .hero-points { display:none; }
  .hero--store .hero-visual { width:100%; max-height:none; aspect-ratio:16 / 9; }
  .category-strip strong { font-size:12px; }
  .category-strip small { font-size:9px; }
  .category-strip + .section { margin-top:36px; }
  .popular-products > h2 { margin-bottom:22px; font-size:32px; }
  .popular-products-grid { gap:12px 8px; }
  .popular-product-media img { padding:13px 8px 8px; }
  .product-badge { left:7px; width:27px; min-height:30px; padding:4px 2px 6px; font-size:7px; }
  .popular-product-body { min-height:125px; padding:10px; }
  .popular-product-card h3 { height:35px; font-size:14px; line-height:1.22; }
  .products-catalogue .popular-product-card h2 { height:35px; font-size:14px; line-height:1.22; }
  .popular-product-size { min-height:28px; margin-top:6px; font-size:11px; }
  .popular-product-buy { margin-top:9px; gap:5px; }
  .popular-product-buy strong { font-size:14px; }
  .popular-product-buy del { font-size:9px; }
  .product-add-button { min-width:58px; min-height:34px; padding:7px 9px; font-size:11px; }
  .section,
  .section--store { margin-top:40px; }
  .section-heading { margin-bottom:17px; }
  .section-heading h2,
  .approach-copy h2 { font-size:clamp(28px,7.4vw,34px); }
  .section-heading--row { gap:10px; }
  .section-heading--row > p { font-size:12px; }
  .product-copy { padding:10px; }
  .product-kind { margin-bottom:5px; font-size:7px; }
  .product-copy h3 { font-size:15px; line-height:1.17; }
  .product-card-buy { padding-top:12px; }
  .product-card-buy > strong,
  .product-card--pantry .product-card-buy > strong { padding-bottom:6px; font-size:15px; }
  .product-card-link { padding-top:7px; font-size:8px; }
  .catalogue-note { margin-top:10px; font-size:9px; }
  .approach--store .approach-art { max-height:none; aspect-ratio:16 / 11; }
  .approach-copy > p:not(.eyebrow) { font-size:13px; }
  .notes-grid { grid-template-columns:1fr; gap:10px; }
  .note-card,
  .notes-grid--store .note-card { min-height:0; padding:16px; }
  .faq-preview { gap:20px; }
  .breadcrumb { padding-top:11px; }
  .product-detail { margin-top:18px; gap:25px; }
  .product-gallery { width:min(100%,360px); box-shadow:7px 8px 0 #eee1d0; }
  .product-detail-copy h1 { font-size:clamp(32px,8.5vw,40px); }
  .product-lede { font-size:13px; }
  .product-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .product-facts div { display:block; min-height:62px; padding:10px 7px 8px 0; }
  .product-facts div + div { padding-left:8px; border-top:0; border-left:1px solid var(--line); }
  .product-pack-options button { min-height:42px; }
  .purchase-panel { flex-direction:row; }
  .quantity-control { width:104px; min-height:44px; }
  .product-story { margin-top:48px; }
  .product-back { margin-bottom:54px; }
  .ker-guide { margin-top:48px; }
  .ker-guide-grid { margin-top:18px; }
  .ker-guide-card { padding:16px; }
  .content-hero { margin-top:32px; }
  .content-hero h1,
  .empty-state h1,
  .checkout-form h1 { font-size:clamp(32px,8.5vw,40px); }
  .contact-grid article,
  .policy-grid article { padding:17px; }
  .contact-grid h2,
  .policy-grid h2 { margin-top:18px; font-size:20px; }
  .cart-layout,
  .checkout-layout { margin:26px 0 58px; }
  .cart-item { grid-template-columns:78px minmax(0,1fr); gap:12px; }
  .cart-item-copy h2 { font-size:18px; }
  .cart-summary { padding:17px; }
  .site-footer { gap:18px; padding-top:20px; }
  .footer-brand img { width:190px; }
}

/* Compact single-row header. */
.site-header {
  width:min(1240px,calc(100% - var(--page) * 2));
  height:68px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
}
.site-header .brand {
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.site-header .brand img { width:176px; }
.site-header .site-nav {
  width:auto;
  min-height:0;
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(26px,3vw,44px);
  padding:0;
  position:static;
  background:transparent;
  color:var(--ink);
  box-shadow:none;
  font-size:16px;
  font-weight:700;
}
.site-header .site-nav > a { padding:8px 0; border:0; color:var(--ink); }
.site-header .site-nav > a:hover { background:transparent; color:var(--red); }
.site-header .nav-cart span { color:inherit; }

@media (max-width:650px) {
  .site-header { height:56px; }
  .site-header .brand img { width:158px; }
  .site-header .site-nav {
    width:calc(100% + var(--page) * 2);
    position:absolute;
    top:100%;
    left:calc(var(--page) * -1);
    padding:8px var(--page) 12px;
    display:none;
    align-items:stretch;
    background:var(--paper);
    border:1px solid var(--line);
    box-shadow:0 12px 24px rgba(37,33,29,.14);
    font-size:14px;
  }
  .site-header .site-nav.is-open { display:flex; }
  .site-header .site-nav > a { padding:12px 6px; border-bottom:1px solid var(--line); }
}

.site-footer { grid-template-columns:1fr auto; grid-template-rows:auto auto; row-gap:8px; }
.site-footer > div:first-child { grid-column:1; grid-row:1 / 3; }
.footer-links { grid-column:2; grid-row:1; justify-content:flex-end; }
.footer-meta { grid-column:2; grid-row:2; margin:0 !important; }

@media (max-width:650px) {
  .site-footer { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .site-footer > div:first-child { grid-column:1; grid-row:1; }
  .footer-links { grid-column:1; grid-row:2; justify-content:flex-start; }
  .footer-meta { grid-column:1; grid-row:3; text-align:left; }
}

.site-footer {
  min-height:68px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.site-footer > div:first-child { display:flex; align-items:center; }
.footer-brand img { width:176px; }
.footer-meta { margin:0 !important; text-align:right; }

@media (max-width:650px) {
  .site-footer { min-height:56px; flex-direction:row; gap:16px; }
  .footer-brand img { width:158px; }
  .footer-meta { font-size:8px !important; text-align:right; }
}

.hero--store.hero--text-only {
  min-height:430px;
  grid-template-columns:1fr;
  justify-content:stretch;
  align-items:center;
  text-align:left;
}
.hero--store.hero--text-only .hero-copy { width:100%; max-width:660px; margin:0; }
.hero--store.hero--text-only h1,
.hero--store.hero--text-only .hero-text { margin-right:0; margin-left:0; }
.hero--store.hero--text-only .hero-actions,
.hero--store.hero--text-only .hero-points { justify-content:flex-start; }

@media (max-width:650px) {
  .hero--store.hero--text-only { min-height:360px; }
}

@media (min-width:651px) {
  .hero--store.hero--text-only { grid-template-columns:minmax(0,1120px); }
  .hero--store.hero--text-only .hero-copy { max-width:1120px; text-align:center; }
  .hero--store.hero--text-only h1 { max-width:none; white-space:nowrap; }
}

.hero--store.hero--text-only {
  min-height:0;
  padding:28px 0 32px;
}

@media (max-width:650px) {
  .hero--store.hero--text-only { min-height:0; padding:20px 16px 24px; }
}

.hero--store.hero--text-only {
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  justify-content:center;
  background:var(--red);
  color:#fff;
}
.hero--store.hero--text-only .hero-copy { margin:0 auto; padding:0; }
.hero--store.hero--text-only .eyebrow { color:#ffe2a6; }
.hero--store.hero--text-only h1,
.hero--store.hero--text-only h1 em { color:#fff; }
.hero--store.hero--text-only h1 { color:var(--ink); }
.hero--store.hero--text-only h1 em { color:#fff; }
.hero--store.hero--text-only .hero-text { color:rgba(255,255,255,.88); }
.hero--store.hero--text-only .button--primary { background:var(--ink); box-shadow:none; }
.hero--store.hero--text-only .button--primary:hover { background:#100e0c; }

/* Balanced home-page breathing space. */
.hero--store.hero--text-only {
  padding-top:clamp(54px,6vw,76px);
  padding-bottom:clamp(58px,6.5vw,84px);
}
.hero--store.hero--text-only .hero-copy { max-width:680px; }
.range-feature {
  margin-top:0;
  margin-bottom:clamp(72px,8vw,104px);
}

@media (max-width:650px) {
  .hero--store.hero--text-only { padding-top:36px; padding-bottom:44px; }
  .range-feature { margin-bottom:58px; }
}

.hero--store.hero--text-only {
  min-height:430px;
  grid-template-columns:minmax(0,820px);
  justify-content:center;
  align-items:center;
  text-align:center;
}
.hero--store.hero--text-only .hero-copy { width:100%; max-width:820px; margin:0 auto; }
.hero--store.hero--text-only h1 {
  max-width:820px;
  margin:0 auto;
  line-height:1.12;
}
.hero--store.hero--text-only .hero-text {
  max-width:680px;
  margin:24px auto 0;
  line-height:1.72;
}
.hero--store.hero--text-only .hero-actions { justify-content:center; }

@media (max-width:650px) {
  .hero--store.hero--text-only { min-height:350px; }
  .hero--store.hero--text-only h1 { line-height:1.13; }
  .hero--store.hero--text-only .hero-text { line-height:1.65; }
}

@media (min-width:651px) {
  .hero--store.hero--text-only { grid-template-columns:minmax(0,1120px); }
  .hero--store.hero--text-only .hero-copy { max-width:1120px; }
  .hero--store.hero--text-only h1 { max-width:none; white-space:nowrap; }
}

.hero--store.hero--text-only { min-height:0; padding-top:28px; padding-bottom:32px; }
.hero--store.hero--text-only .eyebrow { margin-top:0; }
.hero--store.hero--text-only .hero-actions { margin-bottom:0; }

@media (max-width:650px) {
  .hero--store.hero--text-only { padding-top:20px; padding-bottom:24px; }
}

.range-feature {
  width:min(1180px,calc(100% - var(--page) * 2));
  min-height:440px;
  margin:48px auto clamp(72px,8vw,104px);
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center;
  gap:clamp(12px,2vw,30px);
}
.range-feature-copy {
  min-height:0;
  padding:36px 24px;
  align-items:center;
  justify-content:center;
}
.range-feature-copy > p:not(.eyebrow) { max-width:500px; margin:0 auto; }
.range-feature-copy .button { margin-top:32px; }
.range-feature-visual { width:100%; min-height:440px; }
.range-pouch-composite { width:min(92%,520px); }

@media (max-width:850px) {
  .range-feature { min-height:0; grid-template-columns:1fr; gap:0; }
  .range-feature-copy { padding:34px 24px 18px; }
  .range-feature-visual { min-height:360px; }
}

@media (max-width:650px) {
  .range-feature { width:calc(100% - 32px); margin-top:32px; }
  .range-feature-copy { padding:28px 16px 12px; }
  .range-feature-copy .button { margin-top:24px; }
  .range-feature-visual { min-height:280px; }
  .range-pouch-composite { width:min(96%,360px); }
}

.range-feature { margin-top:48px; }

@media (max-width:650px) {
  .range-feature { margin-top:32px; }
}

.announcement {
  min-height:24px;
  padding:4px var(--page);
  display:flex;
}

.site-footer {
  width:100%;
  margin:0;
  padding:0 var(--page);
  border-top:0;
  background:var(--ink);
  color:#fff;
}
.footer-brand {
  padding:5px 9px;
  display:block;
  border-radius:4px;
  background:var(--paper);
}
.footer-meta { color:#fff; }

.home-benefits {
  width:min(1240px,calc(100% - var(--page) * 2));
  margin:0 auto clamp(72px,8vw,104px);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(18px,3vw,42px);
}
.home-benefit { text-align:center; }
.home-benefit-icon {
  width:116px;
  aspect-ratio:1;
  margin:0 auto 22px;
  display:grid;
  place-items:center;
  border:8px solid color-mix(in srgb,currentColor 42%,white);
  border-radius:44% 56% 48% 52% / 52% 45% 55% 48%;
  background:currentColor;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.65);
}
.home-benefit-icon svg { width:48px; color:#fff; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.home-benefit--leaf { color:var(--leaf); }
.home-benefit--turmeric { color:var(--turmeric); }
.home-benefit--red { color:var(--red); }
.home-benefit--plum { color:var(--plum); }
.home-benefit h2 { margin:0; color:var(--ink); font-size:18px; line-height:1.2; }
.home-benefit-note { margin-top:8px; display:block; color:var(--muted); font-size:12px; line-height:1.4; white-space:nowrap; }

@media (max-width:850px) {
  .home-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 24px; }
}

@media (max-width:500px) {
  .home-benefits { gap:34px 12px; }
  .home-benefit-icon { width:88px; margin-bottom:16px; border-width:6px; }
  .home-benefit-icon svg { width:38px; }
  .home-benefit h2 { font-size:14px; }
  .home-benefit-note { font-size:10px; white-space:normal; }
}
