{"product_id":"harry-potter-pbt-keycaps-set","title":"Harry Potter Wizard Theme Keycap Set - PBT Magic Artisan Keycaps Dye-Sublimation for Mechanical Keyboards","description":"\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Nunito:wght@600;700;800;900\u0026family=Inter:wght@400;500;600\u0026display=swap');\n\n.ka-hp,\n.ka-hp *,\n.ka-hp *::before,\n.ka-hp *::after {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n\n.ka-hp {\n  --parch: #f4ecd8;\n  --cream: #fbf6e9;\n  --ink: #2a1f17;\n  --ink-soft: #5a4a3d;\n  --burg: #7a1f2b;\n  --burg-dark: #55151e;\n  --gold: #c9a24b;\n  --gold-light: #e6cf8f;\n  --forest: #1f3d2f;\n  --navy: #1d2a44;\n  --line: rgba(42, 31, 23, 0.14);\n  --radius: 18px;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--ink);\n  background: var(--cream);\n  line-height: 1.7;\n  width: 100%;\n  overflow: hidden;\n  border-radius: 22px;\n}\n\n.ka-hp img {\n  display: block;\n  max-width: 100%;\n}\n\n\/* ---------- Banner (30:7) ---------- *\/\n.ka-hp .ka-banner {\n  width: 100%;\n  aspect-ratio: 30 \/ 7;\n  overflow: hidden;\n  background: var(--navy);\n}\n\n.ka-hp .ka-banner img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: center 42%;\n}\n\n\/* ---------- Sections ---------- *\/\n.ka-hp .ka-sec {\n  padding: 64px 28px;\n}\n\n.ka-hp .ka-sec.alt {\n  background: var(--parch);\n}\n\n.ka-hp .ka-sec.dark {\n  background: linear-gradient(160deg, var(--navy), #121a2e);\n  color: #f3ead2;\n}\n\n.ka-hp .ka-wrap {\n  max-width: 1080px;\n  margin: 0 auto;\n}\n\n.ka-hp .ka-eyebrow {\n  display: block;\n  font-family: 'Nunito', sans-serif;\n  font-weight: 800;\n  font-size: 12.5px;\n  letter-spacing: 0.22em;\n  text-transform: uppercase;\n  color: var(--burg);\n  text-align: center;\n  margin-bottom: 12px;\n}\n\n.ka-hp .dark .ka-eyebrow {\n  color: var(--gold-light);\n}\n\n.ka-hp h2.ka-title {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: clamp(26px, 4.2vw, 40px);\n  line-height: 1.15;\n  text-align: center;\n  color: var(--ink);\n  margin-bottom: 16px;\n}\n\n.ka-hp .dark h2.ka-title {\n  color: #fff7df;\n}\n\n.ka-hp p.ka-lead {\n  max-width: 720px;\n  margin: 0 auto 36px;\n  text-align: center;\n  font-size: 17px;\n  color: var(--ink-soft);\n}\n\n.ka-hp .dark p.ka-lead {\n  color: #d9cfb4;\n}\n\n.ka-hp .ka-rule {\n  width: 64px;\n  height: 3px;\n  border-radius: 3px;\n  background: linear-gradient(90deg, var(--gold), var(--burg));\n  margin: 0 auto 22px;\n}\n\n\/* ---------- Intro ---------- *\/\n.ka-hp .ka-intro {\n  padding: 56px 28px 24px;\n  text-align: center;\n}\n\n.ka-hp .ka-intro h1,\n.ka-hp .ka-intro h2.ka-main {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: clamp(28px, 5vw, 46px);\n  line-height: 1.12;\n  color: var(--burg-dark);\n  margin-bottom: 14px;\n}\n\n.ka-hp .ka-intro p {\n  max-width: 740px;\n  margin: 0 auto;\n  font-size: 17.5px;\n  color: var(--ink-soft);\n}\n\n\/* ---------- Facts strip ---------- *\/\n.ka-hp .ka-facts {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 14px;\n  margin-top: 34px;\n}\n\n.ka-hp .ka-fact {\n  flex: 1 1 150px;\n  max-width: 170px;\n  min-width: 0;\n  background: #fff;\n  border: 1px solid var(--line);\n  border-radius: 16px;\n  padding: 18px 12px;\n  text-align: center;\n  box-shadow: 0 6px 18px rgba(42, 31, 23, 0.06);\n}\n\n.ka-hp .ka-fact b {\n  display: block;\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: 26px;\n  color: var(--burg);\n  line-height: 1.1;\n}\n\n.ka-hp .ka-fact span {\n  display: block;\n  margin-top: 6px;\n  font-size: 12.5px;\n  font-weight: 600;\n  letter-spacing: 0.05em;\n  text-transform: uppercase;\n  color: var(--ink-soft);\n}\n\n\/* ---------- Image + text modules ---------- *\/\n.ka-hp .ka-mod {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 40px;\n}\n\n.ka-hp .ka-mod.rev {\n  flex-direction: row-reverse;\n}\n\n.ka-hp .ka-mod .ka-img {\n  flex: 1 1 380px;\n  min-width: 0;\n}\n\n.ka-hp .ka-mod .ka-img img {\n  width: 100%;\n  height: auto;\n  border-radius: var(--radius);\n  border: 6px solid #fff;\n  box-shadow: 0 18px 40px rgba(42, 31, 23, 0.22);\n}\n\n.ka-hp .ka-mod .ka-txt {\n  flex: 1 1 380px;\n  min-width: 0;\n}\n\n.ka-hp .ka-txt h3 {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: 28px;\n  line-height: 1.2;\n  color: var(--burg-dark);\n  margin-bottom: 14px;\n}\n\n.ka-hp .ka-txt p {\n  font-size: 16.5px;\n  color: var(--ink-soft);\n  margin-bottom: 14px;\n}\n\n.ka-hp .ka-txt ul {\n  list-style: none;\n  margin-top: 8px;\n}\n\n.ka-hp .ka-txt li {\n  position: relative;\n  padding-left: 28px;\n  margin-bottom: 10px;\n  font-size: 16px;\n  color: var(--ink);\n}\n\n.ka-hp .ka-txt li::before {\n  content: '\\2726';\n  position: absolute;\n  left: 0;\n  top: 0;\n  color: var(--gold);\n  font-size: 16px;\n}\n\n\/* ---------- Card grids (flex) ---------- *\/\n.ka-hp .ka-cards {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 20px;\n}\n\n.ka-hp .ka-card {\n  flex: 1 1 230px;\n  max-width: 330px;\n  min-width: 0;\n  background: #fff;\n  border: 1px solid var(--line);\n  border-radius: var(--radius);\n  padding: 28px 22px;\n  text-align: center;\n  box-shadow: 0 8px 22px rgba(42, 31, 23, 0.07);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ka-hp .ka-card:hover {\n  transform: translateY(-5px);\n  box-shadow: 0 16px 34px rgba(42, 31, 23, 0.14);\n}\n\n.ka-hp .ka-card .ico {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 58px;\n  height: 58px;\n  margin: 0 auto 16px;\n  border-radius: 50%;\n  background: linear-gradient(145deg, var(--burg), var(--burg-dark));\n  color: var(--gold-light);\n  font-size: 26px;\n}\n\n.ka-hp .ka-card h4 {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 800;\n  font-size: 19px;\n  color: var(--ink);\n  margin-bottom: 8px;\n}\n\n.ka-hp .ka-card p {\n  font-size: 15px;\n  color: var(--ink-soft);\n}\n\n.ka-hp .dark .ka-card {\n  background: rgba(255, 255, 255, 0.06);\n  border-color: rgba(230, 207, 143, 0.25);\n  box-shadow: none;\n}\n\n.ka-hp .dark .ka-card h4 {\n  color: #fff7df;\n}\n\n.ka-hp .dark .ka-card p {\n  color: #d9cfb4;\n}\n\n\/* ---------- Compare (profile) cards ---------- *\/\n.ka-hp .ka-prof {\n  flex: 1 1 280px;\n  max-width: 340px;\n  min-width: 0;\n  background: #fff;\n  border: 2px solid var(--gold);\n  border-radius: var(--radius);\n  padding: 30px 26px;\n}\n\n.ka-hp .ka-prof h4 {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: 24px;\n  color: var(--burg-dark);\n  margin-bottom: 4px;\n}\n\n.ka-hp .ka-prof .tag {\n  display: inline-block;\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  color: var(--forest);\n  margin-bottom: 14px;\n}\n\n.ka-hp .ka-prof p {\n  font-size: 15.5px;\n  color: var(--ink-soft);\n  margin-bottom: 12px;\n}\n\n.ka-hp .ka-prof li {\n  list-style: none;\n  position: relative;\n  padding-left: 24px;\n  margin-bottom: 8px;\n  font-size: 15px;\n}\n\n.ka-hp .ka-prof li::before {\n  content: '\\2713';\n  position: absolute;\n  left: 0;\n  color: var(--forest);\n  font-weight: 800;\n}\n\n\/* ---------- Layout compatibility ---------- *\/\n.ka-hp .ka-lay {\n  flex: 1 1 280px;\n  max-width: 340px;\n  min-width: 0;\n  background: #fff;\n  border: 1px solid var(--line);\n  border-left: 5px solid var(--burg);\n  border-radius: 14px;\n  padding: 20px 20px;\n}\n\n.ka-hp .ka-lay h4 {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 800;\n  font-size: 18px;\n  color: var(--ink);\n  margin-bottom: 4px;\n}\n\n.ka-hp .ka-lay span {\n  display: block;\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--burg);\n  margin-bottom: 8px;\n}\n\n.ka-hp .ka-lay p {\n  font-size: 14.5px;\n  color: var(--ink-soft);\n}\n\n.ka-hp .ka-note {\n  max-width: 760px;\n  margin: 30px auto 0;\n  padding: 18px 22px;\n  background: rgba(201, 162, 75, 0.16);\n  border: 1px dashed var(--gold);\n  border-radius: 14px;\n  font-size: 15px;\n  color: var(--ink);\n  text-align: center;\n}\n\n\/* ---------- Steps ---------- *\/\n.ka-hp .ka-steps {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 18px;\n  counter-reset: st;\n}\n\n.ka-hp .ka-step {\n  flex: 1 1 220px;\n  max-width: 250px;\n  min-width: 0;\n  text-align: center;\n  padding: 26px 18px;\n  background: #fff;\n  border-radius: var(--radius);\n  border: 1px solid var(--line);\n}\n\n.ka-hp .ka-step::before {\n  counter-increment: st;\n  content: counter(st);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 42px;\n  height: 42px;\n  margin: 0 auto 14px;\n  border-radius: 50%;\n  background: var(--gold);\n  color: var(--burg-dark);\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: 19px;\n}\n\n.ka-hp .ka-step h4 {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 800;\n  font-size: 17px;\n  margin-bottom: 6px;\n}\n\n.ka-hp .ka-step p {\n  font-size: 14.5px;\n  color: var(--ink-soft);\n}\n\n\/* ---------- Specs table ---------- *\/\n.ka-hp .ka-spec {\n  max-width: 820px;\n  margin: 0 auto;\n  background: #fff;\n  border: 1px solid var(--line);\n  border-radius: var(--radius);\n  overflow: hidden;\n}\n\n.ka-hp .ka-row {\n  display: flex;\n  flex-wrap: wrap;\n  border-bottom: 1px solid var(--line);\n}\n\n.ka-hp .ka-row:last-child {\n  border-bottom: none;\n}\n\n.ka-hp .ka-row b {\n  flex: 0 0 240px;\n  max-width: 100%;\n  padding: 16px 22px;\n  background: var(--parch);\n  font-family: 'Nunito', sans-serif;\n  font-weight: 800;\n  font-size: 15px;\n  color: var(--burg-dark);\n}\n\n.ka-hp .ka-row span {\n  flex: 1 1 260px;\n  min-width: 0;\n  padding: 16px 22px;\n  font-size: 15px;\n  color: var(--ink);\n}\n\n\/* ---------- FAQ ---------- *\/\n.ka-hp .ka-faq {\n  max-width: 820px;\n  margin: 0 auto;\n}\n\n.ka-hp .ka-q {\n  background: #fff;\n  border: 1px solid var(--line);\n  border-radius: 14px;\n  margin-bottom: 12px;\n  overflow: hidden;\n}\n\n.ka-hp .ka-q button {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 16px;\n  width: 100%;\n  padding: 18px 22px;\n  background: none;\n  border: none;\n  cursor: pointer;\n  text-align: left;\n  font-family: 'Nunito', sans-serif;\n  font-weight: 800;\n  font-size: 16.5px;\n  color: var(--ink);\n}\n\n.ka-hp .ka-q button::after {\n  content: '+';\n  flex: 0 0 auto;\n  font-size: 24px;\n  line-height: 1;\n  color: var(--burg);\n  transition: transform 0.4s ease;\n}\n\n.ka-hp .ka-q.open button::after {\n  transform: rotate(45deg);\n}\n\n.ka-hp .ka-a {\n  max-height: 0;\n  opacity: 0;\n  overflow: hidden;\n  transition: max-height 0.5s ease, opacity 0.5s ease;\n}\n\n.ka-hp .ka-q.open .ka-a {\n  opacity: 1;\n}\n\n.ka-hp .ka-a p {\n  padding: 0 22px 20px;\n  font-size: 15.5px;\n  color: var(--ink-soft);\n}\n\n\/* ---------- Closing CTA ---------- *\/\n.ka-hp .ka-close {\n  padding: clamp(56px, 9vw, 96px) 28px;\n  text-align: center;\n  background:\n    radial-gradient(circle at 20% 20%, rgba(201, 162, 75, 0.25), transparent 45%),\n    linear-gradient(150deg, var(--burg-dark), var(--navy));\n  color: #fff7df;\n}\n\n.ka-hp .ka-close h2 {\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: clamp(28px, 5vw, 44px);\n  line-height: 1.15;\n  margin-bottom: 14px;\n}\n\n.ka-hp .ka-close p {\n  max-width: 620px;\n  margin: 0 auto 30px;\n  font-size: 17px;\n  color: #e9dfc2;\n}\n\n.ka-hp .ka-btn {\n  display: inline-block;\n  cursor: pointer;\n  border: none;\n  padding: 16px 40px;\n  border-radius: 999px;\n  background: linear-gradient(145deg, var(--gold-light), var(--gold));\n  color: var(--burg-dark);\n  font-family: 'Nunito', sans-serif;\n  font-weight: 900;\n  font-size: 18px;\n  letter-spacing: 0.02em;\n  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);\n  transition: transform 0.25s ease;\n}\n\n.ka-hp .ka-btn:hover {\n  transform: translateY(-2px);\n}\n\n\/* ---------- Responsive ---------- *\/\n@media (max-width: 720px) {\n  .ka-hp .ka-banner {\n    aspect-ratio: 16 \/ 9;\n  }\n\n  .ka-hp .ka-sec {\n    padding: 46px 18px;\n  }\n\n  .ka-hp .ka-mod {\n    gap: 24px;\n  }\n\n  .ka-hp .ka-row b {\n    flex-basis: 100%;\n  }\n\n  .ka-hp .ka-fact {\n    flex-basis: 130px;\n  }\n}\n\n\/* ---------- Shopify overrides ---------- *\/\n.ka-hp h1,\n.ka-hp h2,\n.ka-hp h3,\n.ka-hp h4,\n.ka-hp p,\n.ka-hp li,\n.ka-hp span,\n.ka-hp b {\n  letter-spacing: normal;\n  text-transform: none;\n}\n\n.ka-hp .ka-eyebrow,\n.ka-hp .ka-fact span,\n.ka-hp .ka-prof .tag {\n  text-transform: uppercase !important;\n}\n\n.ka-hp .ka-intro,\n.ka-hp .ka-intro h1,\n.ka-hp .ka-intro h2,\n.ka-hp .ka-intro p,\n.ka-hp .ka-sec h2.ka-title,\n.ka-hp .ka-sec p.ka-lead,\n.ka-hp .ka-card,\n.ka-hp .ka-card h4,\n.ka-hp .ka-card p,\n.ka-hp .ka-step,\n.ka-hp .ka-step h4,\n.ka-hp .ka-step p,\n.ka-hp .ka-fact,\n.ka-hp .ka-close,\n.ka-hp .ka-close h2,\n.ka-hp .ka-close p,\n.ka-hp .ka-note {\n  text-align: center !important;\n}\n\n.ka-hp .ka-txt,\n.ka-hp .ka-txt h3,\n.ka-hp .ka-txt p,\n.ka-hp .ka-txt li,\n.ka-hp .ka-prof,\n.ka-hp .ka-prof h4,\n.ka-hp .ka-prof p,\n.ka-hp .ka-prof li,\n.ka-hp .ka-lay,\n.ka-hp .ka-lay h4,\n.ka-hp .ka-lay p,\n.ka-hp .ka-a p,\n.ka-hp .ka-row b,\n.ka-hp .ka-row span {\n  text-align: left !important;\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"ka-hp\"\u003e\n\n  \u003c!-- ===== Hero banner (30:7) ===== --\u003e\n  \u003cdiv class=\"ka-banner\"\u003e\n    \u003c!-- REPLACE src with the Shopify CDN URL after uploading the image to the product --\u003e\n    \u003cimg src=\"https:\/\/bulkcustom.com\/wp-content\/uploads\/2026\/04\/harry-potter-keycap-set-design-illustration.jpg\" alt=\"Wizarding world themed PBT keycap set with vintage owl-post illustrations\" loading=\"eager\"\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Intro ===== --\u003e\n  \u003cdiv class=\"ka-intro\"\u003e\n    \u003cspan class=\"ka-eyebrow\"\u003eThe Letter of the Owl Collection\u003c\/span\u003e\n    \u003ch2 class=\"ka-main\"\u003eWizarding World PBT Keycap Set\u003c\/h2\u003e\n    \u003cdiv class=\"ka-rule\"\u003e\u003c\/div\u003e\n    \u003cp\u003e\n      A 140-key dye-sublimated PBT set that turns your keyboard into an owl-post\n      parcel from another world. Vintage parchment tones, house crests, potions,\n      wands and golden snitches — every key tells a little piece of the story.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"ka-facts\"\u003e\n      \u003cdiv class=\"ka-fact\"\u003e\n\u003cb\u003e140\u003c\/b\u003e\u003cspan\u003eKeys\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ka-fact\"\u003e\n\u003cb\u003ePBT\u003c\/b\u003e\u003cspan\u003eMaterial\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ka-fact\"\u003e\n\u003cb\u003eDye-Sub\u003c\/b\u003e\u003cspan\u003ePrinting\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ka-fact\"\u003e\n\u003cb\u003e3\u003c\/b\u003e\u003cspan\u003eProfiles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ka-fact\"\u003e\n\u003cb\u003eMX\u003c\/b\u003e\u003cspan\u003eCross Stem\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Aesthetic module ===== --\u003e\n  \u003cdiv class=\"ka-sec\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cdiv class=\"ka-mod\"\u003e\n        \u003cdiv class=\"ka-img\"\u003e\n          \u003cimg src=\"https:\/\/bulkcustom.com\/wp-content\/uploads\/2026\/04\/hogwarts-express-vintage-theme-dye-sub-keycaps-gift-for-harry-potter-fans.jpg\" alt=\"Vintage steam-train themed dye-sub keycaps from the wizarding world keycap set\" loading=\"lazy\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-txt\"\u003e\n          \u003ch3\u003eA Nostalgic, Scholarly Palette\u003c\/h3\u003e\n          \u003cp\u003e\n            Soft parchment creams, aged golds and deep school-house colours give this\n            set the feel of a well-loved spellbook. The artwork is built around the\n            steam-train journey, house crests and magical potions, so it sits\n            naturally on wooden, vintage and classic keyboard cases.\n          \u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eVintage colour story with a warm, bookish mood\u003c\/li\u003e\n            \u003cli\u003eIconic imagery spread across the whole layout\u003c\/li\u003e\n            \u003cli\u003ePairs beautifully with wood, brass and cream builds\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Icon highlights ===== --\u003e\n  \u003cdiv class=\"ka-sec alt\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eDesign Highlights\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eLittle Details in Every Corner\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        The accent keys carry the magic. Here is what you will find scattered across the set.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-cards\"\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🚂\u003c\/div\u003e\n          \u003ch4\u003eSteam Train Journey\u003c\/h4\u003e\n          \u003cp\u003eVintage rail artwork that sets the tone for the whole collection.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🛡\u003c\/div\u003e\n          \u003ch4\u003eHouse Crests\u003c\/h4\u003e\n          \u003cp\u003eSchool-house sigils for the fan who knows exactly where they belong.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🧒\u003c\/div\u003e\n          \u003ch4\u003ePotions \u0026amp; Wands\u003c\/h4\u003e\n          \u003cp\u003eBubbling bottles and wands illustrated on novelty accent keys.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🦉\u003c\/div\u003e\n          \u003ch4\u003eOwl Feather Art\u003c\/h4\u003e\n          \u003cp\u003eDelicate feather detail inspired by the owl post, printed crisp and clear.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e✨\u003c\/div\u003e\n          \u003ch4\u003eGolden Snitch\u003c\/h4\u003e\n          \u003cp\u003eA winged little treasure waiting on one of the accent caps.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🧣\u003c\/div\u003e\n          \u003ch4\u003eHouse Scarves\u003c\/h4\u003e\n          \u003cp\u003eCosy striped scarf motifs that finish the theme with a smile.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Dye-sub build module ===== --\u003e\n  \u003cdiv class=\"ka-sec\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cdiv class=\"ka-mod rev\"\u003e\n        \u003cdiv class=\"ka-img\"\u003e\n          \u003cimg src=\"https:\/\/bulkcustom.com\/wp-content\/uploads\/2026\/04\/custom-keycaps-for-harry-potter-fans.jpg\" alt=\"Close-up of dye-sublimated PBT keycaps with wizarding world illustrations\" loading=\"lazy\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-txt\"\u003e\n          \u003ch3\u003eDye-Sublimation That Stays Vivid\u003c\/h3\u003e\n          \u003cp\u003e\n            The artwork is dye-sublimated into high-grade PBT rather than printed on\n            the surface. That means the illustrations are built to resist fading, so\n            the feathers, crests and potion bottles keep their detail through long\n            hours of typing and gaming.\n          \u003c\/p\u003e\n          \u003cp\u003e\n            PBT also brings a smooth, matte feel under the fingertips, a premium\n            texture that is a pleasure for everyday typing.\n          \u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eHigh-grade PBT composition for long-term use\u003c\/li\u003e\n            \u003cli\u003eDye-sublimation designed to resist fading\u003c\/li\u003e\n            \u003cli\u003eSmooth matte texture with a premium touch\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Why dye-sub \/ PBT cards (dark) ===== --\u003e\n  \u003cdiv class=\"ka-sec dark\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eBuilt to Last\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eWhy PBT + Dye-Sub?\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        Two choices that matter most when you want a themed set to look good for years, not weeks.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-cards\"\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e💪\u003c\/div\u003e\n          \u003ch4\u003eResilient Material\u003c\/h4\u003e\n          \u003cp\u003ePBT is known for holding up well to daily use, heat and oils.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🎨\u003c\/div\u003e\n          \u003ch4\u003eFade-Resistant Art\u003c\/h4\u003e\n          \u003cp\u003eDye-sublimated legends and artwork are part of the cap, not a coating on top.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e✌\u003c\/div\u003e\n          \u003ch4\u003eMatte Typing Feel\u003c\/h4\u003e\n          \u003cp\u003eA smooth, grippy matte surface that feels premium on every keystroke.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== 140-key kit ===== --\u003e\n  \u003cdiv class=\"ka-sec\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eWhat's in the Set\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eA Comprehensive 140-Key Kit\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        Plenty of keys for a wide range of mechanical keyboard sizes, plus novelty\n        caps to make your layout truly yours.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-cards\"\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🔢\u003c\/div\u003e\n          \u003ch4\u003eFull Numpad\u003c\/h4\u003e\n          \u003cp\u003eA complete numpad with specialised magical icons for full-size boards.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🎲\u003c\/div\u003e\n          \u003ch4\u003eR0–R4 Accent Keys\u003c\/h4\u003e\n          \u003cp\u003eNovelty caps across multiple rows, featuring wands, snitches and scarves.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🔧\u003c\/div\u003e\n          \u003ch4\u003eCross-Stem Fit\u003c\/h4\u003e\n          \u003cp\u003eOptimised for Cherry MX style cross stems, fitting most modern switches.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Profile options ===== --\u003e\n  \u003cdiv class=\"ka-sec alt\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eChoose Your Profile\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eCherry, MOA or FOA — Pick Your Feel\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        This set is available in three profiles. Select the one that matches how you like your keys to feel.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-cards\"\u003e\n        \u003cdiv class=\"ka-prof\"\u003e\n          \u003ch4\u003eCherry Profile\u003c\/h4\u003e\n          \u003cspan class=\"tag\"\u003eClassic \u0026amp; Familiar\u003c\/span\u003e\n          \u003cp\u003e\n            A low, sculpted profile that many typists consider the benchmark for\n            comfort. A great all-rounder for typing and gaming.\n          \u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eSculpted rows for natural finger travel\u003c\/li\u003e\n            \u003cli\u003eComfortable for long typing sessions\u003c\/li\u003e\n            \u003cli\u003eA safe pick if you are unsure\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-prof\"\u003e\n          \u003ch4\u003eMOA Profile\u003c\/h4\u003e\n          \u003cspan class=\"tag\"\u003eTall \u0026amp; Rounded\u003c\/span\u003e\n          \u003cp\u003e\n            A taller, softly rounded sculpted profile with a distinctive look that\n            shows off the artwork nicely.\n          \u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eTaller caps with a bolder silhouette\u003c\/li\u003e\n            \u003cli\u003eDeep, satisfying key feel\u003c\/li\u003e\n            \u003cli\u003eA showpiece look for themed builds\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-prof\"\u003e\n          \u003ch4\u003eFOA Profile\u003c\/h4\u003e\n          \u003cspan class=\"tag\"\u003eAlso Available\u003c\/span\u003e\n          \u003cp\u003e\n            A third profile option for this set, for buyers who want something\n            different from Cherry and MOA. Pick FOA from the Profile selector on\n            this page.\n          \u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eSame wizarding world artwork and PBT dye-sub build\u003c\/li\u003e\n            \u003cli\u003eSame Cherry MX style cross stem\u003c\/li\u003e\n            \u003cli\u003eChoose it from the Profile option before adding to cart\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Layout compatibility ===== --\u003e\n  \u003cdiv class=\"ka-sec\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eLayout Compatibility\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eWill It Fit Your Keyboard?\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        With 140 keys, this set is built around full-size boards and is designed to\n        cover a wide range of mechanical keyboard sizes.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-cards\"\u003e\n        \u003cdiv class=\"ka-lay\"\u003e\n          \u003ch4\u003eFull-Size (100%)\u003c\/h4\u003e\n          \u003cspan\u003eNumpad included\u003c\/span\u003e\n          \u003cp\u003eThe full numpad comes with its own magical icons.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-lay\"\u003e\n          \u003ch4\u003e96% \/ 1800\u003c\/h4\u003e\n          \u003cspan\u003eCompact full-size\u003c\/span\u003e\n          \u003cp\u003eFits compact full-size layouts with the standard alphanumeric and nav keys.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-lay\"\u003e\n          \u003ch4\u003eTKL \/ 80%\u003c\/h4\u003e\n          \u003cspan\u003eTenkeyless\u003c\/span\u003e\n          \u003cp\u003eCovers the main block, function row and arrow cluster.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-lay\"\u003e\n          \u003ch4\u003e75%\u003c\/h4\u003e\n          \u003cspan\u003eCompact with function row\u003c\/span\u003e\n          \u003cp\u003eCompatible with standard 75% key sizes.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-lay\"\u003e\n          \u003ch4\u003e60% \/ 65%\u003c\/h4\u003e\n          \u003cspan\u003eCompact boards\u003c\/span\u003e\n          \u003cp\u003eWorks for common 60% and 65% layouts.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-lay\"\u003e\n          \u003ch4\u003eANSI \/ ISO\u003c\/h4\u003e\n          \u003cspan\u003eStandard formats\u003c\/span\u003e\n          \u003cp\u003eCheck the key list in the product photos for ISO-specific keys.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ka-note\"\u003e\n        Not sure whether a specific key (split spacebar, ISO enter, Alice ergonomic\n        keys) is included? Message us with your keyboard model before ordering and\n        we will confirm it for you.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Perfect for ===== --\u003e\n  \u003cdiv class=\"ka-sec alt\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003ePerfect For\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eMade for Fans, Gifts and Themed Desks\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        Whether you are treating yourself or surprising someone, this set is a\n        conversation starter on any desk.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-cards\"\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🎁\u003c\/div\u003e\n          \u003ch4\u003eA Thoughtful Gift\u003c\/h4\u003e\n          \u003cp\u003eA special present for wizarding world fans who also love mechanical keyboards.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e📚\u003c\/div\u003e\n          \u003ch4\u003eBookish Desk Setups\u003c\/h4\u003e\n          \u003cp\u003eComplements wooden, vintage and library-inspired desk aesthetics.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🎮\u003c\/div\u003e\n          \u003ch4\u003eTyping \u0026amp; Gaming\u003c\/h4\u003e\n          \u003cp\u003eDurable PBT with a matte feel that suits both work and play.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🎨\u003c\/div\u003e\n          \u003ch4\u003eCollectors\u003c\/h4\u003e\n          \u003cp\u003eRich artwork across the layout makes it a keeper for keycap collectors.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Install steps ===== --\u003e\n  \u003cdiv class=\"ka-sec\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eInstallation\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eSwap Your Keycaps in Minutes\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        Changing keycaps takes a few minutes and needs no soldering.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-steps\"\u003e\n        \u003cdiv class=\"ka-step\"\u003e\n          \u003ch4\u003eTake a Photo\u003c\/h4\u003e\n          \u003cp\u003ePhotograph your current layout so you can match every key later.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-step\"\u003e\n          \u003ch4\u003eRemove Old Caps\u003c\/h4\u003e\n          \u003cp\u003eUse a keycap puller and lift each cap straight up, gently.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-step\"\u003e\n          \u003ch4\u003eMatch the Keys\u003c\/h4\u003e\n          \u003cp\u003eLine up each new cap with its position, checking the key sizes.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-step\"\u003e\n          \u003ch4\u003ePress Firmly\u003c\/h4\u003e\n          \u003cp\u003eAlign the cross stem and press straight down until it seats.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Care ===== --\u003e\n  \u003cdiv class=\"ka-sec dark\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eCare Guide\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eKeep the Magic Looking Fresh\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003e\n        A little care goes a long way in keeping the artwork bright.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ka-cards\"\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e🧼\u003c\/div\u003e\n          \u003ch4\u003eGentle Cleaning\u003c\/h4\u003e\n          \u003cp\u003eWipe with a soft damp cloth and a drop of mild soap when needed.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e💧\u003c\/div\u003e\n          \u003ch4\u003eAvoid Soaking\u003c\/h4\u003e\n          \u003cp\u003eRinse and dry fully if you remove caps for washing; do not leave them wet.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ka-card\"\u003e\n          \u003cdiv class=\"ico\"\u003e☀\u003c\/div\u003e\n          \u003ch4\u003eSkip Harsh Solvents\u003c\/h4\u003e\n          \u003cp\u003eAvoid strong chemicals and abrasive scrubbing on the printed surface.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Specs ===== --\u003e\n  \u003cdiv class=\"ka-sec\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eSpecifications\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eThe Details at a Glance\u003c\/h2\u003e\n      \u003cdiv class=\"ka-rule\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"ka-spec\"\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eCollection\u003c\/b\u003e\u003cspan\u003eThe Letter of the Owl\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eTotal Keys\u003c\/b\u003e\u003cspan\u003e140 keys\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eMaterial\u003c\/b\u003e\u003cspan\u003ePBT plastic\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003ePrinting Process\u003c\/b\u003e\u003cspan\u003eDye-sublimation\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eSurface Finish\u003c\/b\u003e\u003cspan\u003eSmooth matte texture\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eProfile Options\u003c\/b\u003e\u003cspan\u003eCherry, MOA, FOA\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eStem Type\u003c\/b\u003e\u003cspan\u003eCherry MX style cross stem\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eNumpad\u003c\/b\u003e\u003cspan\u003eIncluded, with specialised icons\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eAccent Keys\u003c\/b\u003e\u003cspan\u003eR0–R4 novelty keys (wands, snitches, scarves)\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eTheme\u003c\/b\u003e\u003cspan\u003eVintage wizarding world, scholarly and nostalgic\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eOrigin\u003c\/b\u003e\u003cspan\u003eChina\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ka-row\"\u003e\n\u003cb\u003eNot Included\u003c\/b\u003e\u003cspan\u003eKeyboard and switches\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== FAQ ===== --\u003e\n  \u003cdiv class=\"ka-sec alt\"\u003e\n    \u003cdiv class=\"ka-wrap\"\u003e\n      \u003cspan class=\"ka-eyebrow\"\u003eFAQ\u003c\/span\u003e\n      \u003ch2 class=\"ka-title\"\u003eQuestions, Answered\u003c\/h2\u003e\n      \u003cp class=\"ka-lead\"\u003eQuick answers to what buyers ask us most.\u003c\/p\u003e\n\n      \u003cdiv class=\"ka-faq\"\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eWhat is included in the set?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eThe set contains 140 PBT keycaps, including a full numpad and novelty accent keys across rows R0 to R4. Keyboard and switches are not included.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eWhich profile should I choose?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eCherry is the classic, low sculpted option and a safe all-rounder. MOA is taller and more rounded with a bolder look. FOA is the third option if you want something different from both. Pick the one that matches the keycaps you already enjoy typing on.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eWill these fit my switches?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eThe caps use a Cherry MX style cross stem, which fits most modern mechanical switches. If you use a switch with a non-standard stem, please contact us first.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eWill it work with my keyboard layout?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eThe 140-key kit is designed to cover full-size boards and a wide range of smaller sizes. For special keys such as ISO enter, split spacebars or Alice layouts, send us your keyboard model and we will confirm before you order.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eWill the artwork fade over time?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eThe artwork is dye-sublimated into the PBT, which is designed to resist fading. Gentle cleaning will help keep it looking its best.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eHow should I clean the keycaps?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eUse a soft damp cloth with a little mild soap. Avoid harsh solvents and abrasive scrubbing, and dry the caps fully if you wash them.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eIs this a good gift?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eAbsolutely. It is a special gift for wizarding world fans who use a mechanical keyboard, and it arrives ready to install.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ka-q\"\u003e\n          \u003cbutton type=\"button\" onclick=\"var q=this.parentNode,a=q.querySelector('.ka-a'),o=q.classList.toggle('open');a.style.maxHeight=o?a.scrollHeight+'px':'0';\"\u003eIs this an official licensed product?\u003c\/button\u003e\n          \u003cdiv class=\"ka-a\"\u003e\u003cp\u003eNo. This is an independent fan-inspired design and is not affiliated with or endorsed by any film studio, publisher or rights holder.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ===== Closing CTA ===== --\u003e\n  \u003cdiv class=\"ka-close\"\u003e\n    \u003cspan class=\"ka-eyebrow\" style=\"color:#e6cf8f;\"\u003eYour Letter Has Arrived\u003c\/span\u003e\n    \u003ch2\u003eGive Your Keyboard a Little Magic\u003c\/h2\u003e\n    \u003cp\u003e\n      140 dye-sublimated PBT keys, vintage artwork and three profile options.\n      Choose your profile and send your owl post today.\n    \u003c\/p\u003e\n    \u003cbutton type=\"button\" class=\"ka-btn\" onclick=\"(function(){if(window._kaBusy)return;var q='[data-action*=add],[id*=AddToCart],[class*=add-to-cart],[class*=AddToCart],[name=add]',l=[].slice.call(document.querySelectorAll(q+',form[action*=cart] [type=submit]')),t=null,i,e,s,r,k,ok;for(i=0;i\u0026lt;l.length\u0026amp;\u0026amp;!t;i++){e=l[i];if(e.closest('.ka-hp'))continue;r=e.getBoundingClientRect();s=getComputedStyle(e);if(!r.width||!r.height||s.display=='none'||s.visibility=='hidden')continue;ok=true;for(k=e;k\u0026amp;\u0026amp;k!==document.body;k=k.parentElement){s=getComputedStyle(k);if(s.position=='fixed'||s.position=='sticky'||s.display=='none'){ok=false;break}}if(ok)t=e}if(!t){window.scrollTo({top:0,behavior:'smooth'});return}window._kaBusy=true;var de=document.documentElement,sb=de.style.scrollBehavior;de.style.scrollBehavior='auto';var f=window.pageYOffset,b=t.getBoundingClientRect(),to=Math.max(0,f+b.top-(window.innerHeight-b.height)\/2),d=1700,st=null;function ea(x){return x\u0026lt;.5?4*x*x*x:1-Math.pow(-2*x+2,3)\/2}function glow(x){var o=x.style.transition,bs=x.style.boxShadow,fl=x.style.filter;x.style.transition='box-shadow .6s ease,filter .6s ease';x.style.boxShadow='0 0 30px 8px rgba(201,162,75,.6)';x.style.filter='brightness(1.12)';setTimeout(function(){x.style.boxShadow=bs;x.style.filter=fl;setTimeout(function(){x.style.transition=o},650)},1400)}function step(n){if(st===null)st=n;var p=Math.min((n-st)\/d,1);window.scrollTo(0,f+(to-f)*ea(p));if(p\u0026lt;1){requestAnimationFrame(step)}else{window._kaBusy=false;de.style.scrollBehavior=sb;glow(t)}}requestAnimationFrame(step)})()\"\u003eChoose My Profile ↑\u003c\/button\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Custom Product Manufacturer","offers":[{"title":"Cherry","offer_id":67740752347433,"sku":"KET2090-1","price":79.99,"currency_code":"USD","in_stock":true},{"title":"MOA","offer_id":67740752380201,"sku":"KET2090-1","price":79.99,"currency_code":"USD","in_stock":true},{"title":"FOA","offer_id":67740864184617,"sku":"KET2090-1","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0684\/6962\/0893\/files\/custom-keycaps-for-harry-potter-fans.jpg?v=1793705349","url":"https:\/\/keyartisan.net\/products\/harry-potter-pbt-keycaps-set","provider":"KeyArtisan","version":"1.0","type":"link"}