{"product_id":"rusted-steel-fern-fronds","title":"Rusted Steel Fern Fronds (Single Stem or Bouquet)","description":"\u003c!-- ====================================\nRUSTED FERN FRONDS — CONTROLLER LANDER (10\/10 FINAL)\nFast shipping anchored: Ships in 1–3 business days.\nMobile compare formatting fixed (no horizontal scroll).\n==================================== --\u003e\n\n\u003cstyle\u003e\n  #rfController{\n    width:100%;\n    max-width:100%;\n    margin:14px 0 34px;\n    padding:0;\n    font-family:inherit;\n    color:#111827;\n    line-height:1.7;\n  }\n  #rfController *{box-sizing:border-box;}\n\n  \/* Override theme word-breaking \/ hyphenation *\/\n  #rfController, #rfController p, #rfController li, #rfController h1, #rfController h2, #rfController h3,\n  #rfController strong, #rfController span, #rfController div, #rfController summary, #rfController button, #rfController a{\n    word-break:normal !important;\n    overflow-wrap:normal !important;\n    hyphens:none !important;\n    letter-spacing:normal !important;\n    text-transform:none !important;\n  }\n\n  \/* Type *\/\n  #rfController h1{\n    font-size:clamp(20px,2.2vw,26px);\n    line-height:1.18;\n    font-weight:900;\n    margin:0 0 8px;\n    max-width:34ch;\n  }\n  #rfController .sub{\n    margin:0 0 10px;\n    font-size:13.5px;\n    color:#6b7280;\n  }\n  #rfController h2{\n    font-size:14.5px;\n    font-weight:900;\n    margin:16px 0 8px;\n    line-height:1.35;\n    letter-spacing:.06em;\n    text-transform:uppercase !important;\n    color:#111827;\n  }\n  #rfController p{margin:6px 0;font-size:14px;}\n  #rfController .tiny{color:#6b7280;font-size:12.5px;}\n  #rfController .divider{height:1px;background:#e5e7eb;margin:14px 0;width:100%;}\n\n  \/* Chips *\/\n  #rfController .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}\n  #rfController .chip{\n    display:inline-flex;align-items:center;gap:6px;\n    background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;\n    padding:6px 10px;font-size:12.5px;color:#374151;white-space:nowrap;\n  }\n\n  \/* Proof cards *\/\n  #rfController .proof{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px;}\n  #rfController .proofRow{\n    border:1px solid #e5e7eb;border-radius:12px;background:#fff;\n    padding:10px 12px;font-size:13px;color:#374151;\n  }\n  #rfController .proofRow b{color:#111827;font-weight:900;}\n\n  \/* Callout *\/\n  #rfController .callout{\n    background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;\n    padding:12px;margin-top:10px;\n  }\n  #rfController .callout strong{display:block;margin-bottom:4px;font-weight:900;}\n\n  \/* Bundle guide *\/\n  #rfController .bundleGuide{\n    margin-top:10px;\n    border:1px solid #e5e7eb;border-radius:12px;background:#fff;\n    overflow:hidden;\n  }\n  #rfController .bundleHead{\n    padding:10px 12px;\n    background:#111827;color:#fff;\n    font-weight:900;font-size:13px;\n    letter-spacing:.06em;\n    text-transform:uppercase !important;\n  }\n  #rfController .bundleRow{\n    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;\n    padding:10px 12px;border-top:1px solid #e5e7eb;font-size:13px;color:#374151;\n  }\n  #rfController .bundleRow b{color:#111827;font-weight:900;white-space:nowrap;}\n  #rfController .tag{\n    display:inline-flex;align-items:center;gap:6px;\n    border:1px solid #e5e7eb;background:#f9fafb;\n    border-radius:999px;padding:3px 8px;font-size:11.5px;color:#374151;\n    margin-left:8px;white-space:nowrap;\n  }\n  #rfController .tagHot{\n    border-color:#111827;background:#111827;color:#fff;\n  }\n\n  \/* Specs *\/\n  #rfController .specBox{\n    margin-top:12px;\n    border:1px solid #e5e7eb;border-radius:14px;background:#fff;\n    overflow:hidden;\n  }\n  #rfController .specHead{\n    padding:10px 12px;\n    background:#111827;\n    color:#fff;\n    font-weight:900;\n    font-size:13px;\n    letter-spacing:.06em;\n    text-transform:uppercase !important;\n  }\n  #rfController .specItem{\n    padding:10px 12px;\n    border-top:1px solid #e5e7eb;\n    font-size:13px;\n    color:#374151;\n    display:flex;\n    justify-content:space-between;\n    gap:12px;\n  }\n  #rfController .specItem b{color:#111827;font-weight:900;white-space:nowrap;}\n  #rfController .specFoot{\n    padding:10px 12px;\n    border-top:1px solid #e5e7eb;\n    background:#fafafa;\n    font-size:12.5px;\n    color:#6b7280;\n  }\n  #rfController .specFoot a{color:#111827;text-decoration:underline;}\n\n  \/* Images *\/\n  #rfController .imgWrap{\n    margin-top:12px;\n    border:1px solid #e5e7eb;\n    border-radius:14px;\n    overflow:hidden;\n    background:#fff;\n  }\n  #rfController .imgWrap img{\n    display:block;\n    width:100%;\n    height:auto;\n  }\n  #rfController .imgCap{\n    padding:10px 12px;\n    font-size:12.5px;\n    color:#6b7280;\n    border-top:1px solid #e5e7eb;\n    background:#fafafa;\n  }\n  \/* Mobile: keep product readable (less aggressive crop) *\/\n  @media (max-width: 640px){\n    #rfController .imgWrap img{\n      max-height:560px;\n      object-fit:cover;\n      object-position:center;\n    }\n  }\n\n  \/* Compare (desktop\/tablet) *\/\n  #rfController .compare{\n    margin-top:10px;\n    border:1px solid #e5e7eb;\n    border-radius:12px;\n    overflow:hidden;\n    background:#fff;\n  }\n  #rfController .compareGrid{width:100%;}\n  #rfController .compareRow{\n    display:grid;\n    grid-template-columns: 1fr 1fr;\n    padding:12px 12px;\n    border-bottom:1px solid #e5e7eb;\n    font-size:13px;\n    gap:12px;\n    align-items:start;\n  }\n  #rfController .compareRow:last-child{border-bottom:none;}\n  #rfController .compareHead{\n    background:#111827;\n    color:#fff;\n    font-weight:900;\n  }\n  #rfController .compareCell{\n    color:#374151;\n  }\n  #rfController .compareHead .compareCell{color:#fff;}\n\n  \/* Compare (mobile) — no horizontal scroll, stacked cards *\/\n  #rfController .compareMobile{display:none;}\n  @media (max-width: 640px){\n    #rfController .compareDesktop{display:none;}\n    #rfController .compareMobile{\n      display:block;\n      padding:10px 12px;\n      background:#fff;\n    }\n    #rfController .compareCard{\n      border:1px solid #e5e7eb;\n      border-radius:12px;\n      overflow:hidden;\n      margin:10px 0 0;\n      background:#fff;\n    }\n    #rfController .compareCard:first-child{margin-top:0;}\n    #rfController .compareCardHead{\n      background:#111827;\n      color:#fff;\n      font-weight:900;\n      font-size:12.5px;\n      padding:10px 12px;\n      letter-spacing:.04em;\n    }\n    #rfController .compareCardBody{\n      padding:10px 12px;\n      font-size:13px;\n      color:#374151;\n      display:grid;\n      gap:10px;\n    }\n    #rfController .compareLine{\n      display:grid;\n      gap:4px;\n    }\n    #rfController .compareLabel{\n      font-size:11.5px;\n      color:#6b7280;\n      text-transform:uppercase !important;\n      letter-spacing:.06em;\n      font-weight:900;\n    }\n    #rfController .compareVal{\n      color:#111827;\n      font-weight:700;\n    }\n  }\n\n  \/* Details *\/\n  #rfController details{\n    border:1px solid #e5e7eb;\n    border-radius:12px;\n    background:#fff;\n    padding:10px 12px;\n    margin-top:10px;\n  }\n  #rfController summary{\n    cursor:pointer;\n    font-weight:900;\n    font-size:13.5px;\n    color:#111827;\n    list-style:none;\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:10px;\n  }\n  #rfController summary::-webkit-details-marker{display:none;}\n  #rfController summary:after{\n    content:\"+\";\n    font-weight:900;\n    color:#111827;\n    border:1px solid #e5e7eb;\n    border-radius:999px;\n    width:24px;height:24px;\n    display:inline-flex;align-items:center;justify-content:center;\n    flex:0 0 auto;\n    background:#f9fafb;\n  }\n  #rfController details[open] summary:after{content:\"–\";}\n  #rfController .detailsBody{margin-top:8px;}\n  #rfController ul{padding-left:18px;margin:8px 0 0;}\n  #rfController li{margin:0 0 6px;font-size:14px;}\n\n  \/* Selection helper *\/\n  #rfController .selectHelp{\n    margin-top:10px;\n    border:1px solid #e5e7eb;border-radius:12px;background:#fff;\n    padding:10px 12px;\n    font-size:13px;color:#374151;\n  }\n  #rfController .selectHelp b{color:#111827;font-weight:900;}\n  #rfController .selectLine{\n    margin-top:6px;\n    padding:8px 10px;\n    border:1px solid #e5e7eb;border-radius:10px;\n    background:#f9fafb;\n    font-size:13px;\n  }\n\n  \/* CTA *\/\n  #rfController .ctaBox{\n    margin-top:12px;\n    border:1px solid #e5e7eb;border-radius:12px;background:#fff;\n    padding:10px 12px;\n  }\n  #rfController .rfNextBtn{\n    width:100%;\n    border:none;\n    border-radius:10px;\n    padding:12px 14px;\n    font-size:13.5px;\n    font-weight:900;\n    cursor:pointer;\n    background:#111827;\n    color:#fff;\n    transition:transform .06s ease, opacity .15s ease;\n  }\n  #rfController .rfNextBtn:hover{opacity:.95;}\n  #rfController .rfNextBtn:active{transform:translateY(1px);}\n  #rfController .ctaHint{margin-top:8px;font-size:12.5px;color:#6b7280;}\n\n  \/* Hidden marker injected above buy area *\/\n  #rfBuyMarker{\n    position:relative;\n    width:1px;height:1px;\n    overflow:hidden;\n  }\n\u003c\/style\u003e\n\n\u003csection id=\"rfController\"\u003e\n\n  \u003c!-- HERO --\u003e\n  \u003ch1\u003ePermanent botanicals that don’t die.\u003c\/h1\u003e\n  \u003cdiv class=\"sub\"\u003e\n    Naturally weathered steel fern fronds—made to live in a vase, on a shelf, or outdoors year-round.\n  \u003c\/div\u003e\n  \u003cp class=\"tiny\"\u003e\u003cb\u003eShips in 1–3 business days.\u003c\/b\u003e\u003c\/p\u003e\n\n  \u003c!-- PROOF --\u003e\n  \u003cdiv class=\"proof\"\u003e\n    \u003cdiv class=\"proofRow\"\u003e\n      \u003cb\u003eLooks real:\u003c\/b\u003e crisp cut detail + natural rust patina (not paint, not faux).\n    \u003c\/div\u003e\n    \u003cdiv class=\"proofRow\"\u003e\n      \u003cb\u003eNo maintenance:\u003c\/b\u003e no watering, no shedding, no replacing next season.\n    \u003c\/div\u003e\n    \u003cdiv class=\"proofRow\"\u003e\n      \u003cb\u003eStable + gift-safe:\u003c\/b\u003e tasteful décor that works in modern, rustic, and farmhouse spaces.\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"chips\"\u003e\n    \u003cspan class=\"chip\"\u003e✔ Real steel\u003c\/span\u003e\n    \u003cspan class=\"chip\"\u003e✔ Natural patina\u003c\/span\u003e\n    \u003cspan class=\"chip\"\u003e✔ Indoor \/ outdoor\u003c\/span\u003e\n    \u003cspan class=\"chip\"\u003e✔ Ships 1–3 days\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Bundle guide --\u003e\n  \u003cdiv class=\"bundleGuide\" role=\"group\" aria-label=\"Bundle guide\"\u003e\n    \u003cdiv class=\"bundleHead\"\u003eBundle guide (quick pick)\u003c\/div\u003e\n    \u003cdiv class=\"bundleRow\"\u003e\n      \u003cdiv\u003e\n\u003cb\u003eSingle Stem\u003c\/b\u003e \u003cspan class=\"tag\"\u003eBud vase \/ small accent\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"tiny\"\u003eclean + minimal\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"bundleRow\"\u003e\n      \u003cdiv\u003e\n\u003cb\u003eBouquet (3)\u003c\/b\u003e \u003cspan class=\"tag\"\u003eSmall arrangement\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"tiny\"\u003eairy look\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"bundleRow\"\u003e\n      \u003cdiv\u003e\n\u003cb\u003eBouquet (5)\u003c\/b\u003e \u003cspan class=\"tag tagHot\"\u003eMost Popular\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"tiny\"\u003efull + balanced\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"bundleRow\"\u003e\n      \u003cdiv\u003e\n\u003cb\u003eBouquet (7)\u003c\/b\u003e \u003cspan class=\"tag\"\u003eStatement\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"tiny\"\u003edense + bold\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"callout\"\u003e\n    \u003cstrong\u003eWhy this exists:\u003c\/strong\u003e\n    \u003cp\u003e\n      Faux plants look fine online—then they collect dust and start screaming “fake.”\n      Fresh stems die and get replaced again and again.\n      These are steel botanicals: subtle from across the room, surprisingly detailed up close.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003cdiv class=\"specBox\" role=\"group\" aria-label=\"Specs at a glance\"\u003e\n    \u003cdiv class=\"specHead\"\u003eSpecs at a glance\u003c\/div\u003e\n\n    \u003cdiv class=\"specItem\"\u003e\n\u003cb\u003eMaterial\u003c\/b\u003e\u003cspan\u003eCut steel fern fronds\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"specItem\"\u003e\n\u003cb\u003eFinish\u003c\/b\u003e\u003cspan\u003eNaturally weathered patina (matte)\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"specItem\"\u003e\n\u003cb\u003eUse\u003c\/b\u003e\u003cspan\u003eVase \/ shelf \/ mantel \/ outdoor arrangement\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"specItem\"\u003e\n\u003cb\u003eWhat you get\u003c\/b\u003e\u003cspan\u003eYour selected variant = number of stems included\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"specItem\"\u003e\n\u003cb\u003ePatina\u003c\/b\u003e\u003cspan\u003eEach set varies slightly (natural finish)\u003c\/span\u003e\n\u003c\/div\u003e\n\n    \u003cdiv class=\"specFoot\"\u003e\n      Surface note: if placing on delicate wood, use stones\/foam in the vase for stability (and felt under the vase if needed).\n      Policy: \u003ca href=\"\/policies\/refund-policy\"\u003eRefund Policy\u003c\/a\u003e.\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Selection helper (auto-updates based on selected variant text) --\u003e\n  \u003cdiv class=\"selectHelp\" aria-live=\"polite\"\u003e\n    \u003cb\u003eYou selected:\u003c\/b\u003e\n    \u003cdiv id=\"rfSelectedVariant\" class=\"selectLine\"\u003eChoose a bundle above.\u003c\/div\u003e\n    \u003cdiv class=\"tiny\" style=\"margin-top:6px;\"\u003e\n      Tip: most buyers choose \u003cb\u003eBouquet (5)\u003c\/b\u003e for a full, balanced vase look.\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- IMAGE 1 --\u003e\n  \u003cdiv class=\"imgWrap\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0072\/9412\/4089\/files\/RF_IMG1_HERO.png?v=1766496813\" alt=\"Rusted steel fern fronds arranged in a glass bowl with stones in a neutral home setting\" loading=\"eager\"\u003e\n    \u003cdiv class=\"imgCap\"\u003eReal-room context (this is the look people are actually buying).\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"divider\"\u003e\u003c\/div\u003e\n\n  \u003c!-- ENEMY + MECHANISM --\u003e\n  \u003ch2\u003eWhy most décor “greenery” disappoints\u003c\/h2\u003e\n  \u003cp\u003e\n    Faux plants collect dust and fade. Fresh stems die and shed.\n    Steel botanicals solve the cycle—permanent décor that stays.\n  \u003c\/p\u003e\n\n  \u003c!-- COMPARE (Desktop\/Tablet) --\u003e\n  \u003cdiv class=\"compare compareDesktop\" aria-label=\"Comparison table\"\u003e\n    \u003cdiv class=\"compareGrid\"\u003e\n      \u003cdiv class=\"compareRow compareHead\"\u003e\n        \u003cdiv class=\"compareCell\"\u003eTypical Greenery\u003c\/div\u003e\n        \u003cdiv class=\"compareCell\"\u003eRusted Fern Fronds\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"compareRow\"\u003e\n        \u003cdiv class=\"compareCell\"\u003eFabric\/plastic look up close\u003c\/div\u003e\n        \u003cdiv class=\"compareCell\"\u003eCut steel detail up close\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"compareRow\"\u003e\n        \u003cdiv class=\"compareCell\"\u003eFades, dusts, sheds\u003c\/div\u003e\n        \u003cdiv class=\"compareCell\"\u003eZero upkeep, no shedding\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"compareRow\"\u003e\n        \u003cdiv class=\"compareCell\"\u003eReplaced every season\u003c\/div\u003e\n        \u003cdiv class=\"compareCell\"\u003ePermanent décor you keep\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"compareRow\"\u003e\n        \u003cdiv class=\"compareCell\"\u003eMass produced\u003c\/div\u003e\n        \u003cdiv class=\"compareCell\"\u003eSmall-batch, made in-house\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- COMPARE (Mobile) --\u003e\n  \u003cdiv class=\"compare compareMobile\" aria-label=\"Comparison cards\"\u003e\n    \u003cdiv class=\"compareCard\"\u003e\n      \u003cdiv class=\"compareCardHead\"\u003eUp close\u003c\/div\u003e\n      \u003cdiv class=\"compareCardBody\"\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eTypical Greenery\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003eFabric\/plastic look up close\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eRusted Fern Fronds\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003eCut steel detail up close\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"compareCard\"\u003e\n      \u003cdiv class=\"compareCardHead\"\u003eUpkeep\u003c\/div\u003e\n      \u003cdiv class=\"compareCardBody\"\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eTypical Greenery\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003eFades, dusts, sheds\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eRusted Fern Fronds\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003eZero upkeep, no shedding\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"compareCard\"\u003e\n      \u003cdiv class=\"compareCardHead\"\u003eLongevity\u003c\/div\u003e\n      \u003cdiv class=\"compareCardBody\"\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eTypical Greenery\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003eReplaced every season\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eRusted Fern Fronds\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003ePermanent décor you keep\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"compareCard\"\u003e\n      \u003cdiv class=\"compareCardHead\"\u003eHow it’s made\u003c\/div\u003e\n      \u003cdiv class=\"compareCardBody\"\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eTypical Greenery\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003eMass produced\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"compareLine\"\u003e\n          \u003cdiv class=\"compareLabel\"\u003eRusted Fern Fronds\u003c\/div\u003e\n          \u003cdiv class=\"compareVal\"\u003eSmall-batch, made in-house\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- IMAGE 2 --\u003e\n  \u003cdiv class=\"imgWrap\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0072\/9412\/4089\/files\/RF_IMG2_CLOSEUP.png?v=1766496820\" alt=\"Close-up of natural patina and crisp cut edges on steel fern fronds\" loading=\"lazy\"\u003e\n    \u003cdiv class=\"imgCap\"\u003eUp-close proof: real steel + natural finish (not printed, not painted fake rust).\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- DETAILS --\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eWhere to place them\u003c\/summary\u003e\n    \u003cdiv class=\"detailsBody\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eEntry table \/ console: bowl + river stones = instant “finished” look\u003c\/li\u003e\n        \u003cli\u003eBookshelf \/ mantel: singles look clean; bouquets look intentional\u003c\/li\u003e\n        \u003cli\u003eOutdoor pots: permanent filler when flowers aren’t in season\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails\u003e\n    \u003csummary\u003eMaterials \u0026amp; finish\u003c\/summary\u003e\n    \u003cdiv class=\"detailsBody\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eCut steel fronds with crisp detail\u003c\/li\u003e\n        \u003cli\u003eNaturally weathered patina (matte, non-gloss)\u003c\/li\u003e\n        \u003cli\u003eDesigned to look “settled-in,” not new-and-shiny\u003c\/li\u003e\n        \u003cli\u003ePacked carefully to protect shape in transit\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp class=\"tiny\"\u003eNote: natural patina varies—each set looks slightly different (that’s the point).\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails\u003e\n    \u003csummary\u003eCare (basically none)\u003c\/summary\u003e\n    \u003cdiv class=\"detailsBody\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eIndoor: dust if you ever feel like it\u003c\/li\u003e\n        \u003cli\u003eOutdoor: let it weather naturally\u003c\/li\u003e\n        \u003cli\u003eKeep stems stable with stones\/foam in the vase\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003c!-- IMAGE 3 --\u003e\n  \u003cdiv class=\"imgWrap\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0072\/9412\/4089\/files\/RF_IMG3_OUTDOOR.png?v=1766496823\" alt=\"Rusted steel fern fronds used as outdoor arrangement decor in a planter or garden setting\" loading=\"lazy\"\u003e\n    \u003cdiv class=\"imgCap\"\u003eOutdoor-friendly: a permanent arrangement that doesn’t quit after one season.\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- IMAGE 4 (Single Stem) --\u003e\n  \u003cdiv class=\"imgWrap\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0072\/9412\/4089\/files\/Single_Stem_Variant_Image.png?v=1766496827\" alt=\"Single rusted steel fern frond stem in a minimal bud vase on a clean tabletop\" loading=\"lazy\"\u003e\n    \u003cdiv class=\"imgCap\"\u003eSingle Stem: clean, minimal accent (bud vase \/ shelf styling).\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- CTA --\u003e\n  \u003cdiv class=\"ctaBox\"\u003e\n    \u003cbutton type=\"button\" class=\"rfNextBtn\" aria-label=\"Scroll to bundle selector and add to cart\"\u003e\n      Next: choose your bundle\n    \u003c\/button\u003e\n    \u003cdiv class=\"ctaHint\"\u003eJumps you to the bundle selector and Add to Cart area above.\u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function(){\n  function getHeaderOffset(){\n    var header =\n      document.querySelector('.shopify-section-header, #shopify-section-header') ||\n      document.querySelector('header, .header, [data-section-type=\"header\"], .header-wrapper');\n    if(!header) return 14;\n\n    var style = window.getComputedStyle(header);\n    var rect  = header.getBoundingClientRect();\n    if(style.position === 'fixed' || style.position === 'sticky') return Math.ceil(rect.height) + 12;\n    return 14;\n  }\n\n  function isVisible(el){\n    if(!el) return false;\n    var r = el.getBoundingClientRect();\n    return (r.width \u003e 0 \u0026\u0026 r.height \u003e 0);\n  }\n\n  function smoothScrollTo(el){\n    var offset = getHeaderOffset();\n    var top = window.pageYOffset + el.getBoundingClientRect().top - offset;\n    window.scrollTo({ top: top, behavior: 'smooth' });\n    try { el.focus({ preventScroll:true }); } catch(e){}\n  }\n\n  function firstMatch(selectors, root){\n    root = root || document;\n    for(var i=0;i\u003cselectors.length;i++){\n      var el = root.querySelector(selectors[i]);\n      if(el) return el;\n    }\n    return null;\n  }\n\n  function findProductForm(){\n    return firstMatch([\n      'form[action*=\"\/cart\/add\"]',\n      'form[data-type=\"add-to-cart-form\"]',\n      'product-form form',\n      '.product-form form',\n      '.product__form form',\n      '.product__info-container form'\n    ]);\n  }\n\n  function findVariantSelector(root){\n    root = root || document;\n    var variant = firstMatch([\n      'select[name*=\"option\" i]',\n      'select[name=\"id\"]',\n      'select[id*=\"option\" i]',\n      'select[aria-label*=\"Style\" i]',\n      'select[aria-label*=\"Select\" i]',\n      'select'\n    ], root);\n    if(variant \u0026\u0026 isVisible(variant)) return variant;\n\n    var anyRadio = root.querySelector('input[type=\"radio\"]');\n    if(anyRadio \u0026\u0026 isVisible(anyRadio)) return anyRadio;\n\n    return null;\n  }\n\n  function findATC(root){\n    root = root || document;\n    return firstMatch([\n      'form[action*=\"\/cart\/add\"] button[name=\"add\"]',\n      'button[name=\"add\"]',\n      'button[type=\"submit\"][name=\"add\"]',\n      '.product-form__submit',\n      '[data-add-to-cart]',\n      '#AddToCart',\n      '.add-to-cart'\n    ], root);\n  }\n\n  function ensureBuyMarker(){\n    var form = findProductForm();\n    if(!form) return null;\n\n    var existing = document.getElementById('rfBuyMarker');\n    if(existing) return existing;\n\n    var marker = document.createElement('span');\n    marker.id = 'rfBuyMarker';\n    marker.setAttribute('aria-hidden','true');\n\n    form.parentNode.insertBefore(marker, form);\n    return marker;\n  }\n\n  function readVariantText(){\n    var form = findProductForm();\n    if(!form) return '';\n\n    var sel = findVariantSelector(form);\n    if(sel \u0026\u0026 sel.tagName \u0026\u0026 sel.tagName.toLowerCase() === 'select'){\n      var opt = sel.options[sel.selectedIndex];\n      return opt ? (opt.textContent || '').trim() : '';\n    }\n    var checked = form.querySelector('input[type=\"radio\"]:checked');\n    if(checked){\n      var label = form.querySelector('label[for=\"'+checked.id+'\"]');\n      return label ? (label.textContent || '').trim() : '';\n    }\n    return '';\n  }\n\n  function stemsFromText(txt){\n    txt = (txt || '').toLowerCase();\n    if(txt.includes('single')) return 1;\n    var m = txt.match(\/(\\d+)\\s*stem\/);\n    if(m \u0026\u0026 m[1]) return parseInt(m[1], 10);\n    var p = txt.match(\/\\((\\d+)\\)\/);\n    if(p \u0026\u0026 p[1]) return parseInt(p[1], 10);\n    return null;\n  }\n\n  function updateSelected(){\n    var box = document.getElementById('rfSelectedVariant');\n    if(!box) return;\n\n    var txt = readVariantText();\n    if(!txt){\n      box.textContent = 'Choose a bundle above.';\n      return;\n    }\n    var stems = stemsFromText(txt);\n    if(stems){\n      box.textContent = txt + ' — you’ll receive ' + stems + ' stem' + (stems===1?'':'s') + '.';\n    } else {\n      box.textContent = txt;\n    }\n  }\n\n  function handleNext(){\n    var form = findProductForm();\n\n    if(form \u0026\u0026 isVisible(form)){\n      var selector = findVariantSelector(form);\n      if(selector){\n        smoothScrollTo(selector);\n        return;\n      }\n      var atc = findATC(form);\n      if(atc \u0026\u0026 isVisible(atc)){\n        smoothScrollTo(atc);\n        return;\n      }\n      var marker = ensureBuyMarker();\n      if(marker){\n        smoothScrollTo(marker);\n        return;\n      }\n      smoothScrollTo(form);\n      return;\n    }\n\n    var anySelector = findVariantSelector(document);\n    if(anySelector){\n      smoothScrollTo(anySelector);\n      return;\n    }\n    var anyATC = findATC(document);\n    if(anyATC){\n      smoothScrollTo(anyATC);\n      return;\n    }\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  var btn = document.querySelector('#rfController .rfNextBtn');\n  if(btn) btn.addEventListener('click', handleNext);\n\n  function bindVariantChange(){\n    var form = findProductForm();\n    if(!form) return;\n\n    var sel = findVariantSelector(form);\n    if(sel \u0026\u0026 sel.tagName \u0026\u0026 sel.tagName.toLowerCase() === 'select'){\n      sel.addEventListener('change', updateSelected);\n      form.addEventListener('change', updateSelected);\n      form.addEventListener('input', updateSelected);\n    } else {\n      form.addEventListener('change', updateSelected);\n      form.addEventListener('input', updateSelected);\n    }\n  }\n\n  try { ensureBuyMarker(); } catch(e){}\n  try { bindVariantChange(); } catch(e){}\n  setTimeout(updateSelected, 250);\n  setTimeout(updateSelected, 900);\n})();\n\u003c\/script\u003e\n","brand":"Nashville Metal Art","offers":[{"title":"Single Stem","offer_id":42670278410288,"sku":null,"price":24.95,"currency_code":"USD","in_stock":true},{"title":"Bouquet (3 Stems)","offer_id":42670278443056,"sku":null,"price":59.95,"currency_code":"USD","in_stock":true},{"title":"Bouquet (5 Stems)","offer_id":42670278475824,"sku":null,"price":89.95,"currency_code":"USD","in_stock":true},{"title":"Bouquet (7 Stems)","offer_id":42670278508592,"sku":null,"price":119.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0072\/9412\/4089\/files\/fernbonquet.png?v=1766506081","url":"https:\/\/nashvillemetalart.com\/products\/rusted-steel-fern-fronds","provider":"Nashville Metal Art","version":"1.0","type":"link"}