{"product_id":"courtglow-mini-gas-atmosphere-lantern","title":"Courtglow Mini Gas Lantern","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eCourtglow — A Real Flame, Anywhere\u003c\/title\u003e\n\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700\u0026family=Manrope:wght@400;500;600;700;800\u0026family=JetBrains+Mono:wght@400;500\u0026display=swap');\n\n  :root{\n    --charcoal: #23261F;\n    --charcoal-2: #2E3227;\n    --slate: #3E453A;\n    --moss: #6B7F5B;\n    --moss-light: #9AAE87;\n    --ember: #E08A3C;\n    --ember-deep: #C1531F;\n    --cream: #F3EEE2;\n    --cream-dim: #C9C7B8;\n    --line: rgba(243,238,226,0.12);\n    --shadow: rgba(0,0,0,0.45);\n  }\n\n#cg-root *{ box-sizing:border-box; margin:0; padding:0; }\n\nhtml{ scroll-behavior:smooth; }\n\n#cg-root{\n    background: var(--charcoal);\n    color: var(--cream);\n    font-family: 'Manrope', sans-serif;\n    overflow-x:hidden;\n    line-height:1.5;\n  }\n\n#cg-root h1, #cg-root h2, #cg-root h3, #cg-root .display{\n    font-family:'Fraunces', serif;\n    font-weight:600;\n    letter-spacing:-0.01em;\n    color: var(--cream) !important;\n  }\n#cg-root p, #cg-root span, #cg-root div, #cg-root li, #cg-root a{\n    color: var(--cream);\n  }\n#cg-root .logo{ color: var(--cream) !important; }\n\n#cg-root .eyebrow{\n    font-family:'JetBrains Mono', monospace;\n    font-size:0.72rem;\n    letter-spacing:0.18em;\n    text-transform:uppercase;\n    color: var(--ember);\n    display:flex;\n    align-items:center;\n    gap:10px;\n  }\n#cg-root .eyebrow::before{\n    content:'';\n    width:7px; height:7px;\n    background: var(--ember);\n    border-radius:50%;\n    box-shadow: 0 0 8px 2px var(--ember);\n    animation: pulse 2.4s ease-in-out infinite;\n  }\n  @keyframes pulse{\n    0%,100%{ opacity:1; transform:scale(1); }\n    50%{ opacity:0.5; transform:scale(0.7); }\n  }\n\n#cg-root section{ position:relative; padding: 110px 8vw; }\n#cg-root .wrap{ max-width:1180px; margin:0 auto; position:relative; }\n\n  \/* ---------- Ambient ember particles (global) ---------- *\/\n#cg-root #embers{\n    position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden;\n  }\n#cg-root .ember-particle{\n    position:absolute; bottom:-10px;\n    width:4px; height:4px; border-radius:50%;\n    background: radial-gradient(circle, var(--ember) 0%, transparent 70%);\n    opacity:0;\n    animation: rise linear infinite;\n  }\n  @keyframes rise{\n    0%{ transform:translateY(0) translateX(0); opacity:0; }\n    10%{ opacity:0.8; }\n    90%{ opacity:0.3; }\n    100%{ transform:translateY(-100vh) translateX(20px); opacity:0; }\n  }\n\n  \/* ---------- NAV ---------- *\/\n#cg-root nav{\n    position:fixed; top:0; left:0; right:0; z-index:50;\n    display:flex; align-items:center; justify-content:space-between;\n    padding: 22px 8vw;\n    background: linear-gradient(to bottom, rgba(35,38,31,0.92), transparent);\n    backdrop-filter: blur(6px);\n  }\n#cg-root .logo{ font-family:'Fraunces', serif; font-size:1.3rem; font-weight:700; display:flex; align-items:center; gap:10px;}\n#cg-root .logo svg{ width:22px; height:26px; }\n#cg-root .nav-cta{\n    font-family:'JetBrains Mono', monospace; font-size:0.75rem;\n    letter-spacing:0.08em; text-transform:uppercase;\n    color: var(--charcoal); background: var(--ember);\n    padding:11px 20px; border-radius:3px; text-decoration:none;\n    transition: transform 0.25s ease, background 0.25s ease;\n  }\n#cg-root .nav-cta:hover{ background: var(--moss-light); transform:translateY(-2px); }\n\n  \/* ---------- HERO ---------- *\/\n#cg-root .hero{\n    min-height:100vh; display:flex; align-items:center;\n    padding-top:160px;\n    background:\n      radial-gradient(ellipse 60% 50% at 78% 55%, rgba(224,138,60,0.16), transparent 60%),\n      radial-gradient(ellipse 40% 40% at 15% 20%, rgba(107,127,91,0.14), transparent 60%),\n      var(--charcoal);\n  }\n#cg-root .hero-grid{\n    display:grid; grid-template-columns: 1.1fr 0.9fr; gap:60px; align-items:center;\n    width:100%;\n  }\n#cg-root .hero h1{\n    font-size: clamp(2.6rem, 5vw, 4.4rem);\n    line-height:1.04;\n    margin: 18px 0 22px;\n  }\n#cg-root .hero h1 em{\n    font-style:italic; color: var(--ember);\n    font-weight:500;\n  }\n#cg-root .hero p.sub{\n    font-size:1.1rem; color: var(--cream-dim); max-width:480px; margin-bottom:34px;\n  }\n#cg-root .hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; }\n#cg-root .btn-primary{\n    font-family:'JetBrains Mono', monospace; font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase;\n    background: var(--ember); color: var(--charcoal); border:none;\n    padding:17px 30px; border-radius:3px; cursor:pointer; text-decoration:none;\n    position:relative; overflow:hidden;\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n    box-shadow: 0 8px 30px -8px rgba(224,138,60,0.6);\n  }\n#cg-root .btn-primary:hover{ transform: translateY(-3px); box-shadow: 0 14px 36px -6px rgba(224,138,60,0.75); }\n#cg-root .btn-ghost{\n    font-family:'JetBrains Mono', monospace; font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase;\n    color:var(--cream); border:1px solid var(--line); background:transparent;\n    padding:16px 26px; border-radius:3px; text-decoration:none;\n    transition: border-color 0.25s ease, color 0.25s ease;\n  }\n#cg-root .btn-ghost:hover{ border-color: var(--moss-light); color: var(--moss-light); }\n\n#cg-root .hero-stats{ display:flex; gap:34px; margin-top:48px; }\n#cg-root .hstat b{ font-family:'Fraunces', serif; font-size:1.6rem; display:block; color:var(--cream); }\n#cg-root .hstat span{ font-size:0.78rem; color: var(--cream-dim); }\n\n  \/* ---------- LANTERN SIGNATURE ILLUSTRATION ---------- *\/\n#cg-root .lantern-stage{\n    position:relative; display:flex; align-items:center; justify-content:center;\n    height:520px;\n  }\n#cg-root .glow-halo{\n    position:absolute; width:360px; height:360px; border-radius:50%;\n    background: radial-gradient(circle, rgba(224,138,60,0.35) 0%, rgba(224,138,60,0.08) 45%, transparent 70%);\n    filter: blur(6px);\n    animation: halo 3.2s ease-in-out infinite;\n  }\n  @keyframes halo{\n    0%,100%{ transform:scale(1); opacity:0.85; }\n    50%{ transform:scale(1.12); opacity:1; }\n  }\n#cg-root .lantern-svg{ position:relative; width:220px; z-index:2; filter: drop-shadow(0 20px 40px rgba(0,0,0,0.5)); }\n#cg-root .flame{\n    transform-origin: 110px 150px;\n    animation: flicker 2.6s ease-in-out infinite;\n  }\n#cg-root .flame-inner{\n    transform-origin: 110px 155px;\n    animation: flicker-inner 1.9s ease-in-out infinite;\n  }\n  @keyframes flicker{\n    0%{ transform: scaleY(1) scaleX(1) rotate(0deg); }\n    20%{ transform: scaleY(1.06) scaleX(0.97) rotate(-1.5deg); }\n    40%{ transform: scaleY(0.94) scaleX(1.03) rotate(1deg); }\n    60%{ transform: scaleY(1.08) scaleX(0.95) rotate(-0.8deg); }\n    80%{ transform: scaleY(0.97) scaleX(1.02) rotate(1.2deg); }\n    100%{ transform: scaleY(1) scaleX(1) rotate(0deg); }\n  }\n  @keyframes flicker-inner{\n    0%,100%{ transform: scaleY(1) translateY(0); opacity:1;}\n    50%{ transform: scaleY(0.9) translateY(2px); opacity:0.85;}\n  }\n\n  \/* ---------- SECTION HEADERS ---------- *\/\n#cg-root .sec-head{ max-width:640px; margin-bottom:60px; }\n#cg-root .sec-head h2{ font-size: clamp(1.9rem, 3.4vw, 2.7rem); margin-top:14px; }\n#cg-root .sec-head p{ color:var(--cream-dim); margin-top:14px; font-size:1.02rem; }\n\n  \/* ---------- BENEFITS ---------- *\/\n#cg-root .benefits{ background: var(--charcoal-2); }\n#cg-root .benefit-grid{\n    display:grid; grid-template-columns: repeat(2, 1fr); gap:2px;\n    background: var(--line); border:1px solid var(--line); border-radius:4px; overflow:hidden;\n  }\n#cg-root .benefit{\n    background: var(--charcoal-2); padding:38px 32px; transition: background 0.35s ease, transform 0.35s ease;\n    opacity:0; transform: translateY(24px);\n  }\n#cg-root .benefit.in-view{ opacity:1; transform:translateY(0); }\n#cg-root .benefit:hover{ background: rgba(224,138,60,0.06); }\n#cg-root .b-icon{ width:38px; height:38px; margin-bottom:20px; color: var(--ember); }\n#cg-root .benefit h3{ font-size:1.15rem; margin-bottom:10px; font-weight:600; }\n#cg-root .benefit p{ color:var(--cream-dim); font-size:0.94rem; }\n\n  \/* ---------- HOW IT WORKS (real sequence) ---------- *\/\n#cg-root .how{ }\n#cg-root .how-list{ display:flex; flex-direction:column; }\n#cg-root .how-item{\n    display:grid; grid-template-columns: 90px 1fr; gap:30px;\n    padding: 34px 0; border-top:1px solid var(--line);\n    opacity:0; transform: translateX(-20px);\n  }\n#cg-root .how-item.in-view{ opacity:1; transform:translateX(0); transition: all 0.6s ease; }\n#cg-root .how-item:last-child{ border-bottom:1px solid var(--line); }\n#cg-root .how-num{ font-family:'Fraunces', serif; font-size:2.4rem; color: var(--moss-light); opacity:0.6; }\n#cg-root .how-item h3{ font-size:1.2rem; margin-bottom:8px; }\n#cg-root .how-item p{ color: var(--cream-dim); max-width:520px; }\n\n  \/* ---------- COMPARISON ---------- *\/\n#cg-root .compare{ background: var(--charcoal-2); }\n#cg-root .compare-table{ width:100%; border-collapse:collapse; margin-top:10px; }\n#cg-root .compare-table th, #cg-root .compare-table td{\n    text-align:left; padding:18px 20px; border-bottom:1px solid var(--line); font-size:0.95rem;\n  }\n#cg-root .compare-table th{ font-family:'JetBrains Mono', monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--cream-dim); font-weight:500;}\n#cg-root .compare-table td.yes{ color: var(--moss-light); font-weight:600; }\n#cg-root .compare-table td.no{ color: var(--cream-dim); opacity:0.6; }\n#cg-root .compare-table tr td:first-child, #cg-root .compare-table tr th:first-child{ color:var(--cream); font-weight:600; }\n#cg-root .row-highlight td{ background: rgba(224,138,60,0.06); }\n\n  \/* ---------- USE CASES ---------- *\/\n#cg-root .use-scroll{\n    display:flex; gap:16px; overflow-x:auto; padding-bottom:14px; scrollbar-width:thin;\n  }\n#cg-root .use-chip{\n    flex:0 0 auto; padding:14px 24px; border:1px solid var(--line); border-radius:40px;\n    font-size:0.92rem; color:var(--cream-dim); white-space:nowrap;\n    transition: border-color 0.3s ease, color 0.3s ease, background 0.3s ease;\n  }\n#cg-root .use-chip:hover{ border-color:var(--ember); color:var(--cream); background: rgba(224,138,60,0.08); }\n\n  \/* ---------- SPECS ---------- *\/\n#cg-root .specs{ background: var(--charcoal-2); }\n#cg-root .specs-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:0 60px; }\n#cg-root .spec-row{ display:flex; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--line); }\n#cg-root .spec-row span:first-child{ color: var(--cream-dim); font-family:'JetBrains Mono', monospace; font-size:0.82rem; }\n#cg-root .spec-row span:last-child{ font-weight:600; text-align:right; }\n\n  \/* ---------- SAFETY ---------- *\/\n#cg-root .safety{\n    border:1px solid rgba(224,138,60,0.35); border-radius:6px;\n    padding:28px 30px; display:flex; gap:18px; align-items:flex-start;\n    background: rgba(224,138,60,0.05);\n  }\n#cg-root .safety svg{ flex:0 0 26px; width:26px; height:26px; color: var(--ember); margin-top:2px; }\n#cg-root .safety p{ color: var(--cream-dim); font-size:0.92rem; line-height:1.65; }\n#cg-root .safety strong{ color: var(--cream); }\n\n  \/* ---------- FINAL CTA ---------- *\/\n#cg-root .final{\n    text-align:center;\n    background:\n      radial-gradient(ellipse 70% 60% at 50% 100%, rgba(224,138,60,0.18), transparent 65%),\n      var(--charcoal);\n  }\n#cg-root .final h2{ font-size: clamp(2.2rem, 4.4vw, 3.4rem); max-width:680px; margin:0 auto 20px; }\n#cg-root .final p{ color: var(--cream-dim); max-width:480px; margin:0 auto 38px; }\n#cg-root .price-tag{\n    font-family:'JetBrains Mono', monospace; font-size:0.85rem; color:var(--moss-light); margin-top:20px;\n  }\n\n#cg-root footer{\n    padding: 40px 8vw; border-top:1px solid var(--line);\n    display:flex; justify-content:space-between; align-items:center;\n    color: var(--cream-dim); font-size:0.82rem;\n  }\n\n#cg-root .reveal{ opacity:0; transform:translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }\n#cg-root .reveal.in-view{ opacity:1; transform:translateY(0); }\n\n  @media (max-width: 880px){\n#cg-root section{ padding:56px 6vw; }\n#cg-root .hero-grid{ grid-template-columns:1fr; }\n#cg-root .lantern-stage{ height:260px; order:-1; }\n#cg-root .benefit-grid{ grid-template-columns:1fr; }\n#cg-root .specs-grid{ grid-template-columns:1fr; }\n#cg-root .how-item{ grid-template-columns:50px 1fr; padding:22px 0; }\n#cg-root .hero{ padding-top:100px; min-height:auto; }\n#cg-root .sec-head{ margin-bottom:34px; }\n#cg-root .hero-stats{ margin-top:30px; gap:24px; }\n  }\n\n  @media (prefers-reduced-motion: reduce){\n#cg-root *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }\n  }\n\u003c\/style\u003e\n\n\n\u003cdiv id=\"cg-root\"\u003e\n\n\u003cdiv id=\"embers\"\u003e\u003c\/div\u003e\n\n\u003cnav\u003e\n  \u003cdiv class=\"logo\"\u003e\n    \u003csvg viewbox=\"0 0 22 26\" fill=\"none\"\u003e\u003cpath d=\"M11 0C11 6 4 8 4 15a7 7 0 0014 0c0-4-3-5-3-9 0 3-2 4-2 7a2 2 0 01-4 0c0-5 2-6 2-13z\" fill=\"#E08A3C\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n    Courtglow\n  \u003c\/div\u003e\n  \u003ca href=\"#order\" class=\"nav-cta\"\u003eGet Yours\u003c\/a\u003e\n\u003c\/nav\u003e\n\n\u003c!-- HERO --\u003e\n\u003csection class=\"hero\"\u003e\n  \u003cdiv class=\"wrap hero-grid\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"eyebrow\"\u003eFlame-lit, not battery-lit\u003c\/div\u003e\n      \u003ch1\u003eBring a warm, \u003cem\u003eromantic glow\u003c\/em\u003e anywhere — indoors or out.\u003c\/h1\u003e\n      \u003cp class=\"sub\"\u003eCourtglow is a compact gas-powered atmosphere lantern that recreates the soft, flickering warmth of a real candle flame — without wax, wind-out, or fuss.\u003c\/p\u003e\n      \u003cdiv class=\"hero-ctas\"\u003e\n        \u003ca href=\"#order\" class=\"btn-primary\"\u003eLight Up My Space\u003c\/a\u003e\n        \u003ca href=\"#how\" class=\"btn-ghost\"\u003eSee How It Works\u003c\/a\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hero-stats\"\u003e\n        \u003cdiv class=\"hstat\"\u003e\n\u003cb\u003eHours\u003c\/b\u003e\u003cspan\u003eof ambience per canister\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"hstat\"\u003e\n\u003cb\u003eZero\u003c\/b\u003e\u003cspan\u003emantle socks to replace\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"lantern-stage\"\u003e\n      \u003cdiv class=\"glow-halo\"\u003e\u003c\/div\u003e\n      \u003csvg class=\"lantern-svg\" viewbox=\"0 0 220 340\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n        \u003cellipse cx=\"110\" cy=\"322\" rx=\"46\" ry=\"10\" fill=\"black\" opacity=\"0.35\"\u003e\u003c\/ellipse\u003e\n        \u003crect x=\"70\" y=\"270\" width=\"80\" height=\"18\" rx=\"4\" fill=\"#3E453A\"\u003e\u003c\/rect\u003e\n        \u003cpath d=\"M78 288 L142 288 L134 300 L86 300 Z\" fill=\"#2E3227\"\u003e\u003c\/path\u003e\n        \u003cpath d=\"M60 120 Q60 90 110 90 Q160 90 160 120 L160 250 Q160 270 110 270 Q60 270 60 250 Z\" fill=\"none\" stroke=\"#6B7F5B\" stroke-width=\"3\" opacity=\"0.55\"\u003e\u003c\/path\u003e\n        \u003cpath d=\"M60 120 Q60 90 110 90 Q160 90 160 120\" fill=\"none\" stroke=\"#9AAE87\" stroke-width=\"3\" opacity=\"0.7\"\u003e\u003c\/path\u003e\n        \u003cline x1=\"60\" y1=\"150\" x2=\"160\" y2=\"150\" stroke=\"#6B7F5B\" stroke-width=\"2\" opacity=\"0.4\"\u003e\u003c\/line\u003e\n        \u003cline x1=\"60\" y1=\"200\" x2=\"160\" y2=\"200\" stroke=\"#6B7F5B\" stroke-width=\"2\" opacity=\"0.4\"\u003e\u003c\/line\u003e\n        \u003cg class=\"flame\"\u003e\n          \u003cpath d=\"M110 130C90 160 95 190 110 210C125 190 130 160 110 130Z\" fill=\"#C1531F\" opacity=\"0.9\"\u003e\u003c\/path\u003e\n        \u003c\/g\u003e\n        \u003cg class=\"flame-inner\"\u003e\n          \u003cpath d=\"M110 150C98 172 101 195 110 208C119 195 122 172 110 150Z\" fill=\"#E08A3C\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M110 168C104 182 106 197 110 205C114 197 116 182 110 168Z\" fill=\"#F3EEE2\" opacity=\"0.85\"\u003e\u003c\/path\u003e\n        \u003c\/g\u003e\n        \u003ccircle cx=\"110\" cy=\"90\" r=\"8\" fill=\"#3E453A\"\u003e\u003c\/circle\u003e\n      \u003c\/svg\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"benefits\" id=\"benefits\"\u003e\n  \u003cdiv class=\"wrap\"\u003e\n    \u003cdiv class=\"sec-head reveal\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eWhy you'll love it\u003c\/div\u003e\n      \u003ch2\u003eReal flame. Real ambience. Zero fuss.\u003c\/h2\u003e\n      \u003cp\u003eFake LEDs flicker on a loop. Courtglow burns — a genuine small gas flame with the authentic, irregular dance that only real fire gives off.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit-grid\"\u003e\n      \u003cdiv class=\"benefit\"\u003e\n        \u003csvg class=\"b-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"\u003e\u003cpath d=\"M12 2C9 8 5 10 5 15a7 7 0 0014 0c0-5-4-7-4-11 0 3-2 4-2 6a1.5 1.5 0 01-3 0c0-4 2-5 2-8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003ch3\u003eReal Flame Ambience\u003c\/h3\u003e\n        \u003cp\u003eA genuine small gas flame flickers the way candlelight does — a warmth LEDs simply can't fake.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"benefit\"\u003e\n        \u003csvg class=\"b-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"\u003e\u003crect x=\"4\" y=\"8\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 8V6a4 4 0 018 0v2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003ch3\u003ePortable \u0026amp; Lightweight\u003c\/h3\u003e\n        \u003cp\u003eA compact one-piece build that's just as at home on the patio table as it is in a camping bag.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"benefit\"\u003e\n        \u003csvg class=\"b-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003ch3\u003eNo Lamp Socks or Mantles\u003c\/h3\u003e\n        \u003cp\u003eNo consumable sock to source or replace. Just connect the gas and light it.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"benefit\"\u003e\n        \u003csvg class=\"b-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"\u003e\u003cpath d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003ch3\u003eRuns on Flat Gas Canisters\u003c\/h3\u003e\n        \u003cp\u003eStandard flat\/disposable canisters — easy to find, easy to swap.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- HOW IT WORKS --\u003e\n\u003csection class=\"how\" id=\"how\"\u003e\n  \u003cdiv class=\"wrap\"\u003e\n    \u003cdiv class=\"sec-head reveal\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eThree steps, then glow\u003c\/div\u003e\n      \u003ch2\u003eFrom box to firelight in under a minute\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"how-list\"\u003e\n      \u003cdiv class=\"how-item\"\u003e\n\u003cdiv class=\"how-num\"\u003e01\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eAttach a flat gas canister\u003c\/h3\u003e\n\u003cp\u003eConnect Courtglow to any standard flat\/disposable gas canister — no tools, no adapters.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"how-item\"\u003e\n\u003cdiv class=\"how-num\"\u003e02\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eLight it\u003c\/h3\u003e\n\u003cp\u003eNo mantle sock to fit first. Just connect the gas and light — the flame does the rest.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"how-item\"\u003e\n\u003cdiv class=\"how-num\"\u003e03\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eLet it glow for hours\u003c\/h3\u003e\n\u003cp\u003eSet it on the table, the patio wall, or the camp chair armrest, and enjoy hours of relaxed, flickering light.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- COMPARE + USES, condensed --\u003e\n\u003csection class=\"compare\"\u003e\n  \u003cdiv class=\"wrap\"\u003e\n    \u003cdiv class=\"sec-head reveal\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eSimpler than Cadac or Alva\u003c\/div\u003e\n      \u003ch2\u003eNo mantle sock. No fuss.\u003c\/h2\u003e\n      \u003cp\u003eTraditional gas lamps need a mantle sock fitted and replaced over time. Courtglow skips that step — connect the gas and light it.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"use-scroll reveal\"\u003e\n      \u003cdiv class=\"use-chip\"\u003e🏕️ Camping\u003c\/div\u003e\n      \u003cdiv class=\"use-chip\"\u003e🍽️ Patio evenings\u003c\/div\u003e\n      \u003cdiv class=\"use-chip\"\u003e🌹 Romantic dinners\u003c\/div\u003e\n      \u003cdiv class=\"use-chip\"\u003e🔌 Load-shedding light\u003c\/div\u003e\n      \u003cdiv class=\"use-chip\"\u003e🎁 Gifting\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- SPECS + SAFETY, condensed --\u003e\n\u003csection class=\"specs\"\u003e\n  \u003cdiv class=\"wrap\"\u003e\n    \u003cdiv class=\"specs-grid reveal\"\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"spec-row\"\u003e\n\u003cspan\u003eFuel source\u003c\/span\u003e\u003cspan\u003eFlat\/disposable canister\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"spec-row\"\u003e\n\u003cspan\u003eMantle required\u003c\/span\u003e\u003cspan\u003eNo\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"spec-row\"\u003e\n\u003cspan\u003eUse\u003c\/span\u003e\u003cspan\u003eIndoor \u0026amp; outdoor\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"spec-row\"\u003e\n\u003cspan\u003eQuantity\u003c\/span\u003e\u003cspan\u003e1 piece\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"safety reveal\" style=\"margin-top:36px;\"\u003e\n      \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"\u003e\u003cpath d=\"M12 9v4M12 17h.01M10.3 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.7 3.86a2 2 0 00-3.4 0z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cp\u003e\u003cstrong\u003eOpen flame:\u003c\/strong\u003e requires a compatible gas canister (not included). Use in well-ventilated areas, keep away from children, pets, and flammables, and never leave unattended.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"final\" id=\"order\"\u003e\n  \u003cdiv class=\"wrap\"\u003e\n    \u003cdiv class=\"eyebrow\" style=\"justify-content:center;\"\u003eLimited stock, restocked monthly\u003c\/div\u003e\n    \u003ch2\u003eYour evenings deserve real firelight.\u003c\/h2\u003e\n    \u003cp\u003eNo batteries. No charging. No wax. Just attach a canister and let Courtglow do the rest.\u003c\/p\u003e\n    \u003ca href=\"#\" class=\"btn-primary\"\u003eOrder Your Courtglow\u003c\/a\u003e\n    \u003cdiv class=\"price-tag\"\u003eShips nationwide within South Africa\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cfooter\u003e\n  \u003cspan\u003eCourtglow — Warm light, wherever you need it.\u003c\/span\u003e\n  \u003cspan\u003eIndoor \u0026amp; outdoor use · 1 piece\u003c\/span\u003e\n\u003c\/footer\u003e\n\n\u003cscript\u003e\n  \/\/ Ambient ember particles\n  const emberContainer = document.getElementById('embers');\n  const count = window.innerWidth \u003c 700 ? 8 : 26;\n  for(let i=0;i\u003ccount;i++){\n    const p = document.createElement('div');\n    p.className='ember-particle';\n    const left = Math.random()*100;\n    const dur = 8 + Math.random()*10;\n    const delay = Math.random()*10;\n    const size = 2 + Math.random()*4;\n    p.style.left = left+'vw';\n    p.style.width = size+'px';\n    p.style.height = size+'px';\n    p.style.animationDuration = dur+'s';\n    p.style.animationDelay = delay+'s';\n    emberContainer.appendChild(p);\n  }\n\n  \/\/ Scroll reveal\n  const observer = new IntersectionObserver((entries)=\u003e{\n    entries.forEach(e=\u003e{\n      if(e.isIntersecting){\n        e.target.classList.add('in-view');\n        observer.unobserve(e.target);\n      }\n    });\n  }, { threshold: 0.15 });\n\n  document.querySelectorAll('.reveal, .benefit, .how-item').forEach(el=\u003eobserver.observe(el));\n\u003c\/script\u003e\n\n\u003c\/div\u003e\n\n\u003c\/body\u003e","brand":"LivyCo","offers":[{"title":"Default Title","offer_id":64378401358193,"sku":null,"price":495.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1019\/4855\/5633\/files\/fc30340a-6035-46d3-b3d2-233d395fb49e.png?v=1786283579","url":"https:\/\/www.livyco.co.za\/products\/courtglow-mini-gas-atmosphere-lantern","provider":"LivyCo ","version":"1.0","type":"link"}