{"product_id":"heartsworn-war-of-the-underhill-2","title":"Heartsworn (War of the Underhill #2)","description":"\u003cstyle\u003e\n  .fc2-wrap {\n    font-family: 'Helvetica Neue', Arial, sans-serif;\n    color: #2b2b2b;\n    max-width: 600px;\n    line-height: 1.6;\n  }\n\n  \/* Tagline *\/\n  .fc2-tagline {\n    font-style: italic;\n    font-size: 15px;\n    color: #7a5c6e;\n    margin: 0 0 16px 0;\n    font-weight: 400;\n    letter-spacing: 0.01em;\n  }\n\n  \/* Metadata row: trope + spice badges *\/\n  .fc2-meta {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 16px;\n  }\n\n  .fc2-badge {\n    display: inline-block;\n    font-size: 11px;\n    font-weight: 600;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    padding: 4px 10px;\n    border-radius: 20px;\n    line-height: 1.4;\n  }\n\n  .fc2-badge-trope {\n    background-color: #f5e6ec;\n    color: #7a2e4e;\n    border: 1px solid #e8c5d3;\n  }\n\n  .fc2-badge-genre {\n    background-color: #eef3f9;\n    color: #2e4d6e;\n    border: 1px solid #c5d4e8;\n  }\n\n  \/* Spice level *\/\n  .fc2-spice-row {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    background-color: #fdf6f0;\n    border: 1px solid #f0ddd0;\n    border-radius: 8px;\n    padding: 8px 14px;\n    margin-bottom: 18px;\n    width: fit-content;\n  }\n\n  .fc2-spice-label {\n    font-size: 12px;\n    color: #7a5c6e;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n  }\n\n  .fc2-pips {\n    display: flex;\n    gap: 5px;\n  }\n\n  .fc2-pip {\n    width: 10px;\n    height: 10px;\n    border-radius: 50%;\n    display: inline-block;\n  }\n\n  .fc2-pip-on  { background-color: #c4546e; }\n  .fc2-pip-off { background-color: #e8d0d8; }\n\n  .fc2-spice-text {\n    font-size: 12px;\n    color: #c4546e;\n    font-weight: 700;\n  }\n\n  \/* Pull quotes *\/\n  .fc2-quotes {\n    margin-bottom: 18px;\n  }\n\n  .fc2-quote {\n    font-style: italic;\n    font-size: 13.5px;\n    color: #5a3a4a;\n    border-left: 3px solid #c4546e;\n    padding: 6px 0 6px 14px;\n    margin: 0 0 10px 0;\n    background-color: #fdf6f8;\n    border-radius: 0 6px 6px 0;\n  }\n\n  .fc2-quote cite {\n    font-style: normal;\n    font-weight: 600;\n    font-size: 12px;\n    color: #9a6070;\n    display: block;\n    margin-top: 3px;\n  }\n\n  \/* Divider *\/\n  .fc2-divider {\n    border: none;\n    border-top: 1px solid #ecdde5;\n    margin: 18px 0;\n  }\n\n  \/* Synopsis \/ teaser *\/\n  .fc2-teaser {\n    font-size: 14.5px;\n    color: #2b2b2b;\n    line-height: 1.75;\n    margin-bottom: 16px;\n  }\n\n  \/* Accordion *\/\n  .fc2-accordion {\n    border-top: 1px solid #ecdde5;\n  }\n\n  .fc2-acc-item {\n    border-bottom: 1px solid #ecdde5;\n  }\n\n  .fc2-acc-btn {\n    width: 100%;\n    background: none;\n    border: none;\n    padding: 12px 2px;\n    text-align: left;\n    font-size: 13.5px;\n    font-weight: 600;\n    color: #2b2b2b;\n    cursor: pointer;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    font-family: inherit;\n    letter-spacing: 0.01em;\n  }\n\n  .fc2-acc-btn:hover {\n    color: #c4546e;\n  }\n\n  .fc2-acc-icon {\n    font-size: 18px;\n    line-height: 1;\n    color: #c4546e;\n    font-weight: 300;\n    transition: transform 0.2s;\n  }\n\n  .fc2-acc-content {\n    display: none;\n    font-size: 13.5px;\n    color: #5a4a50;\n    line-height: 1.75;\n    padding-bottom: 14px;\n  }\n\n  \/* Digital links *\/\n  .fc2-digital {\n    display: flex;\n    gap: 10px;\n    flex-wrap: wrap;\n    margin-top: 18px;\n  }\n\n  .fc2-digital-btn {\n    display: inline-block;\n    font-size: 12.5px;\n    font-weight: 600;\n    color: #c4546e;\n    background-color: #fdf0f3;\n    border: 1px solid #e8c5ce;\n    border-radius: 20px;\n    padding: 7px 16px;\n    text-decoration: none;\n    letter-spacing: 0.02em;\n    transition: background-color 0.15s, color 0.15s;\n  }\n\n  .fc2-digital-btn:hover {\n    background-color: #c4546e;\n    color: #ffffff;\n    border-color: #c4546e;\n    text-decoration: none;\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"fc2-wrap\"\u003e\n\n  \u003c!-- Tagline --\u003e\n  \u003cp class=\"fc2-tagline\"\u003eShe's known him all her life...\u003c\/p\u003e\n\n  \u003c!-- Trope \u0026 Genre Badges --\u003e\n  \u003cdiv class=\"fc2-meta\"\u003e\n    \u003cspan class=\"fc2-badge fc2-badge-trope\"\u003eFated Mates\u003c\/span\u003e\n    \u003cspan class=\"fc2-badge fc2-badge-trope\"\u003eForced Proximity\u003c\/span\u003e\n    \u003cspan class=\"fc2-badge fc2-badge-genre\"\u003eMonster Romance\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Spice Level --\u003e\n  \u003cdiv class=\"fc2-spice-row\"\u003e\n    \u003cspan class=\"fc2-spice-label\"\u003eSpice\u003c\/span\u003e\n    \u003cdiv class=\"fc2-pips\"\u003e\n      \u003cspan class=\"fc2-pip fc2-pip-on\"\u003e\u003c\/span\u003e\n      \u003cspan class=\"fc2-pip fc2-pip-on\"\u003e\u003c\/span\u003e\n      \u003cspan class=\"fc2-pip fc2-pip-on\"\u003e\u003c\/span\u003e\n      \u003cspan class=\"fc2-pip fc2-pip-on\"\u003e\u003c\/span\u003e\n      \u003cspan class=\"fc2-pip fc2-pip-off\"\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"fc2-spice-text\"\u003e4\/ 5\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Pull Quotes --\u003e\n  \u003cdiv class=\"fc2-quotes\"\u003e\n    \u003cblockquote class=\"fc2-quote\"\u003e\n      “Gargoyles, ancient history, a cute cat, and a heroine you can root for\"\n      \u003ccite\u003e—  Ruby Dixon\u003c\/cite\u003e\n    \u003c\/blockquote\u003e\n    \u003cblockquote class=\"fc2-quote\"\u003e\n      \"A must-read in the monster romance genre!\"\n      \u003ccite\u003e— Ursa Dax \u003c\/cite\u003e\n    \u003c\/blockquote\u003e\n  \u003c\/div\u003e\n\n  \u003chr class=\"fc2-divider\"\u003e\n\n  \u003c!-- Short teaser --\u003e\n  \u003cp class=\"fc2-teaser\"\u003e\nJune Parkhurst is a prodigy, a conservator, and...an empath. Yet, her empathic abilities don't feel like a gift; they're a curse, one that's driven her into isolation. Overwhelmed by the feelings of others and her own grief, June sticks to what she loves most: statues. She's always been fascinated by them, especially the gothic masterpiece in her family's rose garden.\u003c\/p\u003e\n\n  \u003c!-- Accordion --\u003e\n  \u003cdiv class=\"fc2-accordion\"\u003e\n\n    \u003cdiv class=\"fc2-acc-item\"\u003e\n      \u003cbutton class=\"fc2-acc-btn\" onclick=\"fc2Toggle(this)\"\u003e\n        Full synopsis \u003cspan class=\"fc2-acc-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/button\u003e\n      \u003cdiv class=\"fc2-acc-content\"\u003e\n        \u003cp\u003eReturn to the world of Heartsong! A reclusive researcher gets the shock of a lifetime when the (very attractive) gargoyle statue in her rose garden awakens and claims her as his mate.\u003c\/p\u003e\n    \u003cp\u003eShe's known him all her life...\u003c\/p\u003e\n   \u003cp\u003eJune Parkhurst is a prodigy, a conservator, and...an empath. Yet, her empathic abilities don't feel like a gift; they're a curse, one that's driven her into isolation. Overwhelmed by the feelings of others and her own grief, June sticks to what she loves most: statues. She's always been fascinated by them, especially the gothic masterpiece in her family's rose garden.\u003c\/p\u003e\n   \u003cp\u003eHe's watched over her for years...\u003c\/p\u003e\n   \u003cp\u003eFor centuries, Alaric has despaired. Cursed to stone by the cruel Faerie Queen, Alaric has watched the world pass him by. He holds desperately onto a fleeting hope--that one day, June will come to understand what he's known for years: she is his heartsong.\u003c\/p\u003e\n   \u003cp\u003eMagick stolen can be reclaimed, and curses cast can be broken...\u003c\/p\u003e\n   \u003cp\u003eA new museum with enigmatic owners has just opened, full of statues just like hers. Unable to resist, June emerges from seclusion determined to find answers about her statue. Yet, nothing is what it seems in this curious place, and June can't ignore how...alive the statues feel.\u003c\/p\u003e\n   \u003cp\u003eThe mysterious statues and their owners are just the start of the strangeness. During an attack by masked thieves, June swears one of the statues comes to life and flies away. But that's impossible. As impossible as the whispers she hears from her beloved statue...mate.\u003c\/p\u003e\n                                \n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"fc2-acc-item\"\u003e\n      \u003cbutton class=\"fc2-acc-btn\" onclick=\"fc2Toggle(this)\"\u003e\n        About the author \u003cspan class=\"fc2-acc-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/button\u003e\n      \u003cdiv class=\"fc2-acc-content\"\u003e\n        \u003cp\u003eS. E. Wendel is a California native who grew up with animals; her ginger tabby is her current writing partner and lets her know when it's time to take a break (by laying on her keyboard). She graduated from the University of California, Davis, with a master's in creative writing and uses her time to build worlds, characters, and their stories. She enjoys true crime, pink nail polish, and all the beautiful landscapes of California.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n \u003cdiv class=\"fc2-acc-item\"\u003e\n      \u003cbutton class=\"fc2-acc-btn\" onclick=\"fc2Toggle(this)\"\u003e\n        Also available digitally \u003cspan class=\"fc2-acc-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/button\u003e\n      \u003cdiv class=\"fc2-acc-content\"\u003e\n        \u003cp\u003ePrefer to read or listen on the go? Grab the digital version:\u003c\/p\u003e\n        \u003cdiv class=\"fc2-digital\"\u003e\n   \n              \n          \u003ca class=\"https:\/\/libro.fm\/audiobooks\/9780063466272?bookshop=fromcovertocovers\"\u003e🎧 Get the audiobook\u003c\/a\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n \n\n \n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  function fc2Toggle(btn) {\n    var content = btn.nextElementSibling;\n    var icon = btn.querySelector('.fc2-acc-icon');\n    var isOpen = content.style.display === 'block';\n    content.style.display = isOpen ? 'none' : 'block';\n    icon.textContent = isOpen ? '+' : '−';\n  }\n\u003c\/script\u003e\n","brand":"From Cover to Covers","offers":[{"title":"Default Title","offer_id":50392986222869,"sku":null,"price":20.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0736\/2068\/5077\/files\/Heartsworn_1.png?v=1794326143","url":"https:\/\/fromcovertocovers.com\/products\/heartsworn-war-of-the-underhill-2","provider":"From Cover to Covers","version":"1.0","type":"link"}