{"product_id":"carved-prairie","title":"Carved Prairie","description":"\u003cp\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n:root {\n  --bg: #f5f5f5;\n  --white: #fff;\n  --ink: #1a1a1a;\n  --muted: #888;\n  --rule: #e0e0e0;\n  --accent: #8b4513;\n}\n\nbody { font-family: 'IBM Plex Sans', sans-serif; background: var(--bg); color: var(--ink); }\nimg { display: block; width: 100%; height: auto; }\n\n\/* ── SLIDER ── *\/\n.slider { position: relative; overflow: hidden; background: #111; aspect-ratio: 16\/9; }\n@media (max-width: 600px) { .slider { aspect-ratio: 4\/3; } }\n.slider__track { display: flex; height: 100%; transition: transform .5s cubic-bezier(.4,0,.2,1); }\n.slider__slide { flex: 0 0 100%; height: 100%; }\n.slider__slide img { width: 100%; height: 100%; object-fit: cover; }\n.slider__btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.2); color: #fff; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 16px; transition: background .2s; z-index: 10; backdrop-filter: blur(4px); }\n.slider__btn:hover { background: rgba(255,255,255,.3); }\n.slider__btn--prev { left: 12px; }\n.slider__btn--next { right: 12px; }\n.slider__dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 10; }\n.slider__dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.4); cursor: pointer; transition: background .2s; }\n.slider__dot.active { background: #fff; }\n\n\/* ── LAYOUT ── *\/\n.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }\n.section { padding: 56px 0; border-bottom: 1px solid var(--rule); }\n.section:last-child { border-bottom: none; }\n\n.section__eyebrow { font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }\n.section__title { font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 500; line-height: 1.2; margin-bottom: 20px; }\n.section__body { font-size: 14px; color: var(--muted); line-height: 1.85; max-width: 640px; }\n\n\/* ── HERO ── *\/\n.hero-text { background: var(--white); padding: 40px 20px; border-bottom: 1px solid var(--rule); }\n.hero-text__title { font-family: 'IBM Plex Mono', monospace; font-size: clamp(1.6rem, 5vw, 2.8rem); font-weight: 500; letter-spacing: -.02em; color: var(--ink); margin-bottom: 16px; }\n.hero-text__title span { color: var(--accent); }\n.hero-text__body { font-size: 14px; color: var(--muted); line-height: 1.85; max-width: 720px; }\n\n\/* ── SPLIT ── *\/\n.split { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }\n@media (min-width: 768px) {\n  .split { grid-template-columns: 1fr 1fr; gap: 56px; }\n  .split--reverse .split__img { order: 2; }\n  .split--reverse .split__text { order: 1; }\n}\n.split__img { overflow: hidden; background: #eee; }\n.split__img img { width: 100%; display: block; object-fit: cover; }\n\n\/* ── CARDS ── *\/\n.card { background: var(--white); border: 1px solid var(--rule); margin-bottom: 8px; overflow: hidden; }\n.card__header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--rule); cursor: pointer; user-select: none; }\n.card__header--static { cursor: default; }\n.card__heading { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--ink); }\n.card__close { font-size: 18px; color: var(--muted); line-height: 1; transition: transform .2s; flex-shrink: 0; background: none; border: none; cursor: pointer; }\n.card--collapsed .card__close { transform: rotate(45deg); }\n.card--collapsed .card__body { display: none; }\n.card--collapsed .specs-body { display: none; }\n.card__body { background: #f0f0f0; padding: 24px 20px; }\n.compat-value { font-size: 13px; color: #666; line-height: 1.7; }\n\n\/* ── SPECS ── *\/\n.specs-body { background: #f0f0f0; padding: 28px 20px; display: grid; grid-template-columns: 1fr; gap: 20px; }\n@media (min-width: 640px) { .specs-body { grid-template-columns: 1fr 1fr; gap: 24px 60px; padding: 32px 28px; } }\n.ts-group__label { font-size: 13px; font-weight: 500; color: var(--ink); margin-bottom: 3px; }\n.ts-group__value { font-size: 13px; color: var(--muted); line-height: 1.7; }\n\u003c\/style\u003e\n\u003c!-- ══ HERO IMAGE ══ --\u003e\n\u003cdiv style=\"overflow: hidden; background: #111; aspect-ratio: 16\/9;\"\u003e\u003cimg src=\"https:\/\/i.shgcdn.com\/4bcd4eef-bf1a-44d9-85c8-c80c421a30b1\/-\/format\/auto\/-\/preview\/3000x3000\/-\/quality\/best\/-\/resize\/1920x\/\" alt=\"Maya Imprint\" loading=\"eager\" style=\"width: 100%; height: 100%; object-fit: cover; display: block;\"\u003e\u003c\/div\u003e\n\u003c!-- ══ HERO TEXT ══ --\u003e\n\u003cdiv class=\"hero-text\"\u003e\n\u003cdiv class=\"container\"\u003e\n\u003cdiv class=\"hero-text__title\"\u003e\u003cspan\u003ePrairie character\u003c\/span\u003e\u003c\/div\u003e\n\u003cp class=\"hero-text__body\"\u003eEspiritual, grotesco, tribal e cheio de energia feroz — o Carved Prairie é uma evocação às raízes da civilização humana e a um mundo desconhecido. Os detalhes intrincados dos ícones inspirados em esculturas de máscaras africanas, em contraste com as cores fortes do fundo, vão fazer você se conectar com seu eu ancestral enquanto pressiona as teclas.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══ KEYTOK PBT ══ --\u003e\n\u003cdiv class=\"section\" style=\"background: var(--white);\"\u003e\n\u003cdiv class=\"container\"\u003e\n\u003cdiv class=\"split\"\u003e\n\u003cdiv class=\"split__text\"\u003e\n\u003cdiv class=\"section__eyebrow\"\u003eMaterial\u003c\/div\u003e\n\u003ch2 class=\"section__title\"\u003eKeyTok PBT Keycaps\u003c\/h2\u003e\n\u003cp class=\"section__body\"\u003eMoldados em PBT, os keycaps NuPhy são altamente resistentes a oleosidade e arranhões, com legends duráveis e cores vivas. O processo dye-sub permite um nível ultrapreciso de detalhes de cor e uma riqueza visual em camadas.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"split__img\"\u003e\u003cimg src=\"https:\/\/i.shgcdn.com\/fa042c7c-546c-45eb-9a35-6c8a96097a91\/-\/format\/auto\/-\/preview\/3000x3000\/-\/quality\/best\/-\/resize\/1920x\/\" alt=\"KeyTok PBT Keycaps\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══ KEYBOARD COMPATIBILITIES ══ --\u003e\n\u003cdiv class=\"section\" style=\"background: var(--bg);\"\u003e\n\u003cdiv class=\"container\"\u003e\n\u003cdiv class=\"split split--reverse\"\u003e\n\u003cdiv class=\"split__text\"\u003e\n\u003cdiv class=\"section__eyebrow\"\u003eCompatibilidade\u003c\/div\u003e\n\u003ch2 class=\"section__title\"\u003eKeyboard Compatibilities\u003c\/h2\u003e\n\u003cp class=\"section__body\"\u003eO keycap set Carved Prairie no perfil nSA inclui 155 teclas no total. Suporta NuPhy Air60, Air75, Air96, Air60 V2, Air75 V2, Air96 V2, Air75 V3, Air60 HE e Air75 HE, além de ser compatível com outros teclados mecânicos compactos low-profile nos layouts: 60 \/ 75 \/ 96.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"split__img\"\u003e\u003cimg src=\"https:\/\/i.shgcdn.com\/a7a6c6f7-44c5-48a1-9cec-9abe23902fb9\/-\/format\/auto\/-\/preview\/3000x3000\/-\/quality\/best\/-\/resize\/1920x\/\" alt=\"Keyboard Compatibilities\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══ BERRY PROFILE ══ --\u003e\n\u003cdiv class=\"section\" style=\"background: var(--white);\"\u003e\n\u003cdiv class=\"container\"\u003e\n\u003cdiv class=\"split\"\u003e\n\u003cdiv class=\"split__text\"\u003e\n\u003cdiv class=\"section__eyebrow\"\u003ePerfil\u003c\/div\u003e\n\u003ch2 class=\"section__title\"\u003enSA Profile\u003c\/h2\u003e\n\u003cp class=\"section__body\"\u003eDesenvolvido pela NuPhy com base em pesquisas profundas sobre ergonomia e estética low-profile, o perfil nSA é sobre uma experiência de digitação perfeita. A curvatura da superfície mantém contato mais próximo com os dedos, reduzindo fadiga. As 6 fileiras de altura igual com inclinação suave permitem movimentação natural. Cantos arredondados e lados iguais completam o visual minimalista inerente aos teclados low-profile.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"split__img\"\u003e\u003cimg src=\"https:\/\/i.shgcdn.com\/82ef373b-c16a-4248-ab42-efc07c588bcc\/-\/format\/auto\/-\/preview\/3000x3000\/-\/quality\/best\/-\/resize\/1920x\/\" alt=\"Berry Profile\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══ CARDS COMPAT + SPECS ══ --\u003e\n\u003cdiv style=\"padding: 32px 20px; max-width: 1100px; margin: 0 auto;\"\u003e\n\u003cdiv class=\"card\" id=\"card-compat\"\u003e\n\u003cdiv class=\"card__header\" onclick=\"toggleCard('card-compat')\"\u003e\n\u003cspan class=\"card__heading\"\u003eCompatibilidade para teclados NuPhy\u003c\/span\u003e \u003cbutton class=\"card__close\"\u003e×\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card__body\"\u003e\n\u003cdiv class=\"compat-value\"\u003eAir Series · Kick75 Low-profile · Node Series Low-profile\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card\" id=\"card-layouts\"\u003e\n\u003cdiv class=\"card__header\" onclick=\"toggleCard('card-layouts')\"\u003e\n\u003cspan class=\"card__heading\"\u003eLayouts suportados pelo Carved Prairie\u003c\/span\u003e \u003cbutton class=\"card__close\"\u003e×\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card__body\"\u003e\n\u003cdiv class=\"compat-value\"\u003e60 \/ 75 \/ 96\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card\" id=\"specs-main\"\u003e\n\u003cdiv class=\"card__header\" onclick=\"toggleCard('specs-main')\"\u003e\n\u003cspan class=\"card__heading\"\u003eTech Specs\u003c\/span\u003e \u003cbutton class=\"card__close\"\u003e×\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"specs-body\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"ts-group__label\"\u003ePerfil do Keycap\u003c\/div\u003e\n\u003cdiv class=\"ts-group__value\"\u003enSA\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"ts-group__label\"\u003eSpacebar Incluído\u003c\/div\u003e\n\u003cdiv class=\"ts-group__value\"\u003e6.25u\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"ts-group__label\"\u003eMaterial\u003c\/div\u003e\n\u003cdiv class=\"ts-group__value\"\u003ePBT Dye-Sublimation 5 lados\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"ts-group__label\"\u003eShifts Incluídos\u003c\/div\u003e\n\u003cdiv class=\"ts-group__value\"\u003e2.75u · 2.25u · 2u · 1.75u · 1u\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"ts-group__label\"\u003eNúmero de Teclas\u003c\/div\u003e\n\u003cdiv class=\"ts-group__value\"\u003e162\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"ts-group__label\"\u003eFabricante\u003c\/div\u003e\n\u003cdiv class=\"ts-group__value\"\u003eKeyTok\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"ts-group__label\"\u003eDesigner\u003c\/div\u003e\n\u003cdiv class=\"ts-group__value\"\u003eBOHU\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\nconst state = {};\n\nfunction initSlider(id) {\n  const slides = document.querySelectorAll(`#${id} .slider__slide`);\n  state[id] = { current: 0, total: slides.length };\n  autoPlay(id);\n}\n\nfunction slide(id, dir) {\n  const s = state[id];\n  s.current = (s.current + dir + s.total) % s.total;\n  update(id);\n}\n\nfunction goTo(id, idx) {\n  state[id].current = idx;\n  update(id);\n}\n\nfunction update(id) {\n  const s = state[id];\n  const n = id.slice(-1);\n  document.getElementById('track' + n).style.transform = `translateX(-${s.current * 100}%)`;\n  document.querySelectorAll(`#dots${n} .slider__dot`).forEach((d, i) =\u003e {\n    d.classList.toggle('active', i === s.current);\n  });\n}\n\nfunction autoPlay(id) {\n  setInterval(() =\u003e slide(id, 1), 4000);\n}\n\nfunction toggleCard(id) {\n  document.getElementById(id).classList.toggle('card--collapsed');\n}\n\ninitSlider('slider1');\ninitSlider('slider2');\n\u003c\/script\u003e","brand":"NuPhy®","offers":[{"title":"All in One","offer_id":51093032304944,"sku":"KC-PRAIRIE","price":589.0,"currency_code":"BRL","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0966\/0507\/7808\/files\/07.jpg?v=1774984886","url":"https:\/\/nuphybrasil.com.br\/products\/carved-prairie","provider":"Nuphy Brasil","version":"1.0","type":"link"}