{
  "primitive": {
    "color": {
      "ivory": {
        "50": {
          "$value": "#fbf7f0",
          "$type": "color",
          "$description": "Unbleached silk. The page.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Unbleached silk. The page.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "sand": {
        "100": {
          "$value": "#f3e8d8",
          "$type": "color",
          "$description": "Raw tussar. Quiet panels and image wells.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Raw tussar. Quiet panels and image wells.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "150": {
          "$value": "#efe3d1",
          "$type": "color",
          "$description": "Pale separator tone. Used by color.border.faint between content that is already grouped.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Pale separator tone. Used by color.border.faint between content that is already grouped.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "200": {
          "$value": "#ecdcc4",
          "$type": "color",
          "$description": "Neutral hovered-surface tone. Used by color.surface.hover, not by body text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Neutral hovered-surface tone. Used by color.surface.hover, not by body text.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "300": {
          "$value": "#e6d3b8",
          "$type": "color",
          "$description": "Hairlines and dividers.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Hairlines and dividers.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "500": {
          "$value": "#c8ab8c",
          "$type": "color",
          "$description": "Muted text and control borders in library dark mode.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Muted text and control borders in library dark mode.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "stone": {
        "200": {
          "$value": "#e9e0d4",
          "$type": "color",
          "$description": "Sold out, disabled.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Sold out, disabled.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "zari": {
        "400": {
          "$value": "#d9a441",
          "$type": "color",
          "$description": "Gold thread. Used sparingly: tissue tags, the temple border, one rule on the menu.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Gold thread. Used sparingly: tissue tags, the temple border, one rule on the menu.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "copper": {
        "400": {
          "$value": "#cc8a57",
          "$type": "color",
          "$description": "Numerals and ornament rules.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Numerals and ornament rules.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "600": {
          "$value": "#995e35",
          "$type": "color",
          "$description": "Accessible copper for meaningful numerals and text. The original copper remains available for artwork.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Accessible copper for meaningful numerals and text. The original copper remains available for artwork.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "300": {
          "$value": "#e6b181",
          "$type": "color",
          "$description": "Readable copper text in library dark mode.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Readable copper text in library dark mode.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "bronze": {
        "600": {
          "$value": "#8a5a3b",
          "$type": "color",
          "$description": "Eyebrows and text links.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Eyebrows and text links.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "umber": {
        "500": {
          "$value": "#8c735d",
          "$type": "color",
          "$description": "Warm control-boundary tone. Retained for strong borders; ordinary muted text uses the darker umber.550.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Warm control-boundary tone. Retained for strong borders; ordinary muted text uses the darker umber.550.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "600": {
          "$value": "#6b5646",
          "$type": "color",
          "$description": "Body copy that steps back.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Body copy that steps back.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "550": {
          "$value": "#7d634e",
          "$type": "color",
          "$description": "Accessible muted text on ivory. Keeps the warm umber hue.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Accessible muted text on ivory. Keeps the warm umber hue.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "espresso": {
        "900": {
          "$value": "#2a1d15",
          "$type": "color",
          "$description": "Ink. Headlines, primary text, the announcement bar.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Ink. Headlines, primary text, the announcement bar.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "950": {
          "$value": "#1b1511",
          "$type": "color",
          "$description": "Library dark-mode page surface.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Library dark-mode page surface.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "850": {
          "$value": "#382b23",
          "$type": "color",
          "$description": "Raised surfaces in library dark mode.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Raised surfaces in library dark mode.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "rust": {
        "600": {
          "$value": "#a73c24",
          "$type": "color",
          "$description": "Sindoor. The one action colour.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Sindoor. The one action colour.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "700": {
          "$value": "#8f301b",
          "$type": "color",
          "$description": "Darker action tone for primary hover and readable error feedback on ivory.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Darker action tone for primary hover and readable error feedback on ivory.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "300": {
          "$value": "#f1ac96",
          "$type": "color",
          "$description": "Primary action fill in library dark mode, paired with espresso text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Primary action fill in library dark mode, paired with espresso text.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "400": {
          "$value": "#e99177",
          "$type": "color",
          "$description": "Hovered primary action fill in library dark mode.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Hovered primary action fill in library dark mode.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "leaf": {
        "600": {
          "$value": "#1f7a4a",
          "$type": "color",
          "$description": "WhatsApp only.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "WhatsApp only.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "700": {
          "$value": "#186a3e",
          "$type": "color",
          "$description": "Hovered WhatsApp fill. Reserve green for the chat channel.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Hovered WhatsApp fill. Reserve green for the chat channel.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "900": {
          "$value": "#103822",
          "$type": "color",
          "$description": "Deep green tint for the WhatsApp control shadow. Not a general brand action colour.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Deep green tint for the WhatsApp control shadow. Not a general brand action colour.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "white": {
        "$value": "#ffffff",
        "$type": "color",
        "$description": "White foreground reserved for the WhatsApp green control.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "White foreground reserved for the WhatsApp green control.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      }
    },
    "font": {
      "family": {
        "serif": {
          "$value": "'Gilda Display', Georgia, serif",
          "$type": "fontFamilies",
          "$description": "Gilda Display for page titles, editorial headings, card names and large numerals.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Gilda Display for page titles, editorial headings, card names and large numerals.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "sans": {
          "$value": "'Instrument Sans', 'Helvetica Neue', sans-serif",
          "$type": "fontFamilies",
          "$description": "Instrument Sans for descriptions, prices, navigation, labels and form controls.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Instrument Sans for descriptions, prices, navigation, labels and form controls.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "weight": {
        "regular": {
          "$value": "400",
          "$type": "fontWeights",
          "$description": "Regular text weight for body copy and the serif display family.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Regular text weight for body copy and the serif display family.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "semibold": {
          "$value": "600",
          "$type": "fontWeights",
          "$description": "Semibold weight for controls, navigation, short labels and prices.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Semibold weight for controls, navigation, short labels and prices.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "size": {
        "11": {
          "$value": "11px",
          "$type": "fontSizes",
          "$description": "Fabric tags and compact uppercase metadata. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Fabric tags and compact uppercase metadata. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "12": {
          "$value": "12px",
          "$type": "fontSizes",
          "$description": "Eyebrows and compact navigation labels. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Eyebrows and compact navigation labels. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "13": {
          "$value": "13px",
          "$type": "fontSizes",
          "$description": "Supporting card notes and metadata. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Supporting card notes and metadata. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "14": {
          "$value": "14px",
          "$type": "fontSizes",
          "$description": "Small utility actions and helper copy. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Small utility actions and helper copy. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "15": {
          "$value": "15px",
          "$type": "fontSizes",
          "$description": "Body copy, prices and control labels. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Body copy, prices and control labels. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "17": {
          "$value": "17px",
          "$type": "fontSizes",
          "$description": "Introductory paragraphs and the minimum fluid card-title size. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Introductory paragraphs and the minimum fluid card-title size. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "22": {
          "$value": "22px",
          "$type": "fontSizes",
          "$description": "Card-title maximum and compact editorial links. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Card-title maximum and compact editorial links. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "26": {
          "$value": "26px",
          "$type": "fontSizes",
          "$description": "Product prices and compact large controls. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Product prices and compact large controls. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "32": {
          "$value": "32px",
          "$type": "fontSizes",
          "$description": "Large compact utility headings. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Large compact utility headings. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "44": {
          "$value": "44px",
          "$type": "fontSizes",
          "$description": "Meaningful section numerals. Prefer the matching composite type role when one exists.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Meaningful section numerals. Prefer the matching composite type role when one exists.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "lineHeight": {
        "none": {
          "$value": "100%",
          "$type": "lineHeights",
          "$description": "One-em line box for large display text and numerals. Do not use for body paragraphs.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "One-em line box for large display text and numerals. Do not use for body paragraphs.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "tight": {
          "$value": "106%",
          "$type": "lineHeights",
          "$description": "Tight 1.06 line-height for short serif titles, with explicit checks for clipping.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Tight 1.06 line-height for short serif titles, with explicit checks for clipping.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "snug": {
          "$value": "115%",
          "$type": "lineHeights",
          "$description": "1.15 line-height for medium and small editorial headings.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "1.15 line-height for medium and small editorial headings.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "relaxed": {
          "$value": "130%",
          "$type": "lineHeights",
          "$description": "1.3 line-height for wrapping product names on cards.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "1.3 line-height for wrapping product names on cards.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "16": {
          "$value": "16px",
          "$type": "lineHeights",
          "$description": "16px line box for short 11-12px labels, navigation details and tags.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "16px line box for short 11-12px labels, navigation details and tags.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "20": {
          "$value": "20px",
          "$type": "lineHeights",
          "$description": "20px line box for metadata, helper text and button labels.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "20px line box for metadata, helper text and button labels.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "24": {
          "$value": "24px",
          "$type": "lineHeights",
          "$description": "24px line box for ordinary 15px reading text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "24px line box for ordinary 15px reading text.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "28": {
          "$value": "28px",
          "$type": "lineHeights",
          "$description": "28px line box for 17px introductory paragraphs.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "28px line box for 17px introductory paragraphs.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "32": {
          "$value": "32px",
          "$type": "lineHeights",
          "$description": "32px line box for compact large labels and prices.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "32px line box for compact large labels and prices.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      },
      "letterSpacing": {
        "tight": {
          "$value": "-1.5%",
          "$type": "letterSpacing",
          "$description": "Display serif.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Display serif.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "normal": {
          "$value": "0%",
          "$type": "letterSpacing",
          "$description": "Untracked text for ordinary descriptions, names and inputs.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Untracked text for ordinary descriptions, names and inputs.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "wide": {
          "$value": "2%",
          "$type": "letterSpacing",
          "$description": "Button labels.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Button labels.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "caps": {
          "$value": "16%",
          "$type": "letterSpacing",
          "$description": "Small capitals: nav, tags, labels.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Small capitals: nav, tags, labels.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        },
        "capsWide": {
          "$value": "20%",
          "$type": "letterSpacing",
          "$description": "Eyebrows.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Eyebrows.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      }
    },
    "space": {
      "025": {
        "$value": "2px",
        "$type": "spacing",
        "$description": "Underline offsets and very tight optical separation.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Underline offsets and very tight optical separation.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "050": {
        "$value": "4px",
        "$type": "spacing",
        "$description": "Tightly paired metadata and label spacing.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Tightly paired metadata and label spacing.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "075": {
        "$value": "6px",
        "$type": "spacing",
        "$description": "Compact link rows and tag offsets.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Compact link rows and tag offsets.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "100": {
        "$value": "8px",
        "$type": "spacing",
        "$description": "Small internal gaps and icon/label spacing.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Small internal gaps and icon/label spacing.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "125": {
        "$value": "10px",
        "$type": "spacing",
        "$description": "Control gaps and compact panel padding.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Control gaps and compact panel padding.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "150": {
        "$value": "12px",
        "$type": "spacing",
        "$description": "Field padding, button groups and header spacing.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Field padding, button groups and header spacing.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "175": {
        "$value": "14px",
        "$type": "spacing",
        "$description": "Product-card content separation and sheet padding.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Product-card content separation and sheet padding.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "200": {
        "$value": "16px",
        "$type": "spacing",
        "$description": "Standard inner groups and paired actions.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Standard inner groups and paired actions.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "250": {
        "$value": "20px",
        "$type": "spacing",
        "$description": "Information panels and filter-sheet padding.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Information panels and filter-sheet padding.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "300": {
        "$value": "24px",
        "$type": "spacing",
        "$description": "Product detail groups and compact sections.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Product detail groups and compact sections.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "350": {
        "$value": "28px",
        "$type": "spacing",
        "$description": "Menu panels and larger inner groups.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Menu panels and larger inner groups.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "400": {
        "$value": "32px",
        "$type": "spacing",
        "$description": "Button horizontal padding and medium layout gaps.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Button horizontal padding and medium layout gaps.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "450": {
        "$value": "36px",
        "$type": "spacing",
        "$description": "Larger fixed internal separation.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Larger fixed internal separation.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "500": {
        "$value": "40px",
        "$type": "spacing",
        "$description": "Heading-to-content separation in fixed layouts.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Heading-to-content separation in fixed layouts.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "600": {
        "$value": "48px",
        "$type": "spacing",
        "$description": "Large fixed group separation.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Large fixed group separation.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "700": {
        "$value": "56px",
        "$type": "spacing",
        "$description": "Large fixed separation when a fluid section role is unsuitable.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Large fixed separation when a fluid section role is unsuitable.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "800": {
        "$value": "64px",
        "$type": "spacing",
        "$description": "Large fixed composition gaps.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Large fixed composition gaps.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "900": {
        "$value": "72px",
        "$type": "spacing",
        "$description": "Extended fixed composition gaps.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Extended fixed composition gaps.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "1000": {
        "$value": "80px",
        "$type": "spacing",
        "$description": "Very large fixed composition separation.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Very large fixed composition separation.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "1200": {
        "$value": "96px",
        "$type": "spacing",
        "$description": "Large page composition spacing; prefer a fluid section role for responsive page rhythm.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Large page composition spacing; prefer a fluid section role for responsive page rhythm.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "1500": {
        "$value": "120px",
        "$type": "spacing",
        "$description": "Maximum fixed spacing step; prefer semantic section roles for normal page sections.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Maximum fixed spacing step; prefer semantic section roles for normal page sections.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      }
    },
    "radius": {
      "none": {
        "$value": "0px",
        "$type": "borderRadius",
        "$description": "Square composition and image edges. Do not round the entire editorial layout.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Square composition and image edges. Do not round the entire editorial layout.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "sm": {
        "$value": "2px",
        "$type": "borderRadius",
        "$description": "2px corners for product tags, fields and rectangular actions.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "2px corners for product tags, fields and rectangular actions.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "pill": {
        "$value": "999px",
        "$type": "borderRadius",
        "$description": "Fully rounded hearts, avatar controls and the WhatsApp control.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Fully rounded hearts, avatar controls and the WhatsApp control.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      }
    },
    "motion": {
      "ease": {
        "out": {
          "$value": "cubic-bezier(.22,.61,.36,1)",
          "$type": "other",
          "$description": "Every transition on the site eases out on this curve.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "primitive",
              "use": "Every transition on the site eases out on this curve.",
              "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
            }
          }
        }
      }
    },
    "duration": {
      "instant": {
        "$value": "0ms",
        "$type": "duration",
        "$description": "Reduced motion and instant state changes.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Reduced motion and instant state changes.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "press": {
        "$value": "100ms",
        "$type": "duration",
        "$description": "Brief press feedback and small delays.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Brief press feedback and small delays.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "fast": {
        "$value": "150ms",
        "$type": "duration",
        "$description": "Frequently used controls, colour feedback and compact state changes.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Frequently used controls, colour feedback and compact state changes.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "standard": {
        "$value": "250ms",
        "$type": "duration",
        "$description": "Hover transitions, text links and ordinary UI feedback.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Hover transitions, text links and ordinary UI feedback.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "overlay": {
        "$value": "300ms",
        "$type": "duration",
        "$description": "Menus, modal entry, filter sheets and their scrims.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Menus, modal entry, filter sheets and their scrims.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "slow": {
        "$value": "500ms",
        "$type": "duration",
        "$description": "Larger image crossfades and low-frequency layout entry.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Larger image crossfades and low-frequency layout entry.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "reveal": {
        "$value": "750ms",
        "$type": "duration",
        "$description": "Initial editorial content entry. Never delays access to a control.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Initial editorial content entry. Never delays access to a control.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "image": {
        "$value": "1200ms",
        "$type": "duration",
        "$description": "Slow product-photo scale changes on fine pointers.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Slow product-photo scale changes on fine pointers.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "ambient": {
        "$value": "14000ms",
        "$type": "duration",
        "$description": "Decorative hero image movement. Disabled for reduced motion.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Decorative hero image movement. Disabled for reduced motion.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "stagger": {
        "$value": "60ms",
        "$type": "duration",
        "$description": "Offset between adjacent introductory items, not an interaction delay.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Offset between adjacent introductory items, not an interaction delay.",
            "avoid": "Do not copy the resolved value into a template or replace a suitable semantic role."
          }
        }
      },
      "attention": {
        "$value": "3400ms",
        "$type": "duration",
        "$description": "Two-cycle introductory WhatsApp indicator. Disabled for reduced motion.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "primitive",
            "use": "Two-cycle introductory WhatsApp indicator. Disabled for reduced motion.",
            "avoid": "Do not use decorative timing for frequently used controls."
          }
        }
      }
    }
  },
  "semantic": {
    "color": {
      "surface": {
        "page": {
          "$value": "{color.ivory.50}",
          "$type": "color",
          "$description": "Main page background. Pair with primary or secondary text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Main page background. Pair with primary or secondary text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "subtle": {
          "$value": "{color.sand.100}",
          "$type": "color",
          "$description": "Bands, image wells, chips.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Bands, image wells, chips.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "hover": {
          "$value": "{color.sand.200}",
          "$type": "color",
          "$description": "Hovered neutral surface; keep the label readable.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hovered neutral surface; keep the label readable.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverse": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Inverse announcement and selected surfaces. Pair with inverse text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Inverse announcement and selected surfaces. Pair with inverse text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "glass": {
          "$value": "rgba({color.ivory.50}, 0.94)",
          "$type": "color",
          "$description": "Nearly opaque surface over photography or behind a sticky header.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Nearly opaque surface over photography or behind a sticky header.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "scrim": {
          "$value": "rgba({color.espresso.900}, 0.5)",
          "$type": "color",
          "$description": "Modal backdrop. Never place readable content directly on the scrim.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Modal backdrop. Never place readable content directly on the scrim.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "scrimStrong": {
          "$value": "rgba({color.espresso.900}, 0.85)",
          "$type": "color",
          "$description": "Sold-out overlay on product photos. Pair with inverse text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Sold-out overlay on product photos. Pair with inverse text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "disabled": {
          "$value": "{color.stone.200}",
          "$type": "color",
          "$description": "Unavailable control background. Include a disabled state and a reason.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Unavailable control background. Include a disabled state and a reason.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "text": {
        "primary": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Headings, product names, prices and entered text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Headings, product names, prices and entered text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "secondary": {
          "$value": "{color.umber.600}",
          "$type": "color",
          "$description": "Descriptions, helper text and supporting detail.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Descriptions, helper text and supporting detail.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "tertiary": {
          "$value": "{color.umber.550}",
          "$type": "color",
          "$description": "Readable muted metadata and placeholders on the page surface.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Readable muted metadata and placeholders on the page surface.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "accent": {
          "$value": "{color.bronze.600}",
          "$type": "color",
          "$description": "Eyebrows and secondary text links. Do not use decorative copper for small copy.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Eyebrows and secondary text links. Do not use decorative copper for small copy.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "action": {
          "$value": "{color.rust.600}",
          "$type": "color",
          "$description": "Text actions and saved-state hearts.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Text actions and saved-state hearts.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "ornament": {
          "$value": "{color.copper.600}",
          "$type": "color",
          "$description": "Meaningful copper step numerals. This is a text colour, unlike decorative artwork copper.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Meaningful copper step numerals. This is a text colour, unlike decorative artwork copper.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverse": {
          "$value": "{color.ivory.50}",
          "$type": "color",
          "$description": "Text on inverse surfaces or a strong photo scrim.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Text on inverse surfaces or a strong photo scrim.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverseMuted": {
          "$value": "{color.sand.100}",
          "$type": "color",
          "$description": "Supporting text on inverse surfaces.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Supporting text on inverse surfaces.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "onWhatsapp": {
          "$value": "{color.white}",
          "$type": "color",
          "$description": "WhatsApp control text and glyphs on its green background.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "WhatsApp control text and glyphs on its green background.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "onAccent": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Dark text on pale gold tags. Does not change with the page mode.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Dark text on pale gold tags. Does not change with the page mode.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "border": {
        "subtle": {
          "$value": "{color.sand.300}",
          "$type": "color",
          "$description": "Decorative separators. Do not rely on this token alone for an essential control boundary.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Decorative separators. Do not rely on this token alone for an essential control boundary.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "faint": {
          "$value": "{color.sand.150}",
          "$type": "color",
          "$description": "Quiet separators between already grouped content.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Quiet separators between already grouped content.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "strong": {
          "$value": "{color.umber.500}",
          "$type": "color",
          "$description": "Essential control boundaries and secondary buttons.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Essential control boundaries and secondary buttons.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "bold": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Selected thumbnail and active navigation boundary.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Selected thumbnail and active navigation boundary.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverse": {
          "$value": "{color.ivory.50}",
          "$type": "color",
          "$description": "Rules on photos and dark bands.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Rules on photos and dark bands.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "ornament": {
          "$value": "{color.copper.400}",
          "$type": "color",
          "$description": "Decorative copper rules. Never carries information by itself.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Decorative copper rules. Never carries information by itself.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "zari": {
          "$value": "{color.zari.400}",
          "$type": "color",
          "$description": "Gold decorative brand rules and temple motifs.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Gold decorative brand rules and temple motifs.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "action": {
          "$value": "{color.rust.600}",
          "$type": "color",
          "$description": "Action-colour boundaries and selected controls.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Action-colour boundaries and selected controls.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "accent": {
        "zari": {
          "$value": "{color.zari.400}",
          "$type": "color",
          "$description": "Gold fabric tags and decorative motifs. Pair with text.onAccent for readable text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Gold fabric tags and decorative motifs. Pair with text.onAccent for readable text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "copper": {
          "$value": "{color.copper.400}",
          "$type": "color",
          "$description": "Original artwork copper. Use text.ornament when the content must be read.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Original artwork copper. Use text.ornament when the content must be read.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "action": {
        "primary": {
          "$value": "{color.rust.600}",
          "$type": "color",
          "$description": "Primary commerce or enquiry action fill.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Primary commerce or enquiry action fill.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "primaryHover": {
          "$value": "{color.rust.700}",
          "$type": "color",
          "$description": "Hovered primary-action fill; preserve the onPrimary foreground.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hovered primary-action fill; preserve the onPrimary foreground.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "onPrimary": {
          "$value": "{color.ivory.50}",
          "$type": "color",
          "$description": "Foreground on primary actions. Always test against default and hover fills.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Foreground on primary actions. Always test against default and hover fills.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "whatsapp": {
        "bg": {
          "$value": "{color.leaf.600}",
          "$type": "color",
          "$description": "WhatsApp-specific button background. Reserve green for the chat channel.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "WhatsApp-specific button background. Reserve green for the chat channel.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "bgHover": {
          "$value": "{color.leaf.700}",
          "$type": "color",
          "$description": "Hovered WhatsApp background.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hovered WhatsApp background.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "focus": {
        "$value": "{color.espresso.900}",
        "$type": "color",
        "$description": "Keyboard-focus ring on page surfaces. Never remove without an equivalent visible indicator.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Keyboard-focus ring on page surfaces. Never remove without an equivalent visible indicator.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "state": {
        "error": {
          "$value": "{color.rust.700}",
          "$type": "color",
          "$description": "Validation error text and borders. Always accompany colour with a message.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Validation error text and borders. Always accompany colour with a message.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "success": {
          "$value": "{color.text.accent}",
          "$type": "color",
          "$description": "Confirmed local actions. Never implies a successful payment without a server response.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Confirmed local actions. Never implies a successful payment without a server response.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "warning": {
          "$value": "{color.bronze.600}",
          "$type": "color",
          "$description": "Important supporting information, always paired with explanatory text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Important supporting information, always paired with explanatory text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      }
    },
    "type": {
      "display": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "112px",
          "lineHeight": "{font.lineHeight.none}",
          "letterSpacing": "{font.letterSpacing.tight}"
        },
        "$type": "typography",
        "$description": "Home and page heroes.",
        "$extensions": {
          "anubhuti.fluid": {
            "fontSize": {
              "min": "48px",
              "vw": 6
            }
          },
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Home and page heroes.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "title": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "76px",
          "lineHeight": "{font.lineHeight.tight}",
          "letterSpacing": "{font.letterSpacing.tight}"
        },
        "$type": "typography",
        "$description": "Collection and page titles.",
        "$extensions": {
          "anubhuti.fluid": {
            "fontSize": {
              "min": "40px",
              "vw": 5
            }
          },
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Collection and page titles.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "heading": {
        "xl": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "60px",
            "lineHeight": "{font.lineHeight.tight}"
          },
          "$type": "typography",
          "$description": "Section headings (.an-h2).",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "36px",
                "vw": 4
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Section headings (.an-h2).",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "lg": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "48px",
            "lineHeight": "{font.lineHeight.tight}"
          },
          "$type": "typography",
          "$description": "Sub-sections, drape steps, gifting.",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "30px",
                "vw": 3.2
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Sub-sections, drape steps, gifting.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "md": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "38px",
            "lineHeight": "{font.lineHeight.snug}"
          },
          "$type": "typography",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "26px",
                "vw": 2.4
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Medium editorial headings, gifting detail and supporting sections.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Medium editorial headings, gifting detail and supporting sections."
        },
        "sm": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "30px",
            "lineHeight": "{font.lineHeight.snug}"
          },
          "$type": "typography",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "22px",
                "vw": 1.9
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Smaller section headings and product information groups.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Smaller section headings and product information groups."
        }
      },
      "cardTitle": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "22px",
          "lineHeight": "{font.lineHeight.relaxed}"
        },
        "$type": "typography",
        "$description": "Saree names on cards.",
        "$extensions": {
          "anubhuti.fluid": {
            "fontSize": {
              "min": "17px",
              "vw": 1.3
            }
          },
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Saree names on cards.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "numeral": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.44}",
          "lineHeight": "{font.lineHeight.none}"
        },
        "$type": "typography",
        "$description": "Meaningful step numerals. Use color.text.ornament for readable copper.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Meaningful step numerals. Use color.text.ornament for readable copper.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "lead": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.17}",
          "lineHeight": "{font.lineHeight.28}"
        },
        "$type": "typography",
        "$description": "Introductory paragraphs with a relaxed reading line.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Introductory paragraphs with a relaxed reading line.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "body": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.15}",
          "lineHeight": "{font.lineHeight.24}"
        },
        "$type": "typography",
        "$description": "Main product descriptions, help content and ordinary reading text.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Main product descriptions, help content and ordinary reading text.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "small": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.13}",
          "lineHeight": "{font.lineHeight.20}"
        },
        "$type": "typography",
        "$description": "Supporting descriptions and metadata; do not use for essential instructions when more space is available.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Supporting descriptions and metadata; do not use for essential instructions when more space is available.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "label": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.semibold}",
          "fontSize": "{font.size.15}",
          "lineHeight": "{font.lineHeight.20}",
          "letterSpacing": "{font.letterSpacing.wide}"
        },
        "$type": "typography",
        "$description": "Buttons and text links.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Buttons and text links.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "eyebrow": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.semibold}",
          "fontSize": "{font.size.12}",
          "lineHeight": "{font.lineHeight.16}",
          "letterSpacing": "{font.letterSpacing.capsWide}",
          "textCase": "uppercase"
        },
        "$type": "typography",
        "$description": "Short uppercase section labels, not paragraphs.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Short uppercase section labels, not paragraphs.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "caps": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.semibold}",
          "fontSize": "{font.size.11}",
          "lineHeight": "{font.lineHeight.16}",
          "letterSpacing": "{font.letterSpacing.caps}",
          "textCase": "uppercase"
        },
        "$type": "typography",
        "$description": "Announcement bar, tags, footer and menu headings.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Announcement bar, tags, footer and menu headings.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "space": {
      "section": {
        "lg": {
          "$value": "120px",
          "$type": "spacing",
          "$description": "Top and bottom of a home section.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "64px",
              "vw": 8
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Top and bottom of a home section.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "md": {
          "$value": "104px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "56px",
              "vw": 7
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Medium vertical section rhythm, including the account and explanatory pages. Fluid from 56px to 104px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Medium vertical section rhythm, including the account and explanatory pages. Fluid from 56px to 104px."
        },
        "sm": {
          "$value": "96px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "40px",
              "vw": 6
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Compact vertical section rhythm for secondary content. Fluid from 40px to 96px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Compact vertical section rhythm for secondary content. Fluid from 40px to 96px."
        }
      },
      "layout": {
        "xl": {
          "$value": "120px",
          "$type": "spacing",
          "$description": "Between the two halves of a split section.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "32px",
              "vw": 6
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Between the two halves of a split section.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "lg": {
          "$value": "80px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "32px",
              "vw": 5
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Large inner spacing for page introductions and medium split layouts. Fluid from 32px to 80px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Large inner spacing for page introductions and medium split layouts. Fluid from 32px to 80px."
        },
        "md": {
          "$value": "48px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "24px",
              "vw": 3
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Normal internal layout spacing and panel padding. Fluid from 24px to 48px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Normal internal layout spacing and panel padding. Fluid from 24px to 48px."
        },
        "sm": {
          "$value": "32px",
          "$type": "spacing",
          "$description": "Grid gaps between cards.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "16px",
              "vw": 2
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Grid gaps between cards.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "xs": {
          "$value": "24px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "12px",
              "vw": 1.5
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Compact responsive layout gaps. Fluid from 12px to 24px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Compact responsive layout gaps. Fluid from 12px to 24px."
        },
        "gutter": {
          "$value": "96px",
          "$type": "spacing",
          "$description": "Page side margin.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "16px",
              "vw": 5
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Page side margin.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "max": {
          "$value": "2000px",
          "$type": "sizing",
          "$description": "Widest the content gets.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Widest the content gets.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      }
    },
    "shadow": {
      "overlay": {
        "$value": {
          "x": "0",
          "y": "24px",
          "blur": "48px",
          "spread": "-24px",
          "color": "rgba({color.espresso.900}, 0.32)",
          "type": "dropShadow"
        },
        "$type": "boxShadow",
        "$description": "Menus, sheets and the quick view.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Menus, sheets and the quick view.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "ring": {
        "$value": {
          "x": "0",
          "y": "0",
          "blur": "0",
          "spread": "1px",
          "color": "{color.espresso.900}",
          "type": "dropShadow"
        },
        "$type": "boxShadow",
        "$description": "Selected swatch or thumbnail.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Selected swatch or thumbnail.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "motion": {
      "duration": {
        "instant": {
          "$value": "{duration.instant}",
          "$type": "duration",
          "$description": "Reduced motion and instant state changes.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Reduced motion and instant state changes.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "press": {
          "$value": "{duration.press}",
          "$type": "duration",
          "$description": "Brief press feedback and small delays.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Brief press feedback and small delays.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "fast": {
          "$value": "{duration.fast}",
          "$type": "duration",
          "$description": "Frequently used controls, colour feedback and compact state changes.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Frequently used controls, colour feedback and compact state changes.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "standard": {
          "$value": "{duration.standard}",
          "$type": "duration",
          "$description": "Hover transitions, text links and ordinary UI feedback.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hover transitions, text links and ordinary UI feedback.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "overlay": {
          "$value": "{duration.overlay}",
          "$type": "duration",
          "$description": "Menus, modal entry, filter sheets and their scrims.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Menus, modal entry, filter sheets and their scrims.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "slow": {
          "$value": "{duration.slow}",
          "$type": "duration",
          "$description": "Larger image crossfades and low-frequency layout entry.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Larger image crossfades and low-frequency layout entry.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "reveal": {
          "$value": "{duration.reveal}",
          "$type": "duration",
          "$description": "Initial editorial content entry. Never delays access to a control.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Initial editorial content entry. Never delays access to a control.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "image": {
          "$value": "{duration.image}",
          "$type": "duration",
          "$description": "Slow product-photo scale changes on fine pointers.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Slow product-photo scale changes on fine pointers.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "ambient": {
          "$value": "{duration.ambient}",
          "$type": "duration",
          "$description": "Decorative hero image movement. Disabled for reduced motion.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Decorative hero image movement. Disabled for reduced motion.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "stagger": {
          "$value": "{duration.stagger}",
          "$type": "duration",
          "$description": "Offset between adjacent introductory items, not an interaction delay.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Offset between adjacent introductory items, not an interaction delay.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "attention": {
          "$value": "{duration.attention}",
          "$type": "duration",
          "$description": "Two-cycle introductory WhatsApp indicator. Disabled for reduced motion.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Two-cycle introductory WhatsApp indicator. Disabled for reduced motion.",
              "avoid": "Do not use decorative timing for frequently used controls."
            }
          }
        }
      }
    },
    "interaction": {
      "target": {
        "min": {
          "$value": "44px",
          "$type": "sizing",
          "$description": "Product target for compact buttons and touch controls. WCAG 2.2 AA minimum is a separate 24px rule with exceptions.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Product target for compact buttons and touch controls. WCAG 2.2 AA minimum is a separate 24px rule with exceptions.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "focus": {
        "width": {
          "$value": "2px",
          "$type": "borderWidth",
          "$description": "Visible keyboard-focus outline thickness.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Visible keyboard-focus outline thickness.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "offset": {
          "$value": "3px",
          "$type": "spacing",
          "$description": "Space around keyboard-focus outlines so they remain visible.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Space around keyboard-focus outlines so they remain visible.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      }
    }
  },
  "component": {
    "button": {
      "height": {
        "$value": "52px",
        "$type": "sizing",
        "$description": "Minimum 52px height for the primary and secondary rectangular shopping actions.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Minimum 52px height for the primary and secondary rectangular shopping actions.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "paddingX": {
        "$value": "{space.400}",
        "$type": "spacing",
        "$description": "32px horizontal breathing room around action labels; the button may grow for long content.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "32px horizontal breathing room around action labels; the button may grow for long content.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "radius": {
        "$value": "{radius.sm}",
        "$type": "borderRadius",
        "$description": "Shared small corner treatment for rectangular shopping actions.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Shared small corner treatment for rectangular shopping actions.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "primary": {
        "bg": {
          "$value": "{color.action.primary}",
          "$type": "color",
          "$description": "Default fill of the next primary shopping or enquiry action.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Default fill of the next primary shopping or enquiry action.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "bgHover": {
          "$value": "{color.action.primaryHover}",
          "$type": "color",
          "$description": "Hovered fill for the primary action. Does not change the label colour.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Hovered fill for the primary action. Does not change the label colour.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "fg": {
          "$value": "{color.action.onPrimary}",
          "$type": "color",
          "$description": "Primary-action text and glyphs on default and hover fills.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Primary-action text and glyphs on default and hover fills.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "secondary": {
        "border": {
          "$value": "{color.border.strong}",
          "$type": "color",
          "$description": "Visible outline around the secondary action on the page surface.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Visible outline around the secondary action on the page surface.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "fg": {
          "$value": "{color.text.primary}",
          "$type": "color",
          "$description": "Secondary-action label in its default state.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Secondary-action label in its default state.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "bgHover": {
          "$value": "{color.surface.inverse}",
          "$type": "color",
          "$description": "Inverse fill when the secondary action is hovered.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Inverse fill when the secondary action is hovered.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "fgHover": {
          "$value": "{color.text.inverse}",
          "$type": "color",
          "$description": "Inverse foreground paired with the secondary hover fill.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Inverse foreground paired with the secondary hover fill.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "disabled": {
        "bg": {
          "$value": "{color.surface.disabled}",
          "$type": "color",
          "$description": "Unavailable action fill. Pair with disabled semantics and an explanatory label.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Unavailable action fill. Pair with disabled semantics and an explanatory label.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "fg": {
          "$value": "{color.text.secondary}",
          "$type": "color",
          "$description": "Unavailable action label. This state does not imply a pending operation.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "component",
              "use": "Unavailable action label. This state does not imply a pending operation.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      }
    },
    "card": {
      "mediaBg": {
        "$value": "{color.surface.subtle}",
        "$type": "color",
        "$description": "Image well behind product photography and before an image loads.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Image well behind product photography and before an image loads.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "tagTissue": {
        "$value": "{color.accent.zari}",
        "$type": "color",
        "$description": "Tissue sarees wear a gold tag.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Tissue sarees wear a gold tag.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "tagSilk": {
        "$value": "{color.surface.subtle}",
        "$type": "color",
        "$description": "Quiet surface for non-tissue fabric tags. Pair with card.tagSilkFg.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Quiet surface for non-tissue fabric tags. Pair with card.tagSilkFg.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "tagTissueFg": {
        "$value": "{color.text.onAccent}",
        "$type": "color",
        "$description": "Readable tissue-tag text on gold.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Readable tissue-tag text on gold.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "tagSilkFg": {
        "$value": "{color.text.primary}",
        "$type": "color",
        "$description": "Other fabric tags use the normal text role.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Other fabric tags use the normal text role.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "header": {
      "bg": {
        "$value": "{color.surface.glass}",
        "$type": "color",
        "$description": "Nearly opaque sticky header surface, preserving legibility over photography.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Nearly opaque sticky header surface, preserving legibility over photography.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "border": {
        "$value": "{color.border.subtle}",
        "$type": "color",
        "$description": "Quiet separator between navigation and the page beneath it.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Quiet separator between navigation and the page beneath it.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "announcementBg": {
        "$value": "{color.surface.inverse}",
        "$type": "color",
        "$description": "Inverse surface for short delivery announcements.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Inverse surface for short delivery announcements.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "announcementFg": {
        "$value": "{color.text.inverseMuted}",
        "$type": "color",
        "$description": "Announcement text paired with header.announcementBg.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Announcement text paired with header.announcementBg.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "badge": {
      "bg": {
        "$value": "{color.action.primary}",
        "$type": "color",
        "$description": "Fill for the small saved-item count, using the primary-action role.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Fill for the small saved-item count, using the primary-action role.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "fg": {
        "$value": "{color.action.onPrimary}",
        "$type": "color",
        "$description": "Readable saved-count text on badge.bg.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Readable saved-count text on badge.bg.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "whatsapp": {
      "bg": {
        "$value": "{color.whatsapp.bg}",
        "$type": "color",
        "$description": "Default green fill reserved for the WhatsApp contact control.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Default green fill reserved for the WhatsApp contact control.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "bgHover": {
        "$value": "{color.whatsapp.bgHover}",
        "$type": "color",
        "$description": "Darker green hover fill for the WhatsApp control.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Darker green hover fill for the WhatsApp control.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "fg": {
        "$value": "{color.text.onWhatsapp}",
        "$type": "color",
        "$description": "White WhatsApp glyph and label on both channel-specific fills.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "White WhatsApp glyph and label on both channel-specific fills.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "shadow": {
        "$value": {
          "x": "0",
          "y": "12px",
          "blur": "30px",
          "spread": "-10px",
          "color": "rgba({color.leaf.900}, 0.6)",
          "type": "dropShadow"
        },
        "$type": "boxShadow",
        "$description": "Green-tinted depth for the floating WhatsApp action; not a generic content-card shadow.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Green-tinted depth for the floating WhatsApp action; not a generic content-card shadow.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "field": {
      "bg": {
        "$value": "{color.surface.page}",
        "$type": "color",
        "$description": "Input field surface.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Input field surface.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "fg": {
        "$value": "{color.text.primary}",
        "$type": "color",
        "$description": "Entered field text.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Entered field text.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "placeholder": {
        "$value": "{color.text.tertiary}",
        "$type": "color",
        "$description": "Placeholder hint. A visible label is still required.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Placeholder hint. A visible label is still required.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "border": {
        "$value": "{color.border.strong}",
        "$type": "color",
        "$description": "Default visible input boundary.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Default visible input boundary.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "focus": {
        "$value": "{color.focus}",
        "$type": "color",
        "$description": "Field focus outline, independent of hover.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Field focus outline, independent of hover.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "error": {
        "$value": "{color.state.error}",
        "$type": "color",
        "$description": "Invalid input border and its error message.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Invalid input border and its error message.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "height": {
        "$value": "48px",
        "$type": "sizing",
        "$description": "Single-line checkout fields; content may increase the height.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Single-line checkout fields; content may increase the height.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "radius": {
        "$value": "{radius.sm}",
        "$type": "borderRadius",
        "$description": "Field corners follow the button scale.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Field corners follow the button scale.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "paddingX": {
        "$value": "{space.150}",
        "$type": "spacing",
        "$description": "Space between input content and its boundary.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Space between input content and its boundary.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "dialog": {
      "bg": {
        "$value": "{color.surface.page}",
        "$type": "color",
        "$description": "Quick view and filter sheet surface.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Quick view and filter sheet surface.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "scrim": {
        "$value": "{color.surface.scrim}",
        "$type": "color",
        "$description": "Backdrop indicates the page is temporarily unavailable.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Backdrop indicates the page is temporarily unavailable.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "shadow": {
        "$value": "{shadow.overlay}",
        "$type": "boxShadow",
        "$description": "Dialog elevation. Alias is resolved by the compiler.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "component",
            "use": "Dialog elevation. Alias is resolved by the compiler.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    }
  },
  "$themes": [
    {
      "id": "anubhuti",
      "name": "Anubhuti Light",
      "selectedTokenSets": {
        "primitive": "source",
        "semantic": "enabled",
        "semanticDark": "disabled",
        "component": "enabled"
      }
    },
    {
      "id": "anubhuti-library-dark",
      "name": "Anubhuti Library Dark",
      "selectedTokenSets": {
        "primitive": "source",
        "semantic": "disabled",
        "semanticDark": "enabled",
        "component": "enabled"
      },
      "$extensions": {
        "anubhuti.scope": "library-only"
      }
    }
  ],
  "$metadata": {
    "tokenSetOrder": [
      "primitive",
      "semantic",
      "semanticDark",
      "component"
    ]
  },
  "semanticDark": {
    "color": {
      "surface": {
        "page": {
          "$value": "{color.espresso.950}",
          "$type": "color",
          "$description": "Main page background. Pair with primary or secondary text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Main page background. Pair with primary or secondary text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "subtle": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Bands, image wells, chips.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Bands, image wells, chips.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "hover": {
          "$value": "{color.espresso.850}",
          "$type": "color",
          "$description": "Hovered neutral surface; keep the label readable.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hovered neutral surface; keep the label readable.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverse": {
          "$value": "{color.ivory.50}",
          "$type": "color",
          "$description": "Inverse announcement and selected surfaces. Pair with inverse text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Inverse announcement and selected surfaces. Pair with inverse text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "glass": {
          "$value": "rgba({color.espresso.950}, 0.94)",
          "$type": "color",
          "$description": "Nearly opaque surface over photography or behind a sticky header.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Nearly opaque surface over photography or behind a sticky header.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "scrim": {
          "$value": "rgba({color.espresso.950}, 0.7)",
          "$type": "color",
          "$description": "Modal backdrop. Never place readable content directly on the scrim.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Modal backdrop. Never place readable content directly on the scrim.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "scrimStrong": {
          "$value": "rgba({color.espresso.950}, 0.9)",
          "$type": "color",
          "$description": "Sold-out overlay on product photos. Pair with inverse text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Sold-out overlay on product photos. Pair with inverse text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "disabled": {
          "$value": "{color.espresso.850}",
          "$type": "color",
          "$description": "Unavailable control background. Include a disabled state and a reason.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Unavailable control background. Include a disabled state and a reason.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "text": {
        "primary": {
          "$value": "{color.ivory.50}",
          "$type": "color",
          "$description": "Headings, product names, prices and entered text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Headings, product names, prices and entered text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "secondary": {
          "$value": "{color.sand.300}",
          "$type": "color",
          "$description": "Descriptions, helper text and supporting detail.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Descriptions, helper text and supporting detail.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "tertiary": {
          "$value": "{color.sand.500}",
          "$type": "color",
          "$description": "Readable muted metadata and placeholders on the page surface.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Readable muted metadata and placeholders on the page surface.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "accent": {
          "$value": "{color.copper.300}",
          "$type": "color",
          "$description": "Eyebrows and secondary text links. Do not use decorative copper for small copy.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Eyebrows and secondary text links. Do not use decorative copper for small copy.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "action": {
          "$value": "{color.rust.300}",
          "$type": "color",
          "$description": "Text actions and saved-state hearts.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Text actions and saved-state hearts.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "ornament": {
          "$value": "{color.copper.300}",
          "$type": "color",
          "$description": "Meaningful copper step numerals. This is a text colour, unlike decorative artwork copper.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Meaningful copper step numerals. This is a text colour, unlike decorative artwork copper.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverse": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Text on inverse surfaces or a strong photo scrim.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Text on inverse surfaces or a strong photo scrim.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverseMuted": {
          "$value": "{color.umber.600}",
          "$type": "color",
          "$description": "Supporting text on inverse surfaces.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Supporting text on inverse surfaces.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "onWhatsapp": {
          "$value": "{color.white}",
          "$type": "color",
          "$description": "WhatsApp control text and glyphs on its green background.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "WhatsApp control text and glyphs on its green background.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "onAccent": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Dark text on pale gold tags. Does not change with the page mode.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Dark text on pale gold tags. Does not change with the page mode.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "border": {
        "subtle": {
          "$value": "{color.espresso.850}",
          "$type": "color",
          "$description": "Decorative separators. Do not rely on this token alone for an essential control boundary.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Decorative separators. Do not rely on this token alone for an essential control boundary.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "faint": {
          "$value": "{color.espresso.850}",
          "$type": "color",
          "$description": "Quiet separators between already grouped content.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Quiet separators between already grouped content.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "strong": {
          "$value": "{color.sand.500}",
          "$type": "color",
          "$description": "Essential control boundaries and secondary buttons.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Essential control boundaries and secondary buttons.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "bold": {
          "$value": "{color.sand.100}",
          "$type": "color",
          "$description": "Selected thumbnail and active navigation boundary.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Selected thumbnail and active navigation boundary.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "inverse": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Rules on photos and dark bands.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Rules on photos and dark bands.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "ornament": {
          "$value": "{color.copper.400}",
          "$type": "color",
          "$description": "Decorative copper rules. Never carries information by itself.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Decorative copper rules. Never carries information by itself.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "zari": {
          "$value": "{color.zari.400}",
          "$type": "color",
          "$description": "Gold decorative brand rules and temple motifs.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Gold decorative brand rules and temple motifs.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "action": {
          "$value": "{color.rust.300}",
          "$type": "color",
          "$description": "Action-colour boundaries and selected controls.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Action-colour boundaries and selected controls.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "accent": {
        "zari": {
          "$value": "{color.zari.400}",
          "$type": "color",
          "$description": "Gold fabric tags and decorative motifs. Pair with text.onAccent for readable text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Gold fabric tags and decorative motifs. Pair with text.onAccent for readable text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "copper": {
          "$value": "{color.copper.400}",
          "$type": "color",
          "$description": "Original artwork copper. Use text.ornament when the content must be read.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Original artwork copper. Use text.ornament when the content must be read.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "action": {
        "primary": {
          "$value": "{color.rust.300}",
          "$type": "color",
          "$description": "Primary commerce or enquiry action fill.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Primary commerce or enquiry action fill.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "primaryHover": {
          "$value": "{color.rust.400}",
          "$type": "color",
          "$description": "Hovered primary-action fill; preserve the onPrimary foreground.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hovered primary-action fill; preserve the onPrimary foreground.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "onPrimary": {
          "$value": "{color.espresso.900}",
          "$type": "color",
          "$description": "Foreground on primary actions. Always test against default and hover fills.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Foreground on primary actions. Always test against default and hover fills.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "whatsapp": {
        "bg": {
          "$value": "{color.leaf.600}",
          "$type": "color",
          "$description": "WhatsApp-specific button background. Reserve green for the chat channel.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "WhatsApp-specific button background. Reserve green for the chat channel.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "bgHover": {
          "$value": "{color.leaf.700}",
          "$type": "color",
          "$description": "Hovered WhatsApp background.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hovered WhatsApp background.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "focus": {
        "$value": "{color.zari.400}",
        "$type": "color",
        "$description": "Keyboard-focus ring on page surfaces. Never remove without an equivalent visible indicator.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Keyboard-focus ring on page surfaces. Never remove without an equivalent visible indicator.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "state": {
        "error": {
          "$value": "{color.rust.300}",
          "$type": "color",
          "$description": "Validation error text and borders. Always accompany colour with a message.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Validation error text and borders. Always accompany colour with a message.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "success": {
          "$value": "{color.text.accent}",
          "$type": "color",
          "$description": "Confirmed local actions. Never implies a successful payment without a server response.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Confirmed local actions. Never implies a successful payment without a server response.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "warning": {
          "$value": "{color.copper.300}",
          "$type": "color",
          "$description": "Important supporting information, always paired with explanatory text.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Important supporting information, always paired with explanatory text.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      }
    },
    "type": {
      "display": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "112px",
          "lineHeight": "{font.lineHeight.none}",
          "letterSpacing": "{font.letterSpacing.tight}"
        },
        "$type": "typography",
        "$description": "Home and page heroes.",
        "$extensions": {
          "anubhuti.fluid": {
            "fontSize": {
              "min": "48px",
              "vw": 6
            }
          },
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Home and page heroes.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "title": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "76px",
          "lineHeight": "{font.lineHeight.tight}",
          "letterSpacing": "{font.letterSpacing.tight}"
        },
        "$type": "typography",
        "$description": "Collection and page titles.",
        "$extensions": {
          "anubhuti.fluid": {
            "fontSize": {
              "min": "40px",
              "vw": 5
            }
          },
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Collection and page titles.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "heading": {
        "xl": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "60px",
            "lineHeight": "{font.lineHeight.tight}"
          },
          "$type": "typography",
          "$description": "Section headings (.an-h2).",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "36px",
                "vw": 4
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Section headings (.an-h2).",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "lg": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "48px",
            "lineHeight": "{font.lineHeight.tight}"
          },
          "$type": "typography",
          "$description": "Sub-sections, drape steps, gifting.",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "30px",
                "vw": 3.2
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Sub-sections, drape steps, gifting.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "md": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "38px",
            "lineHeight": "{font.lineHeight.snug}"
          },
          "$type": "typography",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "26px",
                "vw": 2.4
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Medium editorial headings, gifting detail and supporting sections.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Medium editorial headings, gifting detail and supporting sections."
        },
        "sm": {
          "$value": {
            "fontFamily": "{font.family.serif}",
            "fontWeight": "{font.weight.regular}",
            "fontSize": "30px",
            "lineHeight": "{font.lineHeight.snug}"
          },
          "$type": "typography",
          "$extensions": {
            "anubhuti.fluid": {
              "fontSize": {
                "min": "22px",
                "vw": 1.9
              }
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Smaller section headings and product information groups.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Smaller section headings and product information groups."
        }
      },
      "cardTitle": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "22px",
          "lineHeight": "{font.lineHeight.relaxed}"
        },
        "$type": "typography",
        "$description": "Saree names on cards.",
        "$extensions": {
          "anubhuti.fluid": {
            "fontSize": {
              "min": "17px",
              "vw": 1.3
            }
          },
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Saree names on cards.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "numeral": {
        "$value": {
          "fontFamily": "{font.family.serif}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.44}",
          "lineHeight": "{font.lineHeight.none}"
        },
        "$type": "typography",
        "$description": "Meaningful step numerals. Use color.text.ornament for readable copper.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Meaningful step numerals. Use color.text.ornament for readable copper.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "lead": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.17}",
          "lineHeight": "{font.lineHeight.28}"
        },
        "$type": "typography",
        "$description": "Introductory paragraphs with a relaxed reading line.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Introductory paragraphs with a relaxed reading line.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "body": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.15}",
          "lineHeight": "{font.lineHeight.24}"
        },
        "$type": "typography",
        "$description": "Main product descriptions, help content and ordinary reading text.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Main product descriptions, help content and ordinary reading text.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "small": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.regular}",
          "fontSize": "{font.size.13}",
          "lineHeight": "{font.lineHeight.20}"
        },
        "$type": "typography",
        "$description": "Supporting descriptions and metadata; do not use for essential instructions when more space is available.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Supporting descriptions and metadata; do not use for essential instructions when more space is available.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "label": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.semibold}",
          "fontSize": "{font.size.15}",
          "lineHeight": "{font.lineHeight.20}",
          "letterSpacing": "{font.letterSpacing.wide}"
        },
        "$type": "typography",
        "$description": "Buttons and text links.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Buttons and text links.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "eyebrow": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.semibold}",
          "fontSize": "{font.size.12}",
          "lineHeight": "{font.lineHeight.16}",
          "letterSpacing": "{font.letterSpacing.capsWide}",
          "textCase": "uppercase"
        },
        "$type": "typography",
        "$description": "Short uppercase section labels, not paragraphs.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Short uppercase section labels, not paragraphs.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "caps": {
        "$value": {
          "fontFamily": "{font.family.sans}",
          "fontWeight": "{font.weight.semibold}",
          "fontSize": "{font.size.11}",
          "lineHeight": "{font.lineHeight.16}",
          "letterSpacing": "{font.letterSpacing.caps}",
          "textCase": "uppercase"
        },
        "$type": "typography",
        "$description": "Announcement bar, tags, footer and menu headings.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Announcement bar, tags, footer and menu headings.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "space": {
      "section": {
        "lg": {
          "$value": "120px",
          "$type": "spacing",
          "$description": "Top and bottom of a home section.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "64px",
              "vw": 8
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Top and bottom of a home section.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "md": {
          "$value": "104px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "56px",
              "vw": 7
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Medium vertical section rhythm, including the account and explanatory pages. Fluid from 56px to 104px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Medium vertical section rhythm, including the account and explanatory pages. Fluid from 56px to 104px."
        },
        "sm": {
          "$value": "96px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "40px",
              "vw": 6
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Compact vertical section rhythm for secondary content. Fluid from 40px to 96px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Compact vertical section rhythm for secondary content. Fluid from 40px to 96px."
        }
      },
      "layout": {
        "xl": {
          "$value": "120px",
          "$type": "spacing",
          "$description": "Between the two halves of a split section.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "32px",
              "vw": 6
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Between the two halves of a split section.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "lg": {
          "$value": "80px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "32px",
              "vw": 5
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Large inner spacing for page introductions and medium split layouts. Fluid from 32px to 80px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Large inner spacing for page introductions and medium split layouts. Fluid from 32px to 80px."
        },
        "md": {
          "$value": "48px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "24px",
              "vw": 3
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Normal internal layout spacing and panel padding. Fluid from 24px to 48px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Normal internal layout spacing and panel padding. Fluid from 24px to 48px."
        },
        "sm": {
          "$value": "32px",
          "$type": "spacing",
          "$description": "Grid gaps between cards.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "16px",
              "vw": 2
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Grid gaps between cards.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "xs": {
          "$value": "24px",
          "$type": "spacing",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "12px",
              "vw": 1.5
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Compact responsive layout gaps. Fluid from 12px to 24px.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          },
          "$description": "Compact responsive layout gaps. Fluid from 12px to 24px."
        },
        "gutter": {
          "$value": "96px",
          "$type": "spacing",
          "$description": "Page side margin.",
          "$extensions": {
            "anubhuti.fluid": {
              "min": "16px",
              "vw": 5
            },
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Page side margin.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "max": {
          "$value": "2000px",
          "$type": "sizing",
          "$description": "Widest the content gets.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Widest the content gets.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      }
    },
    "shadow": {
      "overlay": {
        "$value": {
          "x": "0",
          "y": "24px",
          "blur": "48px",
          "spread": "-24px",
          "color": "rgba({color.espresso.900}, 0.32)",
          "type": "dropShadow"
        },
        "$type": "boxShadow",
        "$description": "Menus, sheets and the quick view.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Menus, sheets and the quick view.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      },
      "ring": {
        "$value": {
          "x": "0",
          "y": "0",
          "blur": "0",
          "spread": "1px",
          "color": "{color.focus}",
          "type": "dropShadow"
        },
        "$type": "boxShadow",
        "$description": "Selected swatch or thumbnail.",
        "$extensions": {
          "anubhuti.docs": {
            "layer": "semantic",
            "use": "Selected swatch or thumbnail.",
            "avoid": "Do not reuse this token for a different purpose just because the values currently match."
          }
        }
      }
    },
    "motion": {
      "duration": {
        "instant": {
          "$value": "{duration.instant}",
          "$type": "duration",
          "$description": "Reduced motion and instant state changes.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Reduced motion and instant state changes.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "press": {
          "$value": "{duration.press}",
          "$type": "duration",
          "$description": "Brief press feedback and small delays.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Brief press feedback and small delays.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "fast": {
          "$value": "{duration.fast}",
          "$type": "duration",
          "$description": "Frequently used controls, colour feedback and compact state changes.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Frequently used controls, colour feedback and compact state changes.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "standard": {
          "$value": "{duration.standard}",
          "$type": "duration",
          "$description": "Hover transitions, text links and ordinary UI feedback.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Hover transitions, text links and ordinary UI feedback.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "overlay": {
          "$value": "{duration.overlay}",
          "$type": "duration",
          "$description": "Menus, modal entry, filter sheets and their scrims.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Menus, modal entry, filter sheets and their scrims.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "slow": {
          "$value": "{duration.slow}",
          "$type": "duration",
          "$description": "Larger image crossfades and low-frequency layout entry.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Larger image crossfades and low-frequency layout entry.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "reveal": {
          "$value": "{duration.reveal}",
          "$type": "duration",
          "$description": "Initial editorial content entry. Never delays access to a control.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Initial editorial content entry. Never delays access to a control.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "image": {
          "$value": "{duration.image}",
          "$type": "duration",
          "$description": "Slow product-photo scale changes on fine pointers.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Slow product-photo scale changes on fine pointers.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "ambient": {
          "$value": "{duration.ambient}",
          "$type": "duration",
          "$description": "Decorative hero image movement. Disabled for reduced motion.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Decorative hero image movement. Disabled for reduced motion.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "stagger": {
          "$value": "{duration.stagger}",
          "$type": "duration",
          "$description": "Offset between adjacent introductory items, not an interaction delay.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Offset between adjacent introductory items, not an interaction delay.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "attention": {
          "$value": "{duration.attention}",
          "$type": "duration",
          "$description": "Two-cycle introductory WhatsApp indicator. Disabled for reduced motion.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Two-cycle introductory WhatsApp indicator. Disabled for reduced motion.",
              "avoid": "Do not use decorative timing for frequently used controls."
            }
          }
        }
      }
    },
    "interaction": {
      "target": {
        "min": {
          "$value": "44px",
          "$type": "sizing",
          "$description": "Product target for compact buttons and touch controls. WCAG 2.2 AA minimum is a separate 24px rule with exceptions.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Product target for compact buttons and touch controls. WCAG 2.2 AA minimum is a separate 24px rule with exceptions.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      },
      "focus": {
        "width": {
          "$value": "2px",
          "$type": "borderWidth",
          "$description": "Visible keyboard-focus outline thickness.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Visible keyboard-focus outline thickness.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        },
        "offset": {
          "$value": "3px",
          "$type": "spacing",
          "$description": "Space around keyboard-focus outlines so they remain visible.",
          "$extensions": {
            "anubhuti.docs": {
              "layer": "semantic",
              "use": "Space around keyboard-focus outlines so they remain visible.",
              "avoid": "Do not reuse this token for a different purpose just because the values currently match."
            }
          }
        }
      }
    }
  }
}