{"assets":[{"id":"logo.wordmark","kind":"logo","licence":{"holder":"Wine Chips, Inc.","redistributable":true,"terms":"All rights reserved. Used inside the Wine Chips fleet only."},"lock":"locked","minWidth":"120px on screen. The lockup is a raster, so it is never scaled above its natural width \u2014 2489px for the Rally cut, 313px for the storefront cut.","misuse":["Never recolour. Plum on light and white on dark are the only two cuts that exist.","Never outline, emboss, add a shadow or place it on a busy photograph without a plum scrim.","Never stretch, condense, rotate or set at an angle.","Never rebuild it in live type \u2014 it is custom lettering, and no font in this guide draws it.","Never scale a raster above its natural width; ask for the vector master instead (D-WC1)."],"name":"Wine Chips wordmark","variants":[{"alt":"Wine Chips wordmark in plum","background":"--wc-surface","colorway":"one-color","format":"png","height":267,"label":"Plum on light \u2014 the highest-resolution cut in the fleet","platform":"web","role":"wordmark","sha256":"594a90e197add1f837b7730198f2bcb923deb61b0792c93bab38b829c34bb82e","theme":"light","url":"/api/styleguide/assets/594a90e197add1f837b7730198f2bcb923deb61b0792c93bab38b829c34bb82e","width":2489},{"alt":"Wine Chips wordmark knocked out in white","background":"--wc-plum","colorway":"inverse","format":"png","height":267,"label":"White knockout \u2014 for a plum block, the wine rail, a photograph or a dark email","platform":"web","role":"inverse","sha256":"e58cfc39f891b7cef3f4ec2174667443c81c35a4ac8bb79faaed74b686a70f18","theme":"dark","url":"/api/styleguide/assets/e58cfc39f891b7cef3f4ec2174667443c81c35a4ac8bb79faaed74b686a70f18","width":2489},{"alt":"Wine Chips wordmark in plum, storefront cut","background":"--wc-surface","colorway":"one-color","format":"png","height":72,"label":"Plum on light, 313 px \u2014 the exact file the storefront header serves today","platform":"web","role":"wordmark","sha256":"b6ca1c68caf6609d5e0160ed816de41cc7b9fff9648099b1c56b143ba3246a07","theme":"light","url":"/api/styleguide/assets/b6ca1c68caf6609d5e0160ed816de41cc7b9fff9648099b1c56b143ba3246a07","width":313}]},{"id":"appicon.favicon","kind":"appicon","licence":{"holder":"Wine Chips, Inc.","redistributable":true,"terms":"All rights reserved."},"lock":"locked","misuse":["Never the only icon a platform is given: 32px is below every modern requirement.","Never upscaled to fill a 180px or 512px slot."],"name":"Favicon","variants":[{"alt":"Wine Chips favicon","background":"--wc-white","colorway":"one-color","format":"png","height":32,"label":"32 x 32 \u2014 the only icon the live site serves","platform":"web","purpose":"any","role":"favicon","sha256":"a3d80a524426be27c0c6c87b70dcd788c7c246dc6b52d3ed89f30539b3801bf1","theme":"any","url":"/api/styleguide/assets/a3d80a524426be27c0c6c87b70dcd788c7c246dc6b52d3ed89f30539b3801bf1","width":32}]},{"id":"og.social","kind":"og","licence":{"holder":"Wine Chips, Inc.","redistributable":true,"terms":"All rights reserved."},"lock":"tunable","misuse":["Never treated as a designed social card: it carries no wordmark and its 1.66:1 ratio crops unpredictably at 1.91:1."],"name":"Social share image","variants":[{"alt":"Wine Chips tubes, spring range","format":"jpg","height":1028,"label":"The og:image and twitter:image the storefront serves \u2014 a seasonal product photograph, not a designed card","platform":"social","role":"og","sha256":"479ee7100685561a3435a01b4aea182250e10dded1fb0885e2227bc59691a6e2","theme":"any","url":"/api/styleguide/assets/479ee7100685561a3435a01b4aea182250e10dded1fb0885e2227bc59691a6e2","width":1707}]},{"id":"font.display","kind":"font","licence":{"holder":"Anton Koovit","redistributable":true,"terms":"The binary's own name table records 'Copyright (c) 2010 Anton Koovit.' and a licence URL of http://www.korkork.com/license/arvo/; the upstream Google Fonts distribution of Arvo is SIL Open Font License 1.1, and OS/2 fsType is 0 (installable embedding, no restriction). Confirm the licence line with the owner \u2014 D-WC1, item 5."},"lock":"locked","name":"Arvo","variants":[{"format":"woff2","label":"Arvo Regular 400 \u2014 the exact WOFF2 the storefront serves (arvo_n4)","platform":"web","role":"font","sha256":"af9a85531f3f742a38ed066e50591a98a8a36b952e9ccb6b8117dcc42713a777","theme":"any","url":"/api/styleguide/assets/af9a85531f3f742a38ed066e50591a98a8a36b952e9ccb6b8117dcc42713a777"}]},{"id":"font.sans","kind":"font","licence":{"holder":"The Montserrat Project Authors","redistributable":true,"terms":"SIL Open Font License 1.1, declared in the binary's own name table; OS/2 fsType is 0. Free to use, embed and redistribute with the licence."},"lock":"locked","name":"Montserrat","variants":[{"format":"woff2","label":"Montserrat Regular 400 \u2014 the exact WOFF2 the storefront serves (montserrat_n4)","platform":"web","role":"font","sha256":"c0ec39d77c456f49c6434f667679bbfcbf75ca15bc70adb159bbf54c8ce5d7ec","theme":"any","url":"/api/styleguide/assets/c0ec39d77c456f49c6434f667679bbfcbf75ca15bc70adb159bbf54c8ce5d7ec"}]},{"id":"font.sans-bold","kind":"font","licence":{"holder":"The Montserrat Project Authors","redistributable":true,"terms":"SIL Open Font License 1.1, declared in the binary's own name table; OS/2 fsType is 0."},"lock":"locked","name":"Montserrat Bold","variants":[{"format":"woff2","label":"Montserrat Bold 700 (montserrat_n7). Declared under its own family name because the master's emitter writes one weightless @font-face per font asset \u2014 see drift.","platform":"web","role":"font","sha256":"2ede5e0c613d16828b40e64c06898484080f909ac09a4567a1d5929e01a686db","theme":"any","url":"/api/styleguide/assets/2ede5e0c613d16828b40e64c06898484080f909ac09a4567a1d5929e01a686db"}]},{"id":"font.sans-italic","kind":"font","licence":{"holder":"The Montserrat Project Authors","redistributable":true,"terms":"SIL Open Font License 1.1, declared in the binary's own name table; OS/2 fsType is 0."},"lock":"locked","name":"Montserrat Italic","variants":[{"format":"woff2","label":"Montserrat Italic 400 (montserrat_i4), italic angle -11.3 degrees","platform":"web","role":"font","sha256":"ef5d0ee539ba1931161ad8ab978464644893d2e9c5dab04d770ec551e66fa287","theme":"any","url":"/api/styleguide/assets/ef5d0ee539ba1931161ad8ab978464644893d2e9c5dab04d770ec551e66fa287"}]},{"id":"font.sans-bold-italic","kind":"font","licence":{"holder":"The Montserrat Project Authors","redistributable":true,"terms":"SIL Open Font License 1.1, declared in the binary's own name table; OS/2 fsType is 0."},"lock":"locked","name":"Montserrat Bold Italic","variants":[{"format":"woff2","label":"Montserrat Bold Italic 700 (montserrat_i7)","platform":"web","role":"font","sha256":"50062f6aa45cb51f8a8d2ba3d676f17503467f03f8f246ef8ecd36ca286ba19c","theme":"any","url":"/api/styleguide/assets/50062f6aa45cb51f8a8d2ba3d676f17503467f03f8f246ef8ecd36ca286ba19c"}]}],"brand":{"channel":"stable","id":"winechips","name":"Wine Chips","version":1},"components":[{"classes":[".announcement-bar",".announcement-bar__message",".announcement-bar__link"],"description":"The full-bleed wine rail at the very top of every page. One line, Arvo 400 at 16px, white on --wc-accent, optionally a link.","group":"Chrome","id":"announcement-bar","name":"Announcement rail","rules":["One message at a time. The rail never stacks and never scrolls its content.","It is the only element in the system allowed to be a full-bleed field of --wc-accent.","Never set below 16px and never in Montserrat \u2014 this is Arvo's one non-heading job."],"states":[{"name":"Rest","spec":"--wc-accent ground, --wc-on-accent ink, padding 11px 22px (55px inline above 750px), 1px transparent bottom border, z-index 10"},{"name":"Hover (link)","spec":"ground crossfades to --wc-accent-hover over 100ms ease-in-out; the ink does not change"},{"name":"Dismissed","spec":"the rail is removed from flow; nothing collapses under it"}]},{"classes":[".site-header",".site-header__logo",".site-header__logo-image",".logo-align--center"],"description":"A white header with the wordmark centred, 250px maximum, over a navigation row.","group":"Chrome","id":"site-header","name":"Site header","rules":["The wordmark is an image asset, never live type.","The header carries no shadow \u2014 a hairline is the whole separation.","The logo never exceeds 250px wide on the storefront, and never scales above the shipped asset's natural width."],"states":[{"name":"Rest","spec":"--wc-surface ground, padding 0 55px above 750px, logo margin 15px 0, z-index 11"},{"name":"Small","spec":"below 750px a 1px --wc-border bottom rule appears and the padding drops to the 22px gutter"}]},{"classes":["#SiteNav",".site-nav__link"],"description":"Four uppercase Montserrat items with 1px tracking; the third (Private Reserve Club) carries a wine ground as a permanent highlight.","group":"Chrome","id":"site-nav","name":"Primary navigation","rules":["At most one highlighted item. A second wine ground in the nav is a second accent.","The theme asks for font-weight 600, which is not a loaded Montserrat cut; use 700 (drift)."],"states":[{"name":"Rest","spec":"--wc-ink, padding 4px 15px 5px, uppercase, tracking 1px"},{"name":"Hover / focus","spec":"--wc-link-hover with a 1px underline"},{"name":"Highlighted item","spec":"--wc-accent ground with --wc-on-accent ink \u2014 the club item only"},{"name":"Focus-visible","spec":"a 4px --wc-focus-ring halo"}]},{"classes":[".btn"],"description":"The wine action. Montserrat 700 uppercase with 1px tracking on a 2px corner.","group":"Actions","id":"btn-primary","name":"Button \u2014 primary","rules":["White on wine measures 7.50:1 \u2014 the primary button is the brand's most accessible surface and should not be softened.","Never full-width above 750px except inside an input group.","One primary button per view. A second wine fill competes with the rail."],"states":[{"name":"Rest","spec":"--wc-accent ground, --wc-on-accent label, 1px transparent border, radius 2px, padding 10px 18px (8px 15px below 750px)"},{"name":"Hover / focus","spec":"ground --wc-accent-hover over 100ms ease-in-out"},{"name":"Focus-visible","spec":"a 4px --wc-focus-ring halo outside the border"},{"name":"Disabled","spec":"--wc-fill-strong ground, --wc-ink-dim label, cursor default, no hover"},{"name":"Busy","spec":"the label is replaced by the spin keyframe at 500ms linear; the button keeps its width"}]},{"classes":[".btn--secondary",".btn--secondary-accent"],"description":"A transparent button with a --wc-action border and label. The theme's neutral action, still shipped alongside the wine primary.","group":"Actions","id":"btn-secondary","name":"Button \u2014 secondary","rules":["Secondary never fills on hover \u2014 it is a border button in every state.","The neutral graphite here is the storefront's shipped value, not a brand colour (decision W-8)."],"states":[{"name":"Rest","spec":"transparent ground, --wc-action border and label, radius 2px"},{"name":"Hover / focus","spec":"border and label move to --wc-action-hover; the ground stays transparent"},{"name":"On an image","spec":".btn--secondary-accent swaps the ground to --wc-surface so the label stays readable"}]},{"classes":[".btn.slideshow__btn",".wc-on-plum .btn"],"description":"The button the storefront ships on a hero image or a plum block: transparent, 2px white border, white uppercase label.","group":"Actions","id":"btn-outline-dark","name":"Button \u2014 knockout","rules":["The border is 2px here and 1px everywhere else \u2014 a knockout needs the weight against photography.","Never place a wine fill on a plum block; the knockout is the dark-ground primary."],"states":[{"name":"Rest","spec":"transparent ground, 2px --wc-action border, --wc-action label"},{"name":"Hover / focus","spec":"fills to --wc-action with a --wc-on-action label"},{"name":"Focus-visible","spec":"a cream --wc-focus-ring halo"}]},{"classes":[".slideshow",".slideshow__image",".slideshow__text-box",".slideshow__text-content"],"description":"A full-bleed image with a left-aligned text box, a headline and up to two buttons. Separate desktop and mobile art.","group":"Editorial","id":"hero","name":"Hero / slideshow","rules":["Art direction: keep focal subjects right of centre \u2014 the left is where the headline lands.","The slideshow never auto-advances under prefers-reduced-motion.","A headline over photography is always --wc-on-ink over the overlay, never plum."],"states":[{"name":"Rest","spec":"text-align left, an image overlay at 0.17 opacity (0.57 on hover) over --wc-image-overlay"},{"name":"Small","spec":"the mobile image replaces the desktop image below 750px"},{"name":"Advancing","spec":"450ms on --wc-ease; arrows and dots are always present"}]},{"classes":[".feature-row",".feature-row__text",".feature-row__image"],"description":"A two-column image-and-text band, alternating side, on white or --wc-surface-alt.","group":"Editorial","id":"feature-row","name":"Feature row","rules":["Alternate the image side down the page; never two rows the same way running.","The band's ground alternates white / --wc-surface-alt and never uses the cream \u2014 the cream is for logo and press strips."],"states":[{"name":"Rest","spec":"text padding 35px block, 35px inline on the inner edge; image max-width 500px"},{"name":"Small","spec":"stacks, image first, text padding-bottom 0"}]},{"classes":["#shopify-section-lander-logo-list","#shopify-section-lander-as-seen-on"],"description":"The one warm section ground: a --wc-surface-warm band carrying a logo list, a press strip or an 'as seen on' rail.","group":"Editorial","id":"cream-band","name":"Cream band","rules":["Only for third-party marks and press. Never a product band, never a CTA band.","Third-party logos keep their own colour; they are not knocked back to plum.","At most one cream band per page."],"states":[{"name":"Rest","spec":"--wc-surface-warm ground, --wc-ink copy, 30px block padding"}]},{"classes":[".wc-on-plum"],"description":"The signature dark band: linear-gradient(90deg, rgba(166,25,46,1) 0%, rgba(81,42,68,1) 100%), carrying a testimonial, a club pitch or a partner message.","group":"Editorial","id":"plum-band","name":"Wine-to-plum band","rules":["The gradient is always 90deg and always wine on the left. It is never rotated, reversed or animated.","One dark band per page. Two turn a light brand into a dark one.","Never place cream type on the wine end or wine type on the plum end \u2014 use --wc-ink."],"states":[{"name":"Rest","spec":"mount .wc-on-plum; every role token remaps, the accent becomes the cream and the button becomes a knockout"},{"name":"Flat variant","spec":"a solid --wc-surface-warm (#A6192E) band where the gradient would fight the content"}]},{"classes":[".grid-view-item",".grid-view-item__title",".grid-view-item__image"],"description":"An image, a plum title and a price in a 30px grid. No card ground, no border, no shadow.","group":"Commerce","id":"product-card","name":"Product card","rules":["The card is the image. No panel, no border, no shadow.","The title is never uppercase \u2014 a product name is Title Case."],"states":[{"name":"Rest","spec":"transparent ground, --wc-ink title, 35px bottom margin"},{"name":"Hover","spec":"the image scales to at most 1.04 over 450ms on --wc-ease; the title takes --wc-link-hover"},{"name":"Sold out","spec":"a --wc-fill-soft badge with --wc-ink-muted label; the image drops to 60% opacity"},{"name":"On sale","spec":"the regular price is struck through in --wc-ink-dim and the sale price is --wc-sale-ink"}]},{"classes":[".price",".price--on-sale",".price-item--sale",".price-item--regular"],"description":"Montserrat 400 at 14px in plum; on sale the regular price is struck and the sale price takes the sale ink.","group":"Commerce","id":"price","name":"Price","rules":["A sale price is small text, so it uses --wc-sale-ink (5.12:1), not the shipped --wc-sale (4.64:1) \u2014 decision W-9.","Never colour a regular price. Only a sale price carries a hue."],"states":[{"name":"Rest","spec":"--wc-ink"},{"name":"On sale","spec":".price--on-sale hides the regular price row and shows .price__sale; .price-item--sale is --wc-sale-ink"},{"name":"Unit price","spec":"--wc-ink-dim at 12px beneath the price"}]},{"classes":["input","textarea","select",".disclosure__toggle",".input--error"],"description":"Montserrat 400 at 14px, 8px 15px padding, a 1px --wc-border-form edge and a 2px corner.","group":"Forms","id":"input","name":"Input and textarea","rules":["Font-size is 16px on touch to stop iOS zooming; 14px above 750px.","An error state always carries a message as well as the colour.","Placeholder text is never the label."],"states":[{"name":"Rest","spec":"--wc-surface ground, --wc-ink text, 1px --wc-border-form edge"},{"name":"Hover","spec":"edge to --wc-border-strong"},{"name":"Focus","spec":"a 3px --wc-focus-ring halo; the edge stays"},{"name":"Error","spec":"--wc-negative edge and text on a --wc-negative-bg ground; the placeholder is --wc-negative at 0.5 opacity"},{"name":"Disabled","spec":"--wc-fill-subtle ground, --wc-ink-dim text, no halo"}]},{"classes":[".input-group",".input-group__field",".input-group__btn"],"description":"A field and a button welded into one control: the field takes the left 2px corners, the button the right.","group":"Forms","id":"input-group","name":"Input group","rules":["The button inside an input group is always the primary wine.","The field's flex-basis is 15rem and it grows; the button never does."],"states":[{"name":"Rest","spec":"min-height 42px below 750px, 46px above; field radius 2px 0 0 2px, button radius 0 2px 2px 0"},{"name":"Small","spec":"the pair stacks and each half regains all four corners"}]},{"classes":[".form-message",".form-message--success",".form-message--error"],"description":"A full-width message block above a form: a 1px rule, a tinted ground and a matching ink.","group":"Forms","id":"form-message","name":"Form message","rules":["A link inside an error message is underlined and stays --wc-negative-ink.","The message names what to do next, not only what went wrong."],"states":[{"name":"Success","spec":"1px --wc-positive rule, --wc-positive-bg ground, --wc-positive-ink text, padding 10px"},{"name":"Error","spec":"1px --wc-negative rule, --wc-negative-bg ground, --wc-negative-ink text, padding 1rem 1.3rem"}]},{"classes":[".site-footer__item-inner--newsletter",".btn.newsletter__submit"],"description":"An email field and a wine Subscribe button under a JOIN THE COMMUNITY heading, inside the footer.","group":"Forms","id":"newsletter","name":"Newsletter","rules":["The consent line sits under the field, at 12px in --wc-ink-dim, and is never hidden behind a link."],"states":[{"name":"Rest","spec":"an input group on --wc-surface-alt; the submit is --wc-accent"},{"name":"Submitted","spec":"the group is replaced by a success form-message"}]},{"classes":[".site-footer",".site-footer__hr",".site-footer__linklist",".site-footer__copyright-content"],"description":"A --wc-surface-alt block with link columns, a newsletter, social marks and the registered address.","group":"Chrome","id":"footer","name":"Site footer","rules":["The footer is the one region where the ink is a neutral rather than the plum \u2014 a shipped inconsistency recorded as drift, not a licence to add greys elsewhere.","Social marks are --wc-ink, not the platforms' own colours, in the footer row."],"states":[{"name":"Rest","spec":"--wc-surface-alt ground, --wc-ink-muted default ink, padding 45px 0 55px, 55px top margin"},{"name":"Links","spec":"--wc-ink at rest, --wc-ink-dim on hover with a 1px underline"},{"name":"Rule","spec":"a 1px --wc-hairline-footer border-bottom"}]},{"classes":[".social-icons__link",".icon--full-color"],"description":"A row of platform marks at 20px, filled with currentColor.","group":"Chrome","id":"social-icons","name":"Social marks","rules":["A footer social row is monochrome. A share button is not."],"states":[{"name":"Rest","spec":"--wc-ink"},{"name":"Hover","spec":"--wc-ink-dim"},{"name":"Share buttons","spec":".btn--share keeps each platform's own brand colour and is exempt from currentColor"}]},{"classes":[".drawer",".cart-popup"],"description":"A right-hand drawer (z-index 9, contents at 8) and a lighter 400px popup confirming an add-to-cart.","group":"Commerce","id":"cart-drawer","name":"Cart drawer and popup","rules":["Focus moves into the drawer on open and returns to the trigger on close.","Escape closes. The dim behind is a click target that also closes.","The popup heading is 'Just added to your cart' and the two actions are 'View cart' and 'Continue shopping'."],"states":[{"name":"Opening","spec":"slides in over 450ms on --wc-ease; the page behind dims"},{"name":"Rest","spec":"--wc-surface ground, 1px --wc-border hairlines, padding 0.2rem 1.5rem 1rem in the popup"},{"name":"Reduced motion","spec":"appears at its final position with no slide"}]},{"classes":[".pagination"],"description":"Centred inline page numbers at 15px with 55px of space above.","group":"Navigation","id":"pagination","name":"Pagination","rules":["The current page is a weight change, not a wine chip. Wine is reserved for actions."],"states":[{"name":"Rest","spec":"--wc-ink numbers"},{"name":"Current","spec":"--wc-ink at 700, not a fill"},{"name":"Hover","spec":"--wc-link-hover"},{"name":"Disabled","spec":"--wc-ink-dim, no pointer"}]},{"classes":[".rte",".rte-setting"],"description":"CMS-authored prose: paragraphs at 14px, large at 16px, small at 12px, headings on the Arvo scale.","group":"Editorial","id":"rte","name":"Rich text","rules":["A rich-text block never introduces a colour. Everything it can render is already a role token.","Lists and blockquotes stay inside the 1200px measure; a blockquote is a 2px --wc-accent left rule."],"states":[{"name":"Rest","spec":"--wc-ink at line-height 1.5; a link is --wc-ink with a 1px underline"},{"name":"Link hover","spec":"--wc-link-hover"}]},{"classes":[".blankstate",".image-loader",".btn .icon-spinner"],"description":"The three states every commerce surface owes a shopper.","group":"States","id":"empty-error-loading","name":"Empty, error and loading","rules":["An empty state always offers the next action.","A loading state never blocks the whole page.","No skeleton shimmer anywhere in the editorial register."],"states":[{"name":"Empty","spec":"--wc-fill-soft ground, 1px --wc-fill-strong rule, --wc-ink-muted copy, and one primary action"},{"name":"Loading","spec":"a --wc-fill-subtle placeholder block for an image; a 500ms linear spinner inside a busy button. No shimmer."},{"name":"Error","spec":"a form-message error block, or a page-level message with a way back to the shop"}]}],"generatedAt":"2026-09-07T21:52:27.000Z","hardRules":[{"category":"Colour","rule":"Plum #512A44 is the brand's single ink. Body copy, links, footer text, social marks and the wordmark are all plum; the brand does not run a grey text ramp.","source":"storefront :root --color-text / --color-body-text; the wordmark PNG is one colour, #512A44"},{"category":"Colour","rule":"Wine red #A6192E is the ONE signal accent: the announcement rail, the primary button, the newsletter submit, the active nav item. There is never a second accent hue.","source":"storefront theme.css \u2014 13 occurrences, every one a signal"},{"category":"Colour","rule":"Cream #FBF3DA is a GROUND, never an ink and never a fill on a control. It is the section band for logo lists, press strips and 'as seen on' rails.","source":"storefront theme.css \u2014 #shopify-section-lander-logo-list, -as-seen-on, -collections-as-seen-on, -firstleaf-as-featured"},{"category":"Colour","rule":"Burgundy #7C2D3E, #722F37 and #7F1D1D are NOT Wine Chips. Three internal tools independently invented them; no artwork, no packaging and no live storefront surface uses any of the three (decision W-1).","source":"decision W-1"},{"category":"Colour","rule":"Gold #C5943A / #C9A84C is not a Wine Chips brand colour. It appears only inside two internal tools and has no storefront or packaging source (decision W-1).","source":"decision W-1"},{"category":"Colour","rule":"A dark region is entered by mounting .wc-on-plum (or the operator register's dark mode), which remaps every role token. Components are never recoloured by hand for a plum ground.","source":"decision W-3"},{"category":"Colour","rule":"On a plum or wine ground the signal is CREAM, not wine \u2014 wine on plum is 1.9:1 and cannot carry meaning. --wc-accent resolves to #FBF3DA on the inverted surface for exactly this reason.","source":"decision W-3"},{"category":"Colour","rule":"Status colour is never the only channel. A success, a warning or an error carries an icon or a word as well as its hue.","source":"storefront .form-message--success / --error, which pair colour with an icon and a sentence"},{"category":"Typography","rule":"Arvo sets every heading and nothing else. Montserrat sets every other word in both registers.","source":"decision W-6"},{"category":"Typography","rule":"Headings h2\u2013h6 are uppercase at 0.1em tracking; buttons and navigation are uppercase at 1px. Uppercase without tracking is never correct.","source":"storefront critical CSS .h2,h2 and theme.css .btn / #SiteNav"},{"category":"Typography","rule":"Type floor 12px, heading floor 17px, in both registers.","source":"storefront --font-rich-text-small: 12; --font-h6-mobile: 17"},{"category":"Typography","rule":"Only Montserrat 400 and 700 are loaded. Declaring 500 or 600 produces a synthesised weight, which is a bug, not a style.","source":"storefront @font-face block \u2014 n4 and n7 only"},{"category":"Shape","rule":"The brand corner is 2px. A pill is 25px, a circle is 50%, and nothing else is rounded in the editorial register.","source":"storefront theme.css \u2014 .btn, .input-group__field, .grid-view-item"},{"category":"Shape","rule":"The operator register's corner is 0.5rem (8px), inherited from the wc-gorgias design system, and it is a register difference rather than a drift \u2014 a dense tool needs a softer corner than a 14px storefront (decision W-5).","source":"decision W-5"},{"category":"Shape","rule":"Structure comes from hairlines, not from shadow. The only two shadows in the system are the overlay pair; a card, a row, a panel and a table never carry one.","source":"wc-gorgias UI-DESIGN-SYSTEM.md \u2014 'Subtle borders everywhere, never heavy borders'; the storefront ships no card shadow"},{"category":"Layout","rule":"The editorial page is 1200px maximum with 55px gutters above 750px and 22px below; the grid gutter is 30px desktop / 22px mobile.","source":"storefront theme.css .page-width, .grid"},{"category":"Layout","rule":"The operator shell is three panels \u2014 288px sidebar, fluid main, 384px context \u2014 above 1280px, and the context panel becomes a sheet below it.","source":"wc-gorgias UI-DESIGN-SYSTEM.md \u00a7 master layout"},{"category":"Motion","rule":"Meaningful motion is 450ms or less; the storefront's own easing is cubic-bezier(0.29, 0.63, 0.44, 1). The operator register caps at 250ms.","source":"storefront theme.css transitions; decision W-7"},{"category":"Assets","rule":"The wordmark ships in exactly two colourways \u2014 plum on light, white on dark. It is never recoloured, never outlined, never given a shadow and never set in live type.","source":"decision W-4"},{"category":"Assets","rule":"No vector master exists. Every shipped mark is a raster, so a lockup is never scaled above its natural width (2489px for the Rally cut, 313px for the storefront cut) \u2014 the gap is decision W-4 and gate D-WC1.","source":"decision W-4"},{"category":"Voice","rule":"The founder story keeps its jokes. Product copy does not make health, diet or wellness claims, and the press strip names only real placements.","source":"winechips.com/pages/our-story"},{"category":"Governance","rule":"This guide is DESCRIPTIVE and PROVISIONAL: it documents what the live storefront and the internal tools ship today. Nothing here is ratified brand law until the owner closes gate D-WC1.","source":"decision W-1, W-4; STYLEGUIDE-PLATFORM-PLAN \u00a79"},{"category":"Governance","rule":"Rally, the Private Reserve Club and DaVinci are not yet decided sub-brands. Until D-WC2 is ruled they are consumers of this brand, not brands of their own.","source":"decision W-2"},{"category":"Governance","rule":"Print builds are unspecified. No Pantone, CMYK or RAL value exists anywhere in the fleet for any Wine Chips colour, and none has been invented here.","source":"decision W-4"}],"iconography":{"cornerRadius":"2px on a stroked terminal in the operator set, matching the brand's 2px corner; nothing in either set is drawn with a radius above 2px except a true circle.","grid":"Editorial 20 \u00d7 20 (.icon is width: 20px; height: 20px). Operator 24 \u00d7 24 on a 2px keyline, rendered at 16px in a table row and 20px in a toolbar.","library":"Editorial: the Shopify Debut icon sprite (a small closed set drawn to a 20 \u00d7 20 box, filled with currentColor). Operator: Lucide, the icon set the wc-gorgias design system installs alongside shadcn/ui.","rules":["Colour comes from currentColor. An icon is never given a colour of its own; it inherits the ink of the thing it labels.","The two sets are never mixed on one surface: a storefront page uses the Debut sprite, an operator screen uses Lucide.","A social platform's own mark keeps that platform's colour and is exempt from currentColor (.icon--full-color).","No brand mark is ever redrawn as an icon; the wordmark is an asset, not a glyph.","An icon-only control carries a visually-hidden label (.icon__fallback-text) \u2014 the storefront already ships the pattern."],"sizes":[{"use":"Editorial \u2014 the storefront default (.icon)","value":"20px"},{"use":"Operator \u2014 inside a table row, a chip or a dense button","value":"16px"},{"use":"Operator \u2014 toolbar, sidebar rail and empty-state","value":"20px"},{"use":"Operator \u2014 the drawing grid, and an empty-state or error illustration","value":"24px"}],"strokeWidth":"Editorial icons are FILLED (fill: currentColor) and carry no stroke. Operator icons are stroked at 1.5px with round caps and joins, and are never filled.","style":"One weight, one metaphor per concept, no duotone and no filled-and-outlined pairs of the same glyph. An icon carries a label unless the control is one of the six the whole web already knows (search, cart, account, close, back, menu); an icon alone is never the only carrier of an action's meaning."},"identity":{"customer":"Wine drinkers who entertain \u2014 home hosts, club members, tasting rooms, gift buyers, and the fundraising organisers and sellers who move the product through Rally. They are buying a moment with a bottle open, not a nutrition panel.","emotion":"Simply delicious, paired perfection.","feels":["Appetising","Warm","Convivial","Premium but relaxed","Handmade","Bold","Celebratory","Midwestern-direct"],"neverFeels":["Clinical","Corporate-beige","Sommelier-snobbish","Cold or minimal for its own sake","Diet-food","Like a generic Shopify theme with a logo dropped in"],"personality":["Warm and unpretentious \u2014 a wine brand that refuses to be precious about wine","Bold in flavour language: boldest, cheesiest, most satisfying","Founder-voiced \u2014 the story is told in the first person plural, with the joke left in","Appetite-first: the product is food before it is a lifestyle","Generous \u2014 clubs, fundraisers and partners are all invitations, not funnels","Confident about craft (lattice-cut, small batch) without a tasting-note vocabulary"],"positioning":"Wine Chips is a premium lattice-cut potato chip engineered for one job: to be eaten with wine. Invented in 2017 in Paw Paw, Michigan by people who wanted cheese and wine in the same hand, it is sold direct on winechips.com, through the Private Reserve Club subscription, through the Rally fundraising programme, and through wholesale and partner channels.","signatures":[{"description":"A full-bleed wine-red (#A6192E) announcement bar at the top of every page, white 16px Arvo, that carries the current flavour or offer. It is the only place the brand shouts.","name":"The wine rail"},{"description":"linear-gradient(90deg, rgba(166,25,46,1) 0%, rgba(81,42,68,1) 100%) \u2014 the horizontal band behind a club, testimonial or partner section. Wine on the left, plum on the right, always 90deg, never reversed.","name":"The wine-to-plum gradient"},{"description":"A #FBF3DA section ground used for logo lists, press strips and 'as seen on' rails \u2014 the only warm ground in the system and the only alternative to white.","name":"The cream band"},{"description":"Section headings are Arvo 400 in uppercase at 0.1em tracking; nav and buttons are Montserrat with 1px letter-spacing. Nothing in the brand is set in sentence case above body size.","name":"Caps with air"},{"description":"Body copy, links, footer text and the wordmark are all one colour \u2014 plum #512A44. The brand reads as a single ink, not as a grey ramp.","name":"The plum ink"},{"description":"Buttons, inputs and cards carry a 2px radius \u2014 almost square. Roundness in this brand is a 25px pill or a full circle, never a soft 8px corner.","name":"The 2px corner"}],"tension":{"a":{"name":"Vinous","traits":["premium","considered","cellar-dark","grown-up"]},"b":{"name":"Snackable","traits":["bold","cheesy","loud","unserious"]}},"visualReferences":["The plum wordmark on white \u2014 a single-ink lettering mark, never recoloured outside the two shipped cuts","A white page with a plum-tinted wash and one cream band, punctuated by a wine-red announcement rail","The wine \u2192 plum horizontal gradient behind a testimonial or club band","Arvo slab headings in caps over Montserrat body copy \u2014 the storefront's own pairing","Product photography of tubes and lattice chips against warm neutral grounds"]},"layout":{"breakpoints":[{"meaning":"Small \u2014 the single-column phone layout","note":"@media only screen and (max-width: 749px) \u2014 90 rules","value":"749px"},{"meaning":"Medium \u2014 the page opens to 55px gutters and the 30px grid","note":"@media only screen and (min-width: 750px) \u2014 133 rules, the system's real hinge","value":"750px"},{"meaning":"Large \u2014 the desktop navigation and multi-column feature rows","note":"@media only screen and (min-width: 990px) \u2014 11 rules","value":"990px"},{"meaning":"Widescreen \u2014 one slideshow refinement only","note":"@media only screen and (min-width: 1400px) \u2014 1 rule","value":"1400px"}],"containerQueries":[],"maxWidths":[{"usedBy":".page-width \u2014 every page","value":"1200px"},{"usedBy":"A feature-row image","value":"500px"},{"usedBy":"The cart popup and the predictive-search panel","value":"400px"},{"usedBy":"A drawer column","value":"300px"},{"usedBy":"A payment-icon row","value":"160px"}],"policies":["One measure: 1200px. There is no second container width and no full-bleed exception except a slideshow, a feature row's image and the announcement rail.","The gutter is 55px above 750px and 22px below. The grid gutter is 30px / 22px on the same hinge.","750px is the layout's only real hinge; 990px and 1400px are refinements, not layouts.","Sections stack at a 55px rhythm. A section never sets its own top and bottom margin independently.","The brand's own z-index scale ends at 11. Anything above 999 is a third-party layer the brand does not own.","Nothing is sticky except the header. There is no sticky CTA, no sticky filter bar and no sticky footer."],"spacing":[{"note":"The page's inline padding above 750px, and the vertical rhythm between sections","token":"--wc-space-gutter","value":"55px"},{"note":"The page's inline padding below 750px","token":"--wc-space-gutter-sm","value":"22px"},{"note":"The grid gutter above 750px (.grid margin-left: -30px)","token":"--wc-space-grid","value":"30px"},{"note":"The grid gutter below 750px","token":"--wc-space-grid-sm","value":"22px"},{"note":"Feature-row inner padding, and the bottom margin of a product card","token":"--wc-space-block","value":"35px"},{"note":"Button padding above 750px (8px 15px below)","token":"--wc-space-control","value":"10px 18px"},{"note":"Input and textarea padding","token":"--wc-space-field","value":"8px 15px"}],"structure":[{"role":".page-width \u2014 the only content measure in the system","token":"--wc-page-max","value":"1200px"},{"role":".site-header__logo-image, the shop's own setting","token":"--wc-header-logo-max","value":"250px"},{"role":".site-header above 750px","token":"--wc-header-pad","value":"0 55px"},{"role":".announcement-bar__message (55px inline above 750px)","token":"--wc-announce-pad","value":"11px 22px"},{"role":".input-group__field \u2014 below / above 750px","token":"--wc-field-min-height","value":"42px / 46px"},{"role":".site-footer (35px bottom below 750px)","token":"--wc-footer-pad","value":"45px 0 55px"},{"role":"Buttons, inputs, cards, the input group's outer corners","token":"--wc-radius","value":"2px"},{"role":"The one pill in the system","token":"--wc-radius-pill","value":"25px"},{"role":"Avatars, dots, the cart count, the scroll-to-top control","token":"--wc-radius-circle","value":"50%"},{"role":"Every hairline; a knockout button on dark art is 2px","token":"--wc-border-width","value":"1px"},{"role":"The focus halo (3px on dense controls)","token":"--wc-focus-width","value":"4px"}],"zIndex":[{"usedBy":"In-flow content: slideshow layers, product media, overlay captions","value":"1\u20135"},{"usedBy":"Drawer contents","value":"8"},{"usedBy":"The drawer itself","value":"9"},{"usedBy":"The announcement bar","value":"10"},{"usedBy":"The sticky site header","value":"11"},{"usedBy":"The cart popup and the predictive-search overlay","value":"999\u20131000"},{"usedBy":"Third-party app layers (scroll-to-top, review widgets). Not the brand's own scale \u2014 see drift.","value":"9999\u201310000"}]},"lockMap":{"assets":"locked","assets.appicon.favicon":"locked","assets.font.display":"locked","assets.font.sans":"locked","assets.font.sans-bold":"locked","assets.font.sans-bold-italic":"locked","assets.font.sans-italic":"locked","assets.logo.wordmark":"locked","assets.og.social":"tunable","identity":"locked","layout":"tunable","motion":"locked","rules":"locked","tokens":"tunable","tokens.editorial.--font-display":"tunable","tokens.editorial.--font-sans":"tunable","tokens.editorial.--wc-accent":"locked","tokens.editorial.--wc-accent-hover":"tunable","tokens.editorial.--wc-action":"tunable","tokens.editorial.--wc-action-hover":"tunable","tokens.editorial.--wc-border":"tunable","tokens.editorial.--wc-border-form":"tunable","tokens.editorial.--wc-border-strong":"tunable","tokens.editorial.--wc-cream":"locked","tokens.editorial.--wc-fill-soft":"tunable","tokens.editorial.--wc-fill-strong":"tunable","tokens.editorial.--wc-fill-subtle":"tunable","tokens.editorial.--wc-focus-ring":"tunable","tokens.editorial.--wc-graphite":"tunable","tokens.editorial.--wc-graphite-deep":"tunable","tokens.editorial.--wc-hairline-footer":"tunable","tokens.editorial.--wc-in-stock":"tunable","tokens.editorial.--wc-ink":"locked","tokens.editorial.--wc-ink-dim":"tunable","tokens.editorial.--wc-ink-muted":"tunable","tokens.editorial.--wc-link":"tunable","tokens.editorial.--wc-link-hover":"tunable","tokens.editorial.--wc-negative":"tunable","tokens.editorial.--wc-negative-bg":"tunable","tokens.editorial.--wc-negative-ink":"tunable","tokens.editorial.--wc-on-accent":"locked","tokens.editorial.--wc-on-action":"tunable","tokens.editorial.--wc-on-ink":"locked","tokens.editorial.--wc-plum":"locked","tokens.editorial.--wc-plum-light":"tunable","tokens.editorial.--wc-positive":"tunable","tokens.editorial.--wc-positive-bg":"tunable","tokens.editorial.--wc-positive-ink":"tunable","tokens.editorial.--wc-sale":"tunable","tokens.editorial.--wc-sale-ink":"tunable","tokens.editorial.--wc-surface":"locked","tokens.editorial.--wc-surface-alt":"tunable","tokens.editorial.--wc-surface-warm":"tunable","tokens.editorial.--wc-white":"locked","tokens.editorial.--wc-wine":"locked","tokens.editorial.--wc-wine-bright":"tunable","tokens.inverted.--wc-accent":"locked","tokens.inverted.--wc-accent-hover":"tunable","tokens.inverted.--wc-action":"tunable","tokens.inverted.--wc-action-hover":"tunable","tokens.inverted.--wc-border":"tunable","tokens.inverted.--wc-border-form":"tunable","tokens.inverted.--wc-border-strong":"tunable","tokens.inverted.--wc-fill-soft":"tunable","tokens.inverted.--wc-fill-strong":"tunable","tokens.inverted.--wc-fill-subtle":"tunable","tokens.inverted.--wc-focus-ring":"tunable","tokens.inverted.--wc-hairline-footer":"tunable","tokens.inverted.--wc-in-stock":"tunable","tokens.inverted.--wc-ink":"locked","tokens.inverted.--wc-ink-dim":"tunable","tokens.inverted.--wc-ink-muted":"tunable","tokens.inverted.--wc-link":"tunable","tokens.inverted.--wc-link-hover":"tunable","tokens.inverted.--wc-negative":"tunable","tokens.inverted.--wc-negative-bg":"tunable","tokens.inverted.--wc-negative-ink":"tunable","tokens.inverted.--wc-on-accent":"locked","tokens.inverted.--wc-on-action":"tunable","tokens.inverted.--wc-on-ink":"tunable","tokens.inverted.--wc-positive-ink":"tunable","tokens.inverted.--wc-sale-ink":"tunable","tokens.inverted.--wc-surface":"locked","tokens.inverted.--wc-surface-alt":"tunable","tokens.inverted.--wc-surface-warm":"locked","typography":"locked","voice":"locked"},"meta":{"brand":"Wine Chips","schema_version":2,"sources":[],"status":"PROVISIONAL, v1.0.0 \u2014 a DESCRIPTIVE extraction dated 2026-09-07, not ratified brand law. It documents what the live Shopify storefront, the committed Rally artwork and the wc-gorgias design system ship today. Eleven decisions (W-1..W-11) are open, the palette and the vector logo masters are unresolved, and this brand is published to the `next` channel only.","themeAttribute":{"attribute":"data-theme","modes":[{"label":"Storefront","scheme":"light","value":"light"}]},"title":"The Wine Chips Style Guide"},"motion":{"banned":["Bounce and elastic easing","Spring overshoot","Parallax on a product image","Auto-playing video with sound","Carousels that advance without the reader asking","Blinking or flashing text","Motion that is the only carrier of a state change","Decorative loops inside a cart, a checkout, a form or an operator table"],"choreography":[{"description":"An image or a section fades and lifts into place once, over 450ms on --wc-ease. It never replays on scroll-back.","name":"Reveal"},{"description":"A product card raises its border to --wc-border-strong and its image scales to at most 1.04 over 450ms. It never translates more than 2px and it never adds a shadow.","name":"Hover lift"},{"description":"The announcement rail crossfades wine to --wc-accent-hover over 100ms. Nothing moves.","name":"Rail hover"},{"description":"The cart and mobile-nav drawers slide in over 450ms on --wc-ease, dimming the page behind them. Focus moves into the drawer and returns to the trigger on close.","name":"Drawer"}],"durations":[{"token":"--wc-duration-instant","use":"A background-colour change (button, announcement rail)","value":"100ms"},{"token":"--wc-duration-quick","use":"A small hover: icon, chip, nav item","value":"200ms"},{"token":"--wc-duration-base","use":"The default \u2014 image reveals, slideshow slides, drawer open","value":"450ms"},{"token":"--wc-duration-spin","use":"One rotation of the loading spinner","value":"500ms"}],"easings":[{"token":"--wc-ease","use":"The storefront's default \u2014 every hover, reveal and slideshow transition","value":"cubic-bezier(0.29, 0.63, 0.44, 1)"},{"token":"--wc-ease-quick","use":"A dense control: the quantity stepper, a disclosure toggle","value":"cubic-bezier(0.44, 0.13, 0.48, 0.87)"},{"token":"--wc-ease-inout","use":"A background-colour change on a button or a rail","value":"ease-in-out"},{"token":"--wc-ease-linear","use":"The loading spinner only","value":"linear"}],"keyframes":[{"definition":"0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }","name":"spin","use":"The button spinner while a form or an add-to-cart is in flight. 500ms infinite linear, and the ONLY looping animation in the editorial register."},{"definition":"0% { background-color: var(--wc-fill-subtle); } 50% { background-color: var(--wc-fill-soft); } 100% { background-color: var(--wc-fill-subtle); }","name":"image-loader","use":"The plum-tinted placeholder wash behind a lazy-loading product image. The shipped keyframe holds one colour at all three stops, so it does not actually animate \u2014 see drift."}],"reducedMotion":"Under prefers-reduced-motion: reduce, the image-loader pulse and the button spinner stop; the slideshow does not auto-advance and exposes its arrows and dots; hover lifts do not translate and keep only their colour and border transitions; the cart drawer and the search overlay appear at their final position rather than sliding. Nothing in either register is communicated by motion alone (decision W-7)."},"primitives":[],"print":{"fontUi":"Montserrat, 'Helvetica Neue', Helvetica, Arial, sans-serif","footer":"'Wine Chips \u2014 The Style Guide'","footerInk":"#5A5858","pageBg":"#FFFFFF"},"project":null,"provenance":{"assets.appicon.favicon":"brand","assets.font.display":"brand","assets.font.sans":"brand","assets.font.sans-bold":"brand","assets.font.sans-bold-italic":"brand","assets.font.sans-italic":"brand","assets.logo.wordmark":"brand","assets.og.social":"brand","components.announcement-bar":"theme","components.btn-outline-dark":"theme","components.btn-primary":"theme","components.btn-secondary":"theme","components.cart-drawer":"theme","components.cream-band":"theme","components.empty-error-loading":"theme","components.feature-row":"theme","components.footer":"theme","components.form-message":"theme","components.hero":"theme","components.input":"theme","components.input-group":"theme","components.newsletter":"theme","components.pagination":"theme","components.plum-band":"theme","components.price":"theme","components.product-card":"theme","components.rte":"theme","components.site-header":"theme","components.site-nav":"theme","components.social-icons":"theme","decisions":"brand","drift":"theme","hardRules":"brand","iconography":"brand","identity":"brand","layout":"theme","motion":"theme","print":"theme","rules":"brand","surfaces.editorial":"theme","surfaces.inverted":"theme","tokens.editorial.--font-display":"theme","tokens.editorial.--font-sans":"theme","tokens.editorial.--wc-accent":"theme","tokens.editorial.--wc-accent-hover":"theme","tokens.editorial.--wc-action":"theme","tokens.editorial.--wc-action-hover":"theme","tokens.editorial.--wc-border":"theme","tokens.editorial.--wc-border-form":"theme","tokens.editorial.--wc-border-strong":"theme","tokens.editorial.--wc-cream":"theme","tokens.editorial.--wc-fill-soft":"theme","tokens.editorial.--wc-fill-strong":"theme","tokens.editorial.--wc-fill-subtle":"theme","tokens.editorial.--wc-focus-ring":"theme","tokens.editorial.--wc-graphite":"theme","tokens.editorial.--wc-graphite-deep":"theme","tokens.editorial.--wc-hairline-footer":"theme","tokens.editorial.--wc-in-stock":"theme","tokens.editorial.--wc-ink":"theme","tokens.editorial.--wc-ink-dim":"theme","tokens.editorial.--wc-ink-muted":"theme","tokens.editorial.--wc-link":"theme","tokens.editorial.--wc-link-hover":"theme","tokens.editorial.--wc-negative":"theme","tokens.editorial.--wc-negative-bg":"theme","tokens.editorial.--wc-negative-ink":"theme","tokens.editorial.--wc-on-accent":"theme","tokens.editorial.--wc-on-action":"theme","tokens.editorial.--wc-on-ink":"theme","tokens.editorial.--wc-plum":"theme","tokens.editorial.--wc-plum-light":"theme","tokens.editorial.--wc-positive":"theme","tokens.editorial.--wc-positive-bg":"theme","tokens.editorial.--wc-positive-ink":"theme","tokens.editorial.--wc-sale":"theme","tokens.editorial.--wc-sale-ink":"theme","tokens.editorial.--wc-surface":"theme","tokens.editorial.--wc-surface-alt":"theme","tokens.editorial.--wc-surface-warm":"theme","tokens.editorial.--wc-white":"theme","tokens.editorial.--wc-wine":"theme","tokens.editorial.--wc-wine-bright":"theme","tokens.inverted.--wc-accent":"theme","tokens.inverted.--wc-accent-hover":"theme","tokens.inverted.--wc-action":"theme","tokens.inverted.--wc-action-hover":"theme","tokens.inverted.--wc-border":"theme","tokens.inverted.--wc-border-form":"theme","tokens.inverted.--wc-border-strong":"theme","tokens.inverted.--wc-fill-soft":"theme","tokens.inverted.--wc-fill-strong":"theme","tokens.inverted.--wc-fill-subtle":"theme","tokens.inverted.--wc-focus-ring":"theme","tokens.inverted.--wc-hairline-footer":"theme","tokens.inverted.--wc-in-stock":"theme","tokens.inverted.--wc-ink":"theme","tokens.inverted.--wc-ink-dim":"theme","tokens.inverted.--wc-ink-muted":"theme","tokens.inverted.--wc-link":"theme","tokens.inverted.--wc-link-hover":"theme","tokens.inverted.--wc-negative":"theme","tokens.inverted.--wc-negative-bg":"theme","tokens.inverted.--wc-negative-ink":"theme","tokens.inverted.--wc-on-accent":"theme","tokens.inverted.--wc-on-action":"theme","tokens.inverted.--wc-on-ink":"theme","tokens.inverted.--wc-positive-ink":"theme","tokens.inverted.--wc-sale-ink":"theme","tokens.inverted.--wc-surface":"theme","tokens.inverted.--wc-surface-alt":"theme","tokens.inverted.--wc-surface-warm":"theme","typography.faces":"brand","typography.rules":"brand","typography.scaleTokens":"theme","typography.specimens":"theme","voice":"brand"},"rules":{"bannedValues":[{"id":"offpalette-neutral","kind":"neutral-grey","predicate":{"lightnessRange":[0.15,0.9],"maxChannelSpread":10},"reason":"The storefront ships eight near-neutrals that were never derived from the plum. They are declared as tokens here so the set is CLOSED; a ninth grey anywhere is off-palette, and the plum-tinted washes (--wc-fill-*, --border) are the right reach instead.","severity":"warn"},{"id":"legacy-tailwind-neutral","kind":"regex","match":"#(?:[eE]5[eE]5[eE]5|[fF]5[fF]5[fF]5|[fF][aA][fF][aA][fF][aA]|[dD]4[dD]4[dD]4|[aA]3[aA]3[aA]3|737373|525252|404040|262626|171717|[fF]8[fF][aA][fF][cC]|[fF]1[fF]5[fF]9|[eE]2[eE]8[fF]0|[cC][bB][dD]5[eE]1|94[aA]3[bB]8|475569|0[fF]172[aA])\\b","reason":"The stock Tailwind and slate ramps. They are the template scaffold and the wc-gorgias reskin, not Wine Chips; the operator register replaces them role for role.","severity":"warn"},{"id":"foreign-wine","kind":"regex","match":"#(?:7[cC]2[dD]3[eE]|722[fF]37|7[fF]1[dD]1[dD]|5[eE]1[fF]2[eE]|3[cC]121[cC]|1[aA]0[dD]12|2[aA]0[eE]16|4[aA]1[cC]22|9[bB]4[dD]54|[bB]5485[eE]|502[cC]2[dD]|522[aA]44)\\b","reason":"The five burgundies and the two off-by-one plums that internal tools invented independently (Rally #7c2d3e and its four hardcoded darks, PRC #722F37, wc-eos #7f1d1d, the print system's #502c2d, and the Rally logo export's #522A44). None is a Wine Chips colour; the brand plum is #512A44 (decision W-1).","severity":"warn"},{"id":"foreign-gold","kind":"regex","match":"#(?:[cC]5943[aA]|[cC]9[aA]84[cC]|[eE]8[dD]5[aA]3|[fF]5[cC]84[cC]|[dD]4[aA]849|[eE]8[cC]468)\\b","reason":"Gold is not a Wine Chips colour. It exists only inside Rally and the Private Reserve Club and has no storefront, packaging or artwork source (decision W-1).","severity":"warn"},{"id":"foreign-accent","kind":"property-value","match":"^(?!#(?:[Aa]6192[Ee]|[Ee]44[Ee]64|[Ff][Bb][Ff]3[Dd][Aa])$).*$","property":"--wc-accent|--ring|--sidebar-ring|--primary","reason":"Wine is the single signal. The only values this slot may carry are #A6192E (light), #E44E64 (the operator register's dark cut) and #FBF3DA (the cream, which is the signal on a plum ground). A second accent hue is a fork of the brand, not a theme.","severity":"warn"}],"contrast":{"algorithm":"wcag21","pairs":[{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-ink","min":7},{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-ink-muted","min":4.5},{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-ink-dim","min":4.5},{"grounds":["--wc-ink"],"ink":"--wc-on-ink","min":7},{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-accent","min":4.5},{"grounds":["--wc-accent","--wc-accent-hover"],"ink":"--wc-on-accent","min":4.5},{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-link-hover","min":4.5},{"grounds":["--wc-action"],"ink":"--wc-on-action","min":4.5},{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-positive-ink","min":4.5},{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-negative","min":4.5},{"grounds":["--wc-negative-bg"],"ink":"--wc-negative-ink","min":4.5},{"grounds":["--wc-surface","--wc-surface-alt","--wc-surface-warm"],"ink":"--wc-sale-ink","min":4.5},{"grounds":["--wc-surface","--wc-surface-alt"],"ink":"--wc-in-stock","min":4.5}]},"literals":{"allowIn":"token-blocks"},"motion":{"bannedKeywords":["bounce","elastic","spring","overshoot","shimmer","blink","wobble","parallax"],"maxDurationMs":450,"requireReducedMotion":true},"radius":{"exemptSelectors":["\\brounded-full\\b","\\bwc-pill\\b","\\bwc-priority-dot\\b","\\bsocial-icons__link\\b"],"max":"0.75rem"},"shadows":{"allowedTokens":["--wc-shadow-overlay","--wc-shadow-lift"],"exemptScopes":[".cart-popup"],"policy":"tokens-only"},"typography":{"faceFloors":[{"minPx":17,"token":"--font-display"},{"minPx":12,"token":"--font-sans"}],"maxWeightsPerFamily":2,"minSizePx":12},"whitelist":[{"appliesTo":["literals"],"id":"token-blocks","reason":"Brand literals belong in the token blocks and nowhere else \u2014 that is what rules.literals.allowIn: token-blocks means. Deliberately NOT extended to the foreign-palette rules: a burgundy, a gold or a slate ramp declared inside a consumer's :root is exactly the finding those rules exist to make, and exempting a token block would hide it.","selectorMatch":"(?:^|[\\s;>])(?::root|\\.wc-on-plum|\\.dark|\\.sg-host)$"},{"appliesTo":["offpalette-neutral"],"id":"shipped-neutral-ramp","reason":"The eight neutrals the storefront already ships, plus the de-emphasis dataviz slot. The rule exists to stop a NINTH grey entering a consumer's stylesheet, not to flag the closed set the brand owns (decision W-8).","tokenMatch":"^--(?:wc-(?:graphite|graphite-deep|ink-muted|ink-dim|border|border-form|border-strong|hairline-footer|action|action-hover)|chart-muted)$"},{"appliesTo":["shadows"],"id":"storefront-cart-popup-shadow","reason":"The one shipped shadow the storefront still carries (1px 1px 10px 2px rgba(235,235,235,0.5)) \u2014 documented, and slated for replacement by --wc-shadow-overlay.","selectorMatch":"\\.cart-popup"},{"appliesTo":["radius"],"id":"editorial-pill","reason":"The 25px pill and the circular social and scroll-to-top controls are the brand's two deliberate departures from the 2px corner.","selectorMatch":"\\b(?:wc-pill|social-icons__link|xo-scroll2top)\\b"}]},"schema_version":2,"sgMapping":{"map":{"--sg-accent":"--wc-accent","--sg-bg":"--wc-surface","--sg-bg-raised":"--wc-surface-alt","--sg-faint":"--wc-ink-dim","--sg-fg":"--wc-ink","--sg-fg-strong":"--wc-ink","--sg-font-display":"--font-display","--sg-font-prose":"--font-sans","--sg-font-ui":"--font-sans","--sg-hairline":"--wc-border","--sg-hairline-strong":"--wc-border-strong","--sg-muted":"--wc-ink-muted"}},"surfaces":[{"description":"The white page the shop, the story, the club and the campaign pages are built on: one plum ink, one wine-red signal, a plum-tinted wash and a cream band.","groundToken":"--wc-surface","groups":[{"name":"Brand identity","tokens":[{"notes":"The single most-attested Wine Chips value: it is --color-text and --color-body-text on the storefront, the one colour in the wordmark PNG the storefront serves, the one colour in both Rally logo cuts (there rounded to #522A44), and the anti-aliasing hue of the favicon. Provenance: https://winechips.com/ inline :root.","role":"The brand ink and the wordmark colour","token":"--wc-plum","values":{"light":"#512A44"}},{"notes":"The announcement rail, the primary button fill, the newsletter submit, the active nav item and the left stop of the signature gradient. 13 occurrences in the storefront's theme.css, every one a signal. Provenance: https://winechips.com/cdn/shop/t/1/assets/theme.css.","role":"The single signal accent","token":"--wc-wine","values":{"light":"#A6192E"}},{"notes":"The announcement rail's hover ground. Provenance: storefront section settings, .announcement-bar__link:hover.","role":"The wine at hover","token":"--wc-wine-bright","values":{"light":"#DA213C"}},{"notes":"--color-text-focus on the storefront: the colour a plum link takes on focus/hover. Provenance: storefront inline :root.","role":"Plum at focus","token":"--wc-plum-light","values":{"light":"#83446E"}},{"notes":"The section band behind logo lists, press strips and 'as seen on' rails. Provenance: storefront theme.css, four section rules.","role":"The warm ground","token":"--wc-cream","values":{"light":"#FBF3DA"}},{"notes":"--color-body / --color-bg. Provenance: storefront inline :root.","role":"Paper","token":"--wc-white","values":{"light":"#FFFFFF"}},{"notes":"--color-btn-primary, and the value of the storefront's own <meta name=\"theme-color\">. A neutral, not a brand colour \u2014 see decision W-8 and drift.","role":"The shipped neutral action fill","token":"--wc-graphite","values":{"light":"#3A3A3A"}},{"notes":"--color-btn-primary-darker. Provenance: storefront inline :root.","role":"Graphite pressed","token":"--wc-graphite-deep","values":{"light":"#212121"}}]},{"name":"Grounds","tokens":[{"notes":"--color-bg / --color-body.","role":"The page","token":"--wc-surface","values":{"light":"#FFFFFF"}},{"notes":"A plum-tinted near-white (hue 330). Provenance: storefront theme.css .site-footer and four #shopify-section rules.","role":"The wash \u2014 feature rows, the footer, alternating sections","token":"--wc-surface-alt","values":{"light":"#F6F4F5"}},{"notes":"On the inverted surface this role becomes the wine band, because a plum block's warm ground is wine, not cream.","role":"The cream band \u2014 logo lists, press strips, 'as seen on'","token":"--wc-surface-warm","values":{"light":"#FBF3DA"}}]},{"name":"Ink","tokens":[{"notes":"--color-text / --color-body-text.","role":"Body copy, headings, links, the wordmark","token":"--wc-ink","values":{"light":"#512A44"}},{"notes":"Shipped as the footer's default colour. It is a warm-neutral graphite rather than a plum, which is the one place the brand's single-ink rule is broken on the live site \u2014 see drift.","role":"The footer's secondary ink","token":"--wc-ink-muted","values":{"light":"#333232"}},{"notes":"Shipped as .site-footer a:hover.","role":"Footer link hover, meta text","token":"--wc-ink-dim","values":{"light":"#5A5858"}},{"role":"Ink on a plum or graphite fill","token":"--wc-on-ink","values":{"light":"#FFFFFF"}}]},{"name":"Accent and action","tokens":[{"notes":"On the inverted surface this resolves to the cream, because wine on plum is 1.9:1 and cannot carry a signal.","role":"The signal \u2014 announcement rail, primary button, active nav","token":"--wc-accent","values":{"light":"#A6192E"}},{"role":"The signal at hover","token":"--wc-accent-hover","values":{"light":"#DA213C"}},{"role":"Label on the signal","token":"--wc-on-accent","values":{"light":"#FFFFFF"}},{"notes":"The storefront sets a { color: var(--color-text) }: links are not a different colour, they are the same ink.","role":"A link at rest \u2014 the same plum as body copy","token":"--wc-link","values":{"light":"#512A44"}},{"role":"A link at hover and focus","token":"--wc-link-hover","values":{"light":"#83446E"}},{"notes":"--color-btn-primary. theme.css overrides a.btn to the wine, so the graphite survives mainly on secondary and tertiary buttons \u2014 recorded as drift.","role":"The neutral button fill the theme still ships","token":"--wc-action","values":{"light":"#3A3A3A"}},{"notes":"--color-btn-primary-focus.","role":"The neutral button at hover","token":"--wc-action-hover","values":{"light":"#606060"}},{"role":"Label on the neutral fill","token":"--wc-on-action","values":{"light":"#FFFFFF"}}]},{"name":"Lines and fills","tokens":[{"notes":"--color-border.","role":"The default hairline","token":"--wc-border","values":{"light":"#EBEBEB"}},{"notes":"--color-border-form.","role":"A control edge","token":"--wc-border-form","values":{"light":"#CCCCCC"}},{"notes":"--color-border-form-darker.","role":"A control edge, emphasised","token":"--wc-border-strong","values":{"light":"#B3B3B3"}},{"notes":"A plum-tinted hairline. Provenance: storefront footer section settings.","role":"The footer rule","token":"--wc-hairline-footer","values":{"light":"#DFD8DC"}},{"notes":"--color-bg-alt.","role":"The lightest plum wash","token":"--wc-fill-subtle","values":{"light":"rgba(81, 42, 68, 0.05)"}},{"notes":"--color-blankstate-background.","role":"A plum wash \u2014 empty states, chips","token":"--wc-fill-soft","values":{"light":"rgba(81, 42, 68, 0.10)"}},{"notes":"--color-bg-currency-selector / --color-blankstate-border.","role":"A plum wash, emphasised","token":"--wc-fill-strong","values":{"light":"rgba(81, 42, 68, 0.20)"}},{"notes":"The storefront spends it as box-shadow: 0 0 0 4px rgba(var(--color-text-rgb), 0.25) (3px on dense controls).","role":"The focus halo","token":"--wc-focus-ring","values":{"light":"rgba(81, 42, 68, 0.25)"}}]},{"name":"Status","tokens":[{"notes":"Shipped as .form-message--success border and ink.","role":"Success fill and rule","token":"--wc-positive","values":{"light":"#1F873D"}},{"role":"Success as small text","token":"--wc-positive-ink","values":{"light":"#1D7E39"}},{"notes":"Shipped as .form-message--success background.","role":"Success message ground","token":"--wc-positive-bg","values":{"light":"#F8FFF9"}},{"notes":"Shipped as .input--error / .form-message--error. Measures 5.61 / 5.13 / 5.06 : 1 \u2014 it needs no accessible variant.","role":"Error fill, rule and ink","token":"--wc-negative","values":{"light":"#D20000"}},{"notes":"Shipped as .form-message--error colour: a deep wine-brown, 11.80:1 on the error ground.","role":"Error message body copy","token":"--wc-negative-ink","values":{"light":"#651818"}},{"notes":"Shipped as .input--error / .form-message--error background.","role":"Error message ground","token":"--wc-negative-bg","values":{"light":"#FFF8F8"}},{"notes":"--color-sale-text.","role":"The sale price","token":"--wc-sale","values":{"light":"#EA0606"}},{"role":"The sale price as small text","token":"--wc-sale-ink","values":{"light":"#DD0606"}},{"notes":"Shipped as .icon-in-stock fill.","role":"The in-stock mark","token":"--wc-in-stock","values":{"light":"#00730B"}}]},{"name":"Type roles (root-scoped)","tokens":[{"notes":"The emitter writes this into :root, so a consumer sets font-family: var(--font-display) on a heading and needs nothing else; the bundled @font-face supplies Arvo from the content-addressed store. The storefront's own --font-stack-header alias is untouched.","role":"The heading face \u2014 Arvo","token":"--font-display","values":{"light":"Arvo, Rockwell, 'Roboto Slab', Georgia, serif"}},{"notes":"The grammar-legal equivalent of the storefront's --font-stack-body.","role":"The UI and body face \u2014 Montserrat","token":"--font-sans","values":{"light":"Montserrat, 'Helvetica Neue', Helvetica, Arial, sans-serif"}}]}],"id":"editorial","modeNames":{"light":"Storefront"},"name":"Storefront","scope":{"light":":root"}},{"description":"A section that deliberately runs dark on a light site: the plum ground, the wine band and the wine-to-plum gradient the club, testimonial and partner sections are built on. Mount .wc-on-plum and every role token remaps; no component is recoloured by hand.","groundToken":"--wc-surface","groups":[{"name":"Grounds","tokens":[{"role":"The plum block","token":"--wc-surface","values":{"light":"#512A44"}},{"notes":"Same hue and saturation as the plum (320 deg, 0.32), lightness 0.24 -> 0.28.","role":"One step out of the block","token":"--wc-surface-alt","values":{"light":"#5E314F"}},{"notes":"In the editorial register this role is the cream; on a plum block the warm ground IS the wine. Provenance: storefront #shopify-section-lander-testimonial-1 and the 90deg wine-to-plum gradient.","role":"The wine band \u2014 the right-hand stop of the signature gradient","token":"--wc-surface-warm","values":{"light":"#A6192E"}}]},{"name":"Ink","tokens":[{"notes":"A plum-tinted near-white rather than pure white: 11.12 / 9.67 / 7.01 : 1 across the three inverted grounds.","role":"Body copy and headings on a plum block","token":"--wc-ink","values":{"light":"#FAF6F9"}},{"notes":"8.33 / 7.25 / 5.25 : 1 across the plum, the plum step and the wine band \u2014 the wine band is the binding ground for every ink on this surface.","role":"Secondary ink on a plum block","token":"--wc-ink-muted","values":{"light":"#E2D4DE"}},{"notes":"7.48 / 6.51 / 4.71 : 1.","role":"Meta ink on a plum block","token":"--wc-ink-dim","values":{"light":"#DAC8D4"}},{"role":"Ink on a light fill inside a plum block","token":"--wc-on-ink","values":{"light":"#512A44"}}]},{"name":"Accent and action","tokens":[{"notes":"Wine on plum measures 1.90:1 and cannot carry meaning. The brand's own warm light does: 10.73 / 9.34 / 6.76 : 1. This is the inverted register's single most important remap (decision W-3).","role":"The signal on a plum block \u2014 the cream, not the wine","token":"--wc-accent","values":{"light":"#FBF3DA"}},{"role":"The signal at hover","token":"--wc-accent-hover","values":{"light":"#FFFFFF"}},{"role":"Label on the cream signal","token":"--wc-on-accent","values":{"light":"#512A44"}},{"role":"A link on a plum block","token":"--wc-link","values":{"light":"#FAF6F9"}},{"role":"A link at hover on a plum block","token":"--wc-link-hover","values":{"light":"#FBF3DA"}},{"notes":"On a hero or a plum block the storefront's button is background: 0 0; color: #fff; border: 2px solid #fff \u2014 a knockout outline, not a fill.","role":"The outline button the storefront ships on dark art","token":"--wc-action","values":{"light":"#FFFFFF"}},{"role":"That outline at hover","token":"--wc-action-hover","values":{"light":"#FBF3DA"}},{"role":"Ink inside a knocked-out button once it fills","token":"--wc-on-action","values":{"light":"#512A44"}}]},{"name":"Lines and fills","tokens":[{"role":"Hairline on a plum block","token":"--wc-border","values":{"light":"rgba(250, 246, 249, 0.16)"}},{"role":"Control edge on a plum block","token":"--wc-border-form","values":{"light":"rgba(250, 246, 249, 0.32)"}},{"role":"Emphasised edge on a plum block","token":"--wc-border-strong","values":{"light":"rgba(250, 246, 249, 0.55)"}},{"role":"Rule on a plum block","token":"--wc-hairline-footer","values":{"light":"rgba(250, 246, 249, 0.20)"}},{"role":"Lightest wash on a plum block","token":"--wc-fill-subtle","values":{"light":"rgba(250, 246, 249, 0.05)"}},{"role":"Wash on a plum block","token":"--wc-fill-soft","values":{"light":"rgba(250, 246, 249, 0.10)"}},{"role":"Emphasised wash on a plum block","token":"--wc-fill-strong","values":{"light":"rgba(250, 246, 249, 0.20)"}},{"notes":"Cream at 55%: the plum halo is invisible against a plum ground.","role":"The focus halo on a plum block","token":"--wc-focus-ring","values":{"light":"rgba(251, 243, 218, 0.55)"}}]},{"name":"Status","tokens":[{"role":"Success as text on a plum block","token":"--wc-positive-ink","values":{"light":"#8FE6A8"}},{"role":"Error on a plum block","token":"--wc-negative","values":{"light":"#FFBDBD"}},{"role":"Error body copy on a plum block","token":"--wc-negative-ink","values":{"light":"#FFE1E1"}},{"notes":"Opaque rather than a translucent red: an alpha ground over a plum block cannot be measured for contrast without knowing what is behind it, and an error message is the last place to guess.","role":"Error ground on a plum block","token":"--wc-negative-bg","values":{"light":"#531313"}},{"role":"The sale price on a plum block","token":"--wc-sale-ink","values":{"light":"#FFBEBE"}},{"role":"The in-stock mark on a plum block","token":"--wc-in-stock","values":{"light":"#8FE6A8"}}]}],"id":"inverted","inheritsFrom":"editorial","modeNames":{"light":"Plum block"},"name":"Plum block","probeClassName":"wc-on-plum","scope":{"light":".wc-on-plum"}}],"theme":{"id":"editorial","name":"Editorial"},"typography":{"faces":[{"asset":"font.display","family":"Arvo","italics":false,"roleToken":"--font-display","rules":["h1 is Arvo 400 at 48px desktop / 45px mobile, line-height 1.2, letter-spacing 0, case untransformed.","h2\u2013h6 are Arvo 400 UPPERCASE at 0.1em tracking, line-height 1.2.","Never below 17px \u2014 the smallest heading the storefront sets is h6 mobile at 17px, and the slab serifs close up below that.","Never italic: no italic cut is licensed, loaded or drawn, so an italic Arvo on screen is a synthesised oblique.","The operator register carries no Arvo at all \u2014 a dense tool is Montserrat throughout (decision W-6)."],"source":"Served by the Shopify font CDN at //winechips.com/cdn/fonts/arvo/arvo_n4.cf5897c91bef7f76bce9d45a5025155aa004d2c7.woff2 and declared in the storefront's inline @font-face block. The binary's own name table records 'Copyright (c) 2010 Anton Koovit.' and a licence URL of http://www.korkork.com/license/arvo/; the upstream Google Fonts distribution of Arvo is SIL Open Font License 1.1, and the file's OS/2 fsType is 0 (installable, no embedding restriction). Independently corroborated as the brand's display face by the packaging toolchain, which loads Arvo Regular and Bold alongside the label artwork.","stack":"Arvo, Rockwell, 'Roboto Slab', Georgia, serif","usage":"Every heading level, the announcement rail, and nothing else. Arvo is the brand's voice at size; it never sets body copy, UI labels or a data value.","weights":"400 only on the storefront (arvo_n4). The packaging toolchain also loads a 700 cut, which the web does not."},{"asset":"font.sans","family":"Montserrat","italics":true,"roleToken":"--font-sans","rules":["Base size 14px at line-height 1.5. Rich text runs 16px large / 12px small.","Buttons and navigation are 700 uppercase with 1px letter-spacing.","Type floor is 12px in both registers.","Only two weights are loaded. A 500 or 600 declaration is a synthesised weight, not a cut \u2014 see drift.","Italic is available in both weights and is used for a transcript or an aside, never for emphasis inside a heading."],"source":"Served by the Shopify font CDN at //winechips.com/cdn/fonts/montserrat/ in five cuts (n4, n7, i4, i7 and a duplicate n7) and declared in the storefront's inline @font-face block. Each binary's own name table records 'Copyright 2011 The Montserrat Project Authors' and 'This Font Software is licensed under the SIL Open Font License, Version 1.1'; OS/2 fsType is 0.","stack":"Montserrat, 'Helvetica Neue', Helvetica, Arial, sans-serif","usage":"Body copy, product copy, buttons, navigation, form fields, prices, legal text, and every word of the operator register.","weights":"400 and 700. --font-weight-body is 400; --font-weight-body--bold and --font-weight-body--bolder are both 700, so the storefront has no 500 or 600 cut loaded and the nav's font-weight: 600 renders as a synthesised weight."}],"rules":["Two families, two jobs. Arvo sets every heading; Montserrat sets every other word. There is no third face and no display alternate.","Type floor is 12px in both registers; the heading floor is 17px.","Uppercase is the default for headings h2\u2013h6, for buttons and for navigation \u2014 with tracking (0.1em on headings, 1px on buttons and nav). Uppercase without tracking is never correct.","h1 is the only heading the stylesheet leaves untransformed; the hero copy is typed in caps instead.","Body copy is Montserrat 400 at 14px / 1.5 in plum; a paragraph's bottom margin is 19.444px and a heading's is 17.5px.","Numerals in the operator register are tabular; a price in the editorial register is not.","Never set an order number, a SKU, an email address or a customer name in uppercase."],"scaleTokens":[{"token":"--wc-text-base","usedBy":"body, button, input, select, textarea \u2014 the storefront's --font-size-base, at line-height 1.5","value":"14px"},{"token":"--wc-text-h1","usedBy":"h1 and .h1 \u2014 desktop / below 750px. Arvo 400, line-height 1.2, letter-spacing 0, case untransformed","value":"48px / 45px"},{"token":"--wc-text-h2","usedBy":"h2 and .h2 \u2014 the section heading. Arvo 400 UPPERCASE, 0.1em tracking, line-height 1.2","value":"28px / 25px"},{"token":"--wc-text-h3","usedBy":"h3 \u2014 --font-size-header desktop, --font-h3-mobile below 750px","value":"36px / 28px"},{"token":"--wc-text-h4","usedBy":"h4 \u2014 the newsletter and footer column headings","value":"24px / 22px"},{"token":"--wc-text-h5","usedBy":"h5","value":"20px / 18px"},{"token":"--wc-text-h6","usedBy":"h6 \u2014 the smallest heading in the system, and the type floor for Arvo","value":"19px / 17px"},{"token":"--wc-text-mega","usedBy":"--font-mega-title-large-desktop \u2014 the slideshow's largest headline cut, desktop only","value":"90px"},{"token":"--wc-text-lead","usedBy":"--font-rich-text-large, and the announcement rail message","value":"16px"},{"token":"--wc-text-small","usedBy":"--font-rich-text-small, legal and meta copy \u2014 the type floor","value":"12px"},{"token":"--wc-text-pagination","usedBy":".pagination","value":"15px"},{"token":"--wc-tracking-heading","usedBy":"h2\u2013h6 uppercase headings","value":"0.1em"},{"token":"--wc-tracking-ui","usedBy":".btn, #SiteNav \u2014 uppercase buttons and navigation","value":"1px"},{"token":"--wc-leading-body","usedBy":"body, input, textarea, select","value":"1.5"},{"token":"--wc-leading-heading","usedBy":"h1\u2013h6","value":"1.2"},{"token":"--wc-space-heading","usedBy":"the bottom margin of every heading","value":"17.5px"},{"token":"--wc-space-paragraph","usedBy":"the bottom margin of a paragraph","value":"19.444px"}],"specimens":[{"className":"h1","name":"Hero headline","sample":"THE BOLDEST, CHEESIEST, EASIEST, MOST SATISFYING WINE SNACK YOU'LL EVER HAVE","spec":"Arvo 400 \u00b7 48px desktop / 45px mobile \u00b7 line-height 1.2 \u00b7 tracking 0 \u00b7 case untransformed (the copy is typed in caps)","voice":"display"},{"name":"Mega slideshow headline","sample":"SIMPLY DELICIOUS","spec":"Arvo 400 \u00b7 90px \u00b7 desktop only \u00b7 the slideshow's largest cut","style":{"font-family":"var(--font-display)","font-size":"90px","font-weight":"400","line-height":"1.05"},"voice":"display"},{"className":"h2","name":"Section heading","sample":"PREMIUM LATTICE-CUT CHIPS","spec":"Arvo 400 \u00b7 28px desktop / 25px mobile \u00b7 UPPERCASE \u00b7 tracking 0.1em \u00b7 line-height 1.2","voice":"caps"},{"className":"h3","name":"Sub-section heading","sample":"MADE WITH LOVE, WHILE DRINKING WINE","spec":"Arvo 400 \u00b7 36px desktop / 28px mobile \u00b7 UPPERCASE \u00b7 tracking 0.1em","voice":"caps"},{"className":"h4","name":"Column heading","sample":"JOIN THE COMMUNITY","spec":"Arvo 400 \u00b7 24px desktop / 22px mobile \u00b7 UPPERCASE \u00b7 tracking 0.1em","voice":"caps"},{"className":"h6","name":"Smallest heading","sample":"COLLECTIONS","spec":"Arvo 400 \u00b7 19px desktop / 17px mobile \u00b7 UPPERCASE \u00b7 tracking 0.1em \u2014 the heading floor","voice":"caps"},{"name":"Announcement rail","sample":"OUR NEW FLAVOR: HAWAIIAN LUAU","spec":"Arvo 400 \u00b7 16px \u00b7 white on wine \u00b7 padding 11px 22px (55px inline above 750px)","style":{"font-family":"var(--font-display)","font-size":"16px","font-weight":"400","padding":"11px 22px"},"voice":"caps"},{"name":"Body copy","sample":"We made Wine Chips because we love wine and we love cheese (who doesn't?) but realized that putting the cheese IN the wine was a bad idea for both.","spec":"Montserrat 400 \u00b7 14px \u00b7 line-height 1.5 \u00b7 plum \u00b7 19.444px bottom margin","style":{"color":"var(--wc-ink)","font-family":"var(--font-sans)","font-size":"14px","line-height":"1.5"},"voice":"prose"},{"name":"Lead / rich text large","sample":"So one evening in 2017, over a glass of wine (ok maybe two), we wished for something simple, portable, dip-able, endlessly snack-able, cheese-ladened and delicious.","spec":"Montserrat 400 \u00b7 16px \u00b7 line-height 1.5","style":{"font-family":"var(--font-sans)","font-size":"16px","line-height":"1.5"},"voice":"prose"},{"className":"btn","name":"Button label","sample":"SHOP NOW","spec":"Montserrat 700 \u00b7 14px \u00b7 UPPERCASE \u00b7 tracking 1px \u00b7 padding 10px 18px \u00b7 radius 2px","voice":"caps"},{"name":"Navigation","sample":"OUR STORY \u00b7 PARTNERS \u00b7 SHOP \u00b7 PRIVATE RESERVE CLUB","spec":"Montserrat \u00b7 14px \u00b7 UPPERCASE \u00b7 tracking 1px \u00b7 padding 4px 15px 5px. The theme asks for weight 600, which is not a loaded cut \u2014 see drift.","style":{"font-family":"var(--font-sans)","font-size":"14px","font-weight":"700","letter-spacing":"1px"},"voice":"caps"},{"name":"Price","sample":"$14.00","spec":"Montserrat 400 \u00b7 14px \u00b7 plum; a sale price is --wc-sale-ink and the regular price is struck through","style":{"font-family":"var(--font-sans)","font-size":"14px","font-weight":"400"},"voice":"prose"},{"name":"Meta and legal","sample":"Wine Chips, Inc. \u00b7 61675 M 40 \u00b7 Paw Paw, MI 49079","spec":"Montserrat 400 \u00b7 12px \u00b7 --wc-ink-dim \u2014 the type floor","style":{"color":"var(--wc-ink-dim)","font-family":"var(--font-sans)","font-size":"12px"},"voice":"prose"},{"name":"Form message","sample":"Please enter a valid email address.","spec":"Montserrat 400 \u00b7 14px \u00b7 --wc-negative-ink on --wc-negative-bg inside a 1px --wc-negative rule, padding 1rem 1.3rem","style":{"color":"var(--wc-negative-ink)","font-family":"var(--font-sans)","font-size":"14px"},"voice":"prose"}]},"voice":{"capitalization":["Section headings (h2\u2013h6) are UPPERCASE with 0.1em tracking \u2014 that is a type rule, not a copy rule, and the copy is written in sentence case in the CMS.","The hero headline is typed in caps in the source and stays that way.","Buttons and navigation are uppercase with 1px letter-spacing.","Product and flavour names are Title Case: Hawaiian Luau, Private Reserve Club.","The brand is two words with a capital C: Wine Chips. Never WineChips outside a file name, a handle (@winechips) or a domain.","Body copy is sentence case. h1 is the one heading level that is NOT transformed to uppercase by the stylesheet."],"microcopy":[{"context":"Home hero headline","example":"THE BOLDEST, CHEESIEST, EASIEST, MOST SATISFYING WINE SNACK YOU'LL EVER HAVE"},{"context":"Meta description / search snippet","example":"The Boldest, Easiest, Most Satisfying Potato Chip You'll Ever Have. Wine Chips are the Only Chip Designed Exclusively for Wine. Try Every Bold Flavor!"},{"context":"Announcement rail","example":"\u23f0 OUR NEW FLAVOR: HAWAIIAN LUAU \ud83c\udfdd\ufe0f"},{"context":"Product category heading","example":"PREMIUM LATTICE-CUT CHIPS"},{"context":"Merchandising heading","example":"TODAY'S POPULAR ITEMS & GIFTABLES"},{"context":"Collections heading","example":"COLLECTIONS"},{"context":"Press / event band","example":"THE ASPEN FOOD & WINE CLASSIC"},{"context":"Our Story eyebrow","example":"SIMPLY DELICIOUS, PAIRED PERFECTION."},{"context":"Our Story heading","example":"MADE WITH LOVE, WHILE DRINKING WINE"},{"context":"Our Story heading (second)","example":"BOLD, CHEESY & SATISFYING!"},{"context":"Founder story, opening","example":"We made Wine Chips because we love wine and we love cheese (who doesn't?) but realized that putting the cheese IN the wine was a bad idea for both."},{"context":"Founder story, the wish","example":"So one evening in 2017, over a glass of wine (ok maybe two), we wished for something simple, portable, dip-able, endlessly snack-able, cheese-ladened and delicious."},{"context":"Founder story, the payoff","example":"And just like that (ok, it took a lot of work, a lot of samples, a lot of wine and the dedication of more than a few passionate oenophiles, exuberant chip connoisseurs and mildly lazy party guests) the wine chip was born."},{"context":"Primary CTA","example":"SHOP NOW"},{"context":"Secondary CTA","example":"OUR STORY"},{"context":"Newsletter heading","example":"JOIN THE COMMUNITY"},{"context":"Newsletter submit","example":"Subscribe"},{"context":"Primary navigation","example":"OUR STORY \u00b7 PARTNERS \u00b7 SHOP \u00b7 PRIVATE RESERVE CLUB"},{"context":"Cart drawer heading","example":"Just added to your cart"},{"context":"Cart drawer actions","example":"View cart \u00b7 Continue shopping"},{"context":"Support address","example":"hello@winechips.com"},{"context":"Registered address","example":"Wine Chips, Inc. \u00b7 61675 M 40 \u00b7 Paw Paw, MI 49079"},{"context":"Rally fundraising tagline (wc-fundraiser-platform email templates)","example":"Premium snacks. Real fundraising."},{"context":"Slideshow assistive text","example":"Use left/right arrows to navigate the slideshow or swipe left/right if using a mobile device"},{"context":"Variant select assistive text","example":"Choosing a selection results in a full page refresh. Press the space key then arrow keys to make a selection."}],"principles":["Lead with appetite. Flavour and occasion come before provenance, and provenance before process.","Favour: bold \u00b7 cheesy \u00b7 satisfying \u00b7 lattice-cut \u00b7 paired \u00b7 snackable \u00b7 dip-able \u00b7 designed exclusively for wine \u00b7 try every bold flavour.","Avoid: tasting-note vocabulary, sommelier register, diet and wellness claims, and any health or nutrition claim the label does not carry.","Keep the joke in. The founder story is funny on purpose and the copy does not edit the humour out.","Second person for the shopper, first person plural for the company. 'We made Wine Chips because we love wine and we love cheese.'","Never imply an award, rating or press mention the brand does not hold; the press strip names only real placements.","American spelling throughout \u2014 the storefront, the labels and the fundraising platform are all US."],"registers":[{"id":"editorial","name":"Storefront and campaign","principles":["Appetite first, then occasion, then provenance.","Caps headings, generous air, one wine-red signal per screen.","The founder voice is allowed to be funny; product copy is not."]},{"id":"operator","name":"Internal tools","principles":["Terse and literal. A row label is a noun; an action is a verb.","Never uppercase a data value, an order number, an email address or a customer's name.","State the count and the unit: '12 open', not 'several tickets'.","Destructive actions name what will be lost before they ask."]}]}}