{"product_id":"knightfall-jacket","title":"Knightfall Jacket","description":"\u003c!-- ============================================================ --\u003e\u003c!-- COPY EVERYTHING BELOW THIS LINE INTO YOUR SHOPIFY TEMPLATE   --\u003e\u003c!-- ============================================================ --\u003e\n\u003cstyle\u003e\n\n  .nl-jacket-glass {\n\n    \/* Violet gradient system *\/\n\n    --pm: #5A31F4;\n\n    --pb: #8B6BFF;\n\n    --ps: #A98CFF;\n\n    --pg: #7B5AFF;\n\n    --bg-grad: linear-gradient(135deg, #0b0522 0%, #2a0f9e 22%, #5A31F4 45%, #7a4dff 68%, #9a6bff 88%, #b794ff 100%);\n\n    --gl: inset 0 0 6px var(--pg), inset 0 0 10px #fff, inset 0 0 14px var(--ps);\n\n\n\n    --nl-text: #FFFBF2;\n\n    --nl-dim: rgba(255, 251, 242, 0.72);\n\n    --nl-card: rgba(22, 14, 44, 0.46);\n\n    --nl-card-solid: #150f2a;\n\n    --nl-bd: rgba(139, 107, 255, 0.28);\n\n    --nl-bd-strong: rgba(139, 107, 255, 0.55);\n\n    --nl-rim: rgba(255, 255, 255, 0.55);\n\n\n\n    --e: cubic-bezier(.22, 1, .36, 1);\n\n    --ep: cubic-bezier(.34, 1.56, .64, 1);\n\n\n\n    --nl-font-heading: 'GT America Extended', 'Univers Next 540 Extended Medium', -apple-system, sans-serif;\n\n    --nl-font-body: 'Univers Next 540 Extended Medium', 'GT America Standard', -apple-system, sans-serif;\n\n\n\n    font-family: var(--nl-font-body);\n\n    max-width: 500px;\n\n    margin: 0 auto;\n\n    padding: 20px 14px;\n\n    box-sizing: border-box;\n\n    color: var(--nl-text);\n\n    -webkit-tap-highlight-color: transparent;\n\n    content-visibility: auto;\n\n    contain-intrinsic-size: auto 1200px;\n\n  }\n\n  .nl-jacket-glass * { box-sizing: border-box; }\n\n  .nl-jacket-glass p { margin: 0; font-size: 0.95rem; line-height: 1.65; color: var(--nl-dim); font-weight: 300; }\n\n\n\n  .nl-header-font { font-family: var(--nl-font-heading) !important; font-weight: 700; letter-spacing: -0.01em; }\n\n  .nl-tech-mono { font-weight: 700; letter-spacing: 0.02em; }\n\n\n\n  .nl-text-gradient {\n\n    display: inline-block;\n\n    background: linear-gradient(135deg, #fff 15%, var(--pb) 60%, var(--ps) 100%);\n\n    background-size: 220% 100%;\n\n    -webkit-background-clip: text;\n\n    background-clip: text;\n\n    color: transparent;\n\n    -webkit-text-fill-color: transparent;\n\n    animation: nlSheen 1.6s var(--e) 1 both;\n\n  }\n\n  @keyframes nlSheen { from { background-position: 0 50%; } to { background-position: 100% 50%; } }\n\n\n\n  \/* ---------- LIQUID GLASS SURFACE ---------- *\/\n\n  .nl-glass-card {\n\n    position: relative;\n\n    border-radius: 34px;\n\n    padding: 28px 24px;\n\n    margin-bottom: 20px;\n\n    border: 1px solid var(--nl-bd);\n\n    border-top-color: rgba(255, 255, 255, 0.22);\n\n    background-color: var(--nl-card);\n\n    background-image:\n\n      radial-gradient(120% 90% at 12% 0%, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0) 45%),\n\n      url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'\/%3E%3C\/svg%3E\");\n\n    background-repeat: no-repeat, repeat;\n\n    background-size: auto, 160px 160px;\n\n    background-blend-mode: normal, overlay;\n\n    -webkit-backdrop-filter: blur(22px) saturate(160%);\n\n    backdrop-filter: blur(22px) saturate(160%);\n\n    box-shadow:\n\n      inset 0 1px 0 var(--nl-rim),\n\n      inset 0 -12px 24px -18px rgba(0, 0, 0, 0.6),\n\n      0 18px 44px -18px rgba(90, 49, 244, 0.75);\n\n    overflow: hidden;\n\n    transition: transform 0.45s var(--e), border-color 0.45s var(--e), box-shadow 0.45s var(--e);\n\n  }\n\n  .nl-glass-card \u003e * { position: relative; z-index: 1; }\n\n\n\n  .nl-glass-card::before {\n\n    content: \"NL\";\n\n    position: absolute;\n\n    right: -8px;\n\n    bottom: -22px;\n\n    font-family: var(--nl-font-heading);\n\n    font-size: 108px;\n\n    font-weight: 800;\n\n    line-height: 1;\n\n    letter-spacing: -0.03em;\n\n    color: rgba(255, 255, 255, 0.04);\n\n    pointer-events: none;\n\n    user-select: none;\n\n  }\n\n  .nl-glass-card::after {\n\n    content: \"\";\n\n    position: absolute;\n\n    inset: 0;\n\n    background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.14) 45%, transparent 60%);\n\n    background-size: 250% 100%;\n\n    background-position: 120% 0;\n\n    transition: background-position 0.9s var(--e);\n\n    pointer-events: none;\n\n  }\n\n  @media (hover: hover) {\n\n    .nl-glass-card:hover { transform: translate3d(0, -3px, 0); border-color: var(--nl-bd-strong); }\n\n    .nl-glass-card:hover::after { background-position: -20% 0; }\n\n  }\n\n\n\n  .nl-card-body { padding-left: 16px; position: relative; }\n\n  .nl-card-accent {\n\n    position: absolute;\n\n    left: 0;\n\n    top: 3px;\n\n    bottom: 3px;\n\n    width: 3px;\n\n    border-radius: 4px;\n\n    background: var(--bg-grad);\n\n    box-shadow: 0 0 14px rgba(122, 77, 255, 0.85);\n\n  }\n\n  .nl-eyebrow {\n\n    display: block;\n\n    font-size: 10px;\n\n    color: var(--ps);\n\n    text-transform: uppercase;\n\n    margin-bottom: 10px;\n\n  }\n\n\n\n  \/* Spec matrix — solid chips with a real icon set instead of emoji *\/\n\n  .nl-spec-matrix {\n\n    display: grid;\n\n    grid-template-columns: repeat(3, 1fr);\n\n    gap: 8px;\n\n    margin: 0 0 20px;\n\n  }\n\n  .nl-matrix-item {\n\n    position: relative;\n\n    background: var(--nl-card-solid);\n\n    border: 1px solid var(--nl-bd);\n\n    border-top-color: rgba(255, 255, 255, 0.16);\n\n    border-radius: 20px;\n\n    padding: 16px 6px 13px;\n\n    text-align: center;\n\n    font-size: 9.5px;\n\n    line-height: 1.5;\n\n    color: var(--nl-dim);\n\n    text-transform: uppercase;\n\n    transition: transform 0.3s var(--ep), border-color 0.3s var(--e);\n\n  }\n\n  @media (hover: hover) {\n\n    .nl-matrix-item:hover { transform: translate3d(0, -2px, 0); border-color: var(--nl-bd-strong); }\n\n  }\n\n  .nl-matrix-icon {\n\n    display: block;\n\n    width: 17px;\n\n    height: 17px;\n\n    margin: 0 auto 8px;\n\n    background: linear-gradient(135deg, var(--pb), var(--ps));\n\n    -webkit-mask-position: center;\n\n    mask-position: center;\n\n    -webkit-mask-repeat: no-repeat;\n\n    mask-repeat: no-repeat;\n\n    -webkit-mask-size: contain;\n\n    mask-size: contain;\n\n  }\n\n  .nl-ic-weight { -webkit-mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5L8 2L14 5L8 8L2 5Z'\/%3E%3Cpath d='M2 8L8 11L14 8'\/%3E%3Cpath d='M2 11L8 14L14 11'\/%3E%3C\/svg%3E\"); mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5L8 2L14 5L8 8L2 5Z'\/%3E%3Cpath d='M2 8L8 11L14 8'\/%3E%3Cpath d='M2 11L8 14L14 11'\/%3E%3C\/svg%3E\"); }\n\n  .nl-ic-print { -webkit-mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6V2.5H11.5V6'\/%3E%3Cpath d='M3 6H13V11H11V13.5H5V11H3V6Z'\/%3E%3Cpath d='M5 9H11'\/%3E%3C\/svg%3E\"); mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6V2.5H11.5V6'\/%3E%3Cpath d='M3 6H13V11H11V13.5H5V11H3V6Z'\/%3E%3Cpath d='M5 9H11'\/%3E%3C\/svg%3E\"); }\n\n  .nl-ic-wash { -webkit-mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M2 5.2C3.4 3.9 4.5 3.9 6 5.2C7.5 6.6 8.5 6.6 10 5.2C11.5 3.9 12.6 3.9 14 5.2'\/%3E%3Cpath d='M2 8.5C3.4 7.2 4.5 7.2 6 8.5C7.5 9.9 8.5 9.9 10 8.5C11.5 7.2 12.6 7.2 14 8.5'\/%3E%3Cpath d='M2 11.8C3.4 10.5 4.5 10.5 6 11.8C7.5 13.2 8.5 13.2 10 11.8C11.5 10.5 12.6 10.5 14 11.8'\/%3E%3C\/svg%3E\"); mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M2 5.2C3.4 3.9 4.5 3.9 6 5.2C7.5 6.6 8.5 6.6 10 5.2C11.5 3.9 12.6 3.9 14 5.2'\/%3E%3Cpath d='M2 8.5C3.4 7.2 4.5 7.2 6 8.5C7.5 9.9 8.5 9.9 10 8.5C11.5 7.2 12.6 7.2 14 8.5'\/%3E%3Cpath d='M2 11.8C3.4 10.5 4.5 10.5 6 11.8C7.5 13.2 8.5 13.2 10 11.8C11.5 10.5 12.6 10.5 14 11.8'\/%3E%3C\/svg%3E\"); }\n\n  .nl-ic-jacket { -webkit-mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 2.3L8 3.8L10.5 2.3L13 4.6V13.5H3V4.6L5.5 2.3Z'\/%3E%3Cpath d='M6.3 3.9L5 13.5M9.7 3.9L11 13.5' stroke-width='1'\/%3E%3C\/svg%3E\"); mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 2.3L8 3.8L10.5 2.3L13 4.6V13.5H3V4.6L5.5 2.3Z'\/%3E%3Cpath d='M6.3 3.9L5 13.5M9.7 3.9L11 13.5' stroke-width='1'\/%3E%3C\/svg%3E\"); }\n\n  .nl-ic-lock { -webkit-mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 1.2L2.5 3.3V7C2.5 10.4 4.7 12.9 8 14.3C11.3 12.9 13.5 10.4 13.5 7V3.3L8 1.2Z'\/%3E%3Cpath d='M5.3 8L7.2 9.9L10.7 6'\/%3E%3C\/svg%3E\"); mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 1.2L2.5 3.3V7C2.5 10.4 4.7 12.9 8 14.3C11.3 12.9 13.5 10.4 13.5 7V3.3L8 1.2Z'\/%3E%3Cpath d='M5.3 8L7.2 9.9L10.7 6'\/%3E%3C\/svg%3E\"); }\n\n  .nl-ic-return { -webkit-mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 4.5H10C11.933 4.5 13.5 6.067 13.5 8C13.5 9.933 11.933 11.5 10 11.5H6'\/%3E%3Cpath d='M6 2.5L4 4.5L6 6.5'\/%3E%3C\/svg%3E\"); mask-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 4.5H10C11.933 4.5 13.5 6.067 13.5 8C13.5 9.933 11.933 11.5 10 11.5H6'\/%3E%3Cpath d='M6 2.5L4 4.5L6 6.5'\/%3E%3C\/svg%3E\"); }\n\n\n\n  \/* Size guide header + toggle *\/\n\n  .nl-tab-input { display: none !important; }\n\n  .nl-size-header-wrap {\n\n    display: flex;\n\n    justify-content: space-between;\n\n    align-items: center;\n\n    margin: 28px 0 14px;\n\n  }\n\n  .nl-size-header-wrap h1 { font-size: 1.2rem; margin: 0; }\n\n  .nl-size-switch-panel {\n\n    display: flex;\n\n    background: rgba(12, 6, 40, 0.6);\n\n    -webkit-backdrop-filter: blur(14px) saturate(160%);\n\n    backdrop-filter: blur(14px) saturate(160%);\n\n    padding: 3px;\n\n    border-radius: 100px;\n\n    border: 1px solid var(--nl-bd);\n\n    border-top-color: rgba(255, 255, 255, 0.22);\n\n    gap: 2px;\n\n  }\n\n  .nl-size-btn {\n\n    border: none;\n\n    background: transparent;\n\n    padding: 6px 14px;\n\n    font-size: 10px;\n\n    border-radius: 100px;\n\n    cursor: pointer;\n\n    color: var(--nl-dim);\n\n    transition: color 0.3s ease, background 0.4s var(--e), box-shadow 0.4s var(--e), transform 0.15s var(--ep);\n\n  }\n\n  .nl-size-btn:active { transform: scale(0.94); }\n\n  #size-in-jk:checked ~ .nl-size-header-wrap #label-in-jk,\n\n  #size-cm-jk:checked ~ .nl-size-header-wrap #label-cm-jk {\n\n    background-image: var(--bg-grad);\n\n    color: #fff;\n\n    font-weight: 700;\n\n    box-shadow: var(--gl);\n\n  }\n\n\n\n  .nl-size-row-group { display: none; }\n\n  #size-in-jk:checked ~ .nl-size-scroll-wrap #rows-in-jk,\n\n  #size-cm-jk:checked ~ .nl-size-scroll-wrap #rows-cm-jk { display: table-row-group; }\n\n  :is(#size-in-jk:checked ~ .nl-size-scroll-wrap #rows-in-jk,\n\n      #size-cm-jk:checked ~ .nl-size-scroll-wrap #rows-cm-jk) tr {\n\n    animation: nlRowIn 0.4s var(--e) calc(var(--ri, 0) * 0.06s) backwards;\n\n  }\n\n  #rows-in-jk tr:nth-child(1), #rows-cm-jk tr:nth-child(1) { --ri: 0; }\n\n  #rows-in-jk tr:nth-child(2), #rows-cm-jk tr:nth-child(2) { --ri: 1; }\n\n  #rows-in-jk tr:nth-child(3), #rows-cm-jk tr:nth-child(3) { --ri: 2; }\n\n  #rows-in-jk tr:nth-child(4), #rows-cm-jk tr:nth-child(4) { --ri: 3; }\n\n  #rows-in-jk tr:nth-child(5), #rows-cm-jk tr:nth-child(5) { --ri: 4; }\n\n  @keyframes nlRowIn { from { opacity: 0; transform: translate3d(0, 6px, 0); } to { opacity: 1; transform: none; } }\n\n\n\n  \/* ---------- SIZE TABLE: sizes as rows, measurements as columns ---------- *\/\n\n  .nl-size-scroll-wrap {\n\n    position: relative;\n\n    border: 1px solid var(--nl-bd);\n\n    border-top-color: rgba(255, 255, 255, 0.18);\n\n    border-radius: 26px;\n\n    background:\n\n      radial-gradient(110% 80% at 85% 0%, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 50%),\n\n      var(--nl-card-solid);\n\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 44px -18px rgba(90, 49, 244, 0.65);\n\n    overflow: hidden;\n\n  }\n\n\n\n  .nl-mobile-table {\n\n    width: 100%;\n\n    table-layout: fixed;\n\n    border-collapse: separate;\n\n    border-spacing: 0;\n\n    text-align: center;\n\n  }\n\n  .nl-mobile-table th, .nl-mobile-table td {\n\n    padding: 16px 8px;\n\n    font-size: 0.82rem;\n\n    border-bottom: 1px solid var(--nl-bd);\n\n  }\n\n  .nl-mobile-table tr:last-child th,\n\n  .nl-mobile-table tr:last-child td { border-bottom: none; }\n\n  .nl-mobile-table thead th {\n\n    padding: 18px 8px;\n\n    background: rgba(24, 14, 62, 0.92);\n\n    color: var(--pb);\n\n    font-size: 10.5px;\n\n    letter-spacing: 0.05em;\n\n  }\n\n  @media (hover: hover) {\n\n    .nl-mobile-table tbody td:not(.nl-sticky-col) { transition: background 0.25s ease; }\n\n    .nl-mobile-table tbody tr:hover td:not(.nl-sticky-col) { background: rgba(122, 77, 255, 0.14); }\n\n  }\n\n  .nl-mobile-table th.nl-sticky-col, .nl-mobile-table td.nl-sticky-col {\n\n    text-align: left;\n\n    padding-left: 20px;\n\n    font-size: 11px;\n\n    color: var(--nl-text);\n\n    background: #110c2b;\n\n    border-right: 1px solid var(--nl-bd-strong);\n\n  }\n\n  .nl-mobile-table thead th.nl-sticky-col { background: rgba(24, 14, 62, 0.96); }\n\n\n\n  \/* Fallback below ~360px: stacked card per size, no horizontal scroll ever *\/\n\n  @media (max-width: 359px) {\n\n    .nl-mobile-table thead {\n\n      position: absolute;\n\n      width: 1px;\n\n      height: 1px;\n\n      padding: 0;\n\n      margin: -1px;\n\n      overflow: hidden;\n\n      clip: rect(0, 0, 0, 0);\n\n      white-space: nowrap;\n\n      border: 0;\n\n    }\n\n    .nl-mobile-table, .nl-mobile-table tbody, .nl-mobile-table tr, .nl-mobile-table th, .nl-mobile-table td {\n\n      display: block;\n\n      width: 100%;\n\n    }\n\n    .nl-size-row-group tr {\n\n      padding: 16px 16px 12px;\n\n      border-bottom: 1px solid var(--nl-bd);\n\n    }\n\n    .nl-size-row-group tr:last-child { border-bottom: none; }\n\n    .nl-mobile-table th.nl-sticky-col {\n\n      background: transparent;\n\n      border-right: none;\n\n      padding: 0 0 10px;\n\n      font-family: var(--nl-font-heading);\n\n      font-size: 1rem;\n\n      font-weight: 700;\n\n      background-image: linear-gradient(135deg, #fff 15%, var(--pb) 60%, var(--ps) 100%);\n\n      -webkit-background-clip: text;\n\n      background-clip: text;\n\n      color: transparent;\n\n      -webkit-text-fill-color: transparent;\n\n    }\n\n    .nl-mobile-table td {\n\n      display: flex;\n\n      justify-content: space-between;\n\n      align-items: center;\n\n      padding: 8px 0;\n\n      border-bottom: none;\n\n      border-top: 1px solid var(--nl-bd);\n\n      text-align: right;\n\n    }\n\n    .nl-mobile-table td:first-of-type { border-top: none; }\n\n    .nl-mobile-table td::before {\n\n      content: attr(data-label);\n\n      font-size: 10px;\n\n      letter-spacing: 0.04em;\n\n      text-transform: uppercase;\n\n      color: var(--nl-dim);\n\n    }\n\n  }\n\n\n\n  \/* ---------- FIT GUIDE: who each size fits (follows the INCHES \/ CM toggle) ---------- *\/\n\n  .nl-fit-header { margin: 32px 0 14px; }\n\n  .nl-fit-header h2 { font-size: 1.2rem; margin: 0; }\n\n  .nl-fit-card {\n\n    position: relative;\n\n    border: 1px solid var(--nl-bd);\n\n    border-top-color: rgba(255, 255, 255, 0.18);\n\n    border-radius: 26px;\n\n    padding: 4px 22px;\n\n    background:\n\n      radial-gradient(110% 80% at 85% 0%, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 50%),\n\n      var(--nl-card-solid);\n\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 44px -18px rgba(90, 49, 244, 0.65);\n\n  }\n\n  .nl-fit-set { display: none; }\n\n  #size-in-jk:checked ~ .nl-fit-card #fit-in-jk,\n\n  #size-cm-jk:checked ~ .nl-fit-card #fit-cm-jk { display: block; }\n\n  .nl-fit-row {\n\n    display: flex;\n\n    align-items: baseline;\n\n    gap: 18px;\n\n    padding: 17px 0;\n\n    border-bottom: 1px solid var(--nl-bd);\n\n  }\n\n  .nl-fit-row:last-child { border-bottom: none; }\n\n  .nl-fit-size {\n\n    flex: 0 0 46px;\n\n    font-family: var(--nl-font-heading);\n\n    font-size: 1.05rem;\n\n    font-weight: 700;\n\n    background-image: linear-gradient(135deg, #fff 15%, var(--pb) 60%, var(--ps) 100%);\n\n    -webkit-background-clip: text;\n\n    background-clip: text;\n\n    color: transparent;\n\n    -webkit-text-fill-color: transparent;\n\n  }\n\n  .nl-fit-info { font-size: 0.88rem; color: var(--nl-text); line-height: 1.5; }\n\n  .nl-fit-info em { font-style: normal; color: var(--nl-dim); padding: 0 4px; }\n\n  .nl-fit-note { text-align: center; margin-top: 14px; font-size: 0.8rem !important; }\n\n\n\n  \/* One-shot entrance as each block first scrolls into view — no JS, no repeat, no infinite loop *\/\n\n  @keyframes nlRise { from { opacity: 0; transform: translate3d(0, 16px, 0); } to { opacity: 1; transform: none; } }\n\n  @supports (animation-timeline: view()) {\n\n    @media (prefers-reduced-motion: no-preference) {\n\n      .nl-spec-matrix, .nl-glass-card, .nl-size-header-wrap, .nl-size-scroll-wrap, .nl-fit-header, .nl-fit-card {\n\n        animation: nlRise 0.9s var(--e) both;\n\n        animation-timeline: view();\n\n        animation-range: entry 6% entry 85%;\n\n      }\n\n    }\n\n  }\n\n\n\n  @media (prefers-reduced-motion: reduce) {\n\n    .nl-jacket-glass, .nl-jacket-glass * { animation: none !important; transition-duration: 0.01ms !important; }\n\n  }\n\n\u003c\/style\u003e\n\u003cdiv class=\"nl-jacket-glass\"\u003e\n\u003c!-- DESCRIPTION --\u003e\n\u003cdiv class=\"nl-glass-card\"\u003e\n\u003cdiv class=\"nl-card-body\"\u003e\n\u003cdiv class=\"nl-card-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"nl-eyebrow nl-tech-mono\"\u003e \u003cspan style=\"color: rgb(106, 0, 255);\"\u003eLimited stock\u003c\/span\u003e\u003c\/span\u003e\n\u003cp\u003e\u003cspan style=\"color: rgb(251, 246, 233);\"\u003e370 GSM of stiff, vintage-washed denim that looks like it already survived something. Oversized prints that don't crack, fade, or quit the moment you wash them. Throw it on and you instantly look like you have a plan (even when you don't). Knightfall doesn't ask for attention, it just shows up and takes it.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- SPEC MATRIX --\u003e\n\u003cdiv class=\"nl-spec-matrix\"\u003e\n\u003cdiv class=\"nl-matrix-item nl-tech-mono\"\u003e\u003cspan style=\"color: rgb(249, 242, 225);\"\u003e\u003cspan class=\"nl-matrix-icon nl-ic-weight\"\u003e\u003c\/span\u003e370 GSM\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"nl-matrix-item nl-tech-mono\"\u003e\u003cspan style=\"color: rgb(249, 242, 225);\"\u003e\u003cspan class=\"nl-matrix-icon nl-ic-print\"\u003e\u003c\/span\u003eHigh-End Printing\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"nl-matrix-item nl-tech-mono\"\u003e\u003cspan style=\"color: rgb(249, 242, 225);\"\u003e\u003cspan class=\"nl-matrix-icon nl-ic-wash\"\u003e\u003c\/span\u003eVintage Washed\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"nl-matrix-item nl-tech-mono\"\u003e\u003cspan style=\"color: rgb(249, 242, 225);\"\u003e\u003cspan class=\"nl-matrix-icon nl-ic-jacket\"\u003e\u003c\/span\u003eHeavy Denim\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"nl-matrix-item nl-tech-mono\"\u003e\u003cspan style=\"color: rgb(249, 242, 225);\"\u003e\u003cspan class=\"nl-matrix-icon nl-ic-lock\"\u003e\u003c\/span\u003eSecure Payments\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"nl-matrix-item nl-tech-mono\"\u003e\u003cspan style=\"color: rgb(249, 242, 225);\"\u003e\u003cspan class=\"nl-matrix-icon nl-ic-return\"\u003e\u003c\/span\u003eEasy Returns\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- SIZE GUIDE --\u003e \u003cinput class=\"nl-tab-input\" name=\"size-converter-jacket\" id=\"size-in-jk\" type=\"radio\" checked\u003e \u003cinput class=\"nl-tab-input\" name=\"size-converter-jacket\" id=\"size-cm-jk\" type=\"radio\"\u003e\n\u003cdiv class=\"nl-size-header-wrap\"\u003e\n\u003ch1 class=\"nl-header-font\"\u003e\u003cspan class=\"nl-text-gradient\"\u003eSize Guide\u003c\/span\u003e\u003c\/h1\u003e\n\u003cdiv class=\"nl-size-switch-panel\"\u003e\n\u003clabel class=\"nl-size-btn nl-tech-mono\" for=\"size-in-jk\" id=\"label-in-jk\"\u003eINCHES\u003c\/label\u003e \u003clabel class=\"nl-size-btn nl-tech-mono\" for=\"size-cm-jk\" id=\"label-cm-jk\"\u003eCM\u003c\/label\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-size-scroll-wrap\"\u003e\n\u003ctable class=\"nl-mobile-table\" style=\"width: 131.778%;\" height=\"484\"\u003e\n\u003ccolgroup\u003e \u003ccol style=\"width: 19.9301%;\"\u003e \u003ccol style=\"width: 19.9301%;\"\u003e \u003ccol style=\"width: 19.9301%;\"\u003e \u003ccol style=\"width: 19.9301%;\"\u003e \u003ccol style=\"width: 19.9301%;\"\u003e \u003c\/colgroup\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-header-font nl-sticky-col\" scope=\"col\"\u003eSize\u003c\/th\u003e\n\u003cth class=\"nl-header-font\" scope=\"col\"\u003eLength\u003c\/th\u003e\n\u003cth class=\"nl-header-font\" scope=\"col\"\u003eShoulder\u003c\/th\u003e\n\u003cth class=\"nl-header-font\" scope=\"col\"\u003eChest\u003c\/th\u003e\n\u003cth class=\"nl-header-font\" scope=\"col\"\u003eSleeves\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody class=\"nl-size-row-group\" id=\"rows-in-jk\"\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eS\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e30\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e19.8\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e22\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e24.4\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eM\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e30.7\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e20.3\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e22.8\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e24.8\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eL\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e31.5\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e20.8\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e23.6\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e25.2\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eXL\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e32.2\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e21.3\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e24.4\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e25.6\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003e2XL\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e33\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e21.8\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e25.2\"\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e26\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003ctbody class=\"nl-size-row-group\" id=\"rows-cm-jk\"\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eS\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e76 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e50.4 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e56 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e62 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eM\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e78 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e51.7 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e58 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e63 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eL\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e80 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e53 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e60 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e64 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003eXL\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e82 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e54.3 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e62 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e65 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"nl-tech-mono nl-sticky-col\" scope=\"row\"\u003e2XL\u003c\/th\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Length\"\u003e84 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Shoulder\"\u003e55.6 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Chest\"\u003e64 cm\u003c\/td\u003e\n\u003ctd class=\"nl-tech-mono\" data-label=\"Sleeves\"\u003e66 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- FIT GUIDE --\u003e\n\u003cdiv class=\"nl-fit-header\"\u003e\n\u003ch2 class=\"nl-header-font\"\u003e\u003cspan class=\"nl-text-gradient\"\u003eFind Your Fit\u003c\/span\u003e\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-card\"\u003e\n\u003cdiv class=\"nl-fit-set\" id=\"fit-in-jk\"\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eS\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e5'4\" to 5'8\"\u003cem\u003e·\u003c\/em\u003e120 to 150 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eM\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e5'6\" to 5'10\"\u003cem\u003e·\u003c\/em\u003e145 to 170 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eL\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e5'8\" to 6'0\"\u003cem\u003e·\u003c\/em\u003e165 to 190 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eXL\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e5'10\" to 6'2\"\u003cem\u003e·\u003c\/em\u003e185 to 215 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003e2XL\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e6'0\" to 6'4\"\u003cem\u003e·\u003c\/em\u003e205 to 240 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-set\" id=\"fit-cm-jk\"\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eS\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e163 to 173 cm\u003cem\u003e·\u003c\/em\u003e54 to 68 kg\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eM\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e168 to 178 cm\u003cem\u003e·\u003c\/em\u003e66 to 77 kg\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eL\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e173 to 183 cm\u003cem\u003e·\u003c\/em\u003e75 to 86 kg\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003eXL\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e178 to 188 cm\u003cem\u003e·\u003c\/em\u003e84 to 98 kg\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-fit-row\"\u003e\n\u003cspan class=\"nl-fit-size\"\u003e2XL\u003c\/span\u003e\u003cspan class=\"nl-fit-info nl-tech-mono\"\u003e183 to 193 cm\u003cem\u003e·\u003c\/em\u003e93 to 109 kg\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"nl-fit-note\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ============================================================ --\u003e","brand":"ODMPOD","offers":[{"title":"Ashfall \/ S","offer_id":51353851855015,"sku":"261010PODQY2375#006","price":129.99,"currency_code":"GBP","in_stock":true},{"title":"Ashfall \/ M","offer_id":51353851887783,"sku":"261010PODQY2375#007","price":129.99,"currency_code":"GBP","in_stock":true},{"title":"Ashfall \/ L","offer_id":51353851920551,"sku":"261010PODQY2375#008","price":129.99,"currency_code":"GBP","in_stock":true},{"title":"Ashfall \/ XL","offer_id":51353851953319,"sku":"261010PODQY2375#009","price":132.99,"currency_code":"GBP","in_stock":true},{"title":"Ashfall \/ 2XL","offer_id":51353851986087,"sku":"261010PODQY2375#010","price":135.99,"currency_code":"GBP","in_stock":true},{"title":"Midknight \/ S","offer_id":51353851691175,"sku":"261010PODQY2375#001","price":129.99,"currency_code":"GBP","in_stock":true},{"title":"Midknight \/ M","offer_id":51353851723943,"sku":"261010PODQY2375#002","price":129.99,"currency_code":"GBP","in_stock":true},{"title":"Midknight \/ L","offer_id":51353851756711,"sku":"261010PODQY2375#003","price":129.99,"currency_code":"GBP","in_stock":true},{"title":"Midknight \/ XL","offer_id":51353851789479,"sku":"261010PODQY2375#004","price":132.99,"currency_code":"GBP","in_stock":true},{"title":"Midknight \/ 2XL","offer_id":51353851822247,"sku":"261010PODQY2375#005","price":135.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0764\/1510\/7239\/files\/fef89d37728546778d60b4484f1d3e96.png?v=1791571553","url":"https:\/\/nolimitsclo.com\/products\/knightfall-jacket","provider":"No Limits Streetwear","version":"1.0","type":"link"}