{"title":"Premium Gifts","description":null,"products":[{"product_id":"personalized-christmas-ornament-for-couples-years-together","title":"Personalized Christmas Ornament for Couples — Years Together","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED CHRISTMAS ORNAMENT FOR COUPLES\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eeight years together,\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003eand the star goes crooked.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eEvery December the tree gets decorated the same way — you, him, the same argument about where the star goes, and you letting him win it. His name, your number of years, and the line that is true every Christmas, printed under the surface of a crystal ornament that comes out of the box first. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one you would take again, exactly the same\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHis name, spelled the way you say it\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe number of years, as of this Christmas\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0002couple.jpg\" alt=\"Close-up of the uploaded photo of a woman and her corgi printed inside the crystal ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eKenny · 8 years together\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eEvery Christmas, by my side\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-couples-orn0002couple-main-1.jpg\" alt=\"Two hands offering the personalized Christmas ornament for couples, held up by its red-and-white ribbon\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished crystal, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eFaceted, diamond-cut rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eRed-and-white striped ribbon loop, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-couples-orn0002couple-detail-1.jpg\" alt=\"A hand lifting the personalized Christmas ornament for couples out of an open kraft gift box beside a brick fireplace\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eEight years in, and it still lands.\u003c\/h3\u003e\n\u003cp\u003eYou will not get a speech out of him. You will get this on the tree before you are up.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-couples-orn0002couple-detail-2.jpg\" alt=\"The personalized Christmas ornament for couples hanging on a decorated tree beside a stone fireplace with a low fire\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eIt hangs where he can see it from his chair.\u003c\/h3\u003e\n\u003cp\u003eWhich is also where he argues about the star.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-couples-orn0002couple-detail-3.jpg\" alt=\"A phone on a linen surface showing the uploaded photo of a woman and her corgi, the finished ornament resting beside it\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eSend the one of the two of you. And the dog.\u003c\/h3\u003e\n\u003cp\u003eNothing is made until you have seen the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-couples-orn0002couple-detail-4.jpg\" alt=\"The personalized Christmas ornament for couples hanging on a Christmas tree among warm colored lights\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eSame branch, every year.\u003c\/h3\u003e\n\u003cp\u003eBy year ten it will have its own spot, and he will still not admit he put it there.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who keeps showing up.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Christmas Ornament for Couples — Years Together\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-couples-orn0002couple-main-1.jpg\"], \"description\": \"Every December the tree gets decorated the same way \u0026mdash; you, him, the same argument about where the star goes, and you letting him win it. His name, your number of years, and the line that is true every Christmas, printed under the surface of a crystal ornament that comes out of the box first. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0002-COUPLE\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-couples-years-together\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":49071296479424,"sku":"CS-ORN-0002-COUPLE","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/b248c402-5105-4b19-8720-88cc38b9c9fd.png?v=1790064962"},{"product_id":"personalized-christmas-ornament-for-grandma-love-passed-down","title":"Personalized Christmas Ornament for Grandma — Love, Passed Down","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED CHRISTMAS ORNAMENT FOR GRANDMA\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eshe taught you the dough.\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003enow she teaches hers.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eThe recipe is older than both of them. She learned it standing on a chair pulled up to the counter, and this year the chair belongs to somebody smaller. Her name, the girl's name and the year, printed under the surface of a crystal ornament, so the tradition finally has a date on it. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe afternoon with flour on everything\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHer name and the little one's\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe Christmas this happened\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0006passed.jpg\" alt=\"Close-up of the uploaded photo of a grandmother and her granddaughter baking printed inside the crystal ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eLove, passed down\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eNana \u0026amp; Sophie · Christmas 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-main-1.jpg\" alt=\"Two hands offering the personalized Christmas ornament for Grandma against a snowy window\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished crystal, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eFaceted, diamond-cut rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eRed-and-white striped ribbon loop, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eThe whole thing, closer up.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-1.jpg\" alt=\"A hand lifting the personalized Christmas ornament for Grandma from its kraft gift box beside a snowy window\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eUnwrapped with both hands.\u003c\/h3\u003e\n\u003cp\u003eThen straight onto the tree, before anyone can help.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-2.jpg\" alt=\"The personalized Christmas ornament for Grandma hanging on a decorated tree beside a snowy window at dusk\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eIt lives by the window all December.\u003c\/h3\u003e\n\u003cp\u003eWhere she sits with her coffee and watches the snow come down.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-3.jpg\" alt=\"A phone on a linen surface showing the uploaded photo of a grandmother and her granddaughter baking, the finished ornament beside it\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eThe photo you already have on your phone.\u003c\/h3\u003e\n\u003cp\u003eSend it, check the proof, and we print exactly that.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-4.jpg\" alt=\"The personalized Christmas ornament for Grandma hanging on a Christmas tree beside a snowy window in warm light\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eStill hanging when she has a kitchen of her own.\u003c\/h3\u003e\n\u003cp\u003eThat is the point of it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who taught it first.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Christmas Ornament for Grandma — Love, Passed Down\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-main-1.jpg\"], \"description\": \"The recipe is older than both of them. She learned it standing on a chair pulled up to the counter, and this year the chair belongs to somebody smaller. Her name, the girl's name and the year, printed under the surface of a crystal ornament, so the tradition finally has a date on it. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0006-PASSED\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-grandma-love-passed-down\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328210243776,"sku":"CS-ORN-0006-PASSED","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/c735e73d-35ee-48c1-8807-6114dcf9c82c.png?v=1790142926"},{"product_id":"personalized-christmas-ornament-for-dad-son-christmas-grew-by-one","title":"Personalized Christmas Ornament for Dad \u0026 Son — Christmas Grew by One","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED CHRISTMAS ORNAMENT FOR DAD \u0026amp; SON\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003elast December, two of you.\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003ethis December, three.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eHe still cannot say it out loud, but he checks the tree twice a day now. The photo of the two of them, his name and the year — the Christmas he officially became somebody's dad. Made to order, printed under the surface, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one you took when he thought nobody was watching\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHis name, spelled the way you say it\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year, so it stays that specific Christmas\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0010grew.jpg\" alt=\"Close-up of the uploaded photo of a father and his young son printed inside the crystal ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eChristmas grew by one\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eEmma · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-dad-orn0010grew-main-1.jpg\" alt=\"Two hands offering the personalized Christmas ornament for Dad and son, held up by its red-and-white candy-cane cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished crystal, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eIridescent faceted rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eSilver loop and a red-and-white candy-cane cord, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-dad-orn0010grew-detail-1.jpg\" alt=\"A hand lifting the personalized Christmas ornament for Dad and son out of its kraft gift box by a stone fireplace\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eHis first Christmas as a father.\u003c\/h3\u003e\n\u003cp\u003eHung where he cannot miss it, which is the whole point of it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-dad-orn0010grew-detail-2.jpg\" alt=\"The personalized Christmas ornament for Dad and son hanging on a decorated tree beside a stone fireplace with a low fire\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eHe checks the tree twice a day now.\u003c\/h3\u003e\n\u003cp\u003eHe will not say why. You will not ask.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-dad-orn0010grew-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a father and his son in the snow beside the finished ornament on a dark wood table\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eA tighter crop keeps both faces sharp.\u003c\/h3\u003e\n\u003cp\u003eSend the photo you actually like. Nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-dad-orn0010grew-detail-4.jpg\" alt=\"The personalized Christmas ornament for Dad and son hanging on a Christmas tree among warm colored lights\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eHe will put it on himself.\u003c\/h3\u003e\n\u003cp\u003eThen move it somewhere easier to see, when he thinks nobody is looking.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who just became one.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Christmas Ornament for Dad \u0026 Son — Christmas Grew by One\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-dad-orn0010grew-main-1.jpg\"], \"description\": \"He still cannot say it out loud, but he checks the tree twice a day now. The photo of the two of them, his name and the year \u0026mdash; the Christmas he officially became somebody's dad. Made to order, printed under the surface, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0010-GREW\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-dad-son-christmas-grew-by-one\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328211488960,"sku":"CS-ORN-0010-GREW","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/edf7031b-d5ba-4e61-8c6c-de9636815da4.png?v=1790143046"},{"product_id":"personalized-memorial-christmas-ornament-your-light-stays","title":"Personalized Memorial Christmas Ornament — Your Light Stays","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED MEMORIAL CHRISTMAS ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eone decoration nobody hangs\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003ewithout stopping first.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eHer name, her years, and a light that has not gone out — placed on the tree where everyone will pass it. This one is made for the Christmas that has an empty chair in it. Printed under the surface of a hand-finished acrylic disc, so it can be taken down and held whenever you need to. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one where she is laughing\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHer name, spelled the way you say it\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eBoth of her years, side by side\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-mem0001light.jpg\" alt=\"Close-up of the uploaded photo of an elderly woman printed inside the clear ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eYour light stays\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eMargaret · 1948–2025\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-memorial-christmas-ornament-mem0001light-main-1.jpg\" alt=\"Two hands holding the personalized memorial Christmas ornament up against a snowy window\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePrismatic edge, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eRed ribbon loop, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eA closer look, if you want one.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-memorial-christmas-ornament-mem0001light-detail-1.jpg\" alt=\"A hand lifting the personalized memorial Christmas ornament from its kraft gift box beside a snowy window\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eIt goes on the tree first.\u003c\/h3\u003e\n\u003cp\u003eBefore the lights, before anything else comes out of the box.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-memorial-christmas-ornament-mem0001light-detail-2.jpg\" alt=\"The personalized memorial Christmas ornament hanging on a decorated tree beside a snowy window at dusk\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eWhere everyone will pass it.\u003c\/h3\u003e\n\u003cp\u003eWhich is the whole point of hanging it there.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-memorial-christmas-ornament-mem0001light-detail-3.jpg\" alt=\"A phone on a linen surface showing the uploaded photo of an elderly woman, the finished ornament resting beside it\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eSend the photo where she is laughing.\u003c\/h3\u003e\n\u003cp\u003eNothing is made until you have seen the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-memorial-christmas-ornament-mem0001light-detail-4.jpg\" alt=\"The personalized memorial Christmas ornament hanging among warm string lights on a tree beside a snowy window\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eDecember is when you will want it most.\u003c\/h3\u003e\n\u003cp\u003eIt will be there, out of the box, on the same branch.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who is still with you in December.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Memorial Christmas Ornament — Your Light Stays\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-memorial-christmas-ornament-mem0001light-main-1.jpg\"], \"description\": \"Her name, her years, and a light that has not gone out \u0026mdash; placed on the tree where everyone will pass it. This one is made for the Christmas that has an empty chair in it. Printed under the surface of a hand-finished acrylic disc, so it can be taken down and held whenever you need to. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-MEM-0001-LIGHT\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-memorial-christmas-ornament-your-light-stays\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328214798528,"sku":"CS-MEM-0001-LIGHT","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/97612675-0d56-4647-85f5-22ef3d1002a4.png?v=1790143171"},{"product_id":"personalized-christmas-ornament-for-grandparents-our-greatest-joy","title":"Personalized Christmas Ornament for Grandparents — Our Greatest Joy","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED CHRISTMAS ORNAMENT FOR GRANDPARENTS\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003ethey have waited all year\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003efor this one photograph.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eGrandma has the good plates out and Grandpa is pretending he does not care — both of them are exactly where they want to be. Three generations in one frame, with the names and the year underneath. Made to order, printed under the surface, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe group shot from this year\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eNames, spelled the way the family says them\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year, printed so it stays that specific Christmas\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0008joy.jpg\" alt=\"Close-up of the uploaded photo of two grandparents and their granddaughter printed inside the crystal ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eOur greatest joy\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eEmma · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandparents-orn0008joy-main-1.jpg\" alt=\"Two hands offering the personalized Christmas ornament for grandparents, held up by its red-and-white candy-cane cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished crystal, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eIridescent faceted rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eSilver loop and a red-and-white candy-cane cord, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandparents-orn0008joy-detail-1.jpg\" alt=\"A hand lifting the personalized Christmas ornament for grandparents out of its kraft gift box by a stone fireplace\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eShe has the good plates out already.\u003c\/h3\u003e\n\u003cp\u003eHe is pretending he does not care. Both of them are exactly where they want to be.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandparents-orn0008joy-detail-2.jpg\" alt=\"The personalized Christmas ornament for grandparents hanging on a decorated tree beside a stone fireplace with a low fire\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eA group shot works here.\u003c\/h3\u003e\n\u003cp\u003eJust check that nobody is cut off at the edge — we print the frame you send, whole.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandparents-orn0008joy-detail-3.jpg\" alt=\"A phone showing the uploaded family photo beside the finished personalized ornament on a dark wood table\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eThe names and the year underneath.\u003c\/h3\u003e\n\u003cp\u003eSmall, plain letters, where the whole family can read them without asking.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandparents-orn0008joy-detail-4.jpg\" alt=\"The personalized Christmas ornament for grandparents hanging on a Christmas tree among warm colored lights\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eIt goes on their tree.\u003c\/h3\u003e\n\u003cp\u003eIt comes back out every December for twenty years.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the family.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Christmas Ornament for Grandparents — Our Greatest Joy\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandparents-orn0008joy-main-1.jpg\"], \"description\": \"Grandma has the good plates out and Grandpa is pretending he does not care \u0026mdash; both of them are exactly where they want to be. Three generations in one frame, with the names and the year underneath. Made to order, printed under the surface, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0008-JOY\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-grandparents-our-greatest-joy\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328215584960,"sku":"CS-ORN-0008-JOY","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/745260da-490d-48db-9d1a-ae0be3d4dbed.png?v=1790143332"},{"product_id":"personalized-pet-christmas-ornament-our-christmas-has-paws","title":"Personalized Pet Christmas Ornament — Our Christmas Has Paws","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED PET CHRISTMAS ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003ethe paper lasted four seconds.\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003ehe was in all of them.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eThe dog does not know what Christmas is — he knows everybody is home and something is being opened. His photo, his name, and the year, printed under the surface of hand-finished crystal. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one where he is looking at the camera and nobody else is\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHis name, spelled the way you actually call him\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year, set under the picture\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0009paws.jpg\" alt=\"Close-up of the uploaded photo of a child with a golden retriever printed inside the crystal pet ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eOur christmas has paws\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eEmma · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-main-1.jpg\" alt=\"Two hands offering the personalized pet Christmas ornament, held up by its red-and-white candy-cane cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished crystal, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eIridescent faceted rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eSilver loop and a red-and-white candy-cane cord, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-1.jpg\" alt=\"A hand lifting the personalized pet Christmas ornament out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eHe does not know what Christmas is.\u003c\/h3\u003e\n\u003cp\u003eHe knows everybody is home and something is being opened. That is enough for him.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-2.jpg\" alt=\"The personalized pet Christmas ornament hanging on a decorated tree in a bright living room with a paper lantern behind\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eHang it low enough for him to inspect.\u003c\/h3\u003e\n\u003cp\u003eHe will check it every morning for the whole of December. Let him.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a child with a golden retriever beside the finished personalized pet ornament on linen\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eA tighter crop keeps both faces sharp.\u003c\/h3\u003e\n\u003cp\u003eAnd yes, we know whose face matters most here. Send the photo and we print it — nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-4.jpg\" alt=\"The personalized pet Christmas ornament hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eHe will knock it off the tree at least once.\u003c\/h3\u003e\n\u003cp\u003eIt is crystal. It will be fine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one with fur.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Pet Christmas Ornament — Our Christmas Has Paws\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-main-1.jpg\"], \"description\": \"The dog does not know what Christmas is \u0026mdash; he knows everybody is home and something is being opened. His photo, his name, and the year, printed under the surface of hand-finished crystal. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0009-PAWS\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-pet-christmas-ornament-our-christmas-has-paws\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328258838720,"sku":"CS-ORN-0009-PAWS","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/0cbcddc1-e525-46b1-b1b3-ae53a369d2a5.png?v=1790144890"},{"product_id":"personalized-christmas-ornament-for-couples-all-i-want-is-you-1","title":"Personalized Christmas Ornament for Couples — All I Want Is You","description":"\u003ch2\u003eyou were never going to ask for anything else\u003c\/h2\u003e\n\u003cp\u003ethe list you wrote was a formality — there was only ever one thing on it. built around your own photo of the two of you, with your names and the year. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eanother christmas together, made into something you can hang\u003c\/li\u003e\n\u003cli\u003ethe photo where neither of you is trying to pose\u003c\/li\u003e\n\u003cli\u003eboth names and the year, set under the picture\u003c\/li\u003e\n\u003cli\u003ea present that doesn't need explaining when handed over\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload the photo, then add your names and the year. A tighter crop keeps you both sharp. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eTen years of christmases later, this is still the one you look for first.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Christmas Ornament for Couples — All I Want Is You\",\"description\":\"Personalized Christmas Ornament for Couples in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-ORN-0007-WANT\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Christmas Ornament for Couples\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/697ee845-065a-4905-831c-6918fc63b117.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-couples-all-i-want-is-you-1\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328259559616,"sku":"CS-ORN-0007-WANT","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/697ee845-065a-4905-831c-6918fc63b117.png?v=1790145020"},{"product_id":"personalized-memorial-ornament-for-dad-still-beside-me","title":"Personalized Memorial Ornament for Dad — Still Beside Me","description":"\u003ch2\u003edad never left. he just got quieter about it\u003c\/h2\u003e\n\u003cp\u003ehis name, his years, and the one red bird that always turns up when you least expect it — hung on the tree where the room can see it. made for the christmas where one chair stays empty and one person somehow doesn't. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003ea place on the tree for the dad who should be here\u003c\/li\u003e\n\u003cli\u003ehis name and his dates, printed clean and steady\u003c\/li\u003e\n\u003cli\u003esomething that lets the family say his name without a speech\u003c\/li\u003e\n\u003cli\u003ethe ornament the kids will remember hanging every year\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload the photo, then add the name and the dates you want shown. A square or close-cropped image works better than a wide shot. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eSomebody will say \"that's him\" before anyone says merry christmas.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Memorial Ornament for Dad — Still Beside Me\",\"description\":\"Personalized Memorial Ornament for Dad in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-MEM-0002-STILL\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Memorial Ornament for Dad\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/c65cac0b-b7c3-4910-9dce-01e0bb38fd84.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-memorial-ornament-for-dad-still-beside-me\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328260378816,"sku":"CS-MEM-0002-STILL","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/c65cac0b-b7c3-4910-9dce-01e0bb38fd84.png?v=1790145386"},{"product_id":"personalized-pet-memorial-ornament-always-my-good-dog","title":"Personalized Pet Memorial Ornament — Always My Good Dog","description":"\u003ch2\u003ethey don't teach \"good boy\" in any language. he knew it anyway\u003c\/h2\u003e\n\u003cp\u003ethe leash by the door is still there. so is the spot on the rug. this one carries his photo, his name, and the two years that were never going to be enough — built around your own picture of him. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehis name, and the years, set under the picture\u003c\/li\u003e\n\u003cli\u003ethe photo where his ears are wrong and it's perfect\u003c\/li\u003e\n\u003cli\u003ealways my good dog — said once a year, out loud, on purpose\u003c\/li\u003e\n\u003cli\u003ehanging at the front of the tree, where he'd have knocked it\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload his photo, then add the name and the years if you want them. A tight crop on his face works best — a blurry muzzle is nobody's favourite photo. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eWarning: this is the ornament somebody touches every single year.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Pet Memorial Ornament — Always My Good Dog\",\"description\":\"Personalized Pet Memorial Ornament in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-ORN-0009-DOGBOY\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Pet Memorial Ornament\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/cb2e45fd-2e89-47d4-8a66-567cc24fecc4.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-pet-memorial-ornament-always-my-good-dog\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332131295424,"sku":"CS-ORN-0009-DOGBOY","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/cb2e45fd-2e89-47d4-8a66-567cc24fecc4.png?v=1790168811"},{"product_id":"personalized-memorial-ornament-for-grandma-love-goes-with-me","title":"Personalized Memorial Ornament for Grandma — Love Goes With Me","description":"\u003ch2\u003ea ginkgo leaf for the woman who never once asked for credit\u003c\/h2\u003e\n\u003cp\u003eshe made the gravy, remembered the sizes, and somehow got the one thing nobody mentioned. this carries her photo, her name, and a ginkgo leaf — the tree that outlives almost everything. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003elove goes with me — her words, or yours, said properly\u003c\/li\u003e\n\u003cli\u003ea ginkgo leaf for the one who held the whole thing together\u003c\/li\u003e\n\u003cli\u003eher name set beneath the picture, where it belongs\u003c\/li\u003e\n\u003cli\u003enana, spelled the way she answers to\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload her photo, then add the name and the dates. A tighter crop keeps her face sharp — a shot from twenty years ago is allowed. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eHang it where the light hits it. She'd have said it's too much, then told everyone where it came from.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Memorial Ornament for Grandma — Love Goes With Me\",\"description\":\"Personalized Memorial Ornament for Grandma in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-ORN-0011-GINKGO\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Memorial Ornament for Grandma\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/f38b4b15-e75b-46b9-88ec-52ede5c66a4c.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-memorial-ornament-for-grandma-love-goes-with-me\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332204630208,"sku":"CS-ORN-0011-GINKGO","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/f38b4b15-e75b-46b9-88ec-52ede5c66a4c.png?v=1790169202"},{"product_id":"personalized-pet-adoption-ornament-home-is-where-you-are","title":"Personalized Pet Adoption Ornament — Home Is Where You Are","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED PET ADOPTION ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eyou didn't rescue him.\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003ehe picked you and moved in.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eHis photo, his name, and the year he decided the couch was shared property — printed on a clear acrylic ornament with a clean polished rim. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one from the first week\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHis name, spelled the way you call him\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year he came home\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0012pethome.jpg\" alt=\"Close-up of the uploaded photo of a woman and her rescue dog printed inside the clear acrylic pet adoption ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHome is where you are\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eCharlie · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-main-1.jpg\" alt=\"Two hands offering the personalized pet adoption ornament, held up by its gold cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eGold cord loop included — straight onto the tree, no ribbon required\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-1.jpg\" alt=\"A hand lifting the personalized pet adoption ornament out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eThe first ornament that belongs to the dog.\u003c\/h3\u003e\n\u003cp\u003eHe will not understand it. He will sit under it anyway.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-2.jpg\" alt=\"The personalized pet adoption ornament hanging on a decorated fir tree in a bright room with a paper lantern behind\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eHang it low on the tree.\u003c\/h3\u003e\n\u003cp\u003eNose height. He inspects everything, and this one is his.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a woman and her dog beside the finished personalized pet adoption ornament\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload the photo, then add his name.\u003c\/h3\u003e\n\u003cp\u003eA tighter crop keeps the face sharp — and yes, we know whose face matters most here.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-4.jpg\" alt=\"The personalized pet adoption ornament hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eThe wrapping paper lasted four seconds.\u003c\/h3\u003e\n\u003cp\u003eHe was in all of it. He will be in this too, eventually.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who chose you.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Pet Adoption Ornament — Home Is Where You Are\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-main-1.jpg\"], \"description\": \"His photo, his name, and the year he decided the couch was shared property \u0026mdash; printed on a clear acrylic ornament with a clean polished rim. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0012-PETHOME\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-pet-adoption-ornament-home-is-where-you-are\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332269609152,"sku":"CS-ORN-0012-PETHOME","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/314a9263-239a-4ecd-8faa-103fa3e3c281.png?v=1790169332"},{"product_id":"personalized-first-home-christmas-ornament-for-couples-home-begins-with-us","title":"Personalized First Home Christmas Ornament for Couples — Home Begins With Us","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED FIRST HOME CHRISTMAS ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003ethe first one, in the first place,\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003eboxes still unpacked.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eOne lamp, two plates, and a tree smaller than last year's. Both names and the year printed on a clear acrylic ornament with a clean polished rim — the Christmas that belongs to the two of you alone.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one from the week you got the keys\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eBoth names, exactly as you want them printed\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year, so future-you knows which December\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0013firsthome.jpg\" alt=\"Close-up of the uploaded photo of a couple with mugs printed inside the clear acrylic first home ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHome begins with us\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eEmma \u0026amp; Noah · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-main-1.jpg\" alt=\"Two hands offering the personalized first home Christmas ornament, held up by its gold cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eGold cord loop included — straight onto the tree, no ribbon required\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-1.jpg\" alt=\"A hand lifting the personalized first home Christmas ornament out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eThe first decoration that was actually yours.\u003c\/h3\u003e\n\u003cp\u003eNot handed down, not borrowed from your mother's box. Yours.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-2.jpg\" alt=\"The personalized first home Christmas ornament hanging on a small decorated fir tree in a bright room with a paper lantern behind\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eIt goes on the smallest tree you will ever own.\u003c\/h3\u003e\n\u003cp\u003eAnd it stays in the box marked for next year, not the one marked for the charity shop.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a couple beside the finished personalized first home ornament\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload the photo, then add both names and the year.\u003c\/h3\u003e\n\u003cp\u003eThe one where you are both laughing is usually the right one. We print what you approve.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-4.jpg\" alt=\"The personalized first home Christmas ornament hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eTen years and four houses from now, it still says the same thing.\u003c\/h3\u003e\n\u003cp\u003eThe address changes. The line does not.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the first Christmas with your name on the lease.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized First Home Christmas Ornament for Couples — Home Begins With Us\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-main-1.jpg\"], \"description\": \"One lamp, two plates, and a tree smaller than last year's. Both names and the year printed on a clear acrylic ornament with a clean polished rim \u0026mdash; the Christmas that belongs to the two of you alone.\", \"sku\": \"CS-ORN-0013-FIRSTHOME\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-first-home-christmas-ornament-for-couples-home-begins-with-us\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332287533248,"sku":"CS-ORN-0013-FIRSTHOME","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/2f52d27c-8566-477b-8e6d-95c25049b20c.png?v=1790169472"},{"product_id":"personalized-long-distance-ornament-for-mom-always-close","title":"Personalized Long Distance Ornament for Mom — Always Close","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED LONG DISTANCE ORNAMENT FOR MOM\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003esix hundred miles,\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003eand she still knows.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eTwo houses, one road between them, and the line that covers the distance — printed on a clear acrylic ornament with a clean polished rim. Her photo, her name and the year, made to order and sealed under the surface.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe last time you were in the same room\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eBoth names, or hers alone, set under the picture\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe Christmas this was, kept on the ornament\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0014close.jpg\" alt=\"Close-up of the uploaded photo of a mother and her daughter printed inside the clear acrylic long distance ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eAlways close wherever we are\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eMom \u0026amp; Lily · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-main-1.jpg\" alt=\"Two hands offering the personalized long distance ornament for Mom, held up by its gold cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eGold cord loop included — straight onto the tree, no ribbon required\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-1.jpg\" alt=\"A hand lifting the personalized long distance ornament for Mom out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eShe will open it and go quiet for a second.\u003c\/h3\u003e\n\u003cp\u003eThen she will ask when you are coming home, which is what the ornament is really about.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-2.jpg\" alt=\"The personalized long distance ornament for Mom hanging on a decorated fir tree beside a window with snow outside\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eIt hangs on her tree, on the side the window faces.\u003c\/h3\u003e\n\u003cp\u003eSo the daylight comes through the acrylic while she is doing the dishes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a mother and her daughter beside the finished personalized long distance ornament\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload the photo, then check the spelling of her name.\u003c\/h3\u003e\n\u003cp\u003eMom, Mama, Mum — whatever you call her. Nothing is made until you approve the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-4.jpg\" alt=\"The personalized long distance ornament for Mom hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eShe will send you a photo of it on the tree.\u003c\/h3\u003e\n\u003cp\u003eSame tree, same branch, every year. You will get the photo every year too.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who is far away.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Long Distance Ornament for Mom — Always Close\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-main-1.jpg\"], \"description\": \"Two houses, one road between them, and the line that covers the distance \u0026mdash; printed on a clear acrylic ornament with a clean polished rim. Her photo, her name and the year, made to order and sealed under the surface.\", \"sku\": \"CS-ORN-0014-CLOSE\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-long-distance-ornament-for-mom-always-close\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332306079936,"sku":"CS-ORN-0014-CLOSE","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/d85fcc56-5407-4cd8-8cf0-79462cd5121e.png?v=1790169598"},{"product_id":"personalized-slate-photo-plaque-for-dad-same-tradition-new-memories","title":"Personalized Slate Photo Plaque for Dad — Same Tradition, New Memories","description":"\u003ch2\u003esame tree, same argument about the star. twenty-two years apart\u003c\/h2\u003e\n\u003cp\u003ethere's a photo of him hoisting you up so you could reach the top branch, and neither of you remembers agreeing to it. this one prints it on real slate, heavy enough that nobody asks where it came from, with both names and the two years set underneath. every piece is made to order: cut and finished to order, sized 10 cm — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003esame tradition. new memories. — turns out both were true\u003c\/li\u003e\n\u003cli\u003ecut slate, so no two pieces have the same edge\u003c\/li\u003e\n\u003cli\u003ea wood stand, included and actually sturdy\u003c\/li\u003e\n\u003cli\u003ethe footprint year and this one, printed side by side\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003earrives gift-ready with optional keepsake box\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload your photo, then add both names and the two years. A square or close-cropped image works better than a wide shot — faces come out sharper that way. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 3.9 in (10 cm) | Material: natural slate | Base: a wood display stand | Packaging: gift box\u003c\/p\u003e\n\u003cp\u003ePrinted at high resolution so faces stay sharp in normal room light — every file is checked for blur before it goes to print.\u003c\/p\u003e\n\u003cp\u003eNatural stone means the edges vary slightly. That's the point, not a defect.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Slate Photo Plaque for Dad — Same Tradition, New Memories\",\"description\":\"Personalized Slate Photo Plaque for Dad in natural slate. Made to order from your photo — you approve a preview before we print. $33.95.\",\"sku\":\"CS-SLT-0002-TRADITION\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Slate Photo Plaque for Dad\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/c9a1a6cb-e3d3-4370-893c-4efcc0a23174.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-slate-photo-plaque-for-dad-same-tradition-new-memories\",\"priceCurrency\":\"USD\",\"price\":\"33.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50336406667456,"sku":"CS-SLT-0002-TRADITION","price":33.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/c9a1a6cb-e3d3-4370-893c-4efcc0a23174.png?v=1790231258"},{"product_id":"personalized-slate-photo-plaque-for-couples-our-first-home","title":"Personalized Slate Photo Plaque for Couples — Our First Home","description":"\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003eMade from your story\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eour first home,\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003esaid in four words.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eReal slate, cut so that no two edges match. Your photo of the house, the date you got the keys, and your own words underneath — standing on the wood stand that comes with it.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eYour photo of the house\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe day you got the keys\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eYour words\u003c\/h4\u003e\n\u003cp\u003eOne line, set underneath\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/03_d8293123-94cc-47b1-ba10-10cdc954a19e.jpg?v=1790590490\" alt=\"Close-up of the slate plaque standing on its wood stand\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eOur first home\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eJune 18, 2021\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $33.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/04_b319ad67-1fb7-4b44-b330-f81448426818.jpg?v=1790590500\" alt=\"Couple holding the personalized slate plaque in their first home\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eNatural slate, 19 × 29 cm (7.5 × 11.4 in) — cut, so no two edges are the same\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eStand\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eWood stand included, sturdy enough to stay put\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003ePackaging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eBoxed, with the stand in the box\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-01-the-door.jpg?v=1790590402\" alt=\"A first evening in an empty new home, one lamp on, takeout on the floor\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The door\u003c\/p\u003e\n\u003ch3\u003eThe keys felt too big for the lock.\u003c\/h3\u003e\n\u003cp\u003eThen the door opened, and it was one lamp, two plates and takeout on the floor, because nothing was unpacked yet. That first evening is the one worth printing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-02-the-photo.jpg?v=1790590412\" alt=\"Close-up of the printed photograph on the slate surface\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The photo\u003c\/p\u003e\n\u003ch3\u003eYour photo of the house — not the listing photo.\u003c\/h3\u003e\n\u003cp\u003eThe front step, the door you actually use, the bad angle from the street. It is your house now, so it can look like it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-03-the-date.jpg?v=1790590428\" alt=\"The printed date on the slate, lit from the side\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The date\u003c\/p\u003e\n\u003ch3\u003eThe day it stopped being a house and became yours.\u003c\/h3\u003e\n\u003cp\u003eUnder the photo, set in plain letters. A date you will not have to look up again.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-04-the-slate.jpg?v=1790590472\" alt=\"Macro detail of the natural chipped edge of the slate plaque\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The slate\u003c\/p\u003e\n\u003ch3\u003eCut slate, so no two pieces have the same edge.\u003c\/h3\u003e\n\u003cp\u003eHeavy in the hand and matte under a lamp. Your piece will not match anyone else's, because the stone decides that part.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eNatural slate, cut by hand, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the place you call home.\u003c\/h2\u003e\n\u003cp\u003eGifts that capture what matters most.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50353188176064,"sku":"CS-SLT-0003-FIRSTHOME","price":33.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/26c74805-9b88-4e98-8396-b6ee2d1a1f3d.png?v=1790583307"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/collections\/customsolo-cards-premium-gifts.webp?v=1790681801","url":"https:\/\/customsolo.com\/collections\/premium-gifts.oembed","provider":"customsolo","version":"1.0","type":"link"}