{"product_id":"handcrafted-wooden-puppet-toy","title":"Handcrafted Wooden Puppet Toy","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:ital,wght@0,400;0,700;1,400\u0026amp;family=DM+Sans:wght@300;400;500\u0026amp;family=Caveat:wght@500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n  :root {\n    --cream:   #faf5ec;\n    --cream2:  #f2e8d4;\n    --cream3:  #e8d9be;\n    --wood:    #6b3f1e;\n    --wood2:   #9b6030;\n    --wood3:   #c8904a;\n    --wood4:   #e8c88a;\n    --red:     #e03c2a;\n    --red2:    #f55a48;\n    --yellow:  #f5c030;\n    --yellow2: #f8d860;\n    --blue:    #2e7bbf;\n    --blue2:   #5aaee8;\n    --green:   #3a8f4a;\n    --green2:  #68c07a;\n    --purple:  #7b4bbf;\n    --ink:     #2a1a0a;\n    --ink2:    #4a2e14;\n    --muted:   #9a7850;\n  }\n\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  body {\n    background: var(--cream);\n    color: var(--ink);\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 300;\n    overflow-x: hidden;\n  }\n\n  \/* ── HERO ── *\/\n  .hero {\n    background: var(--cream2);\n    border-bottom: 2px solid var(--cream3);\n    padding: 3rem 3rem 2.5rem;\n    position: relative;\n    overflow: hidden;\n  }\n\n  \/* confetti dots background *\/\n  .hero::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background-image:\n      radial-gradient(circle, var(--red) 2px, transparent 2px),\n      radial-gradient(circle, var(--blue) 2px, transparent 2px),\n      radial-gradient(circle, var(--yellow) 2px, transparent 2px),\n      radial-gradient(circle, var(--green) 2px, transparent 2px),\n      radial-gradient(circle, var(--purple) 2px, transparent 2px);\n    background-size: 80px 80px, 120px 100px, 95px 90px, 110px 75px, 130px 110px;\n    background-position: 10px 10px, 40px 50px, 70px 20px, 15px 60px, 90px 35px;\n    opacity: 0.08;\n    pointer-events: none;\n  }\n\n  \/* wood grain lines *\/\n  .hero::after {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: repeating-linear-gradient(\n      93deg,\n      transparent,\n      transparent 55px,\n      rgba(107,63,30,0.035) 56px,\n      rgba(107,63,30,0.035) 57px\n    );\n    pointer-events: none;\n  }\n\n  .hero-inner {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    align-items: flex-start;\n    gap: 2rem;\n    flex-wrap: wrap;\n  }\n\n  .hero-text { flex: 1; min-width: 260px; }\n\n  .eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    font-size: 10px;\n    font-weight: 500;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    color: var(--wood2);\n    margin-bottom: 0.9rem;\n  }\n  .eyebrow::before {\n    content: '';\n    display: inline-block;\n    width: 22px; height: 1.5px;\n    background: var(--wood2);\n  }\n\n  .hero-title {\n    font-family: 'Fraunces', serif;\n    font-size: clamp(2rem, 4vw, 2.9rem);\n    font-weight: 700;\n    color: var(--ink);\n    line-height: 1.1;\n    margin-bottom: 0.4rem;\n  }\n  .hero-title em { font-style: italic; color: var(--red); }\n\n  .hero-sub {\n    font-size: 13.5px;\n    color: var(--muted);\n    letter-spacing: 0.05em;\n    margin-bottom: 1.3rem;\n  }\n\n  .badge-row { display: flex; flex-wrap: wrap; gap: 8px; }\n  .badge {\n    font-size: 10px;\n    font-weight: 500;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    padding: 5px 13px;\n    border-radius: 40px;\n  }\n  .badge-wood   { background: var(--wood);   color: var(--wood4); }\n  .badge-eco    { background: var(--green);  color: #d8f4de; }\n  .badge-multi  { background: linear-gradient(90deg, var(--red), var(--yellow), var(--blue)); color: #fff; }\n  .badge-age    { background: var(--yellow); color: var(--ink); }\n\n  \/* ── PUPPET SVG ILLUSTRATION ── *\/\n  .hero-art {\n    flex: 0 0 auto;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .puppet-stage {\n    width: 180px;\n    height: 220px;\n    position: relative;\n  }\n\n  .puppet-wrap {\n    position: absolute;\n    top: 50%; left: 50%;\n    transform: translate(-50%, -50%);\n    animation: puppet-bounce 3s ease-in-out infinite;\n    filter: drop-shadow(4px 8px 10px rgba(107,63,30,0.3));\n  }\n\n  @keyframes puppet-bounce {\n    0%, 100% { transform: translate(-50%, -50%) rotate(-3deg); }\n    25%       { transform: translate(-50%, calc(-50% - 10px)) rotate(2deg); }\n    50%       { transform: translate(-50%, -50%) rotate(3deg); }\n    75%       { transform: translate(-50%, calc(-50% - 6px)) rotate(-1deg); }\n  }\n\n  \/* arm swing *\/\n  .left-arm  { transform-origin: 28px 10px; animation: swing-left  2.2s ease-in-out infinite; }\n  .right-arm { transform-origin: 2px 10px;  animation: swing-right 2.2s ease-in-out infinite; }\n  @keyframes swing-left  { 0%,100%{transform:rotate(-15deg)} 50%{transform:rotate(20deg)} }\n  @keyframes swing-right { 0%,100%{transform:rotate(15deg)}  50%{transform:rotate(-20deg)} }\n\n  .left-leg  { transform-origin: 12px 2px; animation: kick-left  1.8s ease-in-out infinite; }\n  .right-leg { transform-origin: 2px 2px;  animation: kick-right 1.8s ease-in-out infinite; }\n  @keyframes kick-left  { 0%,100%{transform:rotate(-10deg)} 50%{transform:rotate(15deg)} }\n  @keyframes kick-right { 0%,100%{transform:rotate(10deg)}  50%{transform:rotate(-15deg)} }\n\n  \/* dangling strings *\/\n  .strings { animation: string-sway 3s ease-in-out infinite; transform-origin: 50% 0; }\n  @keyframes string-sway { 0%,100%{transform:rotate(-2deg)} 50%{transform:rotate(2deg)} }\n\n  \/* ── MAIN CONTENT ── *\/\n  .content {\n    max-width: 900px;\n    margin: 0 auto;\n    padding: 2.5rem 2rem 3rem;\n  }\n\n  \/* ── STORY ── *\/\n  .story-section {\n    display: grid;\n    grid-template-columns: 1fr 2fr;\n    gap: 2rem;\n    margin-bottom: 2.5rem;\n    align-items: start;\n  }\n  .story-label-col { padding-top: 0.4rem; }\n\n  .section-label {\n    font-size: 9px;\n    font-weight: 500;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--wood2);\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n  .section-label::after {\n    content: ''; flex: 1;\n    height: 1px; background: var(--cream3);\n  }\n\n  .pull-quote {\n    font-family: 'Fraunces', serif;\n    font-size: 1.3rem;\n    font-style: italic;\n    color: var(--wood);\n    line-height: 1.6;\n    margin-bottom: 1rem;\n    border-left: 3px solid var(--yellow);\n    padding-left: 1.2rem;\n  }\n\n  .body-text {\n    font-size: 14px;\n    line-height: 1.9;\n    color: var(--ink2);\n    font-weight: 300;\n  }\n\n  \/* ── RAINBOW DIVIDER ── *\/\n  .rainbow-divider {\n    height: 5px;\n    background: linear-gradient(90deg,\n      var(--red), var(--yellow), var(--green),\n      var(--blue), var(--purple), var(--red));\n    border-radius: 3px;\n    margin: 2rem 0;\n    opacity: 0.5;\n  }\n\n  \/* ── FEATURES ── *\/\n  .features-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));\n    gap: 12px;\n    margin-bottom: 2.5rem;\n  }\n\n  .feature-card {\n    background: #fff;\n    border: 1.5px solid var(--cream3);\n    border-radius: 14px;\n    padding: 1.2rem 1rem;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n    transition: transform 0.2s, box-shadow 0.2s;\n  }\n  .feature-card:hover {\n    transform: translateY(-4px);\n    box-shadow: 0 10px 28px rgba(107,63,30,0.12);\n  }\n\n  \/* coloured top stripe per card *\/\n  .fc-1::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--red); }\n  .fc-2::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--blue); }\n  .fc-3::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--yellow); }\n  .fc-4::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--green); }\n  .fc-5::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--purple); }\n\n  .feature-icon  { font-size: 1.9rem; margin-bottom: 0.5rem; display: block; line-height: 1; }\n  .feature-title { font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wood); margin-bottom: 4px; }\n  .feature-desc  { font-size: 12px; color: var(--muted); line-height: 1.5; }\n\n  \/* ── SPECS BLOCK ── *\/\n  .specs-block {\n    background: var(--wood);\n    border-radius: 14px;\n    padding: 1.8rem 2rem;\n    margin-bottom: 2.5rem;\n    position: relative;\n    overflow: hidden;\n  }\n  .specs-block::before {\n    content: '';\n    position: absolute; inset: 0;\n    background: repeating-linear-gradient(\n      95deg, transparent, transparent 38px,\n      rgba(255,255,255,0.03) 39px, rgba(255,255,255,0.03) 40px\n    );\n  }\n\n  .specs-title {\n    font-family: 'Fraunces', serif;\n    font-size: 1.2rem;\n    font-weight: 700;\n    color: var(--wood4);\n    margin-bottom: 1.2rem;\n    position: relative; z-index: 1;\n  }\n\n  .specs-row {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n    position: relative; z-index: 1;\n  }\n\n  .spec-pill {\n    display: flex;\n    align-items: center;\n    gap: 9px;\n    background: rgba(255,255,255,0.08);\n    border: 1px solid rgba(255,255,255,0.15);\n    border-radius: 8px;\n    padding: 0.65rem 1rem;\n    flex: 1;\n    min-width: 140px;\n  }\n  .spec-icon  { font-size: 1.2rem; flex-shrink: 0; }\n  .spec-label { font-size: 9px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wood3); margin-bottom: 2px; }\n  .spec-value { font-size: 13px; font-weight: 400; color: var(--cream); }\n\n  \/* multicolor swatch strip *\/\n  .swatch-strip {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    margin-top: 1.2rem;\n    position: relative; z-index: 1;\n  }\n  .swatch-lbl { font-size: 11px; color: var(--wood3); letter-spacing: 0.1em; text-transform: uppercase; margin-right: 4px; }\n  .swatch {\n    width: 22px; height: 22px;\n    border-radius: 50%;\n    border: 2px solid rgba(255,255,255,0.3);\n  }\n\n  \/* ── PERFECT FOR ── *\/\n  .ideal-strip {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    margin-bottom: 2.5rem;\n  }\n  .ideal-tag {\n    font-size: 12px;\n    font-weight: 400;\n    color: var(--wood);\n    background: var(--cream2);\n    border: 1.5px solid var(--cream3);\n    border-radius: 6px;\n    padding: 6px 14px;\n    letter-spacing: 0.03em;\n    transition: background 0.2s, border-color 0.2s;\n  }\n  .ideal-tag:hover { background: var(--yellow2); border-color: var(--yellow); }\n\n  \/* ── CTA ── *\/\n  .cta-block {\n    background: var(--cream2);\n    border: 2px solid var(--cream3);\n    border-radius: 16px;\n    padding: 2rem;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n  }\n  .cta-block::before {\n    content: '🪆';\n    position: absolute;\n    font-size: 7rem;\n    right: -0.5rem; top: -0.5rem;\n    line-height: 1;\n    opacity: 0.07;\n    pointer-events: none;\n  }\n\n  .cta-title {\n    font-family: 'Fraunces', serif;\n    font-size: 1.5rem;\n    font-weight: 700;\n    color: var(--ink);\n    margin-bottom: 0.4rem;\n  }\n  .cta-sub  { font-size: 13px; color: var(--muted); margin-bottom: 1.5rem; }\n\n  .cta-btn {\n    display: block;\n    width: 100%;\n    background: var(--wood);\n    color: var(--wood4);\n    border: none;\n    border-radius: 10px;\n    padding: 1rem 2rem;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 12px;\n    font-weight: 500;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    cursor: pointer;\n    margin-bottom: 0.75rem;\n    transition: background 0.2s, transform 0.15s;\n  }\n  .cta-btn:hover { background: var(--wood2); transform: translateY(-1px); }\n\n  .cta-note { font-size: 11px; color: var(--muted); letter-spacing: 0.04em; }\n\n  \/* ── COPY PANEL ── *\/\n  .copy-panel {\n    background: var(--ink);\n    padding: 2rem 2rem 2.5rem;\n    border-top: 4px solid var(--yellow);\n  }\n  .copy-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    flex-wrap: wrap;\n    gap: 1rem;\n    margin-bottom: 1rem;\n  }\n  .copy-title { font-size: 10px; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--wood3); }\n  .copy-btn {\n    background: none;\n    border: 1px solid rgba(200,144,74,0.4);\n    border-radius: 4px;\n    padding: 6px 18px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 10px; font-weight: 500;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--wood3);\n    cursor: pointer;\n    transition: background 0.2s;\n  }\n  .copy-btn:hover { background: rgba(200,144,74,0.1); }\n  .copy-btn.done  { color: #7ecfa0; border-color: rgba(126,207,160,0.4); }\n\n  .copy-box {\n    background: rgba(255,255,255,0.04);\n    border: 1px solid rgba(200,144,74,0.15);\n    border-radius: 6px;\n    padding: 1.2rem 1.4rem;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 13px; font-weight: 300;\n    line-height: 1.85;\n    color: rgba(232,200,138,0.75);\n    white-space: pre-wrap;\n    word-break: break-word;\n  }\n\n  @media(max-width:640px) {\n    .hero { padding: 2rem 1.5rem; }\n    .story-section { grid-template-columns: 1fr; }\n    .story-label-col { display: none; }\n    .content { padding: 1.5rem 1.2rem 2rem; }\n    .copy-panel { padding: 1.5rem; }\n    .hero-title { font-size: 1.8rem; }\n    .puppet-stage { width: 130px; height: 170px; }\n  }\n\u003c\/style\u003e\n\u003c!-- ── HERO ── --\u003e\n\u003cdiv class=\"hero\"\u003e\n\u003cdiv class=\"hero-inner\"\u003e\n\u003cdiv class=\"hero-text\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eHandcrafted Toys · Natural Wood\u003c\/div\u003e\n\u003ch1 class=\"hero-title\"\u003eWooden\u003cbr\u003e\u003cem\u003ePuppet\u003c\/em\u003e Toy\u003c\/h1\u003e\n\u003cp class=\"hero-sub\"\u003eMovable limbs · Multicolor · Made to delight\u003c\/p\u003e\n\u003cdiv class=\"badge-row\"\u003e\n\u003cspan class=\"badge badge-wood\"\u003e🪵 Natural Wood\u003c\/span\u003e \u003cspan class=\"badge badge-eco\"\u003e🌿 Eco-Friendly\u003c\/span\u003e \u003cspan class=\"badge badge-multi\"\u003e🎨 Multicolor\u003c\/span\u003e \u003cspan class=\"badge badge-age\"\u003e🧒 Ages 3+\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Animated Puppet Illustration --\u003e\n\u003cdiv class=\"hero-art\"\u003e\n\u003cdiv class=\"puppet-stage\"\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewbox=\"0 0 110 190\" height=\"190\" width=\"110\" class=\"puppet-wrap\"\u003e\n\n          \n          \u003crect fill=\"#5c3d1e\" rx=\"3.5\" height=\"7\" width=\"70\" y=\"6\" x=\"20\"\u003e\u003c\/rect\u003e\n          \u003crect opacity=\"0.5\" fill=\"#8b5e3c\" rx=\"1.5\" height=\"3\" width=\"66\" y=\"8\" x=\"22\"\u003e\u003c\/rect\u003e\n\n          \n          \u003cg class=\"strings\"\u003e\n            \n            \u003cline stroke-dasharray=\"2,1\" stroke-width=\"1.2\" stroke=\"#a07850\" y2=\"38\" x2=\"55\" y1=\"13\" x1=\"55\"\u003e\u003c\/line\u003e\n            \n            \u003cline stroke-dasharray=\"2,1\" stroke-width=\"1\" stroke=\"#a07850\" y2=\"70\" x2=\"22\" y1=\"13\" x1=\"30\"\u003e\u003c\/line\u003e\n            \n            \u003cline stroke-dasharray=\"2,1\" stroke-width=\"1\" stroke=\"#a07850\" y2=\"70\" x2=\"88\" y1=\"13\" x1=\"80\"\u003e\u003c\/line\u003e\n            \n            \u003cline stroke-dasharray=\"2,1\" stroke-width=\"1\" stroke=\"#a07850\" y2=\"128\" x2=\"38\" y1=\"13\" x1=\"38\"\u003e\u003c\/line\u003e\n            \n            \u003cline stroke-dasharray=\"2,1\" stroke-width=\"1\" stroke=\"#a07850\" y2=\"128\" x2=\"72\" y1=\"13\" x1=\"72\"\u003e\u003c\/line\u003e\n          \u003c\/g\u003e\n\n          \n          \u003ccircle fill=\"#f5c030\" r=\"18\" cy=\"52\" cx=\"55\"\u003e\u003c\/circle\u003e\n          \u003ccircle opacity=\"0.6\" fill=\"#f8d860\" r=\"15\" cy=\"49\" cx=\"55\"\u003e\u003c\/circle\u003e\n          \n          \u003ccircle fill=\"#2e3a20\" r=\"3\" cy=\"50\" cx=\"49\"\u003e\u003c\/circle\u003e\n          \u003ccircle fill=\"#2e3a20\" r=\"3\" cy=\"50\" cx=\"61\"\u003e\u003c\/circle\u003e\n          \n          \u003ccircle fill=\"#fff\" r=\"1.2\" cy=\"49\" cx=\"50\"\u003e\u003c\/circle\u003e\n          \u003ccircle fill=\"#fff\" r=\"1.2\" cy=\"49\" cx=\"62\"\u003e\u003c\/circle\u003e\n          \n          \u003cpath fill=\"none\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#5c2a10\" d=\"M47 58 Q55 65 63 58\"\u003e\u003c\/path\u003e\n          \n          \u003ccircle opacity=\"0.25\" fill=\"#e03c2a\" r=\"4\" cy=\"56\" cx=\"44\"\u003e\u003c\/circle\u003e\n          \u003ccircle opacity=\"0.25\" fill=\"#e03c2a\" r=\"4\" cy=\"56\" cx=\"66\"\u003e\u003c\/circle\u003e\n          \n          \u003cellipse fill=\"#2e7bbf\" ry=\"5\" rx=\"20\" cy=\"35\" cx=\"55\"\u003e\u003c\/ellipse\u003e\n          \u003crect fill=\"#2e7bbf\" rx=\"4\" height=\"14\" width=\"26\" y=\"22\" x=\"42\"\u003e\u003c\/rect\u003e\n          \u003crect opacity=\"0.4\" fill=\"#5aaee8\" rx=\"3\" height=\"10\" width=\"22\" y=\"24\" x=\"44\"\u003e\u003c\/rect\u003e\n          \n          \u003crect fill=\"#e03c2a\" rx=\"1\" height=\"4\" width=\"26\" y=\"32\" x=\"42\"\u003e\u003c\/rect\u003e\n\n          \n          \u003crect fill=\"#c8904a\" rx=\"3\" height=\"10\" width=\"10\" y=\"69\" x=\"50\"\u003e\u003c\/rect\u003e\n\n          \n          \u003crect fill=\"#e03c2a\" rx=\"8\" height=\"45\" width=\"40\" y=\"79\" x=\"35\"\u003e\u003c\/rect\u003e\n          \n          \u003crect opacity=\"0.5\" fill=\"#f55a48\" rx=\"2\" height=\"6\" width=\"40\" y=\"88\" x=\"35\"\u003e\u003c\/rect\u003e\n          \u003crect opacity=\"0.5\" fill=\"#f55a48\" rx=\"2\" height=\"6\" width=\"40\" y=\"100\" x=\"35\"\u003e\u003c\/rect\u003e\n          \n          \u003ccircle fill=\"#f5c030\" r=\"3\" cy=\"84\" cx=\"55\"\u003e\u003c\/circle\u003e\n          \u003ccircle fill=\"#f5c030\" r=\"3\" cy=\"95\" cx=\"55\"\u003e\u003c\/circle\u003e\n          \u003ccircle fill=\"#f5c030\" r=\"3\" cy=\"106\" cx=\"55\"\u003e\u003c\/circle\u003e\n\n          \n          \u003cg style=\"transform:rotate(-15deg); transform-origin:22px 79px;\" class=\"left-arm\"\u003e\n            \u003crect fill=\"#3a8f4a\" rx=\"5\" height=\"10\" width=\"28\" y=\"79\" x=\"8\"\u003e\u003c\/rect\u003e\n            \u003ccircle fill=\"#68c07a\" r=\"7\" cy=\"84\" cx=\"8\"\u003e\u003c\/circle\u003e\n            \u003ccircle opacity=\"0.5\" fill=\"#8fd4a0\" r=\"4\" cy=\"83\" cx=\"9\"\u003e\u003c\/circle\u003e\n          \u003c\/g\u003e\n\n          \n          \u003cg style=\"transform:rotate(15deg); transform-origin:75px 79px;\" class=\"right-arm\"\u003e\n            \u003crect fill=\"#3a8f4a\" rx=\"5\" height=\"10\" width=\"28\" y=\"79\" x=\"74\"\u003e\u003c\/rect\u003e\n            \u003ccircle fill=\"#68c07a\" r=\"7\" cy=\"84\" cx=\"102\"\u003e\u003c\/circle\u003e\n            \u003ccircle opacity=\"0.5\" fill=\"#8fd4a0\" r=\"4\" cy=\"83\" cx=\"103\"\u003e\u003c\/circle\u003e\n          \u003c\/g\u003e\n\n          \n          \u003crect fill=\"#2e7bbf\" rx=\"5\" height=\"25\" width=\"40\" y=\"120\" x=\"35\"\u003e\u003c\/rect\u003e\n          \u003cline stroke-width=\"2\" stroke=\"#1a5a9a\" y2=\"145\" x2=\"55\" y1=\"120\" x1=\"55\"\u003e\u003c\/line\u003e\n\n          \n          \u003cg class=\"left-leg\"\u003e\n            \u003crect fill=\"#2e7bbf\" rx=\"6\" height=\"28\" width=\"16\" y=\"143\" x=\"36\"\u003e\u003c\/rect\u003e\n            \n            \u003cellipse fill=\"#2a1a0a\" ry=\"7\" rx=\"10\" cy=\"173\" cx=\"41\"\u003e\u003c\/ellipse\u003e\n            \u003cellipse opacity=\"0.5\" fill=\"#4a3020\" ry=\"4\" rx=\"7\" cy=\"171\" cx=\"40\"\u003e\u003c\/ellipse\u003e\n          \u003c\/g\u003e\n\n          \n          \u003cg class=\"right-leg\"\u003e\n            \u003crect fill=\"#2e7bbf\" rx=\"6\" height=\"28\" width=\"16\" y=\"143\" x=\"58\"\u003e\u003c\/rect\u003e\n            \n            \u003cellipse fill=\"#2a1a0a\" ry=\"7\" rx=\"10\" cy=\"173\" cx=\"69\"\u003e\u003c\/ellipse\u003e\n            \u003cellipse opacity=\"0.5\" fill=\"#4a3020\" ry=\"4\" rx=\"7\" cy=\"171\" cx=\"68\"\u003e\u003c\/ellipse\u003e\n          \u003c\/g\u003e\n\n        \u003c\/svg\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ── CONTENT ── --\u003e\n\u003cdiv class=\"content\"\u003e\n\u003c!-- Story --\u003e\n\u003cdiv class=\"story-section\"\u003e\n\u003cdiv class=\"story-label-col\"\u003e\n\u003cdiv class=\"section-label\"\u003eThe Story\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"pull-quote\"\u003e\"Pull the strings. Spark the imagination. Watch the magic happen.\"\u003c\/div\u003e\n\u003cp class=\"body-text\"\u003eMeet your child's new best friend — a charming, fully handcrafted wooden puppet that dances, wiggles, and comes alive with every tug of its strings. Shaped from premium natural wood by skilled artisans and painted in a vibrant multicolor finish that delights the eyes, every puppet has its own personality. With movable arms and legs, it encourages imaginative play, storytelling, and even early puppet theatre — all while being 100% eco-friendly and child-safe.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rainbow-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Features --\u003e\n\u003cdiv style=\"margin-bottom: 1.2rem;\" class=\"section-label\"\u003eKey Features\u003c\/div\u003e\n\u003cdiv class=\"features-grid\"\u003e\n\u003cdiv class=\"feature-card fc-1\"\u003e\n\u003cspan class=\"feature-icon\"\u003e🪵\u003c\/span\u003e\n\u003cdiv class=\"feature-title\"\u003eHandcrafted\u003c\/div\u003e\n\u003cdiv class=\"feature-desc\"\u003ePremium natural wood shaped by skilled artisans\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature-card fc-2\"\u003e\n\u003cspan class=\"feature-icon\"\u003e🕹️\u003c\/span\u003e\n\u003cdiv class=\"feature-title\"\u003eMovable Limbs\u003c\/div\u003e\n\u003cdiv class=\"feature-desc\"\u003eArms \u0026amp; legs that swing, dance \u0026amp; come alive\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature-card fc-3\"\u003e\n\u003cspan class=\"feature-icon\"\u003e🎨\u003c\/span\u003e\n\u003cdiv class=\"feature-title\"\u003eChild-Safe Paint\u003c\/div\u003e\n\u003cdiv class=\"feature-desc\"\u003eSmooth, non-toxic multicolor finish — safe for little hands\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature-card fc-4\"\u003e\n\u003cspan class=\"feature-icon\"\u003e🌿\u003c\/span\u003e\n\u003cdiv class=\"feature-title\"\u003eEco-Friendly\u003c\/div\u003e\n\u003cdiv class=\"feature-desc\"\u003eSustainably crafted — kind to children \u0026amp; nature\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature-card fc-5\"\u003e\n\u003cspan class=\"feature-icon\"\u003e🎁\u003c\/span\u003e\n\u003cdiv class=\"feature-title\"\u003eGift \u0026amp; Décor\u003c\/div\u003e\n\u003cdiv class=\"feature-desc\"\u003eBeautiful hanging display for nurseries \u0026amp; kids' rooms\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rainbow-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Specifications --\u003e\n\u003cdiv class=\"specs-block\"\u003e\n\u003cdiv class=\"specs-title\"\u003eProduct Specifications\u003c\/div\u003e\n\u003cdiv class=\"specs-row\"\u003e\n\u003cdiv class=\"spec-pill\"\u003e\n\u003cspan class=\"spec-icon\"\u003e🪵\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eMaterial\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003eNatural Wood\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-pill\"\u003e\n\u003cspan class=\"spec-icon\"\u003e🎭\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003eHanging Wooden Puppet\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-pill\"\u003e\n\u003cspan class=\"spec-icon\"\u003e🧒\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eRecommended Age\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003e3+ Years\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-pill\"\u003e\n\u003cspan class=\"spec-icon\"\u003e✅\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eFinish\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003eChild-Safe Paint\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- multicolor swatch strip --\u003e\n\u003cdiv class=\"swatch-strip\"\u003e\n\u003cspan class=\"swatch-lbl\"\u003eColors:\u003c\/span\u003e\n\u003cdiv style=\"background: var(--red);\" class=\"swatch\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"background: var(--yellow);\" class=\"swatch\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"background: var(--blue);\" class=\"swatch\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"background: var(--green);\" class=\"swatch\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"background: var(--purple);\" class=\"swatch\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"font-size: 12px; color: var(--wood3); margin-left: 6px;\"\u003eMulticolor\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Perfect For --\u003e\n\u003cdiv style=\"margin-bottom: 1rem;\" class=\"section-label\"\u003ePerfect For\u003c\/div\u003e\n\u003cdiv class=\"ideal-strip\"\u003e\n\u003cspan class=\"ideal-tag\"\u003e🎂 Birthday Gift\u003c\/span\u003e \u003cspan class=\"ideal-tag\"\u003e🎄 Christmas Gift\u003c\/span\u003e \u003cspan class=\"ideal-tag\"\u003e🏠 Nursery Décor\u003c\/span\u003e \u003cspan class=\"ideal-tag\"\u003e🎭 Puppet Theatre\u003c\/span\u003e \u003cspan class=\"ideal-tag\"\u003e🎓 Montessori Play\u003c\/span\u003e \u003cspan class=\"ideal-tag\"\u003e🌿 Eco-Conscious Families\u003c\/span\u003e \u003cspan class=\"ideal-tag\"\u003e🖼️ Kids' Room Display\u003c\/span\u003e \u003cspan class=\"ideal-tag\"\u003e✈️ Travel Toy\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rainbow-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e","brand":"AB Wooden Toys","offers":[{"title":"Red","offer_id":63661142344049,"sku":"2","price":239.0,"currency_code":"INR","in_stock":true},{"title":"Pink","offer_id":63661143327089,"sku":"2","price":239.0,"currency_code":"INR","in_stock":true},{"title":"Green","offer_id":63661143359857,"sku":"2","price":239.0,"currency_code":"INR","in_stock":true},{"title":"Pink_Lite","offer_id":63661143392625,"sku":"2","price":239.0,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0943\/3631\/9857\/files\/17_aed0e509-d5f4-4e5e-a3cb-9b40ea6349af.png?v=1779624375","url":"https:\/\/inaiyan.in\/products\/handcrafted-wooden-puppet-toy","provider":"Inaiyan","version":"1.0","type":"link"}