{"title":"4K Projectors","description":"\u003cp\u003e4K projectors explained honestly. ISTANA is our native 4K projector; our other 4K models show a native Full HD picture and play 4K content smoothly.\u003c\/p\u003e","products":[{"product_id":"miniray","title":"4K Mini Projector with Electric Focus – Mini Ray | INNOVATIVE","description":"\u003cstyle\u003e\n  .bottom-center{ text-align:center; }\n  .bottom-center img{ display:inline-block; }\n\n  .miniray-desc{\n    --text:#111;\n    --muted:#666;\n    --line:#e9e9e9;\n    --border:#ddd;\n    --side-pad: clamp(16px, 5vw, 32px);\n    --content-max: 1100px;\n    width:100%;\n    margin:0;\n    padding:0;\n    background: transparent;\n    color: var(--text);\n    overflow-x:hidden;\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n  }\n  .miniray-desc, .miniray-desc *{ box-sizing:border-box; }\n  .miniray-desc img{ max-width:100%; height:auto; }\n  .miniray-desc p{ margin:10px 0; }\n  .miniray-desc h2, .miniray-desc h3, .miniray-desc h4{ margin:0; }\n  .miniray-desc ul{ margin:10px 0 0 18px; padding:0; }\n  .miniray-desc li{ margin:10px 0; line-height:1.5; }\n  .miniray-desc .inner{ max-width: var(--content-max); margin: 0 auto; padding-left: var(--side-pad); padding-right: var(--side-pad); }\n  .miniray-desc .hero{ padding: 36px 0 18px; text-align:center; }\n  .miniray-desc .hero-title{ margin-top:10px; margin-bottom:6px; font-size: clamp(24px, 3.2vw, 40px); font-weight: 900; }\n  .miniray-desc .hero img{ max-width: clamp(220px, 28vw, 420px); }\n  .miniray-desc .subtitle{ font-size: clamp(14px, 1.6vw, 18px); color: var(--muted); font-weight: 500; }\n  .miniray-desc .section{ padding: 26px 0; }\n  .miniray-desc .grid{ display:grid; grid-template-columns: 1fr 1fr; gap:26px; }\n  .miniray-desc h3{ margin-bottom:14px; font-size:21px; font-weight:800; }\n  .miniray-desc h4{ margin:22px 0 8px; font-size:16px; font-weight:700; }\n  .miniray-desc .muted{ color:var(--muted); font-size:13px; line-height:1.45; margin-top:8px; }\n  .miniray-desc table{ width:100%; border-collapse:collapse; }\n  .miniray-desc th, .miniray-desc td{ padding:10px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:top; }\n  .miniray-desc td:first-child{ width:55%; color:#555; font-weight:500; }\n  .miniray-desc td:last-child{ font-weight:700; }\n  .miniray-desc .compare{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }\n  .miniray-desc .compare-table th{ font-weight:800; text-align:center; font-size:13px; color:var(--muted); line-height:1.45; }\n  .miniray-desc .compare-table th:first-child{ text-align:left; }\n  .miniray-desc .check{ text-align:center; font-weight:900; }\n  .miniray-desc details{ border: 1px solid var(--border); border-radius: 14px; padding: 12px 12px; background:#fff; margin-top:10px; }\n  .miniray-desc details summary{ cursor:pointer; font-weight: 900; }\n  .miniray-desc details p{ margin: 10px 0 0; color:#222; }\n  @media (max-width: 820px){\n    .miniray-desc .grid{ grid-template-columns: 1fr; }\n    .miniray-desc .section{ padding: 22px 0; }\n    .miniray-desc h3{ font-size: 19px; }\n    .miniray-desc h4{ font-size: 15px; }\n  }\n\n  .mr-pill{padding:10px 22px;border-radius:999px;border:1.5px solid #ccc;font-size:14px;font-weight:600;cursor:pointer;background:#fff;color:#111;transition:background 0.2s,color 0.2s,border-color 0.2s;}\n  .mr-pill:hover{border-color:#888;}\n  .mr-pill.mr-active{background:#111;color:#fff;border-color:#111;}\n  .mr-pause-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.5);border-radius:50%;width:48px;height:48px;display:none;align-items:center;justify-content:center;z-index:20;pointer-events:none;}\n  .mr-pause-icon svg{width:22px;height:22px;fill:#fff;}\n  .mr-pause-icon.mr-show{display:flex;}\n\n  #ip-main-wrap{background:#fff;display:flex;flex-wrap:wrap;gap:20px;padding:30px;border:1px solid #ddd;border-radius:20px;max-width:1100px;margin:30px auto;box-sizing:border-box;box-shadow:0 15px 50px rgba(0,0,0,.07)}\n  .ip-left-panel{flex:1;min-width:320px;display:flex;flex-direction:column}\n  .ip-right-viz{flex:1.5;min-width:350px;background:#000;border-radius:12px;padding:25px;display:flex;flex-direction:column;gap:25px}\n  .ip-top-view{height:220px;background:#111;border-radius:8px;position:relative;overflow:hidden;border:1px solid #333}\n  .wall-line{width:90%;height:16px;background:#fff;margin:15px auto;border-radius:2px;display:flex;align-items:center;justify-content:center;z-index:10;position:relative}\n  .wall-label{color:#000;font-size:10px;font-weight:900;letter-spacing:3px;margin:0}\n  #dist-indicator-line{position:absolute;left:50%;width:2px;background:#e63946;top:31px;transform:translateX(-50%);transition:height .3s cubic-bezier(.165,.84,.44,1);display:flex;align-items:center;justify-content:center;z-index:1}\n  #total-footprint-line{position:absolute;right:10%;width:1px;border-right:1px dashed #666;top:31px;transition:height .3s cubic-bezier(.165,.84,.44,1);display:flex;align-items:flex-end;justify-content:center;z-index:1}\n  .blueprint-tag{background:#000;color:#e63946;font-size:9px;font-weight:900;padding:2px 5px;border:1px solid #e63946;border-radius:3px;white-space:nowrap;position:absolute}\n  #pj-chassis{width:50px;height:40px;background:#e63946;position:absolute;left:50%;transform:translateX(-50%);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;transition:top .3s cubic-bezier(.165,.84,.44,1);z-index:5}\n  #cable-gap{width:50px;height:15px;border:1px dashed #e63946;position:absolute;left:50%;transform:translateX(-50%);transition:top .3s ease;z-index:4}\n  .ip-movie-view{height:240px;background:#000;position:relative;display:flex;align-items:center;justify-content:center;border-radius:8px}\n  #movie-screen{background:url('https:\/\/images.unsplash.com\/photo-1485846234645-a62644f84728?auto=format\u0026fit=crop\u0026q=80\u0026w=1000') center\/cover;transition:all .3s ease;position:relative;border:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:16\/9;width:100%}\n  .mode-box{background:#f8f8f8;padding:15px;border-radius:10px;margin-bottom:20px;border:1px solid #eee}\n  .manual-fields{display:none;margin-top:15px;padding-top:15px;border-top:1px solid #ddd}\n  .miniray-desc input[type=number],.miniray-desc input[type=range]{width:100%;padding:12px;border-radius:8px;border:1px solid #ccc;margin:8px 0;box-sizing:border-box;font-size:16px}\n  .ip-tag{position:absolute;background:#e63946;color:#fff;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:700;white-space:nowrap;z-index:10}\n  #tag-w{bottom:-30px;left:50%;transform:translateX(-50%)}\n  #tag-h{right:-75px;top:50%;transform:translateY(-50%) rotate(90deg)}\n  .label-bold{font-size:11px;font-weight:800;color:#888;text-transform:uppercase;letter-spacing:.5px}\n  .res-box{background:#000;color:#fff;padding:20px;border-radius:12px;margin-bottom:20px}\n  .slider-section{margin-top:auto;padding-top:10px;border-top:1px solid #eee}\n\u003c\/style\u003e\n\u003cdiv class=\"miniray-desc\"\u003e\n\u003cdiv class=\"hero\"\u003e\n\u003cdiv class=\"inner\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/ChatGPT_Image_Dec_29_2025_03_34_57_PM.png?v=1766993727\" alt=\"\"\u003e\u003cbr\u003e\n\u003cdiv class=\"hero-title\"\u003eINNOVATIVE Mini Ray 4K\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003ePalm-size mini projector with electric focus \u0026amp; smart streaming\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"section\"\u003e\n\u003cdiv class=\"inner\"\u003e\n\u003c!-- PLACEMENT SECTION --\u003e\n\u003cdiv class=\"section\"\u003e\n\u003cdiv class=\"inner\"\u003e\n\u003ch3 style=\"text-align:center;\"\u003ePlace It Around Your Room\u003c\/h3\u003e\n\u003cp style=\"text-align:center;color:var(--muted);max-width:580px;margin:0 auto 24px;\"\u003eThe Mini Ray is designed for flexible everyday placement. Put it on your bed, side table, shelf, top shelf, or ceiling mount — depending on your room layout.\u003c\/p\u003e\n\n\u003cdiv id=\"mr-img-wrap\" style=\"position:relative;width:100%;border-radius:14px;overflow:hidden;background:#111;aspect-ratio:16\/9;margin-bottom:18px;border:1px solid #e5e5e5;\"\u003e\n  \u003cimg id=\"mr-img-topshelf\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/hf_20260402_111949_fe8d6ced-2240-4395-9d65-1fcccd25ee41.png?v=1775380324\" style=\"width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;opacity:1;transition:opacity 0.6s ease;\" alt=\"Top Shelf\"\u003e\n  \u003cimg id=\"mr-img-bed\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/hf_20260405_075920_1_fb7bd464-3aa0-4289-b76f-b550aa6b8f91.png?v=1775380324\" style=\"width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;opacity:0;transition:opacity 0.6s ease;\" alt=\"Bed\"\u003e\n  \u003cimg id=\"mr-img-sidetable\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/hf_20260405_035606_b7c16045-d57a-4762-8343-7a1bc3bc748d.png?v=1775380324\" style=\"width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;opacity:0;transition:opacity 0.6s ease;\" alt=\"Side Table\"\u003e\n  \u003cimg id=\"mr-img-ceilingmount\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/hf_20260404_053425_cfe9c419-8224-4bfe-83c3-604c4ea38805.png?v=1775380323\" style=\"width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;opacity:0;transition:opacity 0.6s ease;\" alt=\"Ceiling Mount\"\u003e\n  \u003cimg id=\"mr-img-bedrest\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/hf_20260404_040550_8e7dd31d-9f52-4898-89f5-c66b8d95f5da.png?v=1775380323\" style=\"width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;opacity:0;transition:opacity 0.6s ease;\" alt=\"Bed Rest\"\u003e\n  \u003cdiv id=\"mr-progress\" style=\"position:absolute;bottom:0;left:0;height:3px;background:#fff;width:0%;z-index:10;border-radius:0 2px 2px 0;opacity:0.85;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv id=\"mr-pills\" style=\"display:flex;gap:10px;justify-content:center;flex-wrap:wrap;\"\u003e\n  \u003cbutton class=\"mr-pill mr-active\" data-key=\"topshelf\"\u003eTop Shelf\u003c\/button\u003e\n  \u003cbutton class=\"mr-pill\" data-key=\"bed\"\u003eBed\u003c\/button\u003e\n  \u003cbutton class=\"mr-pill\" data-key=\"sidetable\"\u003eSide Table\u003c\/button\u003e\n  \u003cbutton class=\"mr-pill\" data-key=\"ceilingmount\"\u003eCeiling Mount\u003c\/button\u003e\n  \u003cbutton class=\"mr-pill\" data-key=\"bedrest\"\u003eBed Rest\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var keys = ['topshelf','bed','sidetable','ceilingmount','bedrest'];\n  var DURATION = 3500;\n  var cur = 0;\n  var rafId = null;\n  var progressStart = null;\n  var paused = false;\n  var elapsedWhenPaused = 0;\n\n  var bar = document.getElementById('mr-progress');\n  var wrap = document.getElementById('mr-img-wrap');\n  var pillsEl = document.getElementById('mr-pills');\n\n  function setSlide(idx) {\n    keys.forEach(function(k) {\n      document.getElementById('mr-img-'+k).style.opacity = '0';\n      var p = pillsEl.querySelector('[data-key=\"'+k+'\"]');\n      if(p) p.classList.remove('mr-active');\n    });\n    document.getElementById('mr-img-'+keys[idx]).style.opacity = '1';\n    var ap = pillsEl.querySelector('[data-key=\"'+keys[idx]+'\"]');\n    if(ap) ap.classList.add('mr-active');\n    cur = idx;\n  }\n\n  function startLoop() {\n    cancelAnimationFrame(rafId);\n    function step(now) {\n      if(paused) return;\n      var pct = Math.min(((now - progressStart) \/ DURATION) * 100, 100);\n      bar.style.width = pct + '%';\n      if(pct \u003c 100) {\n        rafId = requestAnimationFrame(step);\n      } else {\n        bar.style.width = '0%';\n        setSlide((cur + 1) % keys.length);\n        progressStart = performance.now();\n        elapsedWhenPaused = 0;\n        rafId = requestAnimationFrame(step);\n      }\n    }\n    rafId = requestAnimationFrame(step);\n  }\n\n  function pause() {\n    if(paused) return;\n    paused = true;\n    cancelAnimationFrame(rafId);\n    elapsedWhenPaused = (parseFloat(bar.style.width) || 0) \/ 100 * DURATION;\n  }\n\n  function resume() {\n    if(!paused) return;\n    paused = false;\n    progressStart = performance.now() - elapsedWhenPaused;\n    startLoop();\n  }\n\n\n\n  \/\/ Desktop only: hover pauses, mouse leave resumes — no icon\n  var isTouch = ('ontouchstart' in window) || (navigator.maxTouchPoints \u003e 0);\n  if(!isTouch) {\n    wrap.addEventListener('mouseenter', pause);\n    wrap.addEventListener('mouseleave', resume);\n  }\n\n  \/\/ Pills: works on both desktop and mobile — just switch slide, auto scroll keeps going\n  pillsEl.addEventListener('click', function(e) {\n    var btn = e.target.closest('.mr-pill');\n    if(!btn) return;\n    var idx = keys.indexOf(btn.dataset.key);\n    if(idx === -1 || idx === cur) return;\n    setSlide(idx);\n    bar.style.width = '0%';\n    elapsedWhenPaused = 0;\n    progressStart = performance.now();\n    if(!paused) startLoop();\n  });\n\n  \/\/ Init\n  progressStart = performance.now();\n  startLoop();\n})();\n\u003c\/script\u003e\n\u003c!-- END PLACEMENT SECTION --\u003e\n\u003ch3\u003eBig-Screen Movies — The Easy Way\u003c\/h3\u003e\n\u003cp\u003eMini Ray is built for \"set it down and press play\" home viewing — compact, simple, fast to start, and whisper-quiet while playing.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMini Ray\u003c\/strong\u003e highlights include Android 11, Full HD 1080p playback, electric focus, and keystone tools for quick alignment.\u003c\/p\u003e\n\u003cp class=\"muted\"\u003eTip: Best used in dim \/ dark rooms for the most cinematic contrast.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"section compare\"\u003e\n\u003cdiv class=\"inner\"\u003e\n\u003ctable class=\"compare-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCompare\u003c\/th\u003e\n\u003cth\u003eMini Ray\u003c\/th\u003e\n\u003cth\u003eTV\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eSmart OS (apps on-device)\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eElectric focus (remote focus)\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✗\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKeystone tools (vertical + corner)\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✗\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePortable, palm-size footprint\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✗\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp class=\"muted\"\u003eDesigned for compact home cinema setups and easy placement.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"section\"\u003e\n\u003cdiv class=\"inner grid\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eWhy Choose Mini Ray\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eElectric focus:\u003c\/strong\u003e adjust sharpness from the remote.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSmart streaming:\u003c\/strong\u003e Android system with common apps available (Netflix \/ YouTube \/ Disney+ \/ Prime Video).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWireless mirroring:\u003c\/strong\u003e mirror your phone for videos and sharing.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eQuick alignment:\u003c\/strong\u003e keystone features help correct angle and corners.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLots of use-cases:\u003c\/strong\u003e movies, casual gaming, and occasional presentations.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003ch4\u003eWarranty \u0026amp; Support\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003e12 Months\u003c\/b\u003e\u003c\/p\u003e\n\u003cp class=\"muted\"\u003eNeed help? Our team is here for you.\u003c\/p\u003e\n\u003cdiv style=\"height: 10px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch4\u003eFAQ\u003c\/h4\u003e\n\u003cdetails\u003e\n\u003csummary\u003eIs Mini Ray easy to set up?\u003c\/summary\u003e\n\u003cp\u003eYes — place it, power on, and use electric focus + keystone tools to dial in the image quickly.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eWhat resolution is it?\u003c\/summary\u003e\n\u003cp\u003eThe page highlights Full HD 1080p video playback.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eDoes it support Netflix \/ YouTube \/ Disney+?\u003c\/summary\u003e\n\u003cp\u003eThe page lists common streaming apps (including Netflix, YouTube 4K, Disney+, Prime Video). App availability can vary by region and updates.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCan I connect a laptop, console, or TV box?\u003c\/summary\u003e\n\u003cp\u003eYes — HDMI is supported, and the page lists typical HDMI devices like laptops and game consoles.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCan I use Bluetooth speakers \/ earbuds?\u003c\/summary\u003e\n\u003cp\u003eThe page mentions built-in Bluetooth audio support for external speakers and earbuds.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003ctable aria-label=\"Mini Ray specifications\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eMovie \u0026amp; Video Picture\u003c\/td\u003e\n\u003ctd\u003e★★★☆☆ (Very Good)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eText \u0026amp; Presentation Readability\u003c\/td\u003e\n\u003ctd\u003e★★★☆☆ (Very Good for slides)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEdge-to-Edge Sharpness\u003c\/td\u003e\n\u003ctd\u003e★★★☆☆ (Sharp center, slightly softer edges)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKeystone Performance\u003c\/td\u003e\n\u003ctd\u003eMaintains well balanced clarity with good keystone adjustment\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePlacement \u0026amp; Focus Notes\u003c\/td\u003e\n\u003ctd\u003eBest overall sharpness is achieved with straight placement and minimal keystone\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eColor Appearance\u003c\/td\u003e\n\u003ctd\u003eNatural and lively without oversaturation\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBlack Appearance\u003c\/td\u003e\n\u003ctd\u003eDark scenes stay dark instead of turning grey\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating System\u003c\/td\u003e\n\u003ctd\u003eAndroid 11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNative Resolution\u003c\/td\u003e\n\u003ctd\u003e1920 × 1080 (HD)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupported Resolution\u003c\/td\u003e\n\u003ctd\u003eUp to 3840 × 2160\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBest Viewing Environment\u003c\/td\u003e\n\u003ctd\u003eLighted rooms, dim or dark rooms\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProjection Size\u003c\/td\u003e\n\u003ctd\u003e30\" – 150\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eImage Offset\u003c\/td\u003e\n\u003ctd\u003e0%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKeystone\u003c\/td\u003e\n\u003ctd\u003eAuto Vertical \u0026amp; Manual Horizontal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLight Source\u003c\/td\u003e\n\u003ctd\u003eLED\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSpeaker\u003c\/td\u003e\n\u003ctd\u003eBuilt-in speaker clear hi-fi audio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWireless\u003c\/td\u003e\n\u003ctd\u003eWi-Fi · Bluetooth\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eConnectivity\u003c\/td\u003e\n\u003ctd\u003eHDMI · USB · 3.5mm Audio Jack\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e12.4 × 6.3 × 17cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e300g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp class=\"muted\"\u003eRatings are relative within the INNOVATIVE lineup and reflect real-world viewing. Image clarity depends on placement, projection size, and keystone usage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003ch3 style=\"text-align: center;\"\u003ePorts\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/93d7418b-a1cf-406a-a1aa-ca4b781a1d94.png?v=1766902374\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003ch3 style=\"text-align: center;\"\u003eThrow Distance \u0026amp; Screen Size\u003c\/h3\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/ChatGPT_Image_Dec_29_2025_02_59_34_PM.png?v=1766991595\" alt=\"\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003ch3 style=\"text-align: center;\"\u003eWhat's included\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/6758d556-37cb-4396-9018-3f324278a3a9.png?v=1767521397\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"all: initial; font-family: Inter,system-ui,sans-serif; display: block; width: 100%;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"miniray-desc\"\u003e\n\u003cdiv id=\"ip-authority-root\" style=\"all: initial; font-family: Inter,system-ui,sans-serif; display: block; width: 100%;\"\u003e\n\u003cdiv id=\"ip-main-wrap\"\u003e\n\u003cdiv class=\"ip-left-panel\"\u003e\n\u003ch2 style=\"margin: 0 0 10px 0; font-size: 26px; font-weight: 800;\"\u003eSmart Setup Planner\u003c\/h2\u003e\n\u003cdiv class=\"mode-box\"\u003e\n\u003clabel class=\"label-bold\"\u003eDevice Preset\u003c\/label\u003e\u003cselect id=\"mode-select\" style=\"width: 100%; padding: 10px; margin-top: 8px; border-radius: 6px;\"\u003e\n\u003coption value=\"brand\"\u003eINNOVATIVE Mini Ray\u003c\/option\u003e\n\u003coption value=\"custom\"\u003eUniversal Mode (Manual Input)\u003c\/option\u003e\n\u003c\/select\u003e\n\u003cdiv id=\"manual-controls\" class=\"manual-fields\"\u003e\n\u003clabel class=\"label-bold\"\u003eCustom Throw Ratio\u003c\/label\u003e \u003cinput type=\"number\" id=\"in-ratio\" value=\"1.2\" step=\"0.1\"\u003e \u003clabel class=\"label-bold\" style=\"margin-top: 10px; display: block;\"\u003eChassis Depth (cm)\u003c\/label\u003e \u003cinput type=\"number\" id=\"in-chassis-cm\" value=\"17\" step=\"1\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"res-box\"\u003e\n\u003cdiv class=\"label-bold\" style=\"color: #bbb; margin-bottom: 5px;\"\u003eMin. Shelf Depth Needed\u003c\/div\u003e\n\u003cdiv id=\"txt-shelf-needed\" style=\"font-size: 28px; font-weight: 900; color: #e63946;\"\u003e--\u003c\/div\u003e\n\u003cdiv style=\"font-size: 10px; opacity: .6; margin-top: 5px;\"\u003e(Chassis + 5cm cable buffer)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"slider-section\"\u003e\n\u003clabel class=\"label-bold\"\u003eDistance: Lens to Wall (Meters)\u003c\/label\u003e \u003cinput type=\"range\" id=\"m-dist\" min=\"1.0\" max=\"5.0\" step=\"0.1\" value=\"2.0\"\u003e\n\u003cdiv id=\"txt-m-dist\" style=\"font-size: 24px; font-weight: 900; color: #000;\"\u003e2.0m\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ip-right-viz\"\u003e\n\u003cdiv class=\"ip-top-view\"\u003e\n\u003cdiv class=\"wall-line\"\u003e\u003cspan class=\"wall-label\"\u003eWALL\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv id=\"dist-indicator-line\"\u003e\u003cspan id=\"tag-dist-blueprint\" class=\"blueprint-tag\" style=\"top: 50%; transform: translateY(-50%);\"\u003e--\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv id=\"total-footprint-line\"\u003e\u003cspan id=\"tag-total-footprint\" class=\"blueprint-tag\" style=\"background: #333; color: #fff; border-color: #555;\"\u003e--\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv id=\"pj-chassis\"\u003eLENS\u003c\/div\u003e\n\u003cdiv id=\"cable-gap\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ip-movie-view\"\u003e\n\u003cdiv id=\"movie-screen\"\u003e\n\u003cdiv id=\"tag-diag\" class=\"ip-tag\" style=\"position: static; margin-bottom: 10px; background: rgba(0,0,0,.8); border: 1px solid #e63946; font-size: 14px; padding: 5px 10px;\"\u003e--\u003c\/div\u003e\n\u003cdiv id=\"tag-w\" class=\"ip-tag\"\u003e--\u003c\/div\u003e\n\u003cdiv id=\"tag-h\" class=\"ip-tag\"\u003e--\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  const d=document.getElementById('m-dist');\n  const m=document.getElementById('mode-select');\n  const c=document.getElementById('manual-controls');\n  function u(){\n    let r,ch;const cb=5;\n    if(m.value==='brand'){c.style.display='none';r=1.23;ch=17;}\n    else{c.style.display='block';r=parseFloat(document.getElementById('in-ratio').value)||1.23;ch=parseFloat(document.getElementById('in-chassis-cm').value)||17;}\n    const dm=parseFloat(d.value);\n    const total=(dm+(ch\/100)+(cb\/100));const shelf=ch+cb;\n    const w=dm\/r;const diag=Math.round((w*39.37)*1.147);\n    document.getElementById('txt-m-dist').innerText=dm.toFixed(1)+'m';\n    document.getElementById('txt-shelf-needed').innerText=shelf+'cm';\n    document.getElementById('tag-diag').innerText=diag+'\" Diagonal';\n    document.getElementById('tag-w').innerText='W: '+w.toFixed(2)+'m';\n    document.getElementById('tag-h').innerText='H: '+(w*0.5625).toFixed(2)+'m';\n    const ps=30;const pd=dm*ps;\n    document.getElementById('dist-indicator-line').style.height=pd+\"px\";\n    document.getElementById('tag-dist-blueprint').innerText=dm.toFixed(1)+\"m\";\n    document.getElementById('total-footprint-line').style.height=(pd+40+15)+\"px\";\n    document.getElementById('tag-total-footprint').innerText=\"Total: \"+total.toFixed(2)+\"m\";\n    document.getElementById('pj-chassis').style.top=(31+pd)+\"px\";\n    document.getElementById('cable-gap').style.top=(31+pd+40)+\"px\";\n    const vs=(diag\/180)*100;\n    document.getElementById('movie-screen').style.width=Math.min(vs,100)+'%';\n  }\n  [d,m,document.getElementById('in-ratio'),document.getElementById('in-chassis-cm')].forEach(e=\u003ee\u0026\u0026e.addEventListener('input',u));\n  u();\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch1 style=\"text-align: center;\"\u003e\n\u003cstrong style=\"font-size: 0.875rem;\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_2_02202f00-23a5-44cf-85d7-60b99521e216.png?v=1714045927\"\u003e\u003c\/strong\u003e \u003cstrong style=\"font-size: 0.875rem;\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_3_c79b66c9-a192-4f54-b6dd-6d5b10a0b4c3.png?v=1714045926\"\u003e\u003c\/strong\u003e\n\u003c\/h1\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_4_b1e967a0-aee7-419b-9c66-84dbdea911da.png?v=1714045927\"\u003e\u003c\/strong\u003e \u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_5_25b1e202-293c-48d3-8f0e-527bc1993f78.png?v=1714045928\"\u003e\u003c\/strong\u003e \u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_6_5a84def1-15ab-4ab3-a95b-745ac835dbbb.png?v=1714045927\"\u003e\u003c\/strong\u003e \u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_7_cba552de-1adf-441b-86a6-bd85be3c7ccb.png?v=1714045927\"\u003e\u003c\/strong\u003e \u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_8.png?v=1714045927\"\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_9.png?v=1714045926\"\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_10_537ca470-ece4-45ae-93d2-46b8880af40b.png?v=1716201981\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_11.png?v=1714045927\"\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_12.png?v=1716201833\"\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Visual_13.png?v=1716375363\"\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"INNOVATIVE","offers":[{"title":"6-Month Coverage","offer_id":47230378115325,"sku":"Ray12Mths-1","price":299.0,"currency_code":"SGD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/miniray.jpg?v=1767009230"},{"product_id":"day-light-innovative-annistyn-4k-3d-super-short-throw-home-business-smart-projector","title":"Netflix 4k Google TV Projector with AI Focus \u0026 HDMI ARC - Annistyn X | INNOVATIVE","description":"\u003cstyle\u003e\n  .bottom-center{\n  text-align:center;\n}\n.bottom-center img{\n  display:inline-block;\n}\n\n  .k5x-desc{\n    --text:#111;\n    --muted:#666;\n    --line:#e9e9e9;\n    --side-pad: clamp(16px, 5vw, 32px);\n    --content-max: 1100px;\n    width:100%;\n    margin:0;\n    padding:0;\n    background: transparent;\n    color: var(--text);\n    overflow-x:hidden;\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n  }\n\n  .k5x-desc, .k5x-desc *{ box-sizing:border-box; }\n  .k5x-desc img{ max-width:100%; height:auto; }\n  .k5x-desc p{ margin:10px 0; }\n  .k5x-desc h2, .k5x-desc h3, .k5x-desc h4{ margin:0; }\n  .k5x-desc ul{ margin:10px 0 0 18px; padding:0; }\n  .k5x-desc li{ margin:10px 0; line-height:1.5; }\n\n  .k5x-desc .inner{\n    max-width: var(--content-max);\n    margin: 0 auto;\n    padding-left: var(--side-pad);\n    padding-right: var(--side-pad);\n  }\n\n  .k5x-desc .hero{\n    padding: 36px 0 18px;\n    text-align:center;\n  }\n  .k5x-desc .hero-title{\n    margin-top:10px;\n    margin-bottom:6px;\n    font-size: clamp(24px, 3.2vw, 40px);\n    font-weight: 900;\n  }\n  .k5x-desc .hero img{\n    max-width: clamp(220px, 28vw, 420px);\n  }\n  .k5x-desc .subtitle{\n    font-size: clamp(14px, 1.6vw, 18px);\n    color: var(--muted);\n    font-weight: 500;\n  }\n\n  .k5x-desc .section{ padding: 26px 0; }\n\n  .k5x-desc .grid{\n    display:grid;\n    grid-template-columns: 1fr 1fr;\n    gap:26px;\n  }\n\n  .k5x-desc h3{\n    margin-bottom:14px;\n    font-size:21px;\n    font-weight:800;\n  }\n\n  .k5x-desc h4{\n    margin:22px 0 8px;\n    font-size:16px;\n    font-weight:700;\n  }\n\n  .k5x-desc .muted{\n    color:var(--muted);\n    font-size:13px;\n    line-height:1.45;\n    margin-top:8px;\n  }\n\n  table{\n    width:100%;\n    border-collapse:collapse;\n  }\n  th, td{\n    padding:10px;\n    border-bottom:1px solid var(--line);\n    font-size:14px;\n    vertical-align:top;\n  }\n  td:first-child{\n    width:55%;\n    color:#555;\n    font-weight:500;\n  }\n  td:last-child{\n    font-weight:700;\n  }\n\n  .compare{\n    border-top:1px solid var(--line);\n    border-bottom:1px solid var(--line);\n  }\n  .compare-table th{\n    font-weight:800;\n    text-align:center;\n  }\n  .compare-table th:first-child{ text-align:left; }\n  .check{\n    text-align:center;\n    font-weight:900;\n  }\n\n   .k5x-desc details{\n      border: 1px solid var(--border);\n      border-radius: 14px;\n      padding: 12px 12px;\n      background:#fff;\n    }\n    .k5x-desc details summary{ cursor:pointer; font-weight: 900; }\n    .k5x-desc details p{ margin: 10px 0 0; color:#222; }\n  }\n  .k5x-desc details[open] summary::after{ content:\"–\"; }\n  .k5x-desc details p{\n    margin:10px 0 0;\n    font-size:13px;\n    color:var(--muted);\n    line-height:1.45;\n  }\n  @media (max-width: 820px){\n    .k5x-desc .grid{ grid-template-columns: 1fr; }\n    .k5x-desc .section{ padding: 22px 0; }\n    .k5x-desc h3{ font-size: 19px; }\n    .k5x-desc h4{ font-size: 15px; }\n  }\n\u003c\/style\u003e\n\u003cstyle\u003e\n  .mewatch-callout{\n    margin: 14px auto 0;\n    max-width: 820px;\n    padding: 14px 16px;\n    border: 1px solid #e9e9e9;\n    border-radius: 14px;\n    background: #fff;\n    text-align: left;\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n  }\n  .mewatch-callout .title{\n    font-weight: 900;\n    font-size: 14px;\n    margin: 0 0 6px;\n    color:#111;\n  }\n  .mewatch-callout .copy{\n    margin: 0;\n    color: #666;\n    font-size: 13px;\n    line-height: 1.45;\n  }\n  .mewatch-badges{\n    margin-top: 10px;\n    display:flex;\n    flex-wrap:wrap;\n    gap:8px;\n  }\n  .mewatch-badge{\n    font-size: 12px;\n    font-weight: 800;\n    padding: 6px 10px;\n    border-radius: 999px;\n    border: 1px solid #e9e9e9;\n    background: #fafafa;\n    color: #222;\n    white-space: nowrap;\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"k5x-desc\"\u003e\n\u003c!-- HERO --\u003e\n\u003cdiv class=\"hero\"\u003e\n\u003cdiv class=\"inner\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/annistyn_123.png?v=1765878631\" alt=\"\"\u003e\u003cbr\u003e\n\u003cdiv class=\"hero-title\"\u003eINNOVATIVE Annistyn X\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003eHigh Brightness Short Throw Projector with Google TV 4k \u0026amp; A.I Focus\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"k5x-desc\"\u003e\n\u003cdiv aria-label=\"Streaming and Live TV\" class=\"mewatch-callout\"\u003e\n\u003cp class=\"title\"\u003eStreaming + Live TV Ready\u003c\/p\u003e\n\u003cp class=\"copy\"\u003eWatch \u003cstrong\u003emewatch Free channels\u003c\/strong\u003e, and upgrade anytime to \u003cstrong\u003emewatch Premium\u003c\/strong\u003e (StarHub add-ons via subscription). Plus enjoy apps like YouTube \u0026amp; Netflix.\u003c\/p\u003e\n\u003cdiv aria-label=\"Supported services\" class=\"mewatch-badges\"\u003e\n\u003cspan class=\"mewatch-badge\"\u003emewatch Free\u003c\/span\u003e \u003cspan class=\"mewatch-badge\"\u003emewatch Premium\u003c\/span\u003e \u003cspan class=\"mewatch-badge\"\u003eStarHub add-ons\u003c\/span\u003e \u003cspan class=\"mewatch-badge\"\u003eYouTube 4K\u003c\/span\u003e \u003cspan class=\"mewatch-badge\"\u003eNetflix 4K\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PICTURE FRAMING --\u003e\n\u003cdiv class=\"section\"\u003e\n\u003cdiv class=\"inner\"\u003e\n\u003ch3\u003ePicture Quality You Can Actually See\u003c\/h3\u003e\n\u003cp\u003eTwo projectors can share similar numbers on paper and still look very different. What matters is how the picture is tuned for real-world viewing.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong data-start=\"0\" data-end=\"15\" data-is-only-node=\"\"\u003eAnnistyn X\u003c\/strong\u003e is built for bright rooms, delivering ultra-vivid HD visuals with high brightness and sharp contrast even in daylight. Its super short-throw design projects a large, clear image from close range without washing out colors.\u003c\/p\u003e\n\u003cp class=\"muted\"\u003eTip: Best used in bright rooms.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- COMPARISON --\u003e\n\u003cdiv class=\"section compare\"\u003e\n\u003cdiv class=\"inner\"\u003e\n\u003ctable class=\"compare-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCompare\u003c\/th\u003e\n\u003cth\u003eAnnistyn X\u003c\/th\u003e\n\u003cth\u003eZen7\u003c\/th\u003e\n\u003cth\u003eDS11\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBuilt-in Google system \u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✕\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✕\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStreaming apps 4k ( YouTube , Netflix \u0026amp; Disney )\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✕\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✕\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDaytime ready \u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePalm size\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✕\u003c\/td\u003e\n\u003ctd class=\"check\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp class=\"muted\"\u003eDesigned for portability and Bright-room use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- TWO COLUMN --\u003e\n\u003cdiv class=\"section\"\u003e\n\u003cdiv class=\"inner grid\"\u003e\n\u003c!-- LEFT --\u003e\n\u003cdiv\u003e\n\u003ch3\u003eWhy Choose Annistyn X\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eSet up in seconds:\u003c\/strong\u003e place it on any flat surface.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWatch directly:\u003c\/strong\u003e built-in Google TV.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWireless mirroring:\u003c\/strong\u003e supports iOS and Android.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePhone as a remote:\u003c\/strong\u003e control playback easily.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGoogle TV voice control:\u003c\/strong\u003e included.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt-in browser:\u003c\/strong\u003e browse the web directly.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003ch4\u003eWarranty \u0026amp; Support\u003c\/h4\u003e\n\u003cp\u003e\u003cstrong\u003eWarranty options are selected above\u003c\/strong\u003e (based on variant).\u003c\/p\u003e\n\u003cp class=\"muted\"\u003eNeed help? Our team is here for you.\u003c\/p\u003e\n\u003cdiv style=\"height: 10px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch4\u003e FAQ\u003c\/h4\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCan I use Annistyn X with lights on or in daylight?\u003c\/summary\u003e\n\u003cp\u003eYes! The projector is bright enough to enjoy with lights on.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eWhy does this projector look clearer than some 4K projectors?\u003c\/summary\u003e\n\u003cp\u003eAs it is a stable native 1080p image with higher brightness and no pixel shifting hence it looks clearer in real homes than a pixel-shifted “4K” projector that loses brightness and sharpness.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCan I wirelessly connect it to my phone?\u003c\/summary\u003e\n\u003cp\u003eYes! The projector allows wireless connection.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCan I use voice control?\u003c\/summary\u003e\n\u003cp\u003eThe projector has a google assistant so yes.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eIs the projector easy to set up?\u003c\/summary\u003e\n\u003cp\u003eYes. Annistyn X features auto focus and automatic keystone correction, so you get a sharp, aligned image within seconds — no manual adjustment required.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eWhat makes this projector special?\u003c\/summary\u003e\n\u003cp\u003eAnnistyn X is optimized for everyday use — combining high real-world brightness, a stable native Full HD image, short-throw projection, and built-in 4K Google TV for an all-in-one experience.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eHow big can the screen be?\u003c\/summary\u003e\n\u003cp\u003eAnnistyn X can project images from 30″ up to 300″. Thanks to its short-throw design, you can enjoy a large screen even in smaller rooms.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eDo I need to connect a laptop or TV box?\u003c\/summary\u003e\n\u003cp\u003eNo. Annistyn works as a standalone smart projector. Just connect Wi-Fi and start streaming. External devices are optional.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCan I connect my phone, PS5, or laptop?\u003c\/summary\u003e\n\u003cp\u003eYes. Annistyn supports HDMI, USB, Bluetooth, and Wi-Fi, making it compatible with gaming consoles, laptops, smartphones, and streaming devices.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- RIGHT --\u003e\n\u003cdiv\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003ctable style=\"width: 99.9638%; height: 1002.27px;\" aria-label=\"K5x specifications\" class=\"specs-table\"\u003e\n\u003ctbody\u003e\n\u003c!-- STAR GRADES --\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eMovie \u0026amp; Video Picture\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e★★★★★ (Excellent)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eText \u0026amp; Presentation Readability\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e★★★★★ (Excellent for slides)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 59.9091px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 59.9091px;\"\u003eEdge-to-Edge Sharpness\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 59.9091px;\"\u003e★★★★★ (Center sharp, edges sharp)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c!-- REAL-WORLD NOTES --\u003e\n\u003ctr style=\"height: 79.5px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 79.5px;\"\u003eKeystone Performance\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 79.5px;\"\u003eMaintains excellent clarity with excellent keystone adjustment\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 99.0909px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 99.0909px;\"\u003ePlacement \u0026amp; Focus Notes\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 99.0909px;\"\u003eBest overall sharpness is achieved with straight placement and minimal keystone\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 59.9091px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 59.9091px;\"\u003eColor Appearance\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 59.9091px;\"\u003eNatural and lively without oversaturation\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 59.9091px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 59.9091px;\"\u003eBlack Appearance\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 59.9091px;\"\u003eDark scenes stay dark instead of turning grey\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c!-- STANDARD SPECS --\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eOperating System\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e\u003cspan\u003eGoogle TV 4K\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eNative Resolution\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e1920 × 1080 (FHD)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eSupported Resolution\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003eUp to \u003cspan\u003e \u003c\/span\u003e\u003cspan class=\"Yjhzub\"\u003e3840 x 2160\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eBest Viewing Environment\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003eBright , dim or dark rooms\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eProjection Size\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e30” – 300”\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eImage Offset\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e100%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eKeystone\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003eAuto Vertical \u0026amp; Manual Horizontal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eLight Source\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003eLED\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eSpeaker\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e10W Built-in enhanced bass\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eWireless\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003eWi-Fi · Bluetooth\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 79.5px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 79.5px;\"\u003eConnectivity\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 79.5px;\"\u003eHDMI · HDMI CEC · HDMI ARC · 2x USB · 3.5mm Audio Jack · RJ45 · DC in\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eDimensions\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e18.3 × 13 × 21cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40.3182px;\"\u003e\n\u003ctd style=\"width: 55.0598%; height: 40.3182px;\"\u003eWeight\u003c\/td\u003e\n\u003ctd style=\"width: 45.0852%; height: 40.3182px;\"\u003e1.6kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp class=\"muted\"\u003eRatings are relative within the INNOVATIVE lineup and reflect real-world viewing. Image clarity depends on placement, projection size, and keystone usage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003ch3\u003eInputs\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003cimg alt=\"\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/94b2c1a8-7601-4184-a25f-410cfc418123.png?v=1765782048\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003ch3\u003eThrow Distance \u0026amp; Screen Size\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/24820094-6b2e-4eb7-af39-50b0081beb16_bb002e55-cab5-4311-8222-0609137af3ff.png?v=1765707990\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003ch3\u003eWhat's included\u003c\/h3\u003e\n\u003cdiv class=\"inner bottom-center\"\u003e\n\u003cimg\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/b96e9e4a-8cee-485a-a18c-5dd123210f3b-Photoroom.png?v=1765784189\" alt=\"\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e#ip-main-wrap{background:#fff;display:flex;flex-wrap:wrap;gap:20px;padding:30px;border:1px solid #ddd;border-radius:20px;max-width:1100px;margin:auto;box-sizing:border-box;box-shadow:0 15px 50px rgba(0,0,0,.07)}.ip-left-panel{flex:1;min-width:320px;display:flex;flex-direction:column}.ip-right-viz{flex:1.5;min-width:350px;background:#000;border-radius:12px;padding:25px;display:flex;flex-direction:column;gap:25px}.ip-top-view{height:220px;background:#111;border-radius:8px;position:relative;overflow:hidden;border:1px solid #333}.wall-line{width:90%;height:16px;background:#fff;margin:15px auto;border-radius:2px;display:flex;align-items:center;justify-content:center;z-index:10;position:relative}.wall-label{color:#000;font-size:10px;font-weight:900;letter-spacing:3px;margin:0}#dist-indicator-line{position:absolute;left:50%;width:2px;background:#e63946;top:31px;transform:translateX(-50%);transition:height .3s cubic-bezier(.165,.84,.44,1);display:flex;align-items:center;justify-content:center;z-index:1}#total-footprint-line{position:absolute;right:10%;width:1px;border-right:1px dashed #666;top:31px;transition:height .3s cubic-bezier(.165,.84,.44,1);display:flex;align-items:flex-end;justify-content:center;z-index:1}.blueprint-tag{background:#000;color:#e63946;font-size:9px;font-weight:900;padding:2px 5px;border:1px solid #e63946;border-radius:3px;white-space:nowrap;position:absolute}#pj-chassis{width:50px;height:40px;background:#e63946;position:absolute;left:50%;transform:translateX(-50%);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;transition:top .3s cubic-bezier(.165,.84,.44,1);z-index:5}#cable-gap{width:50px;height:15px;border:1px dashed #e63946;position:absolute;left:50%;transform:translateX(-50%);transition:top .3s ease;z-index:4}.ip-movie-view{height:240px;background:#000;position:relative;display:flex;align-items:center;justify-content:center;border-radius:8px}#movie-screen{background:url('https:\/\/images.unsplash.com\/photo-1485846234645-a62644f84728?auto=format\u0026fit=crop\u0026q=80\u0026w=1000') center\/cover;transition:all .3s ease;position:relative;border:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:16\/9;width:100%}.mode-box{background:#f8f8f8;padding:15px;border-radius:10px;margin-bottom:20px;border:1px solid #eee}.manual-fields{display:none;margin-top:15px;padding-top:15px;border-top:1px solid #ddd}.k5x-desc input[type=number],.k5x-desc input[type=range]{width:100%;padding:12px;border-radius:8px;border:1px solid #ccc;margin:8px 0;box-sizing:border-box;font-size:16px}.ip-tag{position:absolute;background:#e63946;color:#fff;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:700;white-space:nowrap;z-index:10}#tag-w{bottom:-30px;left:50%;transform:translateX(-50%)}#tag-h{right:-75px;top:50%;transform:translateY(-50%) rotate(90deg)}.label-bold{font-size:11px;font-weight:800;color:#888;text-transform:uppercase;letter-spacing:.5px}.res-box{background:#000;color:#fff;padding:20px;border-radius:12px;margin-bottom:20px}.slider-section{margin-top:auto;padding-top:10px;border-top:1px solid #eee}\u003c\/style\u003e\n\u003cdiv class=\"k5x-desc\"\u003e\n\u003cdiv id=\"ip-authority-root\" style=\"all: initial; font-family: 'Inter',sans-serif; display: block; width: 100%;\"\u003e\n\u003cdiv id=\"ip-main-wrap\"\u003e\n\u003cdiv class=\"ip-left-panel\"\u003e\n\u003ch2 style=\"margin: 0 0 10px 0; font-size: 26px; font-weight: 800;\"\u003eSmart Setup Planner\u003c\/h2\u003e\n\u003cdiv class=\"mode-box\"\u003e\n\u003clabel class=\"label-bold\"\u003eDevice Preset\u003c\/label\u003e\u003cselect id=\"mode-select\" style=\"width: 100%; padding: 10px; margin-top: 8px; border-radius: 6px;\"\u003e\n\u003coption value=\"brand\"\u003eInnovative Annistyn X\u003c\/option\u003e\n\u003coption value=\"custom\"\u003eUniversal Mode (Manual Input)\u003c\/option\u003e\n\u003c\/select\u003e\n\u003cdiv id=\"manual-controls\" class=\"manual-fields\"\u003e\n\u003clabel class=\"label-bold\"\u003eCustom Throw Ratio\u003c\/label\u003e \u003cinput type=\"number\" id=\"in-ratio\" value=\"0.8\" step=\"0.1\"\u003e \u003clabel class=\"label-bold\" style=\"margin-top: 10px; display: block;\"\u003eChassis Depth (cm)\u003c\/label\u003e \u003cinput type=\"number\" id=\"in-chassis-cm\" value=\"17\" step=\"1\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"res-box\"\u003e\n\u003cdiv class=\"label-bold\" style=\"color: #bbb; margin-bottom: 5px;\"\u003eMin. Shelf Depth Needed\u003c\/div\u003e\n\u003cdiv id=\"txt-shelf-needed\" style=\"font-size: 28px; font-weight: 900; color: #e63946;\"\u003e--\u003c\/div\u003e\n\u003cdiv style=\"font-size: 10px; opacity: .6; margin-top: 5px;\"\u003e(Chassis + 5cm cable buffer)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"slider-section\"\u003e\n\u003clabel class=\"label-bold\"\u003eDistance: Lens to Wall (Meters)\u003c\/label\u003e \u003cinput type=\"range\" id=\"m-dist\" min=\"1.0\" max=\"5.0\" step=\"0.1\" value=\"1.8\"\u003e\n\u003cdiv id=\"txt-m-dist\" style=\"font-size: 24px; font-weight: 900; color: #000;\"\u003e1.8m\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ip-right-viz\"\u003e\n\u003cdiv class=\"ip-top-view\"\u003e\n\u003cdiv class=\"wall-line\"\u003e\u003cspan class=\"wall-label\"\u003eWALL\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv id=\"dist-indicator-line\"\u003e\u003cspan id=\"tag-dist-blueprint\" class=\"blueprint-tag\" style=\"top: 50%; transform: translateY(-50%);\"\u003e--\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv id=\"total-footprint-line\"\u003e\u003cspan id=\"tag-total-footprint\" class=\"blueprint-tag\" style=\"background: #333; color: #fff; border-color: #555;\"\u003e--\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv id=\"pj-chassis\"\u003eLENS\u003c\/div\u003e\n\u003cdiv id=\"cable-gap\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ip-movie-view\"\u003e\n\u003cdiv id=\"movie-screen\"\u003e\n\u003cdiv id=\"tag-diag\" class=\"ip-tag\" style=\"position: static; margin-bottom: 10px; background: rgba(0,0,0,.8); border: 1px solid #e63946; font-size: 14px; padding: 5px 10px;\"\u003e--\u003c\/div\u003e\n\u003cdiv id=\"tag-w\" class=\"ip-tag\"\u003e--\u003c\/div\u003e\n\u003cdiv id=\"tag-h\" class=\"ip-tag\"\u003e--\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){const d=document.getElementById('m-dist'),m=document.getElementById('mode-select'),c=document.getElementById('manual-controls');function u(){let r,ch;const cb=5;\nif(m.value==='brand'){c.style.display='none';r=1.2;ch=17;} \nelse{c.style.display='block';r=parseFloat(document.getElementById('in-ratio').value)||1.2;ch=parseFloat(document.getElementById('in-chassis-cm').value)||35;}\nconst dm=parseFloat(d.value),t=(dm+(ch\/100)+(cb\/100)),s=ch+cb,w=dm\/r,dg=Math.round((w*39.37)*1.147);document.getElementById('txt-m-dist').innerText=dm.toFixed(1)+'m';document.getElementById('txt-shelf-needed').innerText=s+'cm';document.getElementById('tag-diag').innerText=dg+'\" Diagonal';document.getElementById('tag-w').innerText='W: '+w.toFixed(2)+'m';document.getElementById('tag-h').innerText='H: '+(w*0.5625).toFixed(2)+'m';const ps=30,pd=dm*ps;document.getElementById('dist-indicator-line').style.height=pd+\"px\";document.getElementById('tag-dist-blueprint').innerText=dm.toFixed(1)+\"m\";document.getElementById('total-footprint-line').style.height=(pd+40+15)+\"px\";document.getElementById('tag-total-footprint').innerText=\"Total: \"+t.toFixed(2)+\"m\";document.getElementById('pj-chassis').style.top=(31+pd)+\"px\";document.getElementById('cable-gap').style.top=(31+pd+40)+\"px\";const vs=(dg\/180)*100;const sc=document.getElementById('movie-screen');sc.style.width=Math.min(vs, 100)+'%';}\n[d,m,document.getElementById('in-ratio'),document.getElementById('in-chassis-cm')].forEach(e=\u003e{e.addEventListener('input',u);});u();})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"INNOVATIVE","offers":[{"title":"12 Months (Standard)","offer_id":45374400069885,"sku":"AnnistynV2","price":2499.0,"currency_code":"SGD","in_stock":true},{"title":"24 Months","offer_id":45374400102653,"sku":"AnnistyV224mth","price":2899.0,"currency_code":"SGD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/Innovative_Annistyn_v2_projector_d7dbf5ff-26ea-456a-9e9e-6a1a375e2b59.jpg?v=1768024844"},{"product_id":"battery-palm-size-innovative-ai-k7x-pro-4k-usb-c-pd-super-short-throw-home-business-smart-projector","title":"Premium Portable Smart Projector (USB-C) – K7x Pro AI | INNOVATIVE","description":"\u003cstyle\u003e\n.k7x-desc{\n--text:#111;\n--muted:#666;\n--line:#e9e9e9;\n--card:#fafafa;\n--side-pad: clamp(16px, 5vw, 32px);\n--content-max: 1100px;\nwidth:100%;\nmargin:0;\npadding:0;\nbackground: transparent;\ncolor: var(--text);\noverflow-x:hidden;\nfont-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n}\n\n\/* Theme reset inside scope *\/\n.k7x-desc, .k7x-desc *{ box-sizing:border-box; }\n.k7x-desc img{ max-width:100%; height:auto; }\n.k7x-desc p{ margin:10px 0; }\n.k7x-desc section{ margin:0; padding:0; display:block; }\n.k7x-desc h2, .k7x-desc h3, .k7x-desc h4{ margin:0; }\n.k7x-desc ul{ margin:10px 0 0 18px; padding:0; }\n.k7x-desc li{ margin:10px 0; line-height:1.5; }\n\n.k7x-desc .inner{\nmax-width: var(--content-max);\nmargin: 0 auto;\npadding-left: var(--side-pad);\npadding-right: var(--side-pad);\n}\n\n\/* HERO *\/\n.k7x-desc .hero{\npadding: 36px 0 18px;\ntext-align:center;\n}\n\n.k7x-desc .hero-title{\nmargin-top:10px;\nmargin-bottom:6px;\nfont-size: clamp(24px, 3.2vw, 40px);\nfont-weight: 900;\nletter-spacing:.4px;\ncolor: var(--text);\n}\n\n.k7x-desc .hero img{\nmax-width: clamp(240px, 30vw, 460px);\ndisplay:inline-block;\n}\n\n.k7x-desc .subtitle{\nmargin:0;\nfont-size: clamp(14px, 1.6vw, 18px);\ncolor: var(--muted);\nfont-weight: 600;\n}\n\n\/* Badges *\/\n.k7x-desc .badge-row{\ndisplay:flex;\nflex-wrap:wrap;\ngap:8px;\njustify-content:center;\nmargin-top:12px;\n}\n\n.k7x-desc .badge{\nborder:1px solid var(--line);\nbackground:#fff;\nborder-radius: 999px;\npadding:8px 10px;\nfont-size:12px;\ncolor:#333;\nfont-weight:800;\nwhite-space:nowrap;\n}\n\n\/* SECTIONS + GRID *\/\n.k7x-desc .section{\npadding: 26px 0;\n}\n\n.k7x-desc .grid{\ndisplay:grid;\ngrid-template-columns: 1fr 1fr;\ngap:26px;\nalign-items:start;\n}\n\n\/* TYPOGRAPHY *\/\n.k7x-desc h3{\nmargin: 0 0 14px;\nfont-size: 21px;\nfont-weight: 900;\nletter-spacing: .2px;\n}\n\n.k7x-desc h4{\nmargin: 22px 0 8px;\nfont-size: 16px;\nfont-weight: 800;\n}\n\n.k7x-desc .muted{\ncolor:var(--muted);\nfont-size:13px;\nline-height:1.45;\nmargin-top:8px;\n}\n\n\/* CARDS *\/\n.k7x-desc .card{\nborder:1px solid var(--line);\nbackground: var(--card);\nborder-radius: 14px;\npadding: 14px 14px 10px;\n}\n\n\/* TABLES *\/\n.k7x-desc table{\nwidth:100%;\nborder-collapse: collapse !important;\nborder-spacing: 0 !important;\n}\n\n.k7x-desc th,\n.k7x-desc td{\nborder:none;\nvertical-align:top;\n}\n\n\/* Comparison *\/\n.k7x-desc .compare{\nborder-top:1px solid var(--line);\nborder-bottom:1px solid var(--line);\npadding: 10px 0;\n}\n\n.k7x-desc .compare-table th,\n.k7x-desc .compare-table td{\npadding: 12px;\nborder-bottom:1px solid var(--line);\nfont-size:14px;\n}\n\n.k7x-desc .compare-table thead th{\nfont-weight:900;\ntext-align:center;\n}\n\n.k7x-desc .compare-table thead th:first-child{\ntext-align:left;\n}\n\n.k7x-desc .compare-table tbody td:first-child{\nfont-weight:900;\nwidth:46%;\n}\n\n.k7x-desc .compare-table tbody td:nth-child(2),\n.k7x-desc .compare-table tbody td:nth-child(3){\nword-break: break-word;\noverflow-wrap:anywhere;\n}\n\n\/* Specs *\/\n.k7x-desc .specs-table{\nborder-top:1px solid var(--line);\nmargin-top:8px;\nbackground:#fff;\nborder-radius: 12px;\noverflow:hidden;\n}\n\n.k7x-desc .specs-table td{\npadding:10px 12px;\nborder-bottom:1px solid var(--line);\nfont-size:14px;\n}\n\n.k7x-desc .specs-table tr:last-child td{\nborder-bottom:none;\n}\n\n.k7x-desc .specs-table td:first-child{\nwidth:55%;\ncolor:#555;\nfont-weight:600;\n}\n\n.k7x-desc .specs-table td:last-child{\nfont-weight:900;\n}\n\n\/* FAQ *\/\n.k7x-desc details{\nborder-top:1px solid var(--line);\npadding:12px 0;\n}\n\n.k7x-desc summary{\ncursor:pointer;\nfont-weight:900;\nlist-style:none;\ndisplay:flex;\nalign-items:center;\njustify-content:space-between;\ngap:12px;\n}\n\n.k7x-desc summary::-webkit-details-marker{\ndisplay:none;\n}\n\n.k7x-desc summary::after{\ncontent:\"+\";\nfont-weight:900;\ncolor:var(--muted);\nflex:0 0 auto;\n}\n\n.k7x-desc details[open] summary::after{\ncontent:\"–\";\n}\n\n.k7x-desc details p{\nmargin:10px 0 0;\nfont-size:13px;\ncolor:var(--muted);\nline-height:1.45;\n}\n\n@media (max-width: 820px){\n.k7x-desc .grid{\ngrid-template-columns: 1fr;\n}\n\n.k7x-desc .section{\npadding: 22px 0;\n}\n\n.k7x-desc h3{\nfont-size: 19px;\n}\n\n.k7x-desc h4{\nfont-size: 15px;\n}\n}\n\n\/* MOBILE FIX: comparison table *\/\n@media (max-width: 640px){\n\n.k7x-desc .compare-table,\n.k7x-desc .compare-table thead,\n.k7x-desc .compare-table tbody,\n.k7x-desc .compare-table th,\n.k7x-desc .compare-table td,\n.k7x-desc .compare-table tr{\ndisplay:block;\nwidth:100%;\n}\n\n.k7x-desc .compare-table thead{\ndisplay:none;\n}\n\n.k7x-desc .compare-table tr{\nborder-bottom:1px solid var(--line);\npadding:10px 0;\n}\n\n.k7x-desc .compare-table td{\nborder:none;\npadding:6px 0;\nfont-size:14px;\nline-height:1.45;\nword-break:break-word;\noverflow-wrap:anywhere;\n}\n\n.k7x-desc .compare-table td:first-child{\nfont-weight:900;\nmargin-bottom:4px;\nwidth:100%;\n}\n\n.k7x-desc .compare-table td:nth-child(2)::before{\ncontent:\"K7x Pro AI: \";\nfont-weight:900;\ncolor:#111;\n}\n\n.k7x-desc .compare-table td:nth-child(3)::before{\ncontent:\"K6s Pro AI: \";\nfont-weight:900;\ncolor:#666;\n}\n\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n.k7x-cine{\n--cine-bg:#070707;\n--cine-panel:#121214;\n--cine-text:#f5f5f7;\n--cine-muted:#a7a7ad;\n--cine-line:rgba(255,255,255,.10);\n--cine-gold:#d7b47a;\n--cine-gold2:#f1d19b;\n--cine-max:1240px;\nwidth:100%;\nmargin:0;\ncolor:var(--cine-text);\nbackground:var(--cine-bg);\nfont-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\noverflow-x:hidden;\n}\n\n.k7x-cine,\n.k7x-cine *{\nbox-sizing:border-box;\n}\n\n.k7x-cine img{\ndisplay:block;\nmax-width:100%;\n}\n\n.k7x-cine button{\nfont:inherit;\n}\n\n.k7x-cine .wrap{\nmax-width:var(--cine-max);\nmargin:auto;\npadding:0 24px;\n}\n\n.k7x-cine .section{\nposition:relative;\npadding:110px 0;\n}\n\n.k7x-cine .kicker{\ntext-transform:uppercase;\nletter-spacing:.18em;\nfont-size:12px;\nfont-weight:800;\ncolor:var(--cine-gold2);\n}\n\n.k7x-cine .h2{\nfont-size:clamp(38px,5.5vw,76px);\nline-height:.98;\nletter-spacing:-.055em;\nmargin:12px 0 20px;\nfont-weight:800;\ncolor:var(--cine-text);\n}\n\n.k7x-cine .h3{\nfont-size:clamp(26px,3.5vw,42px);\nline-height:1.02;\nletter-spacing:-.035em;\nmargin:0 0 12px;\ncolor:var(--cine-text);\n}\n\n.k7x-cine .lead{\nfont-size:clamp(17px,2vw,23px);\nline-height:1.55;\ncolor:#c4c4ca;\nmax-width:720px;\n}\n\n.k7x-cine .small{\nfont-size:14px;\nline-height:1.6;\ncolor:var(--cine-muted);\n}\n\n.k7x-cine .center{\ntext-align:center;\n}\n\n.k7x-cine .center .lead{\nmargin-left:auto;\nmargin-right:auto;\n}\n\n.k7x-cine .divider{\nborder-top:1px solid var(--cine-line);\n}\n\n\/* STORY *\/\n.k7x-cine .story{\nheight:100vh;\nmin-height:720px;\nbackground:#060606;\nposition:relative;\n}\n\n.k7x-cine .story-sticky{\nposition:relative;\ntop:0;\nheight:100%;\ndisplay:grid;\nplace-items:center;\noverflow:hidden;\n}\n\n.k7x-cine .story-core{\nposition:relative;\nwidth:min(1120px,90vw);\ntext-align:center;\ncursor:default;\nuser-select:none;\n-webkit-tap-highlight-color:transparent;\n}\n\n.k7x-cine .story-product{\nposition:relative;\nwidth:100%;\nmargin:0 auto;\noverflow:hidden;\nborder:1px solid rgba(255,255,255,.1);\nborder-radius:34px;\nfilter:drop-shadow(0 45px 70px rgba(0,0,0,.6));\ntransition:\ntransform .68s cubic-bezier(.22,1,.36,1),\nopacity .42s ease;\n}\n\n.k7x-cine .story-product::after{\ncontent:\"\";\nposition:absolute;\ninset:0;\nborder-radius:inherit;\nbackground:\nlinear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.18)),\nradial-gradient(circle at 50% 50%,transparent 15%,rgba(0,0,0,.18) 100%);\npointer-events:none;\nz-index:2;\n}\n\n.k7x-cine .story-product img{\nwidth:100%;\naspect-ratio:16\/9;\ndisplay:block;\nobject-fit:cover;\ntransition:\nopacity .58s ease,\ntransform .78s cubic-bezier(.22,1,.36,1);\nwill-change:opacity,transform;\n}\n\n.k7x-cine .story-product img.is-underlay{\nopacity:.6;\ntransform:scale(.992);\n}\n\n.k7x-cine .story-product .story-image-overlay{\nposition:absolute;\ninset:0;\nwidth:100%;\nheight:100%;\nopacity:0;\ntransform:scale(1.018);\npointer-events:none;\nz-index:1;\n}\n\n.k7x-cine .story-product .story-image-overlay.is-visible{\nopacity:1;\ntransform:scale(1);\n}\n\n.k7x-cine .story-line{\nposition:absolute;\nz-index:3;\nleft:50%;\ntop:50%;\ntransform:translate(-50%,-50%);\nwidth:min(1000px,88vw);\nheight:150px;\npointer-events:none;\ntext-shadow:0 4px 28px rgba(0,0,0,.75);\n}\n\n.k7x-cine .story-message{\nposition:absolute;\ninset:0;\ndisplay:grid;\nplace-items:center;\nfont-size:clamp(42px,7vw,92px);\nline-height:.95;\nletter-spacing:-.06em;\nfont-weight:850;\nopacity:0;\ntransform:translateY(18px) scale(.985);\ntransition:\nopacity .48s ease,\ntransform .48s cubic-bezier(.22,1,.36,1);\ncolor:#fff;\nwill-change:opacity,transform;\n}\n\n.k7x-cine .story-message.active{\nopacity:1;\ntransform:translateY(0) scale(1);\n}\n\n\n\/* =========================================================\n   K7X AUTO STORY SLIDESHOW\n   5 slides x 2.5 seconds = 12.5 second loop.\n   Pure CSS so it keeps working even if Shopify blocks\/defers JS.\n========================================================= *\/\n.k7x-cine .story-product .story-slide{\nposition:absolute !important;\ninset:0 !important;\nz-index:1;\nwidth:100% !important;\nheight:100% !important;\nmax-width:none !important;\nmax-height:none !important;\nmargin:0 !important;\nobject-fit:cover !important;\nobject-position:center center !important;\nopacity:0;\ntransform:scale(1.01);\nanimation-name:k7x-story-slide-show;\nanimation-duration:12.5s;\nanimation-timing-function:linear;\nanimation-iteration-count:infinite;\nanimation-fill-mode:both;\nwill-change:opacity,transform;\n}\n\n\/* Start each slide at a different point in the same animation cycle. *\/\n.k7x-cine .story-product .story-slide-1{ animation-delay:0s; }\n.k7x-cine .story-product .story-slide-2{ animation-delay:-10s; }\n.k7x-cine .story-product .story-slide-3{ animation-delay:-7.5s; }\n.k7x-cine .story-product .story-slide-4{ animation-delay:-5s; }\n.k7x-cine .story-product .story-slide-5{ animation-delay:-2.5s; }\n\n@keyframes k7x-story-slide-show{\n0%,16%{\nopacity:1;\ntransform:scale(1);\n}\n20%,96%{\nopacity:0;\ntransform:scale(1.01);\n}\n100%{\nopacity:1;\ntransform:scale(1);\n}\n}\n\n\/* Matching text automatically changes with each image. *\/\n.k7x-cine .story-message.story-message-slide{\nopacity:0;\ntransform:translateY(18px) scale(.985);\nanimation-name:k7x-story-message-show;\nanimation-duration:12.5s;\nanimation-timing-function:linear;\nanimation-iteration-count:infinite;\nanimation-fill-mode:both;\nwill-change:opacity,transform;\n}\n\n.k7x-cine .story-message-1{ animation-delay:0s; }\n.k7x-cine .story-message-2{ animation-delay:-10s; }\n.k7x-cine .story-message-3{ animation-delay:-7.5s; }\n.k7x-cine .story-message-4{ animation-delay:-5s; }\n.k7x-cine .story-message-5{ animation-delay:-2.5s; }\n\n@keyframes k7x-story-message-show{\n0%,16%{\nopacity:1;\ntransform:translateY(0) scale(1);\n}\n20%,96%{\nopacity:0;\ntransform:translateY(12px) scale(.99);\n}\n100%{\nopacity:1;\ntransform:translateY(0) scale(1);\n}\n}\n\n\/* BATTERY *\/\n.k7x-cine .battery-section{\nbackground:linear-gradient(180deg,#080808,#101013 52%,#080808);\npadding-top:54px;\n}\n\n.k7x-cine .battery-layout{\ndisplay:grid;\ngrid-template-columns:1.05fr .95fr;\ngap:64px;\nalign-items:center;\n}\n\n.k7x-cine .battery-visual{\nborder-radius:34px;\nmin-height:600px;\nbackground:\nlinear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.7)),\nurl('https:\/\/innovativeprojector.com\/cdn\/shop\/files\/k7x_result_v2_44396994-5258-482e-8a6f-4749a71e6150.jpg?v=1789641326\u0026width=1946')\ncenter\/cover no-repeat;\nposition:relative;\noverflow:hidden;\nborder:1px solid var(--cine-line);\n}\n\n.k7x-cine .battery-chip{\nposition:absolute;\nleft:26px;\nbottom:26px;\nbackground:rgba(10,10,12,.72);\nbackdrop-filter:blur(16px);\nborder:1px solid var(--cine-line);\nborder-radius:18px;\npadding:18px 20px;\nmin-width:220px;\n}\n\n.k7x-cine .battery-chip strong{\ndisplay:block;\nfont-size:30px;\nletter-spacing:-.04em;\n}\n\n.k7x-cine .battery-meter{\nmargin:30px 0 14px;\nborder:1px solid rgba(255,255,255,.2);\nheight:52px;\nborder-radius:15px;\npadding:5px;\nposition:relative;\ndisplay:flex;\ngap:4px;\noverflow:hidden;\n}\n\n.k7x-cine .battery-meter::after{\ncontent:\"\";\nposition:absolute;\nright:-8px;\ntop:15px;\nwidth:6px;\nheight:20px;\nborder-radius:0 4px 4px 0;\nbackground:#595960;\n}\n\n.k7x-cine .battery-stage{\nheight:100%;\nwidth:0;\ndisplay:grid;\nplace-items:center;\noverflow:hidden;\nwhite-space:nowrap;\nfont-size:10px;\nfont-weight:800;\nletter-spacing:.08em;\ntext-transform:uppercase;\ntransition:width 1.2s cubic-bezier(.2,.8,.2,1);\n}\n\n.k7x-cine .battery-stage.built-in{\nborder-radius:10px 4px 4px 10px;\nbackground:linear-gradient(90deg,#9c7847,#d7b47a);\ncolor:#120e08;\n}\n\n.k7x-cine .battery-stage.power-bank{\nborder-radius:4px 10px 10px 4px;\nbackground:linear-gradient(90deg,#efe2c8,#fff2cf);\ncolor:#18130b;\n}\n\n.k7x-cine .battery-labels{\ndisplay:flex;\njustify-content:space-between;\ncolor:#77777f;\nfont-size:11px;\n}\n\n.k7x-cine .battery-section.in-view .battery-stage{\nwidth:calc(50% - 2px);\n}\n\n\/* SMART SETUP *\/\n.k7x-cine .setup-grid{\ndisplay:grid;\ngrid-template-columns:1fr 1fr;\ngap:18px;\nmargin-top:45px;\n}\n\n.k7x-cine .demo-card{\nborder-radius:30px;\nborder:1px solid var(--cine-line);\nbackground:#101012;\nmin-height:440px;\npadding:30px;\noverflow:hidden;\nposition:relative;\n}\n\n.k7x-cine .screen-demo{\nheight:260px;\nborder-radius:20px;\nbackground:\nradial-gradient(circle at 50% 50%,rgba(215,180,122,.12),transparent 34%),\nlinear-gradient(135deg,#11151d,#202a3a 55%,#15131c);\nposition:relative;\nmargin-top:26px;\noverflow:hidden;\ntransform:perspective(800px) rotateY(-8deg) rotateZ(-2deg);\nfilter:blur(5px);\ntransition:1s cubic-bezier(.2,.8,.2,1);\n}\n\n.k7x-cine .demo-card.in-view .screen-demo{\ntransform:none;\nfilter:none;\n}\n\n.k7x-cine .screen-demo::before{\ncontent:\"\";\nposition:absolute;\ninset:16px;\nborder:1px solid rgba(215,180,122,.42);\nborder-radius:12px;\n}\n\n.k7x-cine .laser-sensor{\nposition:absolute;\nleft:26px;\ntop:24px;\ndisplay:flex;\nalign-items:center;\ngap:9px;\ncolor:#d7b47a;\nfont-size:10px;\nfont-weight:800;\nletter-spacing:.12em;\ntext-transform:uppercase;\n}\n\n.k7x-cine .laser-dot{\nwidth:8px;\nheight:8px;\nborder-radius:50%;\nbackground:#f1d19b;\nbox-shadow:\n0 0 0 5px rgba(215,180,122,.10),\n0 0 22px rgba(241,209,155,.75);\nanimation:k7x-laser-pulse 1s ease-out infinite;\n}\n\n.k7x-cine .focus-reticle{\nposition:absolute;\nleft:50%;\ntop:50%;\nwidth:82px;\nheight:82px;\ntransform:translate(-50%,-50%);\nborder:2px solid #e3be7c;\nborder-radius:50%;\nbackground:transparent;\nbox-shadow:0 0 32px rgba(215,180,122,.18);\n}\n\n.k7x-cine .focus-reticle::before,\n.k7x-cine .focus-reticle::after{\ncontent:\"\";\nposition:absolute;\nbackground:#e3be7c;\n}\n\n.k7x-cine .focus-reticle::before{\nleft:50%;\ntop:-10px;\nwidth:2px;\nheight:100px;\ntransform:translateX(-50%);\n}\n\n.k7x-cine .focus-reticle::after{\ntop:50%;\nleft:-10px;\nheight:2px;\nwidth:100px;\ntransform:translateY(-50%);\n}\n\n.k7x-cine .focus-speed{\nposition:absolute;\nright:22px;\nbottom:20px;\ntext-align:right;\n}\n\n.k7x-cine .focus-speed strong{\ndisplay:block;\ncolor:#fff;\nfont-size:34px;\nline-height:.9;\nletter-spacing:-.05em;\n}\n\n.k7x-cine .focus-speed span{\ncolor:#d7b47a;\nfont-size:10px;\nfont-weight:800;\nletter-spacing:.14em;\ntext-transform:uppercase;\n}\n\n@keyframes k7x-laser-pulse{\n0%{\nbox-shadow:\n0 0 0 0 rgba(215,180,122,.34),\n0 0 22px rgba(241,209,155,.75);\n}\n\n100%{\nbox-shadow:\n0 0 0 16px rgba(215,180,122,0),\n0 0 22px rgba(241,209,155,.75);\n}\n}\n\n.k7x-cine .demo-badge{\ndisplay:inline-flex;\npadding:8px 11px;\nborder:1px solid var(--cine-line);\nborder-radius:999px;\ncolor:#ccc;\nfont-size:11px;\ntext-transform:uppercase;\nletter-spacing:.1em;\n}\n\n.k7x-cine .offset-demo{\nheight:280px;\nposition:relative;\nmargin-top:24px;\n}\n\n.k7x-cine .offset-image{\ndisplay:block;\nwidth:100%;\nheight:100%;\nobject-fit:contain;\nobject-position:center;\nbackground:#08090c;\nborder-radius:16px;\nborder:1px solid rgba(255,255,255,.12);\nbox-shadow:0 18px 50px rgba(0,0,0,.38);\npadding:18px;\n}\n\n\/* ENTERTAINMENT *\/\n.k7x-cine .ent-card{\nmargin-top:42px;\nborder:1px solid var(--cine-line);\nborder-radius:34px;\noverflow:hidden;\nmin-height:620px;\nposition:relative;\nbackground:#0d0d0f;\nisolation:isolate;\n}\n\n.k7x-cine .ent-card\u003eimg{\nposition:absolute;\ninset:0;\nwidth:100%;\nheight:100%;\nobject-fit:cover;\nopacity:.30;\ntransform:scale(1.015);\nz-index:-2;\n}\n\n.k7x-cine .ent-card::after{\ncontent:\"\";\nposition:absolute;\ninset:0;\nz-index:-1;\nbackground:\nlinear-gradient(90deg,rgba(6,6,7,.97),rgba(6,6,7,.74) 52%,rgba(6,6,7,.45)),\nlinear-gradient(180deg,rgba(6,6,7,.18),rgba(6,6,7,.70));\n}\n\n.k7x-cine .ent-overlay{\nmin-height:620px;\ndisplay:flex;\nalign-items:center;\npadding:72px;\n}\n\n.k7x-cine .ent-content{\nwidth:100%;\nposition:relative;\nz-index:2;\n}\n\n.k7x-cine .ent-static-title{\nmax-width:900px;\nmargin:12px 0 18px;\nfont-size:clamp(42px,6vw,78px);\nline-height:.98;\nletter-spacing:-.055em;\nfont-weight:850;\ncolor:#fff;\n}\n\n.k7x-cine .ent-static-copy{\nmax-width:700px;\nmargin:0;\nfont-size:clamp(17px,2vw,22px);\nline-height:1.55;\ncolor:#d0d0d5;\n}\n\n.k7x-cine .ent-app-grid{\ndisplay:grid;\ngrid-template-columns:repeat(5,minmax(0,1fr));\ngap:14px;\nmargin-top:42px;\n}\n\n.k7x-cine .ent-app-card{\nmin-height:112px;\npadding:20px 16px;\nborder:1px solid rgba(255,255,255,.14);\nborder-radius:20px;\nbackground:rgba(12,12,15,.62);\nbackdrop-filter:blur(12px);\ndisplay:flex;\nalign-items:center;\njustify-content:center;\ngap:12px;\ncolor:#fff;\nfont-weight:800;\nfont-size:15px;\ntext-align:center;\n}\n\n.k7x-cine .ent-app-card .service-icon{\nwidth:42px;\nmin-width:42px;\nheight:42px;\ndisplay:inline-grid;\nplace-items:center;\nborder:1px solid rgba(215,180,122,.28);\nborder-radius:13px;\nbackground:linear-gradient(145deg,rgba(215,180,122,.14),rgba(255,255,255,.03));\nbox-shadow:\ninset 0 1px 0 rgba(255,255,255,.06),\n0 8px 24px rgba(0,0,0,.20);\ncolor:#f1d19b;\nflex:0 0 auto;\n}\n\n.k7x-cine .ent-app-card .service-icon svg{\nwidth:23px;\nheight:23px;\ndisplay:block;\nfill:none;\nstroke:currentColor;\nstroke-width:1.8;\nstroke-linecap:round;\nstroke-linejoin:round;\n}\n\n.k7x-cine .ent-app-note{\nmargin-top:18px;\ncolor:#77777f;\nfont-size:12px;\nline-height:1.5;\n}\n\n.k7x-cine .ent-more{\nmargin-top:20px;\ncolor:#888891;\nfont-size:13px;\nletter-spacing:.04em;\n}\n\n.k7x-cine .reveal{\nopacity:0;\ntransform:translateY(26px);\ntransition:\nopacity .8s ease,\ntransform .8s ease;\n}\n\n.k7x-cine .reveal.in-view{\nopacity:1;\ntransform:none;\n}\n\n@media(max-width:900px){\n\n.k7x-cine .battery-layout,\n.k7x-cine .setup-grid{\ngrid-template-columns:1fr;\n}\n\n.k7x-cine .battery-visual{\nmin-height:480px;\n}\n\n.k7x-cine .ent-overlay{\npadding:46px 32px;\n}\n\n.k7x-cine .ent-app-grid{\ngrid-template-columns:repeat(2,minmax(0,1fr));\n}\n\n}\n\n@media(max-width:620px){\n\n.k7x-cine .section{\npadding:82px 0;\n}\n\n.k7x-cine .wrap{\npadding:0 16px;\n}\n\n.k7x-cine .battery-visual{\nmin-height:410px;\n}\n\n.k7x-cine .battery-stage{\nfont-size:8px;\nletter-spacing:.03em;\n}\n\n.k7x-cine .story{\nheight:100dvh;\nmin-height:620px;\n}\n\n.k7x-cine .story-sticky{\nheight:100dvh;\n}\n\n.k7x-cine .battery-section{\npadding-top:42px;\n}\n\n.k7x-cine .ent-card{\nmin-height:560px;\n}\n\n.k7x-cine .ent-overlay{\nmin-height:560px;\npadding:38px 22px;\n}\n\n.k7x-cine .ent-app-grid{\ngrid-template-columns:1fr 1fr;\ngap:10px;\nmargin-top:30px;\n}\n\n.k7x-cine .ent-app-card{\nmin-height:86px;\npadding:14px 10px;\nfont-size:13px;\n}\n\n.k7x-cine .ent-app-card:last-child{\ngrid-column:1 \/ -1;\n}\n\n.k7x-cine .ent-static-title{\nfont-size:clamp(38px,12vw,58px);\n}\n\n}\n\n@media(prefers-reduced-motion:reduce){\n\n.k7x-cine .reveal,\n.k7x-cine .story-product,\n.k7x-cine .story-message,\n.k7x-cine .screen-demo{\ntransition:none!important;\n}\n\n}\n\n\/* FULL-BLEED SHOPIFY FIX *\/\n.k7x-cine,\n.k7x-desc{\nwidth:100vw !important;\nmax-width:none !important;\nmargin-left:calc(50% - 50vw) !important;\nmargin-right:calc(50% - 50vw) !important;\n}\n\n.k7x-cine .story-core{\nwidth:100vw !important;\nmax-width:none !important;\n}\n\n.k7x-cine .story-product{\nwidth:100vw !important;\nheight:100dvh;\nborder-radius:0 !important;\nborder-left:0 !important;\nborder-right:0 !important;\n}\n\n.k7x-cine .story-product img{\nwidth:100% !important;\nheight:100% !important;\naspect-ratio:auto !important;\nobject-fit:cover !important;\n}\n\nhtml,\nbody{\noverflow-x:clip;\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n@media (max-width: 620px){\n\n\/* MOBILE STORY: true full-screen \/ full-bleed lifestyle scene *\/\n.k7x-cine .story,\n.k7x-cine .story-sticky,\n.k7x-cine .story-core,\n.k7x-cine .story-product{\nwidth:100vw !important;\nmax-width:none !important;\nheight:100svh !important;\nmin-height:100svh !important;\n}\n\n.k7x-cine .story,\n.k7x-cine .story-sticky,\n.k7x-cine .story-core{\noverflow:hidden !important;\n}\n\n.k7x-cine .story-product{\nisolation:isolate;\nbackground:#050505;\noverflow:hidden;\ntransform:none;\nborder:0 !important;\nborder-radius:0 !important;\nfilter:none !important;\n}\n\n\/* No blurred\/letterboxed background on mobile — the real image fills the viewport. *\/\n.k7x-cine .story-product::before{\ndisplay:none !important;\ncontent:none !important;\n}\n\n.k7x-cine .story-product::after{\nz-index:2;\nbackground:\nlinear-gradient(\n180deg,\nrgba(0,0,0,.04) 0%,\nrgba(0,0,0,.02) 56%,\nrgba(0,0,0,.18) 72%,\nrgba(0,0,0,.64) 100%\n);\n}\n\n.k7x-cine .story-product img{\nposition:absolute !important;\ninset:0;\nz-index:1;\nwidth:100vw !important;\nheight:100svh !important;\nmax-width:none !important;\nmax-height:none !important;\nobject-fit:cover !important;\nobject-position:center center !important;\n}\n\n.k7x-cine .story-product .story-image-overlay{\nz-index:1;\n}\n\n.k7x-cine .story-line{\ntop:auto;\nbottom:calc(72px + env(safe-area-inset-bottom));\nwidth:calc(100vw - 32px);\nheight:96px;\ntransform:translateX(-50%);\ntext-shadow:0 3px 24px rgba(0,0,0,.95);\n}\n\n.k7x-cine .story-message{\npadding:0 8px;\nfont-size:clamp(30px,9.5vw,44px);\nline-height:.98;\nletter-spacing:-.045em;\n}\n\n.k7x-cine .section{\npadding:64px 0;\n}\n\n.k7x-cine .wrap{\npadding-left:18px;\npadding-right:18px;\n}\n\n.k7x-cine .h2{\nfont-size:clamp(34px,11vw,48px);\nline-height:1.02;\nmargin-bottom:16px;\n}\n\n.k7x-cine .h3{\nfont-size:clamp(24px,7.4vw,32px);\nline-height:1.06;\n}\n\n.k7x-cine .lead{\nfont-size:16px;\nline-height:1.55;\n}\n\n.k7x-cine .small{\nfont-size:12px;\nline-height:1.5;\n}\n\n.k7x-cine .kicker{\nfont-size:10px;\nletter-spacing:.15em;\n}\n\n.k7x-cine .battery-section{\npadding-top:36px;\n}\n\n.k7x-cine .battery-layout{\ngap:32px;\n}\n\n.k7x-cine .battery-visual{\nmin-height:min(82vw,360px);\nborder-radius:22px;\nbackground-position:center;\n}\n\n.k7x-cine .battery-chip{\nleft:14px;\nright:14px;\nbottom:14px;\nmin-width:0;\npadding:14px 16px;\nborder-radius:16px;\n}\n\n.k7x-cine .battery-chip strong{\nfont-size:26px;\n}\n\n.k7x-cine .battery-meter{\nheight:46px;\nmargin-top:24px;\n}\n\n.k7x-cine .battery-stage{\nfont-size:7px;\nletter-spacing:.02em;\n}\n\n.k7x-cine .battery-labels{\nfont-size:10px;\n}\n\n.k7x-cine .setup-grid{\ngap:14px;\nmargin-top:30px;\n}\n\n.k7x-cine .demo-card{\nmin-height:0;\npadding:20px;\nborder-radius:22px;\n}\n\n.k7x-cine .screen-demo{\nheight:218px;\nmargin-top:20px;\nborder-radius:16px;\n}\n\n.k7x-cine .offset-demo{\nheight:auto;\nmargin-top:18px;\noverflow:hidden;\nborder-radius:14px;\nbackground:#08090c;\n}\n\n.k7x-cine .offset-image{\nwidth:100%;\nheight:auto;\nmax-height:none;\nobject-fit:contain;\nobject-position:center;\npadding:0;\nborder-radius:14px;\n}\n\n.k7x-cine .focus-reticle{\nwidth:66px;\nheight:66px;\n}\n\n.k7x-cine .focus-reticle::before{\nheight:84px;\ntop:-9px;\n}\n\n.k7x-cine .focus-reticle::after{\nwidth:84px;\nleft:-9px;\n}\n\n.k7x-cine .focus-speed{\nright:16px;\nbottom:15px;\n}\n\n.k7x-cine .focus-speed strong{\nfont-size:28px;\n}\n\n.k7x-cine .laser-sensor{\nleft:18px;\ntop:18px;\nfont-size:9px;\n}\n\n.k7x-cine .ent-card{\nmin-height:520px;\nborder-radius:22px;\nmargin-top:28px;\n}\n\n.k7x-cine .ent-overlay{\nmin-height:520px;\npadding:30px 20px;\nalign-items:flex-end;\n}\n\n.k7x-cine .ent-static-title{\nfont-size:clamp(32px,10vw,44px);\nline-height:1.02;\nmargin-bottom:14px;\n}\n\n.k7x-cine .ent-static-copy{\nfont-size:15px;\nline-height:1.5;\n}\n\n.k7x-cine .ent-app-grid{\ngrid-template-columns:1fr 1fr;\ngap:9px;\nmargin-top:24px;\n}\n\n.k7x-cine .ent-app-card{\nmin-height:78px;\npadding:12px 8px;\nborder-radius:15px;\nfont-size:12px;\ngap:8px;\n}\n\n.k7x-cine .ent-app-card .service-icon{\nwidth:36px;\nmin-width:36px;\nheight:36px;\nborder-radius:11px;\n}\n\n.k7x-cine .ent-app-card .service-icon svg{\nwidth:20px;\nheight:20px;\n}\n\n.k7x-cine .ent-app-note{\nfont-size:10.5px;\nmargin-top:14px;\n}\n\n.k7x-cine .ent-app-card:last-child{\ngrid-column:1 \/ -1;\n}\n\n.k7x-desc{\noverflow:hidden;\n}\n\n.k7x-desc .inner{\npadding-left:18px;\npadding-right:18px;\n}\n\n.k7x-desc .hero{\npadding:28px 0 14px;\n}\n\n.k7x-desc .hero img{\nmax-width:min(78vw,330px);\n}\n\n.k7x-desc .hero-title{\nfont-size:28px;\nline-height:1.08;\nmargin-top:8px;\n}\n\n.k7x-desc .subtitle{\nfont-size:13px;\nline-height:1.45;\npadding:0 4px;\n}\n\n.k7x-desc .badge-row{\ngap:6px;\nmargin-top:10px;\n}\n\n.k7x-desc .badge{\nfont-size:10px;\npadding:6px 8px;\n}\n\n.k7x-desc .section{\npadding:20px 0;\n}\n\n.k7x-desc h3{\nfont-size:19px;\nline-height:1.25;\n}\n\n.k7x-desc h4{\nfont-size:15px;\n}\n\n.k7x-desc p,\n.k7x-desc li{\nfont-size:14px;\nline-height:1.55;\n}\n\n.k7x-desc .card{\npadding:12px 12px 8px;\nborder-radius:12px;\n}\n\n.k7x-desc .compare{\npadding:8px 0;\n}\n\n.k7x-desc .compare-table td{\nfont-size:13px;\nline-height:1.5;\n}\n\n.k7x-desc .specs-table{\ntable-layout:fixed;\n}\n\n.k7x-desc .specs-table td{\nfont-size:12.5px;\npadding:9px 8px;\noverflow-wrap:anywhere;\n}\n\n.k7x-desc .specs-table td:first-child{\nwidth:42%;\n}\n\n.k7x-desc details{\npadding:11px 0;\n}\n\n.k7x-desc summary{\nfont-size:14px;\nline-height:1.35;\n}\n\n.k7x-desc details p{\nfont-size:13px;\n}\n\n.k7x-legacy-sections{\nwidth:100vw;\nmargin-left:calc(50% - 50vw);\noverflow:hidden;\n}\n\n.k7x-legacy-sections h2{\nmargin:42px 18px 14px !important;\nfont-size:clamp(26px,8vw,36px) !important;\nline-height:1.1;\n}\n\n.k7x-legacy-sections p{\nmax-width:760px;\nmargin:0 auto 16px !important;\npadding:0 18px;\nfont-size:14px;\nline-height:1.6;\n}\n\n.k7x-legacy-sections p:has(img){\npadding:0;\nmargin-bottom:14px !important;\n}\n\n.k7x-legacy-sections img{\ndisplay:block;\nwidth:100%;\nmax-width:100%;\nheight:auto;\nmargin:0 auto;\n}\n\n}\n\n@media (max-width: 380px){\n\n.k7x-cine .story-message{\nfont-size:clamp(27px,9vw,36px);\n}\n\n.k7x-cine .wrap,\n.k7x-desc .inner{\npadding-left:14px;\npadding-right:14px;\n}\n\n.k7x-cine .ent-app-card{\nfont-size:11px;\n}\n\n.k7x-desc .badge{\nfont-size:9.5px;\npadding:6px 7px;\n}\n\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n\/* BIDIRECTIONAL SCROLL REVEALS *\/\n.k7x-cine .reveal,\n.k7x-desc .scroll-reveal,\n.k7x-legacy-sections .scroll-reveal{\n--reveal-x:0px;\n--reveal-y:28px;\n--reveal-scale:.985;\n--reveal-delay:0ms;\nopacity:0;\ntransform:translate3d(var(--reveal-x),var(--reveal-y),0) scale(var(--reveal-scale));\ntransition:\nopacity .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay),\ntransform .82s cubic-bezier(.22,1,.36,1) var(--reveal-delay);\nwill-change:opacity,transform;\n}\n\n.k7x-cine .reveal.reveal-left,\n.k7x-desc .scroll-reveal.reveal-left,\n.k7x-legacy-sections .scroll-reveal.reveal-left{\n--reveal-x:-46px;\n--reveal-y:0px;\n}\n\n.k7x-cine .reveal.reveal-right,\n.k7x-desc .scroll-reveal.reveal-right,\n.k7x-legacy-sections .scroll-reveal.reveal-right{\n--reveal-x:46px;\n--reveal-y:0px;\n}\n\n.k7x-cine .reveal.reveal-up,\n.k7x-desc .scroll-reveal.reveal-up,\n.k7x-legacy-sections .scroll-reveal.reveal-up{\n--reveal-x:0px;\n--reveal-y:30px;\n}\n\n.k7x-cine .reveal.reveal-soft,\n.k7x-desc .scroll-reveal.reveal-soft,\n.k7x-legacy-sections .scroll-reveal.reveal-soft{\n--reveal-x:0px;\n--reveal-y:16px;\n--reveal-scale:.992;\n}\n\n.k7x-cine .reveal.in-view,\n.k7x-desc .scroll-reveal.in-view,\n.k7x-legacy-sections .scroll-reveal.in-view{\nopacity:1;\ntransform:translate3d(0,0,0) scale(1);\n}\n\n.k7x-cine .ent-app-card{\nopacity:0;\ntransform:translateY(18px) scale(.985);\ntransition:\nopacity .55s ease,\ntransform .68s cubic-bezier(.22,1,.36,1);\n}\n\n.k7x-cine .ent-card.in-view .ent-app-card{\nopacity:1;\ntransform:none;\n}\n\n.k7x-cine .ent-card.in-view .ent-app-card:nth-child(1){\ntransition-delay:.08s;\n}\n\n.k7x-cine .ent-card.in-view .ent-app-card:nth-child(2){\ntransition-delay:.14s;\n}\n\n.k7x-cine .ent-card.in-view .ent-app-card:nth-child(3){\ntransition-delay:.20s;\n}\n\n.k7x-cine .ent-card.in-view .ent-app-card:nth-child(4){\ntransition-delay:.26s;\n}\n\n.k7x-cine .ent-card.in-view .ent-app-card:nth-child(5){\ntransition-delay:.32s;\n}\n\n.k7x-cine .ent-card:not(.in-view) .ent-app-card{\ntransition-delay:0ms;\n}\n\n.k7x-cine .battery-section:not(.in-view) .battery-stage{\nwidth:0;\n}\n\n@media(max-width:620px){\n\n.k7x-cine .reveal,\n.k7x-desc .scroll-reveal,\n.k7x-legacy-sections .scroll-reveal{\n--reveal-y:18px;\n--reveal-scale:.992;\ntransition-duration:.58s,.66s;\n}\n\n.k7x-cine .reveal.reveal-left,\n.k7x-desc .scroll-reveal.reveal-left,\n.k7x-legacy-sections .scroll-reveal.reveal-left{\n--reveal-x:-22px;\n}\n\n.k7x-cine .reveal.reveal-right,\n.k7x-desc .scroll-reveal.reveal-right,\n.k7x-legacy-sections .scroll-reveal.reveal-right{\n--reveal-x:22px;\n}\n\n}\n\n@media(prefers-reduced-motion:reduce){\n\n.k7x-cine .reveal,\n.k7x-desc .scroll-reveal,\n.k7x-legacy-sections .scroll-reveal,\n.k7x-cine .ent-app-card{\nopacity:1!important;\ntransform:none!important;\ntransition:none!important;\n}\n\n}\n\u003c\/style\u003e\n\n\u003c!-- =========================================================\nK7X FEATURE VIDEO\nResponsive autoplay video\nMOBILE = portrait video\nLAPTOP \/ DESKTOP = full uncropped video\n========================================================= --\u003e\n\n\u003cstyle\u003e\n\n.k7x-feature-video-section{\nposition:relative;\nwidth:100vw !important;\nheight:100vh;\nheight:100dvh;\nmax-width:none !important;\nmargin:0 !important;\nmargin-left:calc(50% - 50vw) !important;\nmargin-right:calc(50% - 50vw) !important;\npadding:0 !important;\noverflow:hidden;\nbackground:#000;\n}\n\n.k7x-feature-video-wrap{\nposition:absolute;\ninset:0;\nwidth:100%;\nheight:100%;\nmargin:0;\npadding:0;\noverflow:hidden;\nbackground:#000;\n}\n\n.k7x-feature-video{\nposition:absolute;\ninset:0;\ndisplay:block;\nwidth:100% !important;\nheight:100% !important;\nmax-width:none !important;\nmax-height:none !important;\nmargin:0 !important;\npadding:0 !important;\nobject-fit:cover !important;\nobject-position:center center !important;\nbackground:#000;\nborder:0;\noutline:0;\npointer-events:none;\n}\n\n\/* Hide native controls *\/\n.k7x-feature-video::-webkit-media-controls,\n.k7x-feature-video::-webkit-media-controls-enclosure,\n.k7x-feature-video::-webkit-media-controls-panel,\n.k7x-feature-video::-webkit-media-controls-play-button,\n.k7x-feature-video::-webkit-media-controls-start-playback-button{\ndisplay:none !important;\n-webkit-appearance:none !important;\n}\n\n\n\/* =========================================================\n   LAPTOP \/ DESKTOP\n   Make video slightly smaller so COMPLETE video + words show.\n   No top or bottom of the actual video is cropped.\n========================================================= *\/\n\n@media (min-width:769px){\n\n.k7x-feature-video-section{\nheight:calc(100vh - 74px) !important;\nheight:calc(100dvh - 74px) !important;\nmin-height:520px !important;\nbackground:#000 !important;\n}\n\n.k7x-feature-video-wrap{\ndisplay:flex !important;\nalign-items:center !important;\njustify-content:center !important;\nbackground:#000 !important;\n}\n\n.k7x-feature-video{\nposition:relative !important;\ninset:auto !important;\ndisplay:block !important;\n\nwidth:100% !important;\nheight:100% !important;\n\nmax-width:100% !important;\nmax-height:100% !important;\n\nmargin:auto !important;\npadding:0 !important;\n\n\/* IMPORTANT:\n   CONTAIN = show entire desktop video and all text *\/\nobject-fit:contain !important;\nobject-position:center center !important;\n\nbackground:#000 !important;\n}\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   Keep the portrait video large\/full-screen\n========================================================= *\/\n\n@media (max-width:768px){\n\n.k7x-feature-video-section{\nwidth:100vw !important;\nheight:78svh !important;\nmin-height:520px !important;\nmax-height:760px !important;\nmargin-left:calc(50% - 50vw) !important;\nmargin-right:calc(50% - 50vw) !important;\npadding:0 !important;\nbackground:#000;\noverflow:hidden !important;\n}\n\n.k7x-feature-video-wrap{\nposition:absolute !important;\ninset:0 !important;\nwidth:100% !important;\nheight:100% !important;\nmin-height:100% !important;\nmax-height:none !important;\nmargin:0 !important;\npadding:0 !important;\nbackground:#000;\noverflow:hidden !important;\n}\n\n.k7x-feature-video{\nposition:absolute !important;\ninset:0 !important;\ndisplay:block !important;\nwidth:100% !important;\nheight:100% !important;\nmax-width:none !important;\nmax-height:none !important;\nmargin:0 !important;\npadding:0 !important;\nobject-fit:cover !important;\nobject-position:center center !important;\nbackground:#000;\n}\n\n}\n\n\u003c\/style\u003e\n\n\u003csection class=\"k7x-feature-video-section\"\u003e\n\u003cdiv class=\"k7x-feature-video-wrap\"\u003e\n\n\u003cvideo id=\"k7xFeatureVideo\" class=\"k7x-feature-video\" autoplay muted loop playsinline preload=\"auto\" disablepictureinpicture disableremoteplayback\u003e\n\n\u003csource media=\"(max-width: 768px)\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/deed4e0e701442f4aecf90999434d1d8.mp4\" type=\"video\/mp4\"\u003e\n\n\u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c76a4de0a55a4d66a39f60b2f45a04c5.mp4\" type=\"video\/mp4\"\u003e\n\nYour browser does not support HTML5 video.\n\n\u003c\/source\u003e\u003c\/video\u003e\n\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cdiv class=\"k7x-cine k7x-cine-story-first\"\u003e\n\n\u003csection class=\"story\" id=\"k7xStory\"\u003e\n\n\u003cdiv class=\"story-sticky\"\u003e\n\n\u003cdiv class=\"story-core\" id=\"k7xStoryCore\"\u003e\n\n\u003cdiv class=\"story-product\" id=\"k7xStoryProduct\"\u003e\n\u003cimg class=\"story-slide story-slide-1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/k7_tia.png?v=1790228203\" alt=\"K7X Pro AI - Take it anywhere\"\u003e\n\u003cimg class=\"story-slide story-slide-2\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/k7_watchunplugged.png?v=1790228141\" alt=\"K7X Pro AI - Watch unplugged\"\u003e\n\u003cimg class=\"story-slide story-slide-3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/k7_mirroring.png?v=1790228009\" alt=\"K7X Pro AI - Connect your devices\"\u003e\n\u003cimg class=\"story-slide story-slide-4\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/k7_gobig.png?v=1790228174\" alt=\"K7X Pro AI - Go big\"\u003e\n\u003cimg class=\"story-slide story-slide-5\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/k7_potrait_travel.png?v=1790401587\" alt=\"K7X Pro AI - Wherever you are\"\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"story-line\"\u003e\n\u003cdiv class=\"story-message story-message-slide story-message-1\"\u003eTake it anywhere.\u003c\/div\u003e\n\u003cdiv class=\"story-message story-message-slide story-message-2\"\u003eWatch unplugged.\u003c\/div\u003e\n\u003cdiv class=\"story-message story-message-slide story-message-3\"\u003eConnect your devices.\u003c\/div\u003e\n\u003cdiv class=\"story-message story-message-slide story-message-4\"\u003eGo big.\u003c\/div\u003e\n\u003cdiv class=\"story-message story-message-slide story-message-5\"\u003eWherever you are.\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"k7x-cine\"\u003e\n\n\u003csection class=\"section battery-section observe-section\"\u003e\n\n\u003cdiv class=\"wrap battery-layout\"\u003e\n\n\u003cdiv class=\"battery-visual reveal\"\u003e\n\n\u003cdiv class=\"battery-chip\"\u003e\n\u003cspan class=\"small\"\u003e Runtime options \u003c\/span\u003e\n\u003cstrong\u003e 2H \/ 4H \u003c\/strong\u003e\n\u003cspan class=\"small\"\u003e Built-in \/ with power bank \u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"reveal\"\u003e\n\n\u003cdiv class=\"kicker\"\u003eBuilt to go unplugged\u003c\/div\u003e\n\n\u003ch2 class=\"h2\"\u003eLeave the socket behind.\u003c\/h2\u003e\n\n\u003cp class=\"lead\"\u003e\nUp to 0–2 hours on the built-in battery, or 3–4 hours total when paired with a compatible USB-C PD power bank.\n\u003c\/p\u003e\n\n\u003cdiv class=\"battery-meter\"\u003e\n\n\u003cdiv class=\"battery-stage built-in\"\u003e\n\u003cspan\u003e 0–2H · No power bank \u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"battery-stage power-bank\"\u003e\n\u003cspan\u003e 3–4H · With power bank \u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"battery-labels\"\u003e\n\u003cspan\u003e0H\u003c\/span\u003e\n\u003cspan\u003e2H\u003c\/span\u003e\n\u003cspan\u003e3H\u003c\/span\u003e\n\u003cspan\u003e4H\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cp class=\"small\" style=\"margin-top:22px;\"\u003e\nActual runtime varies with picture mode, volume, connectivity and usage.\n\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\u003csection class=\"section divider\"\u003e\n\n\u003cdiv class=\"wrap\"\u003e\n\n\u003cdiv class=\"center reveal\"\u003e\n\n\u003cdiv class=\"kicker\"\u003eSmart setup\u003c\/div\u003e\n\n\u003ch2 class=\"h2\"\u003e\nSet it down.\u003cbr\u003e\nWe’ll handle the rest.\n\u003c\/h2\u003e\n\n\u003cp class=\"lead\"\u003e\nThe same fast laser sensor used in Istana assists AI Auto Focus and AI Keystone, bringing the picture into shape in an ultra-fast 1 second.\n\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"setup-grid\"\u003e\n\n\u003cdiv class=\"demo-card reveal observe-card\"\u003e\n\n\u003cspan class=\"demo-badge\"\u003e\nLaser-assisted setup\n\u003c\/span\u003e\n\n\u003ch3 class=\"h3\" style=\"margin-top:18px;\"\u003e\nFocus and geometry,\u003cbr\u003e\nhandled.\n\u003c\/h3\u003e\n\n\u003cdiv class=\"screen-demo\"\u003e\n\n\u003cdiv class=\"laser-sensor\"\u003e\n\u003cspan class=\"laser-dot\"\u003e\u003c\/span\u003e\nLaser sensing\n\u003c\/div\u003e\n\n\u003cdiv class=\"focus-reticle\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"focus-speed\"\u003e\n\u003cstrong\u003e1 sec\u003c\/strong\u003e\n\u003cspan\u003eFocus + Keystone\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"demo-card reveal\"\u003e\n\n\u003cspan class=\"demo-badge\"\u003e\n100% Image Offset\n\u003c\/span\u003e\n\n\u003ch3 class=\"h3\" style=\"margin-top:18px;\"\u003e\nNo tripod required.\n\u003c\/h3\u003e\n\n\u003cdiv class=\"offset-demo\"\u003e\n\n\u003cimg class=\"offset-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/k7_notripod.png?v=1790230976\" alt=\"K7X Pro AI projector with 100% image offset — no tripod required\"\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\u003csection class=\"section divider\"\u003e\n\n\u003cdiv class=\"wrap\"\u003e\n\n\u003cdiv class=\"reveal\"\u003e\n\n\u003cdiv class=\"kicker\"\u003e\nEntertainment built in\n\u003c\/div\u003e\n\n\u003ch2 class=\"h2\"\u003e\nAll your entertainment.\u003cbr\u003e\nOne place.\n\u003c\/h2\u003e\n\n\u003cp class=\"lead\"\u003e\nOpen your favourites and enjoy them on the big screen.\n\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"ent-card reveal\" id=\"k7xEntertainmentCard\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/20250830_1530_Sleek_Smart_Projector_Promo_remix_01k3wy2013f179m2jv2w9dxsb1.png?v=1756727725\" alt=\"K7X projector with entertainment apps\"\u003e\n\n\n\u003cdiv class=\"ent-overlay\"\u003e\n\n\u003cdiv class=\"ent-content\"\u003e\n\n\u003cdiv class=\"kicker\"\u003e\nBuilt-in entertainment\n\u003c\/div\u003e\n\n\u003ch3 class=\"ent-static-title\"\u003e\nNetflix, YouTube, Disney+, Prime Video \u0026amp; more.\n\u003c\/h3\u003e\n\n\u003cp class=\"ent-static-copy\"\u003e\nMovies, series, videos and local entertainment — all ready to enjoy from one projector.\n\u003c\/p\u003e\n\n\n\u003cdiv class=\"ent-app-grid\"\u003e\n\n\n\u003cdiv class=\"ent-app-card\"\u003e\n\n\u003cspan class=\"service-icon\"\u003e\n\n\u003csvg viewbox=\"0 0 24 24\"\u003e\n\n\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"14\" rx=\"2\"\u003e\n\u003c\/rect\u003e\n\n\u003cpath d=\"M8 5v14M16 5v14M4 9h4M4 15h4M16 9h4M16 15h4\"\u003e\u003c\/path\u003e\n\n\u003c\/svg\u003e\n\n\u003c\/span\u003e\n\n\u003cspan\u003eNetflix\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"ent-app-card\"\u003e\n\n\u003cspan class=\"service-icon\"\u003e\n\n\u003csvg viewbox=\"0 0 24 24\"\u003e\n\n\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\n\u003c\/circle\u003e\n\n\u003cpath d=\"M10 8.8 15.2 12 10 15.2Z\"\u003e\u003c\/path\u003e\n\n\u003c\/svg\u003e\n\n\u003c\/span\u003e\n\n\u003cspan\u003eYouTube\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"ent-app-card\"\u003e\n\n\u003cspan class=\"service-icon\"\u003e\n\n\u003csvg viewbox=\"0 0 24 24\"\u003e\n\n\u003cpath d=\"m12 3 1.7 4.2L18 9l-4.3 1.8L12 15l-1.7-4.2L6 9l4.3-1.8Z\"\u003e\u003c\/path\u003e\n\n\u003cpath d=\"m18 14 .8 2.2L21 17l-2.2.8L18 20l-.8-2.2L15 17l2.2-.8Z\"\u003e\u003c\/path\u003e\n\n\u003c\/svg\u003e\n\n\u003c\/span\u003e\n\n\u003cspan\u003eDisney+\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"ent-app-card\"\u003e\n\n\u003cspan class=\"service-icon\"\u003e\n\n\u003csvg viewbox=\"0 0 24 24\"\u003e\n\n\u003crect x=\"4\" y=\"6\" width=\"16\" height=\"11\" rx=\"2\"\u003e\n\u003c\/rect\u003e\n\n\u003cpath d=\"M9 20h6M12 17v3\"\u003e\u003c\/path\u003e\n\n\u003cpath d=\"M10 9.2 14.5 12 10 14.8Z\"\u003e\u003c\/path\u003e\n\n\u003c\/svg\u003e\n\n\u003c\/span\u003e\n\n\u003cspan\u003ePrime Video\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"ent-app-card\"\u003e\n\n\u003cspan class=\"service-icon\"\u003e\n\n\u003csvg viewbox=\"0 0 24 24\"\u003e\n\n\u003cpath d=\"M8.5 15.5a5 5 0 0 1 0-7M15.5 8.5a5 5 0 0 1 0 7\"\u003e\u003c\/path\u003e\n\n\u003cpath d=\"M5.5 18.5a9 9 0 0 1 0-13M18.5 5.5a9 9 0 0 1 0 13\"\u003e\u003c\/path\u003e\n\n\u003ccircle cx=\"12\" cy=\"12\" r=\"1.6\"\u003e\n\u003c\/circle\u003e\n\n\u003c\/svg\u003e\n\n\u003c\/span\u003e\n\n\u003cspan\u003emeWATCH\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"k7x-desc\"\u003e\n\n\u003c!-- HERO --\u003e\n\n\u003cdiv class=\"hero\"\u003e\n\n\u003cdiv class=\"inner\"\u003e\n\n\u003cbr\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/INNOVATIVE_K7x_Pro_Ai_Projector.jpg?v=1766115314\" alt=\"INNOVATIVE K7x Pro AI\" loading=\"lazy\"\u003e\n\n\u003cdiv class=\"hero-title\"\u003e\nINNOVATIVE K7x Pro AI\n\u003c\/div\u003e\n\n\u003cp class=\"subtitle\"\u003e\nPerfect in its class · Native 1080p · 4K UHD Input · Bright Room Ready · Dual USB-C Plug-and-Play\n\u003c\/p\u003e\n\n\u003cdiv class=\"badge-row\"\u003e\n\n\u003cdiv class=\"badge\"\u003e\nFully Portable\n\u003c\/div\u003e\n\n\u003cdiv class=\"badge\"\u003e\nTripod-Free (100% Offset)\n\u003c\/div\u003e\n\n\u003cdiv class=\"badge\"\u003e\nDust-Free Engine\n\u003c\/div\u003e\n\n\u003cdiv class=\"badge\"\u003e\nAlloy Frame\n\u003c\/div\u003e\n\n\u003cdiv class=\"badge\"\u003e\nProtective Lens Cover\n\u003c\/div\u003e\n\n\u003cdiv class=\"badge\"\u003e\nTouch Pad\n\u003c\/div\u003e\n\n\u003cdiv class=\"badge\"\u003e\nRemote Power On\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- INTRO --\u003e\n\n\u003cdiv class=\"section\"\u003e\n\n\u003cdiv class=\"inner\"\u003e\n\n\u003ch3\u003e\nAll K6s Features + More\n\u003c\/h3\u003e\n\n\u003cp\u003e\nK7x Pro AI has\n\u003cstrong\u003eall the features of K6s Pro AI\u003c\/strong\u003e\nand upgrades the experience with\n\u003cstrong\u003ehigher brightness\u003c\/strong\u003e,\n\u003cstrong\u003ericher and more accurate colors\u003c\/strong\u003e,\n\u003cstrong\u003ebetter blacks\u003c\/strong\u003e,\nand\n\u003cstrong\u003esmarter AI focus + auto side keystone\u003c\/strong\u003e.\n\u003c\/p\u003e\n\n\u003cp\u003e\nIt is\n\u003cstrong\u003efully portable\u003c\/strong\u003e\nand\n\u003cstrong\u003etripod-free\u003c\/strong\u003e\nthanks to\n\u003cstrong\u003e100% image offset\u003c\/strong\u003e,\nand the\n\u003cstrong\u003esealed dust-free optical engine\u003c\/strong\u003e\nrequires\n\u003cstrong\u003eno maintenance\u003c\/strong\u003e.\n\u003c\/p\u003e\n\n\u003cp class=\"muted\"\u003e\nTip: AI correction helps, but maximum sharpness is achieved with straight placement and minimal keystone.\n\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- COMPARISON --\u003e\n\n\u003cdiv class=\"section compare\"\u003e\n\n\u003cdiv class=\"inner\"\u003e\n\n\u003ch3\u003e\nQuick Comparison (K7x Pro AI vs K6s Pro AI)\n\u003c\/h3\u003e\n\n\u003ctable class=\"compare-table\"\u003e\n\n\u003cthead\u003e\n\n\u003ctr\u003e\n\n\u003cth\u003e\nCompare\n\u003c\/th\u003e\n\n\u003cth\u003e\nK7x Pro AI\n\u003c\/th\u003e\n\n\u003cth\u003e\nK6s Pro AI\n\u003c\/th\u003e\n\n\u003c\/tr\u003e\n\n\u003c\/thead\u003e\n\n\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nFeature Set\n\u003c\/td\u003e\n\n\u003ctd\u003e\nAll K6s features + more\n\u003c\/td\u003e\n\n\u003ctd\u003e\nBaseline\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nNative Resolution\n\u003c\/td\u003e\n\n\u003ctd\u003e\n1080p\n\u003c\/td\u003e\n\n\u003ctd\u003e\n1080p\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\n4K Input Support\n\u003c\/td\u003e\n\n\u003ctd\u003e\nUp to 4K UHD input\n\u003c\/td\u003e\n\n\u003ctd\u003e\nUp to 4K input\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nSharpness \/ Text Readability\n\u003c\/td\u003e\n\n\u003ctd\u003e\nAs sharp · Clear font size 9\n\u003c\/td\u003e\n\n\u003ctd\u003e\nClear font size 9\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nBrightness\n\u003c\/td\u003e\n\n\u003ctd\u003e\nBrighter · Full lighted room ready\n\u003c\/td\u003e\n\n\u003ctd\u003e\nBest in dark \/ dim rooms\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nColors\n\u003c\/td\u003e\n\n\u003ctd\u003e\nRicher \u0026amp; more accurate\n\u003c\/td\u003e\n\n\u003ctd\u003e\nGood\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nBlacks\n\u003c\/td\u003e\n\n\u003ctd\u003e\nBetter blacks\n\u003c\/td\u003e\n\n\u003ctd\u003e\nGood\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nAI Focus + Auto Side Keystone\n\u003c\/td\u003e\n\n\u003ctd\u003e\n~10% smarter accuracy\n\u003c\/td\u003e\n\n\u003ctd\u003e\nVery good\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nBuild\n\u003c\/td\u003e\n\n\u003ctd\u003e\nAlloy frame (durable)\n\u003c\/td\u003e\n\n\u003ctd\u003e\nAlloy frame (durable)\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nLens Protection\n\u003c\/td\u003e\n\n\u003ctd\u003e\nProtective lens cover (modern look)\n\u003c\/td\u003e\n\n\u003ctd\u003e\n—\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nControls\n\u003c\/td\u003e\n\n\u003ctd\u003e\nRemote + Touch pad\n\u003c\/td\u003e\n\n\u003ctd\u003e\nRemote\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nRemote Power On (plugged in)\n\u003c\/td\u003e\n\n\u003ctd\u003e\nSupported\n\u003c\/td\u003e\n\n\u003ctd\u003e\nSupported\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\n\u003ctr\u003e\n\n\u003ctd\u003e\nSpeaker\n\u003c\/td\u003e\n\n\u003ctd\u003e\nLoud enough for a room\n\u003c\/td\u003e\n\n\u003ctd\u003e\n—\n\u003c\/td\u003e\n\n\u003c\/tr\u003e\n\n\u003c\/tbody\u003e\n\n\u003c\/table\u003e\n\n\n\u003cdiv class=\"muted\"\u003e\n\nNotes: “4K input” refers to supported playback\/decoding (display is native 1080p). Image clarity depends on placement, projection size, and keystone usage.\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- TWO COLUMN --\u003e\n\n\u003cdiv class=\"section\"\u003e\n\n\u003cdiv class=\"inner grid\"\u003e\n\n\u003cdiv\u003e\n\n\u003ch3\u003e\nWhy Choose K7x Pro AI\n\u003c\/h3\u003e\n\n\u003cdiv class=\"card\"\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e\n\u003cstrong\u003ePerfect in its class:\u003c\/strong\u003e\nflagship performance in a compact portable size.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eBright room ready:\u003c\/strong\u003e\nsuitable for\n\u003cstrong\u003efully lighted rooms\u003c\/strong\u003e.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eSharp like K6s:\u003c\/strong\u003e\ncrisp image with\n\u003cstrong\u003eclear font size 9\u003c\/strong\u003e.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eRicher colors + better blacks:\u003c\/strong\u003e\nmore accurate color and deeper dark scenes.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eSmarter AI setup:\u003c\/strong\u003e\nAI focus + auto side keystone with\n\u003cstrong\u003e~10% higher accuracy\u003c\/strong\u003e.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eTripod-free portability:\u003c\/strong\u003e\n\u003cstrong\u003e100% image offset\u003c\/strong\u003e\nfor easy table-top placement.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eDust-free engine:\u003c\/strong\u003e\nsealed design requires\n\u003cstrong\u003eno maintenance\u003c\/strong\u003e.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eBuilt tough:\u003c\/strong\u003e\nalloy frame for durability.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eProtective lens cover:\u003c\/strong\u003e\nenhanced dust protection + modern look.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eDual USB-C:\u003c\/strong\u003e\none for charging, one for\n\u003cstrong\u003eUSB-C video plug-and-play\u003c\/strong\u003e.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eTouch pad control:\u003c\/strong\u003e\neasy navigation with or without remote.\n\u003c\/li\u003e\n\n\u003cli\u003e\n\u003cstrong\u003eRoom-filling audio:\u003c\/strong\u003e\nloud built-in speaker.\n\u003c\/li\u003e\n\n\u003c\/ul\u003e\n\n\u003c\/div\u003e\n\n\n\u003ch4\u003e\nFAQ\n\u003c\/h4\u003e\n\n\n\u003cdetails open\u003e\n\n\u003csummary\u003e\nIs it fully portable and tripod-free?\n\u003c\/summary\u003e\n\n\u003cp\u003e\nYes. K7x Pro AI is fully portable and tripod-free thanks to its\n\u003cstrong\u003e100% image offset\u003c\/strong\u003e.\nPlace it on a flat surface and project comfortably without a stand.\n\u003c\/p\u003e\n\n\u003c\/details\u003e\n\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\nDoes it require maintenance?\n\u003c\/summary\u003e\n\n\u003cp\u003e\nNo. The\n\u003cstrong\u003esealed dust-free optical engine\u003c\/strong\u003e\nrequires\n\u003cstrong\u003eno maintenance\u003c\/strong\u003e\nand no cleaning.\n\u003c\/p\u003e\n\n\u003c\/details\u003e\n\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\nCan I power on by remote?\n\u003c\/summary\u003e\n\n\u003cp\u003e\nYes — when plugged in, K7x supports\n\u003cstrong\u003epower on by remote\u003c\/strong\u003e\nand includes all the remote functions of K6s Pro AI.\n\u003c\/p\u003e\n\n\u003c\/details\u003e\n\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\nWhat is the touch pad used for?\n\u003c\/summary\u003e\n\n\u003cp\u003e\nThe touch pad on the projector surface allows quick navigation and control\n\u003cstrong\u003ewith or without the remote\u003c\/strong\u003e.\n\u003c\/p\u003e\n\n\u003c\/details\u003e\n\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\nCan I connect USB-C devices directly?\n\u003c\/summary\u003e\n\n\u003cp\u003e\nYes. K7x has\n\u003cstrong\u003edual USB-C\u003c\/strong\u003e:\none for charging\/power and one for\n\u003cstrong\u003edirect USB-C video input\u003c\/strong\u003e\nfor compatible phones, tablets, and laptops.\n\u003c\/p\u003e\n\n\u003c\/details\u003e\n\n\u003c\/div\u003e\n\n\n\u003cdiv\u003e\n\n\u003ch3\u003e\nSpecifications\n\u003c\/h3\u003e\n\n\u003ctable class=\"specs-table\"\u003e\n\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eOperating System\u003c\/td\u003e\n\u003ctd\u003eAndroid (AOSP)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eNative Resolution\u003c\/td\u003e\n\u003ctd\u003e1920 × 1080 (Full HD)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eSupported Resolution\u003c\/td\u003e\n\u003ctd\u003eUp to 4K UHD input\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eBrightness\u003c\/td\u003e\n\u003ctd\u003eBrighter than K6s (full light room ready)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eColors\u003c\/td\u003e\n\u003ctd\u003eRicher \u0026amp; more accurate\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eBlack Performance\u003c\/td\u003e\n\u003ctd\u003eBetter blacks\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eSharpness \/ Text\u003c\/td\u003e\n\u003ctd\u003eAs sharp as K6s · Clear font size 9\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eProjection Edges\u003c\/td\u003e\n\u003ctd\u003eSharp \u0026amp; clear\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eAI Auto Focus\u003c\/td\u003e\n\u003ctd\u003eYes (enhanced accuracy)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eAI Keystone\u003c\/td\u003e\n\u003ctd\u003eAuto side keystone (smarter)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePortability\u003c\/td\u003e\n\u003ctd\u003eFully portable · Tripod-free · 100% offset\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eOptical Engine\u003c\/td\u003e\n\u003ctd\u003eSealed dust-free (no maintenance)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eBody\u003c\/td\u003e\n\u003ctd\u003eAlloy frame (durable)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eLens Protection\u003c\/td\u003e\n\u003ctd\u003eProtective lens cover\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eControls\u003c\/td\u003e\n\u003ctd\u003eRemote + Touch pad\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eRemote Power On (plugged in)\u003c\/td\u003e\n\u003ctd\u003eSupported\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eUSB-C\u003c\/td\u003e\n\u003ctd\u003eDual USB-C (Charging\/Power + USB-C Video)\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eSpeaker\u003c\/td\u003e\n\u003ctd\u003eLoud enough for a room\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eBattery\u003c\/td\u003e\n\u003ctd\u003eBuilt-in battery + USB-C PD support\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e—\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e—\u003c\/td\u003e\n\u003c\/tr\u003e\n\n\u003c\/tbody\u003e\n\n\u003c\/table\u003e\n\n\n\u003cp class=\"muted\"\u003e\nNotes: “4K input” refers to supported playback\/decoding (display is native 1080p). Image clarity depends on placement, projection size, and keystone usage.\n\u003c\/p\u003e\n\n\n\u003cdiv style=\"text-align:center;\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/f770e4e4-6c3d-4439-97f4-e82e7f455a09_copy.png?v=1766748728\" alt=\"K7x Pro AI Ports\" loading=\"lazy\" style=\"margin-bottom:16px;float:none;\"\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- K7X INTERACTION + VIDEO AUTOPLAY --\u003e\n\n\u003cscript\u003e\n(function () {\n\nfunction initK7xPage() {\n\n  \/* Scroll reveal animations used by the sections below the slideshow. *\/\n  var targets = document.querySelectorAll(\n    '.k7x-cine .reveal, .k7x-cine .observe-section, .k7x-cine .observe-card, .k7x-desc .scroll-reveal'\n  );\n\n  if ('IntersectionObserver' in window) {\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          entry.target.classList.add('in-view');\n        } else {\n          entry.target.classList.remove('in-view');\n        }\n      });\n    }, {\n      threshold: 0.12,\n      rootMargin: '0px 0px -6% 0px'\n    });\n\n    targets.forEach(function (el) {\n      observer.observe(el);\n    });\n  } else {\n    targets.forEach(function (el) {\n      el.classList.add('in-view');\n    });\n  }\n\n  \/* Keep the top feature video muted and autoplaying. *\/\n  var video = document.getElementById('k7xFeatureVideo');\n\n  if (video) {\n    video.muted = true;\n    video.defaultMuted = true;\n    video.setAttribute('muted', '');\n    video.setAttribute('playsinline', '');\n\n    var playPromise = video.play();\n\n    if (playPromise \u0026\u0026 typeof playPromise.catch === 'function') {\n      playPromise.catch(function () {\n        \/* Browser can retry when autoplay becomes available. *\/\n      });\n    }\n  }\n}\n\nif (document.readyState === 'loading') {\n  document.addEventListener('DOMContentLoaded', initK7xPage, { once:true });\n} else {\n  initK7xPage();\n}\n\n})();\n\u003c\/script\u003e","brand":"INNOVATIVE","offers":[{"title":"Default Title","offer_id":46230172893437,"sku":null,"price":1499.0,"currency_code":"SGD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/k7x_result_v2_44396994-5258-482e-8a6f-4749a71e6150.jpg?v=1789641326"},{"product_id":"innovative-istana-4k-projector","title":"Native 4K Google TV Projector AI Auto Focus Keystone HDMI ARC - INNOVATIVE ISTANA","description":"\u003c!-- ISTANA 4K EXPERIENCE — Shopify section built from the exact reference HTML --\u003e\n\n\u003cstyle data-istana-style=\"1\"\u003e\n\n\n    \/* =========================================================\n       ISTANA — FORCE PRODUCT DESCRIPTION FULL VIEWPORT WIDTH\n       ========================================================= *\/\n\n    \/* Allow the Shopify product-description\/tab wrapper to bleed out *\/\n    m-product-details-tabs,\n    m-product-details-tabs \u003e *,\n    .product__description,\n    .product__description.rte {\n      max-width: none !important;\n      overflow: visible !important;\n    }\n\n    \/* Full-width ISTANA page *\/\n    #istana-product-description,\n    .istana-page {\n      position: relative !important;\n\n      width: 100vw !important;\n      max-width: 100vw !important;\n\n      left: 50% !important;\n      right: auto !important;\n\n      margin-left: -50vw !important;\n      margin-right: 0 !important;\n\n      padding-left: 0 !important;\n      padding-right: 0 !important;\n\n      box-sizing: border-box !important;\n      overflow-x: visible !important;\n      overflow-y: visible !important;\n    }\n\n    \/* Every major section fills the available viewport width *\/\n    #istana-product-description \u003e section,\n    .istana-page \u003e section {\n      width: 100% !important;\n      max-width: none !important;\n      margin-left: 0 !important;\n      margin-right: 0 !important;\n      box-sizing: border-box !important;\n    }\n\n    \/* Images\/background media should also fill their sections *\/\n    .istana-page .hero,\n    .istana-page .hero-media,\n    .istana-page .cinema-section,\n    .istana-page .brightness-section,\n    .istana-page .laser-section,\n    .istana-page .memc-section,\n    .istana-page .auto-setup-section,\n    .istana-page .final-cta {\n      width: 100% !important;\n      max-width: none !important;\n    }\n\n    \/* Keep CONTENT readable while backgrounds stay full width *\/\n    .istana-page .container {\n      width: min(calc(100% - 48px), 1368px) !important;\n      max-width: 1368px !important;\n      margin-left: auto !important;\n      margin-right: auto !important;\n      box-sizing: border-box !important;\n    }\n\n    \/* Mobile *\/\n    @media (max-width: 749px) {\n      #istana-product-description,\n      .istana-page {\n        width: 100vw !important;\n        max-width: 100vw !important;\n        left: 50% !important;\n        margin-left: -50vw !important;\n      }\n\n      .istana-page .container {\n        width: calc(100% - 28px) !important;\n        max-width: none !important;\n      }\n    }\n\n    #istana-v4{--bg:#040404;--panel:#0b0b0d;--fg:#f7f3ed;--muted:#aaa4a0;--gold:#d8b479;--line:rgba(255,255,255,.13);font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--fg);overflow-x:visible;overflow-y:visible;position:relative}\n    #istana-v4 *{box-sizing:border-box}\n    #istana-v4 img{display:block;max-width:100%}\n    #istana-v4 h1,#istana-v4 h2,#istana-v4 h3,#istana-v4 p{margin:0}\n    #istana-v4 h1{font-size:clamp(58px,8.3vw,132px);line-height:.88;letter-spacing:-.06em;font-weight:720}\n    #istana-v4 h2{font-size:clamp(42px,6vw,90px);line-height:.93;letter-spacing:-.05em;font-weight:670}\n    #istana-v4 h3{font-size:clamp(24px,3vw,40px);line-height:1;letter-spacing:-.03em}\n    #istana-v4 p{font-size:clamp(16px,1.45vw,20px);line-height:1.55;color:#c8c3bf}\n    #istana-v4 a{color:inherit;text-decoration:none}\n    #istana-v4 .fullbleed{width:100vw;margin-left:calc(50% - 50vw)}\n    #istana-v4 .container{width:min(1200px,calc(100% - 40px));margin:auto}\n    #istana-v4 .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#d8c19d}\n    #istana-v4 .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}\n    #istana-v4 .reveal.in{opacity:1;transform:none}\n\n    \/* HERO *\/\n    #istana-v4 .hero{height:100vh;position:relative;background:#000}\n    #istana-v4 .hero-sticky{position:relative;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}\n    #istana-v4 .hero-bg{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;filter:none;transform:scale(1.03)}\n    #istana-v4 .hero-vignette{display:none}\n    #istana-v4 .hero-glow{display:none}\n    #istana-v4 .hero-copy{position:relative;z-index:2;text-align:center;width:min(1120px,92vw);padding-top:4vh;transform:none!important;opacity:1!important}\n    #istana-v4 .hero-copy h1{margin-top:14px}\n    #istana-v4 .hero-copy h1 span{display:block;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}\n    #istana-v4 .hero-copy p{max-width:730px;margin:26px auto 0;color:#ece7e2}\n    #istana-v4 .hero-specs{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:28px}\n    #istana-v4 .hero-specs span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.3);font-size:12px;color:#eee}\n\n    \/* MANIFESTO *\/\n    #istana-v4 .manifesto{padding:100px 0 82px;background:radial-gradient(circle at 50% 0%,rgba(111,89,58,.15),transparent 34%),#040404}\n    #istana-v4 .manifesto h2{max-width:1020px;margin-top:12px}\n    #istana-v4 .manifesto h2 em{font-style:normal;color:var(--gold)}\n    #istana-v4 .manifesto p{max-width:660px;margin-top:28px}\n\n    \/* CINEMA *\/\n    #istana-v4 .cinema{min-height:100vh;position:relative;background:#000}\n    #istana-v4 .cinema-stick{position:relative;height:100vh;overflow:hidden;isolation:isolate}\n    #istana-v4 .cinema-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transform:none}\n    #istana-v4 .cinema-shade{display:none;background:none}\n    #istana-v4 .cinema-copy{position:absolute;left:7vw;bottom:7vh;z-index:2;max-width:650px}\n    #istana-v4 .cinema-copy h2{margin-top:10px}\n    #istana-v4 .cinema-copy p{margin-top:18px}\n    #istana-v4 .cinema-progress{display:none}\n    #istana-v4 .cinema-progress span{display:none}\n\n    \/* DAY\/NIGHT *\/\n    #istana-v4 .daynight{padding:92px 0;background:#09090a}\n    #istana-v4 .daynight-head{display:flex;justify-content:space-between;align-items:end;gap:42px;margin-bottom:30px}\n    #istana-v4 .daynight-head p{max-width:520px}\n    #istana-v4 .compare{position:relative;aspect-ratio:3\/2;overflow:hidden;border-radius:30px;border:1px solid var(--line);background:#111;user-select:none;touch-action:none;box-shadow:0 35px 80px rgba(0,0,0,.35)}\n    #istana-v4 .compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\n    #istana-v4 .compare .day{clip-path:inset(0 50% 0 0)}\n    #istana-v4 .compare-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff}\n    #istana-v4 .compare-knob{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:800;box-shadow:0 15px 35px rgba(0,0,0,.35)}\n    #istana-v4 .compare-label{position:absolute;top:22px;padding:9px 12px;border-radius:999px;background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.2);font-size:11px;letter-spacing:.15em;text-transform:uppercase}\n    #istana-v4 .compare-label.day-l{left:22px} #istana-v4 .compare-label.night-l{right:22px}\n    #istana-v4 .proof-note{margin-top:18px;font-size:13px;color:#8f8a86;text-align:center}\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"2\"\u003e\n\n\n    \/* AUTO SETUP — automatic demo, no scroll scrubbing *\/\n    #istana-v4 .setup{position:relative;padding:86px 0;background:radial-gradient(circle at 23% 48%,rgba(117,88,52,.12),transparent 34%),linear-gradient(180deg,#050505,#0a0a0c)}\n    #istana-v4 .setup-stick{position:relative;height:auto;padding:0;display:block;overflow:visible}\n    #istana-v4 .setup-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:58px;align-items:center}\n    #istana-v4 .setup-stage{aspect-ratio:1.42;border-radius:28px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.11);background:linear-gradient(135deg,#211f20,#0d0d10);box-shadow:0 42px 110px rgba(0,0,0,.46)}\n    #istana-v4 .setup-stage:before{content:\"LIVE AUTO SETUP\";position:absolute;left:20px;top:18px;z-index:5;font-size:9px;letter-spacing:.18em;color:#d5c19d;background:rgba(0,0,0,.52);border:1px solid rgba(216,180,121,.24);padding:8px 10px;border-radius:999px}\n    #istana-v4 .room-wall{position:absolute;inset:7%;border-radius:18px;background:linear-gradient(135deg,#2a2729,#171719);overflow:hidden}\n    #istana-v4 .projection{position:absolute;left:10%;top:13%;width:72%;height:62%;background:url('https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-cinema.png') center\/cover;border:2px solid rgba(255,255,255,.72);box-shadow:0 0 36px rgba(132,150,255,.15);transform:perspective(900px) rotateY(-11deg) rotateZ(-5deg) scale(.91);filter:blur(5px);will-change:transform,filter,left,top,width,height}\n    #istana-v4 .wall-art{position:absolute;right:5%;top:17%;width:19%;height:27%;border:8px solid #8d765b;background:#242022;box-shadow:0 10px 25px rgba(0,0,0,.28)}\n    #istana-v4 .detect{position:absolute;right:3.7%;top:13.5%;width:22%;height:34%;border:1px solid var(--gold);border-radius:9px;opacity:0;transform:scale(.95);transition:opacity .3s ease,transform .3s ease}\n    #istana-v4 .scan{position:absolute;left:7%;right:7%;top:10%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 18px var(--gold);opacity:0}\n    #istana-v4 .setup-status{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);padding:9px 13px;border-radius:999px;background:rgba(0,0,0,.72);border:1px solid var(--line);font-size:10px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}\n\n    #istana-v4 .focus-reticle{position:absolute;left:46%;top:42%;width:82px;height:82px;transform:translate(-50%,-50%) scale(1.08);border:1px solid rgba(255,255,255,.7);border-radius:50%;opacity:.9;pointer-events:none}\n    #istana-v4 .focus-reticle:before,#istana-v4 .focus-reticle:after{content:\"\";position:absolute;background:rgba(255,255,255,.9)}\n    #istana-v4 .focus-reticle:before{left:50%;top:-11px;width:1px;height:104px;transform:translateX(-50%)}\n    #istana-v4 .focus-reticle:after{top:50%;left:-11px;height:1px;width:104px;transform:translateY(-50%)}\n    #istana-v4 .focus-pulse{position:absolute;inset:-12px;border:1px solid rgba(216,180,121,.55);border-radius:50%;animation:focusPulse 1.4s ease-in-out infinite}\n    @keyframes focusPulse{0%,100%{transform:scale(.9);opacity:.25}50%{transform:scale(1.12);opacity:.85}}\n    #istana-v4 .setup-copy h2{margin-top:10px;max-width:610px;font-size:clamp(42px,5.3vw,82px);line-height:.94;letter-spacing:-.045em}\n    #istana-v4 .setup-copy\u003ep{margin-top:18px;max-width:520px}\n    #istana-v4 .setup-active-card{margin-top:34px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:22px 0 18px;border-top:1px solid var(--line)}\n    #istana-v4 .setup-active-number{display:flex;align-items:flex-start;gap:4px;min-width:72px;font-variant-numeric:tabular-nums}\n    #istana-v4 .setup-active-number span{font-size:42px;line-height:1;font-weight:700;color:#fff;letter-spacing:-.05em}\n    #istana-v4 .setup-active-number small{font-size:11px;color:var(--gold);margin-top:5px;letter-spacing:.12em}\n    #istana-v4 .setup-active-text strong{display:block;font-size:24px;line-height:1.1;margin-bottom:7px}\n    #istana-v4 .setup-active-text span{display:block;color:#9f9a95;font-size:14px;line-height:1.45;max-width:360px}\n    #istana-v4 .setup-meter{height:2px;background:rgba(255,255,255,.12);overflow:hidden;margin-bottom:18px}\n    #istana-v4 .setup-meter span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--gold),#fff);transform-origin:left;transform:scaleX(.04);will-change:transform}\n    #istana-v4 .steps{display:flex;gap:8px;flex-wrap:wrap}\n    #istana-v4 .step{padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;display:block;opacity:.34;transition:opacity .2s ease,border-color .2s ease,background .2s ease}\n    #istana-v4 .step.active{opacity:1;border-color:rgba(216,180,121,.38);background:rgba(216,180,121,.07)}\n    #istana-v4 .step.complete{opacity:.62}\n    #istana-v4 .step b{display:inline;font-size:9px;letter-spacing:.14em;color:var(--gold);margin-right:5px}\n    #istana-v4 .step strong{display:inline;font-size:10px;line-height:1.2;font-weight:650;white-space:nowrap}\n    #istana-v4 .step span{display:none}\n    #istana-v4 .done{margin-top:15px;font-size:13px;color:#8d8882;opacity:.35;transition:opacity .25s ease,color .25s ease}\n    #istana-v4 .done.on{opacity:1;color:#fff}\n    #istana-v4 .setup-actions{display:flex;align-items:center;gap:12px;margin-top:18px}\n    #istana-v4 .setup-replay{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#eee;border-radius:999px;padding:10px 14px;font:inherit;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease}\n    #istana-v4 .setup-replay:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28)}\n    #istana-v4 .setup-replay:focus-visible{outline:2px solid var(--gold);outline-offset:3px}\n\n    \/* TV *\/\n    #istana-v4 .tv{min-height:88vh;position:relative;display:grid;align-items:center;background:#000;overflow:hidden}\n    #istana-v4 .tv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transform:scale(1.025)}\n    #istana-v4 .tv:after{content:none;display:none;background:none}\n    #istana-v4 .tv-copy{position:relative;z-index:2}\n    #istana-v4 .tv-copy h2{max-width:790px;margin-top:10px}\n    #istana-v4 .tv-copy p{max-width:560px;margin-top:20px}\n\n    \/* FEATURE PAIR *\/\n    #istana-v4 .features{min-height:100vh;padding:28px 0;background:#050505;display:flex;align-items:center}\n    #istana-v4 .feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;height:min(760px,calc(100vh - 56px));align-items:stretch}\n    #istana-v4 .feature-card{min-height:0;height:100%;border-radius:26px;overflow:hidden;position:relative;border:1px solid var(--line)}\n    #istana-v4 .feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.75,.2,1)}\n    #istana-v4 .feature-card:hover img{transform:scale(1.04)}\n    #istana-v4 .feature-card:after{content:none;display:none;background:none}\n    #istana-v4 .feature-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}\n    #istana-v4 .feature-copy h3{margin-top:9px;font-size:clamp(28px,2.7vw,44px);line-height:1.02}\n    #istana-v4 .feature-copy p{margin-top:10px;font-size:14px;line-height:1.45}\n\n    \/* SIGNATURE PRODUCT STORY — tightened + unified visual stage *\/\n    #istana-v4 .hardware{height:255vh;position:relative;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.075),transparent 36%),#020202}\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"3\"\u003e\n\n    #istana-v4 .hardware-stick{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}\n    #istana-v4 .hardware-title{position:absolute;z-index:6;top:3.5vh;left:50%;transform:translateX(-50%);text-align:center;width:min(920px,88vw)}\n    #istana-v4 .hardware-title h2{font-size:clamp(34px,4.5vw,66px);margin-top:8px;line-height:.94}\n    #istana-v4 .hardware-stage{position:absolute;left:50%;top:52%;width:min(940px,78vw);height:min(500px,52vh);transform:translate(-50%,-50%);display:grid;place-items:center;isolation:isolate}\n    #istana-v4 .hardware-stage::before{content:\"\";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.105) 0%,rgba(255,255,255,.04) 38%,rgba(255,255,255,.012) 58%,transparent 76%);filter:blur(18px);pointer-events:none;z-index:0}\n    #istana-v4 .hw-frame{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;opacity:0;visibility:visible;transform:scale(.985);filter:brightness(1.08) contrast(1.05) saturate(1.06) drop-shadow(0 26px 56px rgba(0,0,0,.48));transition:opacity .18s ease,transform .22s ease,filter .22s ease;will-change:opacity,transform;z-index:1}\n    #istana-v4 .hw-frame.active{opacity:1;transform:scale(1);filter:brightness(1.16) contrast(1.07) saturate(1.1) drop-shadow(0 26px 56px rgba(0,0,0,.42));z-index:2}\n    #istana-v4 .hardware-stage .hw-frame:nth-child(3){filter:brightness(1.34) contrast(1.08) saturate(1.06) drop-shadow(0 26px 56px rgba(0,0,0,.42))}\n    #istana-v4 .hardware-stage .hw-frame:nth-child(3).active{filter:brightness(1.5) contrast(1.08) saturate(1.08) drop-shadow(0 26px 56px rgba(0,0,0,.38))}\n    #istana-v4 .hardware-stage .hw-frame:nth-child(4){border-radius:24px;filter:brightness(.72) contrast(1.06) saturate(.9) drop-shadow(0 26px 56px rgba(0,0,0,.42))}\n    #istana-v4 .hardware-stage .hw-frame:nth-child(4).active{filter:brightness(.82) contrast(1.08) saturate(.92) drop-shadow(0 26px 56px rgba(0,0,0,.38))}\n    #istana-v4 .hw-caption{position:absolute;z-index:6;left:6vw;bottom:4.5vh;width:min(420px,38vw);min-height:126px;opacity:0;visibility:visible;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}\n    #istana-v4 .hw-caption.active{opacity:1;transform:none}\n    #istana-v4 .hw-caption h3{margin-top:8px;font-size:clamp(28px,3.3vw,48px)}\n    #istana-v4 .hw-caption p{margin-top:9px;font-size:14px;line-height:1.5;max-width:400px}\n    #istana-v4 .hw-dots{position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:8px;padding:10px 8px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}\n    #istana-v4 .hw-dots span{width:5px;height:5px;border-radius:50%;background:#555;transition:transform .18s ease,background .18s ease}\n    #istana-v4 .hw-dots span.active{background:#fff;transform:scale(1.45)}\n\n    \/* TRUST *\/\n    #istana-v4 .trust{padding:64px 0 70px;background:radial-gradient(circle at 50% 0%,rgba(216,180,121,.08),transparent 30%),#070708;border-top:1px solid var(--line)}\n    #istana-v4 .trust-head{text-align:center;margin-bottom:34px}\n    #istana-v4 .trust-head h2{max-width:820px;margin:10px auto 0;font-size:clamp(42px,5.1vw,76px);line-height:.95;letter-spacing:-.05em}\n    #istana-v4 .trust-sub{max-width:620px;margin:16px auto 0!important;color:#9b9691!important;font-size:15px!important;line-height:1.55!important}\n    #istana-v4 .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:transparent;border:0;border-radius:0;overflow:visible}\n    #istana-v4 .trust-item{position:relative;padding:24px 22px 22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.10);border-radius:20px;min-height:180px;overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease}\n    #istana-v4 .trust-item:before{content:attr(data-num);display:grid;place-items:center;width:34px;height:34px;margin-bottom:20px;border-radius:50%;border:1px solid rgba(216,180,121,.30);background:rgba(216,180,121,.07);color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.08em}\n    #istana-v4 .trust-item:after{content:\"\";position:absolute;left:22px;right:22px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(216,180,121,.45),transparent);opacity:.35}\n    #istana-v4 .trust-item:hover{transform:translateY(-3px);border-color:rgba(216,180,121,.28);background:linear-gradient(180deg,rgba(216,180,121,.07),rgba(255,255,255,.018))}\n    #istana-v4 .trust-item small{display:block;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px;font-size:9px;font-weight:800}\n    #istana-v4 .trust-item strong{display:block;font-size:19px;line-height:1.18;margin-bottom:9px;color:#f7f3ed}\n    #istana-v4 .trust-item span{display:block;font-size:13px;line-height:1.5;color:#99938e}\n\n    \/* CTA *\/\n    #istana-v4 .cta{padding:92px 0;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(90,69,44,.18),transparent 38%),#040404}\n    #istana-v4 .cta h2{margin-top:10px}\n    #istana-v4 .cta p{max-width:740px;margin:18px auto 0}\n    #istana-v4 .price{font-size:clamp(54px,7vw,96px);letter-spacing:-.05em;font-weight:720;margin-top:26px}\n    #istana-v4 .currency{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8e8985;margin-top:4px}\n    #istana-v4 .buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}\n    #istana-v4 .btn{padding:14px 22px;border-radius:999px;background:#f4f0e9;color:#111;font-size:14px;font-weight:700}\n    #istana-v4 .btn.alt{background:transparent;color:#eee;border:1px solid var(--line)}\n    #istana-v4 .micro{font-size:12px;color:#777;margin-top:22px}\n\n\n\n    \/* LASER SPECKLE INTERACTIVE SECTION *\/\n    #istana-v4 .laser-speckle-section{position:relative;padding:44px 0 48px;background:radial-gradient(circle at 85% 8%,rgba(42,82,255,.18),transparent 32%),linear-gradient(90deg,rgba(5,16,44,.95) 0%,rgba(4,9,24,.98) 48%,rgba(7,10,26,.98) 100%);color:#fff;overflow:hidden}\n    #istana-v4 .laser-speckle-shell{width:min(calc(100% - 48px),1320px);margin:0 auto}\n    #istana-v4 .laser-speckle-head{display:grid;grid-template-columns:1fr;gap:0;align-items:center;margin-bottom:18px}\n    #istana-v4 .laser-speckle-title{margin:0;max-width:760px}\n    #istana-v4 .laser-speckle-title .kicker{margin:0 0 10px;color:#ff7f48;font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}\n    #istana-v4 .laser-speckle-title h2{margin:0;max-width:720px;color:#fff!important;font-size:clamp(2.5rem,4.45vw,4.9rem)!important;line-height:.9;letter-spacing:-.065em;text-wrap:balance}\n    #istana-v4 .laser-speckle-copy{max-width:470px;padding:12px 0 12px 28px;border-left:1px solid rgba(255,255,255,.14)}\n    #istana-v4 .laser-speckle-copy p{margin:0;color:#d2d9ea;font-size:.92rem;line-height:1.58}\n    #istana-v4 .laser-speckle-demo{position:relative;width:100%;aspect-ratio:16\/6.5;min-height:0;max-height:54vh;overflow:hidden;border-radius:30px;background:#0b1020;border:1px solid rgba(132,162,255,.16);box-shadow:0 30px 85px rgba(0,0,0,.34);cursor:grab;user-select:none;touch-action:none}\n    #istana-v4 .laser-speckle-base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}\n    #istana-v4 .laser-speckle-demo::before{content:\"\";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,10,24,.18),rgba(4,10,24,0) 32%,rgba(4,10,24,.12) 100%)}\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"4\"\u003e\n\n    #istana-v4 .laser-speckle-demo::after{content:\"\";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(4,7,15,.22),transparent 24%,transparent 76%,rgba(4,7,15,.12)),linear-gradient(0deg,rgba(4,7,15,.20),transparent 34%)}\n    #istana-v4 .laser-drag-hint{position:absolute;z-index:8;right:20px;top:20px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;color:#fff;background:rgba(13,17,28,.72);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.72rem;font-weight:850;pointer-events:none}\n    #istana-v4 .laser-lens{--lens-size:160px;position:absolute;z-index:10;left:58%;top:50%;width:var(--lens-size);height:var(--lens-size);transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.96);background:#111;box-shadow:0 18px 60px rgba(0,0,0,.42),0 0 0 1px rgba(0,0,0,.25);pointer-events:none}\n    #istana-v4 .laser-lens-match{position:absolute;z-index:1;max-width:none!important;object-fit:cover;object-position:center;pointer-events:none;user-select:none}\n    #istana-v4 .laser-lens::before{content:\"\";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 20% 25%,rgba(255,255,255,.95) 0 1px,transparent 1.7px),radial-gradient(circle at 70% 30%,rgba(255,255,255,.85) 0 1.15px,transparent 1.8px),radial-gradient(circle at 35% 80%,rgba(205,216,255,.86) 0 1.1px,transparent 1.7px),radial-gradient(circle at 84% 72%,rgba(255,230,236,.78) 0 1px,transparent 1.6px),radial-gradient(circle at 52% 48%,rgba(255,255,255,.58) 0 1px,transparent 1.5px);background-size:9px 9px,12px 12px,15px 15px,10px 10px,18px 18px;background-position:0 0,4px 2px,2px 7px,8px 4px,5px 11px;mix-blend-mode:screen;opacity:.62;pointer-events:none}\n    #istana-v4 .laser-lens::after{content:\"\";position:absolute;inset:0;z-index:3;background:repeating-radial-gradient(circle at center,rgba(255,255,255,.10) 0 1px,transparent 1px 4px);opacity:.22;mix-blend-mode:screen;pointer-events:none}\n    #istana-v4 .laser-lens-label{position:absolute;z-index:14;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(5,9,18,.82);border:1px solid rgba(255,255,255,.20);color:#fff;font-size:.56rem;font-weight:950;letter-spacing:.05em;white-space:nowrap;pointer-events:none}\n    @media(max-width:900px){#istana-v4 .laser-speckle-section{padding:58px 0 64px}#istana-v4 .laser-speckle-head{grid-template-columns:1fr;gap:18px;margin-bottom:20px}#istana-v4 .laser-speckle-copy{padding:0 0 0 18px;max-width:680px}#istana-v4 .laser-speckle-demo{aspect-ratio:4\/3;min-height:0}#istana-v4 .laser-lens{--lens-size:168px}}\n    @media(max-width:600px){#istana-v4 .laser-speckle-shell{width:calc(100% - 28px)}#istana-v4 .laser-speckle-section{padding:48px 0 54px}#istana-v4 .laser-speckle-title h2{font-size:clamp(2.6rem,12vw,4.2rem)!important;max-width:420px}#istana-v4 .laser-speckle-copy{padding:0;border-left:0}#istana-v4 .laser-speckle-demo{aspect-ratio:3\/4;border-radius:22px}#istana-v4 .laser-speckle-base{object-position:center}#istana-v4 .laser-lens{--lens-size:140px}#istana-v4 .laser-drag-hint{top:12px;right:12px;font-size:.65rem;padding:8px 11px}}\n\n    @media(max-width:820px){\n      #istana-v4 .container{width:min(100% - 26px,1200px)}\n      #istana-v4 .hero{height:100vh}\n      #istana-v4 .hero-copy{padding-top:2vh}\n      #istana-v4 .hero-copy p{font-size:15px}\n      #istana-v4 .manifesto{padding:72px 0 64px}\n      #istana-v4 .daynight{padding:68px 0}\n      #istana-v4 .daynight-head{display:block}\n      #istana-v4 .daynight-head p{margin-top:20px}\n      #istana-v4 .compare{aspect-ratio:4\/5}\n      #istana-v4 .compare img{object-position:center}\n      #istana-v4 .setup{padding:68px 0}\n      #istana-v4 .setup-stick{height:auto;padding:0}\n      #istana-v4 .setup-grid{grid-template-columns:1fr;gap:18px}\n      #istana-v4 .setup-stage{aspect-ratio:1.36}\n      #istana-v4 .setup-copy h2{font-size:clamp(36px,10vw,60px)}\n      #istana-v4 .setup-copy\u003ep{font-size:14px}\n      #istana-v4 .steps{margin-top:12px}\n      #istana-v4 .step{padding:8px 0;grid-template-columns:42px 1fr}\n      #istana-v4 .step strong{font-size:15px}\n      #istana-v4 .step span{display:none}\n      #istana-v4 .features{min-height:auto;padding:48px 0;display:block}\n      #istana-v4 .feature-grid{grid-template-columns:1fr;height:auto}\n      #istana-v4 .feature-card{height:auto;min-height:430px}\n      #istana-v4 .hardware{height:225vh}\n      #istana-v4 .hardware-title{top:3.5vh}\n      #istana-v4 .hardware-title h2{font-size:clamp(31px,8.8vw,50px)}\n      #istana-v4 .hardware-stage{top:50%;width:92vw;height:min(430px,47vh)}\n      #istana-v4 .hw-frame{width:100%;height:100%;max-height:none}\n      #istana-v4 .hw-caption{left:20px;right:54px;bottom:3.5vh;width:auto;min-height:112px}\n      #istana-v4 .hw-caption h3{font-size:32px}\n      #istana-v4 .hw-dots{right:14px}\n      #istana-v4 .trust-grid{grid-template-columns:1fr 1fr}\n      #istana-v4 .trust-item{min-height:118px}\n    }\n    @media(max-width:520px){\n      #istana-v4 .hero-specs span:nth-child(n+4){display:none}\n      #istana-v4 .trust-grid{grid-template-columns:1fr}\n      #istana-v4 .tv{min-height:78vh}\n      #istana-v4 .feature-card{min-height:400px}\n    }\n    @media(prefers-reduced-motion:reduce){\n      #istana-v4 .reveal{opacity:1;transform:none;transition:none}\n      #istana-v4 .feature-card img,#istana-v4 .projection,#istana-v4 .hw-frame,#istana-v4 .hw-caption{transition:none}\n    }\n\n    @supports (height:100dvh){\n      #istana-v4 .hero-sticky,#istana-v4 .hardware-stick{height:100dvh}#istana-v4 .cinema-stick{height:100dvh}\n    }\n  \n    @media(max-width:760px){\n      #istana-v4 .setup{padding:58px 0}\n      #istana-v4 .setup-grid{grid-template-columns:1fr;gap:22px}\n      #istana-v4 .setup-stage{aspect-ratio:1.45}\n      #istana-v4 .setup-copy h2{font-size:clamp(38px,12vw,58px)}\n      #istana-v4 .setup-copy\u003ep{margin-top:12px}\n      #istana-v4 .setup-active-card{margin-top:20px;padding:16px 0 14px}\n      #istana-v4 .setup-active-number span{font-size:34px}\n      #istana-v4 .setup-active-text strong{font-size:20px}\n      #istana-v4 .steps{gap:6px}\n      #istana-v4 .step{padding:8px 6px;border-radius:10px}\n      #istana-v4 .step strong{font-size:10px}\n      #istana-v4 .setup-status{font-size:8px;max-width:84%;overflow:hidden;text-overflow:ellipsis}\n    }\n\n.istana-side-planner,\n.istana-side-planner *{\n  box-sizing:border-box;\n}\n\n.istana-side-planner{\n  --red:#f72d4e;\n  --blue:#1689ee;\n\n  width:100%;\n  padding:80px 24px 90px;\n\n  background:#fff;\n  color:#171717;\n\n  font-family:\n    Inter,\n    ui-sans-serif,\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n}\n\n.istana-side-planner__container{\n  width:min(100%,1320px);\n  margin:0 auto;\n}\n\n\n\/* =========================================================\n   TITLE\n   ========================================================= *\/\n\n.istana-side-planner__title{\n  margin:0 0 34px;\n\n  color:#111;\n\n  font-size:clamp(3.4rem,6vw,6.3rem);\n  font-weight:400;\n\n  line-height:.95;\n  letter-spacing:-.065em;\n}\n\n\n\/* =========================================================\n   MAIN CARD\n   ========================================================= *\/\n\n.istana-side-planner__card{\n  display:grid;\n  grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);\n\n  gap:20px;\n\n  padding:30px;\n\n  border:1px solid #ddd;\n  border-radius:20px;\n\n  background:#fff;\n\n  box-shadow:\n    0 20px 55px rgba(0,0,0,.08);\n}\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"5\"\u003e\n\n\n\n\/* =========================================================\n   LEFT SIDE\n   ========================================================= *\/\n\n.istana-side-planner__controls{\n  min-height:585px;\n\n  display:flex;\n  flex-direction:column;\n}\n\n\n\/* DEVICE PRESET *\/\n\n.istana-side-planner__device{\n  padding:20px;\n\n  border:1px solid #e2e2e2;\n  border-radius:13px;\n\n  background:#fafafa;\n}\n\n.istana-side-planner__label{\n  display:block;\n\n  margin:0 0 10px;\n\n  color:#8b8b8b;\n\n  font-size:.72rem;\n  font-weight:900;\n\n  letter-spacing:.04em;\n  text-transform:uppercase;\n}\n\n.istana-side-planner__device-box{\n  min-height:51px;\n\n  display:flex;\n  align-items:center;\n\n  padding:0 14px;\n\n  border:2px solid #202020;\n  border-radius:9px;\n\n  background:#fff;\n\n  color:#222;\n\n  font-size:1rem;\n}\n\n\n\/* =========================================================\n   CONTROL GROUPS\n   ========================================================= *\/\n\n.istana-side-planner__control{\n  padding-top:24px;\n  margin-top:24px;\n\n  border-top:1px solid #e2e2e2;\n}\n\n.istana-side-planner__control:first-of-type{\n  margin-top:24px;\n}\n\n\n\/* Slider *\/\n\n.istana-side-planner__range{\n  width:100%;\n  height:25px;\n\n  margin:4px 0 10px;\n  padding:0;\n\n  appearance:none;\n  -webkit-appearance:none;\n\n  border:0;\n\n  background:\n    linear-gradient(\n      90deg,\n      var(--blue) var(--range-progress,10%),\n      #d6d6d6 var(--range-progress,10%)\n    );\n\n  background-size:100% 6px;\n  background-repeat:no-repeat;\n  background-position:center;\n\n  cursor:pointer;\n}\n\n\n\/* Chrome \/ Safari *\/\n\n.istana-side-planner__range::-webkit-slider-thumb{\n  width:22px;\n  height:22px;\n\n  appearance:none;\n  -webkit-appearance:none;\n\n  border:0;\n  border-radius:50%;\n\n  background:var(--blue);\n\n  box-shadow:\n    0 3px 9px rgba(0,0,0,.22);\n}\n\n\n\/* Firefox *\/\n\n.istana-side-planner__range::-moz-range-thumb{\n  width:22px;\n  height:22px;\n\n  border:0;\n  border-radius:50%;\n\n  background:var(--blue);\n\n  box-shadow:\n    0 3px 9px rgba(0,0,0,.22);\n}\n\n\n\/* Output value *\/\n\n.istana-side-planner__output{\n  display:block;\n\n  color:#050505;\n\n  font-size:1.85rem;\n  font-weight:950;\n\n  letter-spacing:-.04em;\n}\n\n\n\/* =========================================================\n   RIGHT BLACK VISUAL PANEL\n   ========================================================= *\/\n\n.istana-side-planner__visual{\n  min-height:615px;\n\n  padding:25px;\n\n  display:flex;\n  flex-direction:column;\n  gap:25px;\n\n  border-radius:12px;\n\n  background:#000;\n}\n\n\n\/* =========================================================\n   TOP VIEW\n   ========================================================= *\/\n\n.istana-side-planner__diagram{\n  height:300px;\n\n  position:relative;\n\n  overflow:hidden;\n\n  border:1px solid #343434;\n  border-radius:8px;\n\n  background:#111;\n}\n\n\n\/* WALL *\/\n\n.istana-side-planner__wall{\n  width:90%;\n  height:16px;\n\n  margin:15px auto 0;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  border-radius:2px;\n\n  background:#fff;\n\n  color:#000;\n\n  font-size:.61rem;\n  font-weight:950;\n\n  letter-spacing:.35em;\n}\n\n\n\/* red target area *\/\n\n.istana-side-planner__target{\n  position:absolute;\n\n  top:31px;\n  left:50%;\n\n  width:34%;\n  height:5px;\n\n  transform:translateX(-50%);\n\n  border-radius:999px;\n\n  background:var(--red);\n}\n\n\n\/* Projection direction *\/\n\n.istana-side-planner__beam{\n  position:absolute;\n\n  top:36px;\n  left:50%;\n\n  width:2px;\n  height:120px;\n\n  transform-origin:top center;\n\n  background:var(--red);\n\n  transition:\n    height .25s ease,\n    transform .25s ease;\n}\n\n\n\/* Projector icon *\/\n\n.istana-side-planner__projector{\n  position:absolute;\n\n  top:156px;\n  left:62%;\n\n  width:62px;\n  height:48px;\n\n  transform:translateX(-50%);\n\n  display:grid;\n  place-items:center;\n\n  border-radius:6px;\n\n  background:var(--red);\n\n  color:#fff;\n\n  font-size:.62rem;\n  font-weight:950;\n\n  transition:\n    top .25s ease,\n    left .25s ease,\n    transform .25s ease;\n}\n\n\n\/* projected size badge *\/\n\n.istana-side-planner__size-stat{\n  position:absolute;\n\n  left:50%;\n  bottom:16px;\n\n  transform:translateX(-50%);\n\n  padding:9px 18px;\n\n  border:1px solid #4a4a4a;\n  border-radius:5px;\n\n  background:#292929;\n\n  color:#fff;\n\n  font-size:.68rem;\n  font-weight:900;\n\n  white-space:nowrap;\n}\n\n\n\/* =========================================================\n   SCREEN PREVIEW\n   ========================================================= *\/\n\n.istana-side-planner__movie{\n  flex:1;\n\n  min-height:240px;\n\n  position:relative;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  background:#000;\n}\n\n\n.istana-side-planner__screen{\n  position:relative;\n\n  width:40%;\n  max-width:88%;\n\n  aspect-ratio:16\/9;\n\n  display:grid;\n  place-items:center;\n\n  border:1px solid rgba(255,255,255,.45);\n\n  background:\n    url('https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-cinema.png')\n    center \/ cover no-repeat;\n\n  transition:width .25s ease;\n}\n\n\n\/* =========================================================\n   PREVIEW LABELS\n   ========================================================= *\/\n\n.istana-side-planner__screen-tag{\n  position:absolute;\n\n  padding:5px 9px;\n\n  border-radius:4px;\n\n  background:var(--red);\n\n  color:#fff;\n\n  font-size:.68rem;\n  font-weight:900;\n\n  white-space:nowrap;\n}\n\n\n.istana-side-planner__diagonal{\n  position:static;\n\n  padding:7px 11px;\n\n  border:1px solid var(--red);\n\n  background:rgba(0,0,0,.82);\n\n  font-size:.9rem;\n}\n\n\n.istana-side-planner__width{\n  left:50%;\n  bottom:-33px;\n\n  transform:translateX(-50%);\n}\n\n\n.istana-side-planner__height{\n  right:-76px;\n  top:50%;\n\n  transform:\n    translateY(-50%)\n    rotate(90deg);\n}\n\n\n\/* =========================================================\n   RESPONSIVE\n   ========================================================= *\/\n\n@media(max-width:900px){\n\n  .istana-side-planner{\n    padding:70px 20px;\n  }\n\n  .istana-side-planner__card{\n    grid-template-columns:1fr;\n  }\n\n  .istana-side-planner__controls{\n    min-height:500px;\n  }\n\n  .istana-side-planner__visual{\n    min-height:550px;\n  }\n}\n\n\n@media(max-width:600px){\n\n  .istana-side-planner{\n    padding:55px 14px;\n  }\n\n  .istana-side-planner__title{\n    margin-bottom:25px;\n\n    font-size:clamp(\n      2.8rem,\n      14vw,\n      4.3rem\n    );\n  }\n\n  .istana-side-planner__card{\n    padding:14px;\n    gap:14px;\n\n    border-radius:15px;\n  }\n\n  .istana-side-planner__controls{\n    min-height:470px;\n  }\n\n  .istana-side-planner__device{\n    padding:17px;\n  }\n\n  .istana-side-planner__visual{\n    padding:14px;\n\n    min-height:500px;\n  }\n\n  .istana-side-planner__diagram{\n    height:260px;\n  }\n\n  .istana-side-planner__movie{\n    min-height:210px;\n  }\n\n  .istana-side-planner__height{\n    right:-68px;\n  }\n\n}\n\n\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"6\"\u003e\n\n.istana-brightness,\n.istana-brightness *{\n  box-sizing:border-box;\n}\n\n.istana-brightness{\n  --cream:#f5efe4;\n  --ink:#111522;\n  --muted:#676d7d;\n  --orange:#e9632e;\n\n  width:100%;\n  padding:80px 24px;\n\n  background:\n    linear-gradient(\n      135deg,\n      #f6efe2 0%,\n      #fffaf1 48%,\n      #eee7ff 100%\n    );\n\n  color:var(--ink);\n\n  font-family:\n    Inter,\n    ui-sans-serif,\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n}\n\n\n.istana-brightness__container{\n  width:min(100%,1820px);\n  margin:0 auto;\n\n  display:grid;\n  grid-template-columns:minmax(420px,.78fr) minmax(650px,1.22fr);\n\n  gap:80px;\n\n  align-items:center;\n}\n\n\n\/* =========================================================\n   LEFT TEXT\n   ========================================================= *\/\n\n#istana-v4 .istana-brightness__copy{\n  max-width:720px;\n}\n\n\n#istana-v4 .istana-brightness__kicker{\n  margin:0 0 30px;\n\n  color:#b85f36 !important;\n  opacity:1 !important;\n\n  font-size:.88rem;\n  font-weight:900;\n\n  letter-spacing:.14em;\n\n  text-transform:uppercase;\n}\n\n\n#istana-v4 .istana-brightness__title{\n  margin:0 0 58px;\n\n  max-width:700px;\n\n  color:#111522;\n\n  font-size:clamp(4.2rem,6vw,7.2rem);\n\n  font-weight:400;\n\n  line-height:.94;\n\n  letter-spacing:-.06em;\n}\n\n\n#istana-v4 .istana-brightness__description{\n  margin:0;\n\n  max-width:700px;\n\n  color:#25324a !important;\n  opacity:1 !important;\n\n  font-size:clamp(1.05rem,1.4vw,1.45rem);\n\n  line-height:1.6;\n}\n\n\n\/* =========================================================\n   COMPARISON CARD\n   ========================================================= *\/\n\n.istana-brightness__comparison{\n  position:relative;\n\n  width:100%;\n\n  aspect-ratio:16\/10;\n\n  overflow:hidden;\n\n  \/* remove the dark\/black frame around the comparison image *\/\n  border:0 !important;\n  outline:0 !important;\n\n  border-radius:36px;\n\n  background:transparent !important;\n\n  cursor:ew-resize;\n\n  user-select:none;\n\n  touch-action:pan-y;\n\n  isolation:isolate;\n\n  box-shadow:none !important;\n}\n\n\n\/* =========================================================\n   IMAGES\n   ========================================================= *\/\n\n.istana-brightness__image{\n  position:absolute;\n  inset:0;\n\n  width:100%;\n  height:100%;\n\n  overflow:hidden;\n\n  pointer-events:none;\n}\n\n\n.istana-brightness__image img{\n  position:absolute;\n  inset:0;\n\n  width:100%;\n  height:100%;\n\n  max-width:none;\n\n  object-fit:cover;\n  object-position:50% 56%;\n\n  display:block;\n\n  border:0 !important;\n  outline:0 !important;\n  box-shadow:none !important;\n}\n\n\/* Shopify themes can sometimes add borders\/shadows to media wrappers. *\/\n#istana-v4 .istana-brightness__comparison,\n#istana-v4 .istana-brightness__image,\n#istana-v4 .istana-brightness__image img{\n  border:none !important;\n  outline:none !important;\n}\n\n\n\/* Night stays underneath *\/\n\n.istana-brightness__night{\n  z-index:1;\n}\n\n\n\/* Day gets clipped *\/\n\n.istana-brightness__day{\n  z-index:2;\n\n  clip-path:inset(0 50% 0 0);\n\n  will-change:clip-path;\n}\n\n\n\/* =========================================================\n   DAY \/ NIGHT BADGES\n   ========================================================= *\/\n\n.istana-brightness__badge{\n  position:absolute;\n  z-index:8;\n\n  top:30px;\n\n  display:flex;\n  align-items:center;\n  gap:10px;\n\n  padding:14px 20px;\n\n  border-radius:999px;\n\n  font-size:.82rem;\n  font-weight:950;\n\n  letter-spacing:.09em;\n\n  text-transform:uppercase;\n\n  backdrop-filter:blur(14px);\n  -webkit-backdrop-filter:blur(14px);\n\n  box-shadow:0 10px 30px rgba(0,0,0,.12);\n\n  pointer-events:none;\n}\n\n\n.istana-brightness__badge--day{\n  left:30px;\n\n  color:#29251e;\n\n  background:rgba(255,250,239,.92);\n\n  border:1px solid rgba(50,40,30,.10);\n}\n\n\n.istana-brightness__badge--night{\n  right:30px;\n\n  color:#fff;\n\n  background:rgba(16,18,31,.86);\n\n  border:1px solid rgba(255,255,255,.16);\n}\n\n\n.istana-brightness__badge-icon{\n  font-size:1.15rem;\n  line-height:1;\n}\n\n\n\/* =========================================================\n   DIVIDER\n   ========================================================= *\/\n\n.istana-brightness__divider{\n  position:absolute;\n\n  z-index:10;\n\n  top:25px;\n  bottom:25px;\n\n  left:50%;\n\n  width:2px;\n\n  transform:translateX(-50%);\n\n  background:rgba(255,255,255,.95);\n\n  box-shadow:\n    0 0 0 1px rgba(0,0,0,.08),\n    0 0 18px rgba(255,255,255,.18);\n\n  pointer-events:none;\n}\n\n\n\/* Circle handle *\/\n\n.istana-brightness__handle{\n  position:absolute;\n\n  top:50%;\n  left:50%;\n\n  width:78px;\n  height:78px;\n\n  transform:translate(-50%,-50%);\n\n  display:grid;\n  place-items:center;\n\n  border-radius:50%;\n\n  background:#fff;\n\n  color:#111522;\n\n  border:1px solid rgba(17,21,34,.10);\n\n  box-shadow:\n    0 14px 36px rgba(0,0,0,.22);\n\n  font-size:1.2rem;\n  font-weight:900;\n}\n\n\n\/* =========================================================\n   INVISIBLE RANGE INPUT\n   ========================================================= *\/\n\n.istana-brightness__range{\n  position:absolute;\n  inset:0;\n\n  z-index:12;\n\n  width:100%;\n  height:100%;\n\n  margin:0;\n\n  opacity:0;\n\n  cursor:ew-resize;\n\n  appearance:none;\n  -webkit-appearance:none;\n\n  touch-action:none;\n}\n\n\n.istana-brightness__range::-webkit-slider-thumb{\n  appearance:none;\n  -webkit-appearance:none;\n\n  width:1px;\n  height:100%;\n}\n\n\n.istana-brightness__range::-moz-range-thumb{\n  width:1px;\n  height:100%;\n\n  border:0;\n\n  background:transparent;\n}\n\n\n\/* =========================================================\n   BOTTOM DRAG BADGE\n   ========================================================= *\/\n\n.istana-brightness__drag{\n  position:absolute;\n\n  z-index:11;\n\n  left:50%;\n  bottom:25px;\n\n  transform:translateX(-50%);\n\n  display:flex;\n  align-items:center;\n  gap:9px;\n\n  padding:13px 20px;\n\n  border-radius:999px;\n\n  color:#fff;\n\n  background:rgba(13,15,27,.90);\n\n  border:1px solid rgba(255,255,255,.16);\n\n  backdrop-filter:blur(14px);\n  -webkit-backdrop-filter:blur(14px);\n\n  box-shadow:\n    0 12px 30px rgba(0,0,0,.18);\n\n  font-size:.78rem;\n  font-weight:900;\n\n  white-space:nowrap;\n\n  pointer-events:none;\n\n  transition:\n    opacity .2s ease,\n    transform .2s ease;\n}\n\n\n.istana-brightness__comparison.is-dragging\n.istana-brightness__drag{\n  opacity:.3;\n\n  transform:\n    translateX(-50%)\n    translateY(5px);\n}\n\n\n\/* =========================================================\n   RESPONSIVE\n   ========================================================= *\/\n\n@media(max-width:1100px){\n\n  .istana-brightness{\n    padding:80px 24px;\n  }\n\n  .istana-brightness__container{\n    grid-template-columns:1fr;\n\n    gap:50px;\n  }\n\n  .istana-brightness__copy{\n    max-width:850px;\n  }\n\n  #istana-v4 .istana-brightness__title{\n    max-width:850px;\n  }\n\n}\n\n\n@media(max-width:700px){\n\n  .istana-brightness{\n    padding:65px 14px;\n  }\n\n\n  .istana-brightness__container{\n    gap:35px;\n  }\n\n\n  #istana-v4 .istana-brightness__kicker{\n    margin-bottom:20px;\n\n    font-size:.72rem;\n  }\n\n\n  #istana-v4 .istana-brightness__title{\n    margin-bottom:34px;\n\n    font-size:clamp(\n      3.2rem,\n      15vw,\n      5rem\n    );\n\n    line-height:.96;\n  }\n\n\n  #istana-v4 .istana-brightness__description{\n    font-size:1rem;\n  }\n\n\n  .istana-brightness__comparison{\n    aspect-ratio:4\/5;\n\n    border-radius:24px;\n  }\n\n\n  .istana-brightness__comparison img{\n    object-position:center;\n  }\n\n\n  .istana-brightness__badge{\n    top:14px;\n\n    padding:9px 12px;\n\n    font-size:.62rem;\n  }\n\n\n  .istana-brightness__badge--day{\n    left:14px;\n  }\n\n\n  .istana-brightness__badge--night{\n    right:14px;\n  }\n\n\n  .istana-brightness__divider{\n    top:15px;\n    bottom:15px;\n  }\n\n\n  .istana-brightness__handle{\n    width:58px;\n    height:58px;\n  }\n\n\n  .istana-brightness__drag{\n    bottom:15px;\n\n    padding:9px 13px;\n\n    font-size:.67rem;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"7\"\u003e\n\n.istana-memc,.istana-memc *{box-sizing:border-box}\n.istana-memc{width:100%;padding:24px 24px 18px;background:#090d18;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}\n.istana-memc__container{width:min(100%,1280px);margin:0 auto}\n.istana-memc__kicker{margin:0 0 10px;color:#ff7a3d;font-size:.72rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}\n.istana-memc__title{margin:0 0 14px;max-width:760px;color:#fff;font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:.9;letter-spacing:-.055em}\n.istana-memc__description{max-width:760px;margin:0 0 20px;color:#aeb6ca;font-size:.94rem;line-height:1.5}\n.istana-memc__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n.istana-memc__panel{position:relative;height:clamp(230px,33vh,300px);min-height:230px;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,#1b2350 0%,#16172b 100%)}\n.istana-memc__label{position:absolute;top:18px;left:20px;z-index:5;color:#fff;font-size:.7rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}\n.istana-memc__ball{position:absolute;top:54%;left:62%;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0%,#ffd29a 11%,#ff9b4b 31%,#ff5e4f 62%,#ff4562 100%);box-shadow:0 10px 30px rgba(255,80,70,.30),inset -8px -10px 18px rgba(162,29,71,.18)}\n.istana-memc__ghost{opacity:.28;filter:blur(3px)}\n.istana-memc__ghost--1{left:49%}.istana-memc__ghost--2{left:55%;opacity:.46;filter:blur(1.5px)}\n.istana-memc__panel--on::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 28%,rgba(52,216,209,.025) 68%,transparent 100%)}\n.istana-memc__speed-lines{position:absolute;left:18%;top:54%;width:44%;height:92px;transform:translateY(-50%);opacity:.48;background:repeating-linear-gradient(0deg,transparent 0px,transparent 10px,rgba(255,255,255,.16) 11px,rgba(255,255,255,.16) 12px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 100%);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 100%)}\n.istana-memc__panel--off .istana-memc__ball:not(.istana-memc__ghost){animation:istanaMemcMainOff 2.5s ease-in-out infinite alternate}.istana-memc__panel--off .istana-memc__ghost--1{animation:istanaMemcGhost1 2.5s ease-in-out infinite alternate}.istana-memc__panel--off .istana-memc__ghost--2{animation:istanaMemcGhost2 2.5s ease-in-out infinite alternate}.istana-memc__panel--on .istana-memc__ball{animation:istanaMemcSmooth 2.5s ease-in-out infinite alternate}\n@keyframes istanaMemcMainOff{from{left:57%}to{left:64%}}@keyframes istanaMemcGhost1{from{left:44%}to{left:51%}}@keyframes istanaMemcGhost2{from{left:50%}to{left:57%}}@keyframes istanaMemcSmooth{from{left:57%}to{left:64%}}\n.istana-memc__modes{margin:12px 0 0;color:#9ea7ba;font-size:.76rem}.istana-memc__modes strong{color:#aeb6ca;font-weight:900}\n@media(min-width:801px){.istana-memc{min-height:min(100vh,820px);display:flex;align-items:center}.istana-memc__container{padding:0}}\n@media(max-width:800px){.istana-memc{padding:60px 18px 35px}.istana-memc__title{font-size:clamp(3rem,12vw,5rem)}.istana-memc__grid{grid-template-columns:1fr}.istana-memc__panel{min-height:320px}}\n@media(max-width:500px){.istana-memc{padding:50px 14px 30px}.istana-memc__title{font-size:clamp(2.8rem,14vw,4rem)}.istana-memc__description{margin-bottom:32px}.istana-memc__panel{min-height:270px;border-radius:22px}.istana-memc__ball{width:54px;height:54px}}\n@media(prefers-reduced-motion:reduce){.istana-memc__ball,.istana-memc__ghost{animation:none!important}}\n\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"8\"\u003e\n\n.istana-smart-planner,\n.istana-smart-planner *{\n  box-sizing:border-box;\n}\n\n.istana-smart-planner{\n  --red:#f72d4e;\n  --blue:#1689ee;\n  --black:#050505;\n  --border:#dcdcdc;\n\n  width:100%;\n  padding:90px 24px;\n  background:#fff;\n  color:#171717;\n\n  font-family:\n    Inter,\n    ui-sans-serif,\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n}\n\n.istana-smart-planner__container{\n  width:min(100%,1320px);\n  margin:0 auto;\n}\n\n\n\/* ==============================\n   TITLE\n   ============================== *\/\n\n.istana-smart-planner__title{\n  margin:0 0 34px;\n\n  color:#111;\n\n  font-size:clamp(3.4rem,6vw,6.3rem);\n  font-weight:400;\n  line-height:.95;\n  letter-spacing:-.065em;\n}\n\n\n\/* ==============================\n   MAIN CARD\n   ============================== *\/\n\n.istana-smart-planner__card{\n  display:grid;\n  grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);\n  gap:20px;\n\n  padding:30px;\n\n  background:#fff;\n\n  border:1px solid #ddd;\n  border-radius:20px;\n\n  box-shadow:\n    0 20px 55px rgba(0,0,0,.08);\n}\n\n\n\/* ==============================\n   LEFT SIDE\n   ============================== *\/\n\n.istana-smart-planner__controls{\n  min-height:520px;\n\n  display:flex;\n  flex-direction:column;\n}\n\n\n\/* Device box *\/\n\n.istana-smart-planner__device{\n  padding:20px;\n\n  border:1px solid #e2e2e2;\n  border-radius:13px;\n\n  background:#fafafa;\n}\n\n.istana-smart-planner__label{\n  display:block;\n\n  margin:0 0 10px;\n\n  color:#8b8b8b;\n\n  font-size:.72rem;\n  font-weight:900;\n\n  letter-spacing:.04em;\n  text-transform:uppercase;\n}\n\n.istana-smart-planner__device-box{\n  width:100%;\n  min-height:51px;\n\n  display:flex;\n  align-items:center;\n\n  padding:0 14px;\n\n  border:2px solid #202020;\n  border-radius:9px;\n\n  background:#fff;\n\n  color:#222;\n\n  font-size:1rem;\n}\n\n\n\/* Image size *\/\n\n.istana-smart-planner__size{\n  margin-top:24px;\n\n  padding:24px;\n\n  border-radius:14px;\n\n  background:#050505;\n  color:#fff;\n}\n\n.istana-smart-planner__size .istana-smart-planner__label{\n  color:#aaa;\n  margin-bottom:5px;\n}\n\n.istana-smart-planner__size strong{\n  display:block;\n\n  color:#fff;\n\n  font-size:2rem;\n  font-weight:950;\n  line-height:1;\n}\n\n\n\/* Slider *\/\n\n.istana-smart-planner__slider{\n  margin-top:auto;\n\n  padding-top:24px;\n\n  border-top:1px solid #e2e2e2;\n}\n\n.istana-smart-planner__range{\n  width:100%;\n  height:25px;\n\n  margin:5px 0 10px;\n  padding:0;\n\n  border:0;\n\n  appearance:none;\n  -webkit-appearance:none;\n\n  background:\n    linear-gradient(\n      90deg,\n      var(--blue) var(--range-progress,8%),\n      #d5d5d5 var(--range-progress,8%)\n    );\n\n  background-size:100% 6px;\n  background-repeat:no-repeat;\n  background-position:center;\n\n  cursor:pointer;\n}\n\n\n\/* Chrome \/ Safari *\/\n\n.istana-smart-planner__range::-webkit-slider-thumb{\n  width:22px;\n  height:22px;\n\n  appearance:none;\n  -webkit-appearance:none;\n\n  border:0;\n  border-radius:50%;\n\n  background:var(--blue);\n\n  box-shadow:\n    0 3px 8px rgba(0,0,0,.22);\n}\n\n\n\/* Firefox *\/\n\n.istana-smart-planner__range::-moz-range-thumb{\n  width:22px;\n  height:22px;\n\n  border:0;\n  border-radius:50%;\n\n  background:var(--blue);\n\n  box-shadow:\n    0 3px 8px rgba(0,0,0,.22);\n}\n\n.istana-smart-planner__distance{\n  display:block;\n\n  color:#000;\n\n  font-size:1.85rem;\n  font-weight:950;\n  letter-spacing:-.04em;\n}\n\n\n\/* ==============================\n   RIGHT VISUAL\n   ============================== *\/\n\n.istana-smart-planner__visual{\n  min-height:535px;\n\n  padding:25px;\n\n  display:flex;\n  flex-direction:column;\n  gap:25px;\n\n  border-radius:12px;\n\n  background:#000;\n}\n\n\n\/* ==============================\n   TOP DISTANCE DIAGRAM\n   ============================== *\/\n\n.istana-smart-planner__diagram{\n  position:relative;\n\n  height:220px;\n\n  overflow:hidden;\n\n  border:1px solid #343434;\n  border-radius:8px;\n\n  background:#111;\n}\n\n\n\/* Wall *\/\n\n.istana-smart-planner__wall{\n  width:90%;\n  height:16px;\n\n  margin:15px auto 0;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  border-radius:2px;\n\n  background:#fff;\n\n  color:#000;\n\n  font-size:.61rem;\n  font-weight:950;\n\n  letter-spacing:.35em;\n}\n\n\n\/* Distance line *\/\n\n.istana-smart-planner__throw-line{\n  position:absolute;\n\n  top:31px;\n  left:50%;\n\n  width:2px;\n  height:54px;\n\n  transform:translateX(-50%);\n\n  background:var(--red);\n\n  transition:height .25s ease;\n}\n\n.istana-smart-planner__distance-tag{\n  position:absolute;\n\n  top:50%;\n  left:50%;\n\n  transform:translate(-50%,-50%);\n\n  padding:4px 7px;\n\n  border:1px solid var(--red);\n  border-radius:4px;\n\n  background:#000;\n\n  color:var(--red);\n\n  font-size:.68rem;\n  font-weight:950;\n\n  white-space:nowrap;\n}\n\n\n\/* Projector *\/\n\n.istana-smart-planner__projector{\n  position:absolute;\n\n  top:85px;\n  left:50%;\n\n  width:62px;\n  height:48px;\n\n  transform:translateX(-50%);\n\n  display:grid;\n  place-items:center;\n\n  border-radius:6px;\n\n  background:var(--red);\n\n  color:#fff;\n\n  font-size:.62rem;\n  font-weight:950;\n\n  transition:top .25s ease;\n}\n\n\n\/* Total distance *\/\n\n.istana-smart-planner__total-line{\n  position:absolute;\n\n  top:31px;\n  right:10%;\n\n  height:102px;\n\n  border-left:1px dashed #666;\n\n  transition:height .25s ease;\n}\n\n.istana-smart-planner__total{\n  position:absolute;\n\n  right:-44px;\n  bottom:8px;\n  z-index:8;\n\n  min-width:88px;\n\n  padding:5px 8px;\n\n  border:1px solid #666;\n  border-radius:4px;\n\n  background:#3b3b3b;\n\n  color:#fff;\n\n  font-size:.68rem;\n  font-weight:900;\n\n  text-align:center;\n  white-space:nowrap;\n}\n\n\n\/* ==============================\n   SCREEN PREVIEW\n   ============================== *\/\n\n.istana-smart-planner__movie{\n  position:relative;\n\n  flex:1;\n  min-height:390px;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  background:#000;\n}\n\n.istana-smart-planner__screen{\n  position:relative;\n\n  width:40%;\n  aspect-ratio:16\/9;\n\n  display:grid;\n  place-items:center;\n\n  border:1px solid rgba(255,255,255,.45);\n\n  background:\n    url('https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-cinema.png')\n    center \/ cover no-repeat;\n\n  transition:width .25s ease;\n}\n\n\n\/* Preview labels *\/\n\n.istana-smart-planner__screen-tag{\n  position:absolute;\n\n  padding:5px 9px;\n\n  border-radius:4px;\n\n  background:var(--red);\n\n  color:#fff;\n\n  font-size:.68rem;\n  font-weight:900;\n\n  white-space:nowrap;\n}\n\n.istana-smart-planner__diagonal{\n  position:static;\n\n  padding:7px 11px;\n\n  border:1px solid var(--red);\n\n  background:rgba(0,0,0,.82);\n\n  color:#fff;\n\n  font-size:.9rem;\n}\n\n.istana-smart-planner__width{\n  left:50%;\n  bottom:-33px;\n\n  transform:translateX(-50%);\n}\n\n.istana-smart-planner__height{\n  right:-76px;\n  top:50%;\n\n  transform:\n    translateY(-50%)\n    rotate(90deg);\n}\n\n\n\/* ==============================\n   MOBILE \/ TABLET\n   ============================== *\/\n\n@media(max-width:900px){\n\n  .istana-smart-planner{\n    padding:70px 20px;\n  }\n\n  .istana-smart-planner__card{\n    grid-template-columns:1fr;\n  }\n\n  .istana-smart-planner__controls{\n    min-height:430px;\n  }\n\n  .istana-smart-planner__visual{\n    min-height:520px;\n  }\n}\n\n\n@media(max-width:600px){\n\n  .istana-smart-planner{\n    padding:55px 14px;\n  }\n\n  .istana-smart-planner__title{\n    margin-bottom:25px;\n\n    font-size:clamp(\n      2.8rem,\n      14vw,\n      4.3rem\n    );\n  }\n\n  .istana-smart-planner__card{\n    padding:14px;\n    gap:14px;\n\n    border-radius:15px;\n  }\n\n  .istana-smart-planner__controls{\n    min-height:390px;\n  }\n\n  .istana-smart-planner__device,\n  .istana-smart-planner__size{\n    padding:17px;\n  }\n\n  .istana-smart-planner__visual{\n    padding:14px;\n    min-height:460px;\n  }\n\n  .istana-smart-planner__diagram{\n    height:210px;\n  }\n\n  .istana-smart-planner__movie{\n    min-height:210px;\n  }\n\n  .istana-smart-planner__height{\n    right:-68px;\n  }\n}\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"9\"\u003e\n\n\/* SMART SETUP PLANNER — compact desktop layout to fit within one viewport *\/\n@media (min-width:901px){\n  .istana-smart-planner{\n    padding:24px 24px 28px;\n  }\n  .istana-smart-planner__container{\n    width:min(100%,1480px);\n  }\n  .istana-smart-planner__title{\n    margin:0 0 16px;\n    font-size:clamp(2.9rem,4.2vw,4.5rem);\n    line-height:.92;\n  }\n  .istana-smart-planner__card{\n    height:clamp(560px,calc(100vh - 145px),700px);\n    min-height:0;\n    padding:20px;\n    gap:18px;\n    grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr);\n    overflow:hidden;\n  }\n  .istana-smart-planner__controls{\n    min-height:0;\n    height:100%;\n  }\n  .istana-smart-planner__device{\n    padding:16px;\n  }\n  .istana-smart-planner__device-box{\n    min-height:44px;\n    font-size:.95rem;\n  }\n  .istana-smart-planner__size{\n    margin-top:14px;\n    padding:18px;\n  }\n  .istana-smart-planner__size strong{\n    font-size:1.75rem;\n  }\n  .istana-smart-planner__slider{\n    margin-top:auto;\n    padding-top:16px;\n  }\n  .istana-smart-planner__distance{\n    font-size:1.6rem;\n  }\n  .istana-smart-planner__visual{\n    min-height:0;\n    height:100%;\n    padding:16px;\n    gap:14px;\n  }\n  .istana-smart-planner__diagram{\n    flex:0 0 150px;\n    height:150px;\n  }\n  .istana-smart-planner__movie{\n    min-height:0;\n    flex:1 1 auto;\n  }\n}\n\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"10\"\u003e\n\n.istana-final-cta,\n.istana-final-cta *{\n  box-sizing:border-box;\n}\n\n.istana-final-cta{\n  position:relative;\n  width:100%;\n  min-height:78vh;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  overflow:hidden;\n  background:#060913;\n  color:#fff;\n  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\n}\n\n.istana-final-cta__image{\n  position:absolute;\n  inset:0;\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  object-position:center;\n  display:block;\n}\n\n.istana-final-cta__overlay{\n  position:absolute;\n  inset:0;\n  background:\n    linear-gradient(0deg,rgba(5,7,16,.90),rgba(5,7,16,.38) 48%,rgba(5,7,16,.18) 75%),\n    radial-gradient(circle at 70% 35%,rgba(117,66,255,.20),transparent 38%),\n    linear-gradient(90deg,rgba(4,6,13,.25),transparent 40%,rgba(4,6,13,.12));\n  z-index:1;\n}\n\n.istana-final-cta__content{\n  position:relative;\n  z-index:2;\n  width:min(calc(100% - 40px),1200px);\n  margin:0 auto;\n  padding:120px 20px;\n  text-align:center;\n  animation:istanaFinalFade 1s ease both;\n}\n\n.istana-final-cta__kicker{\n  margin:0 0 16px;\n  color:#ff7a3d;\n  font-size:.78rem;\n  font-weight:950;\n  letter-spacing:.12em;\n  text-transform:uppercase;\n}\n\n.istana-final-cta__title{\n  margin:0 0 34px;\n  color:#fff;\n  font-size:clamp(3.5rem,6vw,6rem);\n  font-weight:400;\n  line-height:.95;\n  letter-spacing:-.06em;\n}\n\n.istana-final-cta__price{\n  display:block;\n  margin:0 0 34px;\n  color:#fff;\n  font-size:clamp(2.8rem,4vw,4.4rem);\n  font-weight:900;\n  line-height:1;\n}\n\n.istana-final-cta__button{\n  min-width:180px;\n  min-height:62px;\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  padding:0 30px;\n  border-radius:0;\n  background:linear-gradient(135deg,#ff734b 0%,#ff5d63 45%,#9d4df3 100%);\n  color:#fff!important;\n  font-size:.95rem;\n  font-weight:900;\n  text-decoration:none!important;\n  border:0;\n  box-shadow:0 18px 45px rgba(255,91,93,.28);\n  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;\n}\n\n.istana-final-cta__button:hover{\n  transform:translateY(-3px);\n  box-shadow:0 24px 55px rgba(255,91,93,.34);\n  filter:brightness(1.05);\n}\n\n@keyframes istanaFinalFade{\n  from{opacity:0;transform:translateY(25px)}\n  to{opacity:1;transform:none}\n}\n\n@media(max-width:700px){\n  .istana-final-cta{min-height:70vh}\n  .istana-final-cta__image{object-position:center}\n  .istana-final-cta__content{padding:90px 14px}\n  .istana-final-cta__title{font-size:clamp(3rem,14vw,4.8rem);margin-bottom:28px}\n  .istana-final-cta__price{font-size:2.8rem;margin-bottom:28px}\n  .istana-final-cta__button{min-width:170px;min-height:58px}\n}\n\n@media(prefers-reduced-motion:reduce){\n  .istana-final-cta__content{animation:none}\n}\n\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"11\"\u003e\n\n\/* SIDE PLACEMENT PLANNER — compact desktop one-screen layout *\/\n@media (min-width:901px){\n  .istana-side-planner{\n    padding:32px 24px 38px !important;\n  }\n  .istana-side-planner__title{\n    margin:0 0 18px !important;\n    font-size:clamp(2.7rem,4.1vw,4.9rem) !important;\n    line-height:.92 !important;\n  }\n  .istana-side-planner__card{\n    grid-template-columns:minmax(300px,.70fr) minmax(0,1.30fr) !important;\n    gap:16px !important;\n    padding:18px !important;\n    border-radius:16px !important;\n  }\n  .istana-side-planner__controls{\n    min-height:0 !important;\n  }\n  .istana-side-planner__device{\n    padding:14px !important;\n    border-radius:10px !important;\n  }\n  .istana-side-planner__device-box{\n    min-height:44px !important;\n    font-size:.92rem !important;\n  }\n  .istana-side-planner__control,\n  .istana-side-planner__control:first-of-type{\n    margin-top:16px !important;\n    padding-top:16px !important;\n  }\n  .istana-side-planner__label{\n    margin-bottom:7px !important;\n    font-size:.66rem !important;\n  }\n  .istana-side-planner__range{\n    height:20px !important;\n    margin:2px 0 6px !important;\n  }\n  .istana-side-planner__range::-webkit-slider-thumb{\n    width:18px !important;\n    height:18px !important;\n  }\n  .istana-side-planner__range::-moz-range-thumb{\n    width:18px !important;\n    height:18px !important;\n  }\n  .istana-side-planner__output{\n    font-size:1.45rem !important;\n  }\n  .istana-side-planner__visual{\n    min-height:0 !important;\n    height:500px !important;\n    padding:16px !important;\n    gap:14px !important;\n    border-radius:10px !important;\n  }\n  .istana-side-planner__diagram{\n    height:205px !important;\n    flex:0 0 205px !important;\n  }\n  .istana-side-planner__movie{\n    min-height:0 !important;\n    height:245px !important;\n    flex:1 1 auto !important;\n  }\n  .istana-side-planner__wall{\n    margin-top:10px !important;\n  }\n  .istana-side-planner__target{\n    top:26px !important;\n  }\n  .istana-side-planner__beam{\n    top:31px !important;\n  }\n  .istana-side-planner__size-stat{\n    bottom:10px !important;\n    padding:7px 14px !important;\n  }\n}\n\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"12\"\u003e\n\n\/* =========================================================\n   ISTANA 4K — SHOPIFY ISOLATION \/ REFERENCE MATCH LOCK\n   Keeps the reference HTML appearance inside Shopify.\n   ========================================================= *\/\n.istana-4k-shopify-section,\n.istana-4k-shopify-section \u003e * {\n  max-width:none !important;\n}\n.istana-4k-shopify-section {\n  width:100% !important;\n  margin:0 !important;\n  padding:0 !important;\n  overflow:visible !important;\n}\n\n#istana-v4.istana-page {\n  position:relative !important;\n  width:100vw !important;\n  max-width:100vw !important;\n  left:50% !important;\n  right:auto !important;\n  margin-left:-50vw !important;\n  margin-right:0 !important;\n  padding:0 !important;\n  overflow-x:hidden !important;\n  overflow-y:visible !important;\n  box-sizing:border-box !important;\n  background:#040404 !important;\n  color:#f7f3ed !important;\n  font-family:Inter,Arial,Helvetica,sans-serif !important;\n}\n#istana-v4,\n#istana-v4 * { box-sizing:border-box !important; }\n#istana-v4 \u003e section {\n  width:100% !important;\n  max-width:none !important;\n  margin-top:0 !important;\n  margin-bottom:0 !important;\n  margin-left:0 !important;\n  margin-right:0 !important;\n}\n#istana-v4 .fullbleed {\n  width:100% !important;\n  max-width:none !important;\n  margin-top:0 !important;\n  margin-bottom:0 !important;\n  margin-left:0 !important;\n  margin-right:0 !important;\n}\n#istana-v4 img { display:block !important; max-width:100% !important; }\n#istana-v4 h1,#istana-v4 h2,#istana-v4 h3,#istana-v4 p { margin:0 !important; }\n#istana-v4 h1 { font-size:clamp(58px,8.3vw,132px) !important; line-height:.88 !important; letter-spacing:-.06em !important; font-weight:720 !important; }\n#istana-v4 h2 { font-size:clamp(42px,6vw,90px) !important; line-height:.93 !important; letter-spacing:-.05em !important; font-weight:670 !important; }\n#istana-v4 h3 { font-size:clamp(24px,3vw,40px) !important; line-height:1 !important; letter-spacing:-.03em !important; }\n#istana-v4 p { font-size:clamp(16px,1.45vw,20px) !important; line-height:1.55 !important; color:#c8c3bf !important; }\n#istana-v4 .eyebrow { font-size:11px !important; letter-spacing:.2em !important; text-transform:uppercase !important; color:#d8c19d !important; }\n#istana-v4 .container { width:min(calc(100% - 48px),1368px) !important; max-width:1368px !important; margin-left:auto !important; margin-right:auto !important; }\n\n\/* HERO — prevent Shopify\/RTE from separating image and copy *\/\n#istana-v4 section.hero { height:100vh !important; min-height:100vh !important; position:relative !important; background:#000 !important; overflow:hidden !important; }\n#istana-v4 .hero-sticky { position:relative !important; top:0 !important; height:100vh !important; min-height:100vh !important; overflow:hidden !important; display:grid !important; place-items:center !important; }\n#istana-v4 img.hero-bg { position:absolute !important; inset:-3% !important; width:106% !important; max-width:none !important; height:106% !important; object-fit:cover !important; filter:none !important; transform:scale(1.03) !important; }\n#istana-v4 .hero-vignette { display:none !important; }\n#istana-v4 .hero-glow { display:none !important; }\n#istana-v4 .hero-copy { position:relative !important; z-index:2 !important; text-align:center !important; width:min(1120px,92vw) !important; padding-top:4vh !important; transform:none !important; opacity:1 !important; color:#f7f3ed !important; }\n#istana-v4 .hero-copy h1 { margin-top:14px !important; color:#f7f3ed !important; }\n#istana-v4 .hero-copy h1 span { display:block !important; color:transparent !important; -webkit-text-stroke:1px rgba(255,255,255,.5) !important; }\n#istana-v4 .hero-copy p { max-width:730px !important; margin:26px auto 0 !important; color:#ece7e2 !important; }\n#istana-v4 .hero-specs { display:flex !important; gap:9px !important; flex-wrap:wrap !important; justify-content:center !important; margin-top:28px !important; }\n#istana-v4 .hero-specs span { padding:9px 13px !important; border:1px solid rgba(255,255,255,.13) !important; border-radius:999px !important; background:rgba(0,0,0,.3) !important; font-size:12px !important; color:#eee !important; }\n\n\/* CINEMA — exact reference composition *\/\n#istana-v4 section.cinema { min-height:100vh !important; height:100vh !important; position:relative !important; background:#000 !important; overflow:hidden !important; }\n#istana-v4 .cinema-stick { position:relative !important; height:100vh !important; min-height:100vh !important; overflow:hidden !important; isolation:isolate !important; }\n#istana-v4 img.cinema-bg { position:absolute !important; inset:0 !important; width:100% !important; max-width:none !important; height:100% !important; object-fit:cover !important; filter:none !important; transform:none !important; }\n#istana-v4 .cinema-shade { display:none !important; background:none !important; }\n#istana-v4 .cinema-copy { position:absolute !important; left:7vw !important; bottom:7vh !important; z-index:2 !important; max-width:650px !important; color:#f7f3ed !important; }\n#istana-v4 .cinema-copy .eyebrow { color:#d8c19d !important; }\n#istana-v4 .cinema-copy h2 { margin-top:10px !important; color:#f7f3ed !important; }\n#istana-v4 .cinema-copy p { margin-top:18px !important; color:#c8c3bf !important; }\n#istana-v4 .cinema-progress,#istana-v4 .cinema-progress span { display:none !important; }\n\n\/* GOOGLE TV *\/\n#istana-v4 section.tv { min-height:88vh !important; position:relative !important; display:grid !important; align-items:center !important; background:#000 !important; overflow:hidden !important; }\n#istana-v4 section.tv \u003e img { position:absolute !important; inset:0 !important; width:100% !important; max-width:none !important; height:100% !important; object-fit:cover !important; filter:none !important; transform:scale(1.025) !important; }\n#istana-v4 section.tv:after { content:none !important; display:none !important; background:none !important; }\n#istana-v4 .tv-copy { position:relative !important; z-index:2 !important; }\n#istana-v4 .tv-copy h2 { max-width:790px !important; margin-top:10px !important; color:#f7f3ed !important; }\n#istana-v4 .tv-copy p { max-width:560px !important; margin-top:20px !important; color:#c8c3bf !important; }\n\n\/* GAMING + SOUND *\/\n#istana-v4 section.features { min-height:100vh !important; padding:28px 0 !important; background:#050505 !important; display:flex !important; align-items:center !important; }\n#istana-v4 .feature-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:18px !important; height:min(760px,calc(100vh - 56px)) !important; align-items:stretch !important; }\n#istana-v4 .feature-card { min-height:0 !important; height:100% !important; border-radius:26px !important; overflow:hidden !important; position:relative !important; border:1px solid rgba(255,255,255,.13) !important; }\n#istana-v4 .feature-card \u003e img { position:absolute !important; inset:0 !important; width:100% !important; max-width:none !important; height:100% !important; object-fit:cover !important; filter:none !important; opacity:1 !important; }\n#istana-v4 .feature-card:after { content:none !important; display:none !important; background:none !important; }\n#istana-v4 .feature-copy { position:absolute !important; z-index:2 !important; left:28px !important; right:28px !important; bottom:26px !important; }\n#istana-v4 .feature-copy h3 { margin-top:9px !important; font-size:clamp(28px,2.7vw,44px) !important; line-height:1.02 !important; color:#f7f3ed !important; }\n#istana-v4 .feature-copy p { margin-top:10px !important; font-size:14px !important; line-height:1.45 !important; color:#c8c3bf !important; }\n\n\/* HARDWARE STORY *\/\n#istana-v4 section.hardware { height:255vh !important; position:relative !important; background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.075),transparent 36%),#020202 !important; }\n#istana-v4 .hardware-stick { position:sticky !important; top:0 !important; height:100vh !important; overflow:hidden !important; display:grid !important; place-items:center !important; }\n#istana-v4 .hardware-title { position:absolute !important; z-index:6 !important; top:3.5vh !important; left:50% !important; transform:translateX(-50%) !important; text-align:center !important; width:min(920px,88vw) !important; }\n#istana-v4 .hardware-title h2 { font-size:clamp(34px,4.5vw,66px) !important; margin-top:8px !important; line-height:.94 !important; color:#f7f3ed !important; }\n#istana-v4 .hardware-stage { position:absolute !important; left:50% !important; top:52% !important; width:min(940px,78vw) !important; height:min(500px,52vh) !important; transform:translate(-50%,-50%) !important; display:grid !important; place-items:center !important; isolation:isolate !important; }\n#istana-v4 .hw-frame { position:absolute !important; inset:0 !important; width:100% !important; max-width:none !important; height:100% !important; max-height:none !important; object-fit:contain !important; object-position:center !important; opacity:0 !important; visibility:visible !important; transform:scale(.985) !important; }\n#istana-v4 .hw-frame.active { opacity:1 !important; transform:scale(1) !important; z-index:2 !important; }\n#istana-v4 .hw-caption { position:absolute !important; z-index:6 !important; left:6vw !important; bottom:4.5vh !important; width:min(420px,38vw) !important; min-height:126px !important; opacity:0 !important; visibility:visible !important; transform:translateY(6px) !important; pointer-events:none !important; }\n#istana-v4 .hw-caption.active { opacity:1 !important; transform:none !important; }\n#istana-v4 .hw-caption h3 { margin-top:8px !important; font-size:clamp(28px,3.3vw,48px) !important; color:#f7f3ed !important; }\n#istana-v4 .hw-caption p { margin-top:9px !important; font-size:14px !important; line-height:1.5 !important; max-width:400px !important; color:#c8c3bf !important; }\n#istana-v4 .hw-dots { position:absolute !important; right:24px !important; top:50% !important; transform:translateY(-50%) !important; z-index:6 !important; display:flex !important; flex-direction:column !important; gap:8px !important; }\n\n\/* SMART AUTO SETUP *\/\n#istana-v4 section.setup { position:relative !important; padding:86px 0 !important; background:radial-gradient(circle at 23% 48%,rgba(117,88,52,.12),transparent 34%),linear-gradient(180deg,#050505,#0a0a0c) !important; }\n#istana-v4 .setup-stick { position:relative !important; height:auto !important; padding:0 !important; display:block !important; overflow:visible !important; }\n#istana-v4 .setup-grid { display:grid !important; grid-template-columns:1.18fr .82fr !important; gap:58px !important; align-items:center !important; }\n#istana-v4 .setup-stage { aspect-ratio:1.42 !important; border-radius:28px !important; position:relative !important; overflow:hidden !important; border:1px solid rgba(255,255,255,.11) !important; background:linear-gradient(135deg,#211f20,#0d0d10) !important; }\n#istana-v4 .room-wall { position:absolute !important; inset:7% !important; border-radius:18px !important; background:linear-gradient(135deg,#2a2729,#171719) !important; overflow:hidden !important; }\n#istana-v4 .projection { position:absolute !important; left:10%; top:13%; width:72%; height:62%; }\n#istana-v4 .setup-copy h2 { color:#f7f3ed !important; }\n#istana-v4 .setup-copy \u003e p { color:#c8c3bf !important; }\n\n\/* TRUST *\/\n#istana-v4 section.trust { padding:64px 0 70px !important; background:radial-gradient(circle at 50% 0%,rgba(216,180,121,.08),transparent 30%),#070708 !important; border-top:1px solid rgba(255,255,255,.13) !important; color:#f7f3ed !important; }\n#istana-v4 .trust-head { text-align:center !important; margin-bottom:34px !important; }\n#istana-v4 .trust-head h2 { max-width:820px !important; margin:10px auto 0 !important; color:#f7f3ed !important; }\n#istana-v4 .trust-sub { max-width:620px !important; margin:16px auto 0 !important; color:#9b9691 !important; font-size:15px !important; line-height:1.55 !important; }\n#istana-v4 .trust-grid { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:14px !important; }\n#istana-v4 .trust-item { position:relative !important; padding:24px 22px 22px !important; background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)) !important; border:1px solid rgba(255,255,255,.10) !important; border-radius:20px !important; min-height:180px !important; overflow:hidden !important; }\n#istana-v4 .trust-item strong { display:block !important; font-size:19px !important; line-height:1.18 !important; margin-bottom:9px !important; color:#f7f3ed !important; }\n#istana-v4 .trust-item span { display:block !important; font-size:13px !important; line-height:1.5 !important; color:#99938e !important; }\n\n@media (max-width:820px){\n  #istana-v4 .container{width:calc(100% - 26px) !important;max-width:none !important;}\n  #istana-v4 .setup-grid{grid-template-columns:1fr !important;gap:18px !important;}\n  #istana-v4 section.features{min-height:auto !important;padding:48px 0 !important;display:block !important;}\n  #istana-v4 .feature-grid{grid-template-columns:1fr !important;height:auto !important;}\n  #istana-v4 .feature-card{height:auto !important;min-height:430px !important;}\n  #istana-v4 section.hardware{height:225vh !important;}\n  #istana-v4 .hardware-stage{top:50% !important;width:92vw !important;height:min(430px,47vh) !important;}\n  #istana-v4 .hw-caption{left:20px !important;right:54px !important;bottom:3.5vh !important;width:auto !important;min-height:112px !important;}\n  #istana-v4 .trust-grid{grid-template-columns:1fr 1fr !important;}\n}\n@media (max-width:749px){\n  #istana-v4.istana-page{width:100vw !important;max-width:100vw !important;left:50% !important;margin-left:-50vw !important;}\n  #istana-v4 .container{width:calc(100% - 28px) !important;max-width:none !important;}\n}\n@media (max-width:520px){\n  #istana-v4 .trust-grid{grid-template-columns:1fr !important;}\n  #istana-v4 section.tv{min-height:78vh !important;}\n  #istana-v4 .feature-card{min-height:400px !important;}\n}\n\n\/* =========================================================\n   SHOPIFY HARDWARE STICKY FIX\n   Prevent the 255vh Hardware story from turning into an empty\n   black spacer when a Shopify wrapper clips overflow.\n   ========================================================= *\/\n#istana-v4.istana-page{\n  overflow:visible !important;\n  overflow-x:visible !important;\n  overflow-y:visible !important;\n}\n\n\/* Keep Shopify ancestors from becoming the sticky scroll container. *\/\n.shopify-section:has(#istana-v4),\n.shopify-section:has(#istana-v4) \u003e *,\n#MainContent:has(#istana-v4),\nmain:has(#istana-v4),\nm-product-details-tabs:has(#istana-v4),\nm-product-details-tabs:has(#istana-v4) \u003e *,\n.product__description:has(#istana-v4),\n.product__description.rte:has(#istana-v4){\n  overflow:visible !important;\n  overflow-x:visible !important;\n  overflow-y:visible !important;\n}\n\n\/* Hardware remains a long scroll story, but the visual stage now sticks\n   to the viewport for the whole story instead of scrolling away. *\/\n#istana-v4 section.hardware{\n  height:255vh !important;\n  overflow:visible !important;\n}\n#istana-v4 .hardware-stick{\n  position:-webkit-sticky !important;\n  position:sticky !important;\n  top:0 !important;\n  height:100vh !important;\n  min-height:100vh !important;\n  overflow:hidden !important;\n}\n\n@supports (height:100dvh){\n  #istana-v4 .hardware-stick{\n    height:100dvh !important;\n    min-height:100dvh !important;\n  }\n}\n\n@media (max-width:820px){\n  #istana-v4 section.hardware{\n    height:225vh !important;\n    overflow:visible !important;\n  }\n}\n\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"smart-planner-fix\"\u003e\n\/* =========================================================\n   ISTANA SMART SETUP PLANNER — SHOPIFY LAYOUT + VALUE FIX\n   ========================================================= *\/\n#istana-v4 .istana-smart-planner{\n  width:100% !important;\n  max-width:none !important;\n  background:#fff !important;\n  color:#111522 !important;\n  overflow:hidden !important;\n}\n#istana-v4 .istana-smart-planner__container{\n  width:min(calc(100% - 48px),1480px) !important;\n  max-width:1480px !important;\n  margin:0 auto !important;\n}\n#istana-v4 .istana-smart-planner__title{\n  margin:0 0 18px !important;\n  color:#111522 !important;\n  font-size:clamp(46px,4.4vw,74px) !important;\n  line-height:.94 !important;\n  letter-spacing:-.055em !important;\n  font-weight:500 !important;\n}\n#istana-v4 .istana-smart-planner__card{\n  border:1px solid #dedfe4 !important;\n  border-radius:20px !important;\n  background:#fff !important;\n  box-shadow:0 18px 50px rgba(17,21,34,.08) !important;\n}\n#istana-v4 .istana-smart-planner__label{\n  color:#707584 !important;\n  font-size:.72rem !important;\n  line-height:1.25 !important;\n}\n#istana-v4 .istana-smart-planner__device-box{\n  color:#202431 !important;\n  background:#fff !important;\n  border:2px solid #202431 !important;\n  line-height:1.3 !important;\n}\n#istana-v4 .istana-smart-planner__size{\n  background:#111522 !important;\n  color:#fff !important;\n}\n#istana-v4 .istana-smart-planner__size .istana-smart-planner__label{\n  color:#aeb3bf !important;\n}\n#istana-v4 .istana-smart-planner__size strong{\n  color:#fff !important;\n}\n#istana-v4 .istana-smart-planner__range{\n  display:block !important;\n  width:100% !important;\n  opacity:1 !important;\n  border:0 !important;\n  box-shadow:none !important;\n}\n#istana-v4 .istana-smart-planner__distance{\n  color:#111522 !important;\n}\n#istana-v4 .istana-smart-planner__visual{\n  overflow:hidden !important;\n  background:#050505 !important;\n  border-radius:14px !important;\n}\n#istana-v4 .istana-smart-planner__diagram{\n  min-height:210px !important;\n  height:210px !important;\n  flex:0 0 210px !important;\n  overflow:hidden !important;\n}\n#istana-v4 .istana-smart-planner__total-line{\n  z-index:7 !important;\n}\n#istana-v4 .istana-smart-planner__total{\n  right:-44px !important;\n  bottom:8px !important;\n  z-index:8 !important;\n}\n#istana-v4 .istana-smart-planner__movie{\n  min-height:250px !important;\n  overflow:visible !important;\n}\n#istana-v4 .istana-smart-planner__screen{\n  min-width:180px !important;\n  max-width:88% !important;\n  background-position:center !important;\n  background-size:cover !important;\n  transition:width .25s ease !important;\n}\n#istana-v4 .istana-smart-planner__screen-tag{\n  color:#fff !important;\n  z-index:3 !important;\n}\n#istana-v4 .istana-smart-planner__diagonal{\n  position:static !important;\n}\n\n\/* Keep the width measurement badge inside the preview so it is never clipped by the black visual panel. *\/\n#istana-v4 .istana-smart-planner__width{\n  left:50% !important;\n  bottom:10px !important;\n  transform:translateX(-50%) !important;\n  z-index:6 !important;\n}\n\n@media (min-width:901px){\n  #istana-v4 .istana-smart-planner{\n    padding:28px 24px 34px !important;\n  }\n  #istana-v4 .istana-smart-planner__card{\n    min-height:590px !important;\n    height:min(680px,calc(100vh - 150px)) !important;\n    padding:20px !important;\n    gap:18px !important;\n    grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr) !important;\n  }\n  #istana-v4 .istana-smart-planner__controls{\n    min-height:0 !important;\n    height:100% !important;\n  }\n  #istana-v4 .istana-smart-planner__visual{\n    min-height:0 !important;\n    height:100% !important;\n    padding:18px !important;\n    gap:16px !important;\n  }\n}\n\n@media (max-width:900px){\n  #istana-v4 .istana-smart-planner{\n    padding:58px 18px !important;\n  }\n  #istana-v4 .istana-smart-planner__container{\n    width:100% !important;\n  }\n  #istana-v4 .istana-smart-planner__card{\n    grid-template-columns:1fr !important;\n    height:auto !important;\n    min-height:0 !important;\n  }\n  #istana-v4 .istana-smart-planner__controls{\n    min-height:0 !important;\n  }\n  #istana-v4 .istana-smart-planner__slider{\n    margin-top:22px !important;\n  }\n  #istana-v4 .istana-smart-planner__visual{\n    height:auto !important;\n    min-height:520px !important;\n  }\n}\n\n@media (max-width:600px){\n  #istana-v4 .istana-smart-planner{\n    padding:48px 14px !important;\n  }\n  #istana-v4 .istana-smart-planner__title{\n    font-size:clamp(42px,12vw,58px) !important;\n    margin-bottom:20px !important;\n  }\n  #istana-v4 .istana-smart-planner__card{\n    padding:14px !important;\n    gap:14px !important;\n  }\n  #istana-v4 .istana-smart-planner__diagram{\n    min-height:200px !important;\n    height:200px !important;\n    flex-basis:200px !important;\n  }\n  #istana-v4 .istana-smart-planner__movie{\n    min-height:230px !important;\n  }\n  #istana-v4 .istana-smart-planner__screen{\n    min-width:145px !important;\n    max-width:82% !important;\n  }\n  #istana-v4 .istana-smart-planner__width{\n    bottom:8px !important;\n    z-index:6 !important;\n  }\n  #istana-v4 .istana-smart-planner__height{\n    right:8px !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"mobile-laser-fix\"\u003e\n\/* =========================================================\n   ISTANA — MOBILE LASER SPECKLE UX \/ LAYOUT FIX\n   ========================================================= *\/\n@media (max-width:600px){\n  #istana-v4 .laser-speckle-section{\n    padding:32px 0 96px !important;\n    overflow:hidden !important;\n  }\n\n  #istana-v4 .laser-speckle-shell{\n    width:calc(100% - 24px) !important;\n    max-width:none !important;\n  }\n\n  #istana-v4 .laser-speckle-head{\n    margin-bottom:14px !important;\n    gap:0 !important;\n  }\n\n  #istana-v4 .laser-speckle-title{\n    max-width:100% !important;\n  }\n\n  #istana-v4 .laser-speckle-title .kicker{\n    margin:0 0 7px !important;\n    color:#ff7f48 !important;\n    font-size:.64rem !important;\n    line-height:1.2 !important;\n    letter-spacing:.15em !important;\n  }\n\n  #istana-v4 .laser-speckle-title h2{\n    max-width:100% !important;\n    font-size:clamp(2.15rem,10vw,3rem) !important;\n    line-height:.94 !important;\n    letter-spacing:-.055em !important;\n    text-wrap:balance !important;\n  }\n\n  #istana-v4 .laser-speckle-demo{\n    width:100% !important;\n    aspect-ratio:10 \/ 11 !important;\n    min-height:0 !important;\n    max-height:none !important;\n    border-radius:20px !important;\n    overflow:hidden !important;\n    isolation:isolate !important;\n    touch-action:none !important;\n    cursor:grab !important;\n  }\n\n  \/* Keep every visual layer clipped to the exact same rounded card shape. *\/\n  #istana-v4 .laser-speckle-base,\n  #istana-v4 .laser-speckle-demo::before,\n  #istana-v4 .laser-speckle-demo::after{\n    border-radius:inherit !important;\n  }\n\n  #istana-v4 .laser-speckle-base{\n    object-position:center center !important;\n  }\n\n  #istana-v4 .laser-drag-hint{\n    top:10px !important;\n    right:10px !important;\n    padding:7px 9px !important;\n    gap:6px !important;\n    font-size:.58rem !important;\n    line-height:1 !important;\n  }\n\n  #istana-v4 .laser-lens{\n    --lens-size:112px !important;\n    width:var(--lens-size) !important;\n    height:var(--lens-size) !important;\n    min-width:var(--lens-size) !important;\n    min-height:var(--lens-size) !important;\n    max-width:var(--lens-size) !important;\n    max-height:var(--lens-size) !important;\n    aspect-ratio:1 \/ 1 !important;\n    border-radius:50% !important;\n    clip-path:none !important;\n    overflow:hidden !important;\n    border-width:3px !important;\n    box-shadow:0 10px 30px rgba(0,0,0,.38),0 0 0 1px rgba(0,0,0,.22) !important;\n  }\n\n  #istana-v4 .laser-lens-label{\n    bottom:7px !important;\n    padding:5px 7px !important;\n    font-size:.46rem !important;\n    letter-spacing:.04em !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cstyle data-istana-style=\"features-no-overlay\"\u003e\n\/* GAMING + SOUND — keep source images at original brightness *\/\n#istana-v4 .feature-card::after{\n  content:none !important;\n  display:none !important;\n  background:none !important;\n}\n#istana-v4 .feature-card \u003e img{\n  filter:none !important;\n  opacity:1 !important;\n}\n\n\n\/* =========================================================\n   HERO -\u003e CINEMA SEAM FIX\n   Removes the visible black strip between the two full-screen images\n   by letting the cinema image overlap the hero slightly.\n   ========================================================= *\/\n#istana-v4 section.hero{\n  margin-bottom:0 !important;\n  position:relative !important;\n  z-index:1 !important;\n}\n\n#istana-v4 section.cinema{\n  margin-top:-20px !important;\n  position:relative !important;\n  z-index:2 !important;\n}\n\n#istana-v4 section.cinema .cinema-stick,\n#istana-v4 section.cinema .cinema-bg{\n  margin-top:0 !important;\n  display:block !important;\n}\n\n\/* Keep the same seamless join on phones\/tablets. *\/\n@media(max-width:820px){\n  #istana-v4 section.cinema{\n    margin-top:-16px !important;\n  }\n}\n\n\u003c\/style\u003e\n\n\n\n\u003cdiv id=\"istana-v4\" class=\"istana-page\"\u003e\n  \n\n  \u003csection class=\"hero fullbleed\" id=\"heroStory\"\u003e\n    \u003cdiv class=\"hero-sticky\"\u003e\n      \u003cimg class=\"hero-bg\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/hero_page.png?v=1790667357\" alt=\"ISTANA 4K projector in a cinematic room\"\u003e\n      \u003cdiv class=\"hero-glow\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"hero-vignette\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"hero-copy\"\u003e\n        \u003cdiv class=\"eyebrow\"\u003eINNOVATIVE · ISTANA 4K\u003c\/div\u003e\n        \u003ch1\u003eYour wall.\u003cspan\u003eNow cinema.\u003c\/span\u003e\n\u003c\/h1\u003e\n        \u003cp\u003eTrue 4K UHD, Google TV 4K, Smart Auto Setup and 30W built-in sound — designed to turn an ordinary room into a wall-sized entertainment experience.\u003c\/p\u003e\n        \u003cdiv class=\"hero-specs\"\u003e\n\u003cspan\u003e4K UHD\u003c\/span\u003e\u003cspan\u003eGoogle TV 4K\u003c\/span\u003e\u003cspan\u003eSmart Auto Setup\u003c\/span\u003e\u003cspan\u003e30W Sound\u003c\/span\u003e\u003cspan\u003eHDMI ARC\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"cinema fullbleed\" id=\"cinemaStory\"\u003e\u003cdiv class=\"cinema-stick\"\u003e\n    \u003cimg class=\"cinema-bg\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-cinema.png\" alt=\"ISTANA home cinema projection\"\u003e\n    \u003cdiv class=\"cinema-shade\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"cinema-copy\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eTRUE 4K UHD\u003c\/div\u003e\n\u003ch2\u003eSee what your wall is capable of.\u003c\/h2\u003e\n\u003cp\u003e4K UHD detail and projection up to 300 inches turn everyday content into a truly cinematic experience.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"cinema-progress\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\u003c\/section\u003e\n\n  \u003c!-- =========================================================\n     ISTANA 4K — BRIGHTNESS \/ DAY \u0026 NIGHT COMPARISON ONLY\n     ========================================================= --\u003e\n\n\n\n\n\n\u003csection class=\"istana-brightness\"\u003e\n\n  \u003cdiv class=\"istana-brightness__container\"\u003e\n\n\n    \u003c!-- =====================================================\n         LEFT COPY\n         ===================================================== --\u003e\n\n    \u003cdiv class=\"istana-brightness__copy\"\u003e\n\n      \u003cp class=\"istana-brightness__kicker\"\u003e\n        BRIGHTNESS\n      \u003c\/p\u003e\n\n\n      \u003ch2 class=\"istana-brightness__title\"\u003e\n        Bright picture.\u003cbr\u003e\n        Day or night.\n      \u003c\/h2\u003e\n\n\n      \u003cp class=\"istana-brightness__description\"\u003e\n        Enjoy ISTANA from daytime viewing to movie night.\n        For the strongest contrast and colour, reduce direct\n        sunlight on the projection surface.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n\n    \u003c!-- =====================================================\n         RIGHT COMPARISON\n         ===================================================== --\u003e\n\n    \u003cdiv class=\"istana-brightness__comparison\" data-istana-brightness-comparison\u003e\n\n\n      \u003c!-- NIGHT IMAGE --\u003e\n\n      \u003cdiv class=\"\n          istana-brightness__image\n          istana-brightness__night\n        \"\u003e\n\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-night-projection-sharp-dark_1.png?v=1788581291\" alt=\"ISTANA projection in a dark living room at night\" loading=\"lazy\"\u003e\n\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- DAY IMAGE --\u003e\n\n      \u003cdiv class=\"\n          istana-brightness__image\n          istana-brightness__day\n        \" data-istana-brightness-day\u003e\n\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-day-projection-washed.png?v=1788581291\" alt=\"ISTANA projection in a bright living room during daytime\" loading=\"lazy\"\u003e\n\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- DAY LABEL --\u003e\n\n      \u003cdiv class=\"\n          istana-brightness__badge\n          istana-brightness__badge--day\n        \"\u003e\n\n        \u003cspan class=\"istana-brightness__badge-icon\"\u003e\n          ☀\n        \u003c\/span\u003e\n\n        \u003cspan\u003e\n          Daytime\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- NIGHT LABEL --\u003e\n\n      \u003cdiv class=\"\n          istana-brightness__badge\n          istana-brightness__badge--night\n        \"\u003e\n\n        \u003cspan class=\"istana-brightness__badge-icon\"\u003e\n          ☾\n        \u003c\/span\u003e\n\n        \u003cspan\u003e\n          Night\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- DIVIDER --\u003e\n\n      \u003cdiv class=\"istana-brightness__divider\" data-istana-brightness-divider\u003e\n\n        \u003cspan class=\"istana-brightness__handle\"\u003e\n          ↔\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- INVISIBLE SLIDER --\u003e\n\n      \u003cinput class=\"istana-brightness__range\" data-istana-brightness-range type=\"range\" min=\"0\" max=\"100\" value=\"50\" aria-label=\"Drag to compare daytime and nighttime projector viewing\"\u003e\n\n\n\n      \u003c!-- BOTTOM LABEL --\u003e\n\n      \u003cdiv class=\"istana-brightness__drag\"\u003e\n\n        \u003cspan\u003e\n          ↔\n        \u003c\/span\u003e\n\n        \u003cspan\u003e\n          Drag to compare\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\n\n\u003csection class=\"laser-speckle-section\" id=\"istana-laser-speckle\"\u003e\n\n    \u003cdiv class=\"laser-speckle-shell\"\u003e\n\n      \u003cdiv class=\"laser-speckle-head\"\u003e\n\n        \u003cdiv class=\"laser-speckle-title\"\u003e\n          \u003cp class=\"kicker\"\u003eBUT WHAT ABOUT LASER?\u003c\/p\u003e\n\n          \u003ch2\u003e\n            See what “laser speckle”\u003cbr\u003e\n            actually means.\n          \u003c\/h2\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"laser-speckle-demo\" data-laser-demo aria-label=\"Interactive illustration comparing the clean ISTANA LED image with a simulated laser speckle effect\"\u003e\n\n        \u003cimg class=\"laser-speckle-base\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-cinema.png\" alt=\"Clean ISTANA LED projected image\" loading=\"lazy\"\u003e\n\n\n        \u003cdiv class=\"laser-drag-hint\"\u003e\n          \u003cspan\u003e↔\u003c\/span\u003e\n          \u003cspan\u003eDrag the lens\u003c\/span\u003e\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"laser-lens\" data-laser-lens aria-hidden=\"true\"\u003e\n          \u003cimg class=\"laser-lens-match\" data-laser-lens-match src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-cinema.png\" alt=\"\"\u003e\n          \u003cspan class=\"laser-lens-label\"\u003e\n            LASER EXAMPLE\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003csection class=\"tv fullbleed\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-google-tv.png\" alt=\"Google TV 4K projected with ISTANA\"\u003e\n    \u003cdiv class=\"container tv-copy reveal\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eGOOGLE TV 4K\u003c\/div\u003e\n\u003ch2\u003eEverything you watch.\u003cbr\u003eOne enormous screen.\u003c\/h2\u003e\n\u003cp\u003eStream movies, shows and apps through built-in Google TV 4K, with Netflix and YouTube supported.\u003c\/p\u003e\n\u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n\u003c!-- =========================================================\n     ISTANA 4K — MEMC MOTION ENHANCEMENT ONLY\n     ========================================================= --\u003e\n\n\n\u003csection class=\"istana-memc\"\u003e\n  \u003cdiv class=\"istana-memc__container\"\u003e\n    \u003cp class=\"istana-memc__kicker\"\u003eMEMC MOTION ENHANCEMENT\u003c\/p\u003e\n    \u003ch2 class=\"istana-memc__title\"\u003eSmoother motion.\u003cbr\u003eClearer action.\u003c\/h2\u003e\n    \u003cp class=\"istana-memc__description\"\u003eMEMC helps make fast-moving scenes appear smoother and reduces visible judder during sports, action movies and other fast-moving content.\u003c\/p\u003e\n    \u003cdiv class=\"istana-memc__grid\"\u003e\n      \u003cdiv class=\"istana-memc__panel istana-memc__panel--off\"\u003e\n        \u003cspan class=\"istana-memc__label\"\u003eWITHOUT MEMC\u003c\/span\u003e\n        \u003cdiv class=\"istana-memc__ball istana-memc__ghost istana-memc__ghost--1\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"istana-memc__ball istana-memc__ghost istana-memc__ghost--2\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"istana-memc__ball\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"istana-memc__panel istana-memc__panel--on\"\u003e\n        \u003cspan class=\"istana-memc__label\"\u003eWITH MEMC\u003c\/span\u003e\n        \u003cdiv class=\"istana-memc__speed-lines\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"istana-memc__ball\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n  \u003csection class=\"features fullbleed\"\u003e\u003cdiv class=\"container feature-grid\"\u003e\n    \u003carticle class=\"feature-card reveal\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-gaming.png\" alt=\"ISTANA gaming setup\"\u003e\u003cdiv class=\"feature-copy\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eGAMING\u003c\/div\u003e\n\u003ch3\u003eStop watching the action. Step into it.\u003c\/h3\u003e\n\u003cp\u003e4K UHD · HDMI Game Mode · Big-screen play\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n    \u003carticle class=\"feature-card reveal\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-cinematic-sound.png\" alt=\"ISTANA sound experience\"\u003e\u003cdiv class=\"feature-copy\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e30W BUILT-IN SOUND\u003c\/div\u003e\n\u003ch3\u003eA picture this big deserves sound to match.\u003c\/h3\u003e\n\u003cp\u003e30W built-in speaker with HDMI ARC for compatible external audio systems.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n  \u003c\/div\u003e\u003c\/section\u003e\n\n  \u003csection class=\"hardware fullbleed\" id=\"hardwareStory\"\u003e\u003cdiv class=\"hardware-stick\"\u003e\n    \u003cdiv class=\"hardware-title\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eTHE HARDWARE\u003c\/div\u003e\n\u003ch2\u003eThe cinema machine\u003cbr\u003ebehind the cinema.\u003c\/h2\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"hardware-stage\"\u003e\n      \u003cimg class=\"hw-frame active\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-product.png\" alt=\"ISTANA projector product view\"\u003e\n      \u003cimg class=\"hw-frame\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-lens-close-up.png\" alt=\"ISTANA lens close-up\"\u003e\n      \u003cimg class=\"hw-frame\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-ventilation.png\" alt=\"ISTANA ventilation detail\"\u003e\n      \u003cimg class=\"hw-frame\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-rear-ports.png?v=1787994084\" alt=\"ISTANA rear ports\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hw-caption active\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e01 · ISTANA 4K\u003c\/div\u003e\n\u003ch3\u003eBuilt for the big screen.\u003c\/h3\u003e\n\u003cp\u003eA substantial home-cinema projector designed around a wall-sized viewing experience.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"hw-caption\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e02 · OPTICS\u003c\/div\u003e\n\u003ch3\u003eLook closer.\u003c\/h3\u003e\n\u003cp\u003eThe lens is the beginning of everything you see on the wall.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"hw-caption\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e03 · THERMAL DESIGN\u003c\/div\u003e\n\u003ch3\u003eBuilt to breathe.\u003c\/h3\u003e\n\u003cp\u003eDedicated ventilation supports sustained projection during longer viewing sessions.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"hw-caption\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e04 · CONNECTIVITY\u003c\/div\u003e\n\u003ch3\u003eEverything connects.\u003c\/h3\u003e\n\u003cp\u003e2× HDMI, 2× USB and HDMI ARC support a flexible entertainment setup.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"hw-dots\"\u003e\n\u003cspan class=\"active\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\u003c\/section\u003e\n\n\u003c!-- =========================================================\n     ISTANA 4K — SPECIFICATIONS SECTION ONLY\n     ========================================================= --\u003e\n\n\u003cstyle\u003e\n.istana-specs,\n.istana-specs *{\n  box-sizing:border-box;\n}\n\n.istana-specs{\n  width:100%;\n  padding:70px 24px 90px;\n\n  background:#fff;\n  color:#111522;\n\n  font-family:\n    Inter,\n    ui-sans-serif,\n    system-ui,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n}\n\n.istana-specs__container{\n  width:min(100%,1320px);\n  margin:0 auto;\n}\n\n\n\/* =========================================================\n   HEADER\n   ========================================================= *\/\n\n.istana-specs__kicker{\n  margin:0 0 26px;\n\n  color:#5f6677;\n\n  font-size:.78rem;\n  font-weight:900;\n\n  letter-spacing:.16em;\n  text-transform:uppercase;\n}\n\n\n.istana-specs__title{\n  margin:0 0 24px;\n\n  color:#111522;\n\n  font-size:clamp(3.4rem,6vw,6rem);\n  font-weight:700;\n\n  line-height:.95;\n  letter-spacing:-.055em;\n}\n\n\n.istana-specs__intro{\n  margin:0 0 28px;\n\n  color:#686875;\n\n  font-size:1.05rem;\n  line-height:1.6;\n}\n\n\n\/* =========================================================\n   ACCORDION\n   ========================================================= *\/\n\n.istana-specs__accordion{\n  border-top:1px solid #dddfe5;\n}\n\n\n.istana-specs__group{\n  border-bottom:1px solid #dddfe5;\n}\n\n\n\/* clickable group heading *\/\n\n.istana-specs__toggle{\n  width:100%;\n\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n\n  gap:20px;\n\n  padding:26px 0;\n\n  border:0;\n\n  background:transparent;\n\n  color:#111522;\n\n  font-size:1.45rem;\n  font-weight:900;\n\n  text-align:left;\n\n  cursor:pointer;\n}\n\n\n.istana-specs__toggle-icon{\n  flex:0 0 auto;\n\n  font-size:1.4rem;\n  font-weight:800;\n\n  line-height:1;\n}\n\n\n\/* =========================================================\n   SPEC ROWS\n   ========================================================= *\/\n\n.istana-specs__body{\n  display:block;\n}\n\n\n.istana-specs__list{\n  margin:0 0 26px;\n}\n\n\n.istana-specs__row{\n  display:grid;\n\n  grid-template-columns:260px 1fr;\n\n  gap:24px;\n\n  padding:16px 0;\n\n  border-top:1px solid #ececf0;\n}\n\n\n.istana-specs__row dt{\n  margin:0;\n\n  color:#111522;\n\n  font-size:1rem;\n  font-weight:900;\n}\n\n\n.istana-specs__row dd{\n  margin:0;\n\n  color:#5e6170;\n\n  font-size:1rem;\n  line-height:1.45;\n}\n\n\n\/* =========================================================\n   COLLAPSED STATE\n   ========================================================= *\/\n\n.istana-specs__group.is-collapsed\n.istana-specs__body{\n  display:none;\n}\n\n\n\/* =========================================================\n   RESPONSIVE\n   ========================================================= *\/\n\n@media(max-width:700px){\n\n  .istana-specs{\n    padding:55px 14px 70px;\n  }\n\n\n  .istana-specs__title{\n    font-size:clamp(\n      2.8rem,\n      13vw,\n      4.2rem\n    );\n  }\n\n\n  .istana-specs__toggle{\n    padding:22px 0;\n\n    font-size:1.2rem;\n  }\n\n\n  .istana-specs__row{\n    grid-template-columns:1fr;\n\n    gap:5px;\n\n    padding:14px 0;\n  }\n\n\n  .istana-specs__row dd{\n    font-size:.96rem;\n  }\n\n}\n\u003c\/style\u003e\n\n\n\n\u003csection class=\"istana-specs\"\u003e\n\n  \u003cdiv class=\"istana-specs__container\"\u003e\n\n\n    \u003c!-- HEADER --\u003e\n\n    \u003cp class=\"istana-specs__kicker\"\u003e\n      FULL SPECIFICATIONS\n    \u003c\/p\u003e\n\n\n    \u003ch2 class=\"istana-specs__title\"\u003e\n      ISTANA 4K specifications.\n    \u003c\/h2\u003e\n\n\n    \u003cp class=\"istana-specs__intro\"\u003e\n      A clear view of the core display, smart-system,\n      audio and connectivity specifications.\n    \u003c\/p\u003e\n\n\n\n    \u003c!-- ACCORDION --\u003e\n\n    \u003cdiv class=\"istana-specs__accordion\"\u003e\n\n\n      \u003c!-- =====================================================\n           DISPLAY\n           ===================================================== --\u003e\n\n      \u003csection class=\"istana-specs__group\"\u003e\n\n        \u003cbutton class=\"istana-specs__toggle\" type=\"button\" aria-expanded=\"true\"\u003e\n\n          \u003cspan\u003eDisplay\u003c\/span\u003e\n\n          \u003cspan class=\"istana-specs__toggle-icon\"\u003e\n            −\n          \u003c\/span\u003e\n\n        \u003c\/button\u003e\n\n\n        \u003cdiv class=\"istana-specs__body\"\u003e\n\n          \u003cdl class=\"istana-specs__list\"\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eResolution\u003c\/dt\u003e\n              \u003cdd\u003e4K UHD\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eHDR\u003c\/dt\u003e\n              \u003cdd\u003eHDR10\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eMEMC\u003c\/dt\u003e\n              \u003cdd\u003eOff · Low · Medium · High\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003ePicture Modes\u003c\/dt\u003e\n              \u003cdd\u003eStandard · Vivid · Gentle · User\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eColour Temperature\u003c\/dt\u003e\n              \u003cdd\u003eStandard · Cold · Warm\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eImage Size\u003c\/dt\u003e\n              \u003cdd\u003e50–300 inches\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eProjection Distance \u0026amp; Size\u003c\/dt\u003e\n              \u003cdd\u003e\n                2 m ≈ 71″ ·\n                2.8 m ≈ 100″ ·\n                3.4 m ≈ 121″\n              \u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n          \u003c\/dl\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/section\u003e\n\n\n\n      \u003c!-- =====================================================\n           SMART SYSTEM\n           ===================================================== --\u003e\n\n      \u003csection class=\"istana-specs__group\"\u003e\n\n        \u003cbutton class=\"istana-specs__toggle\" type=\"button\" aria-expanded=\"true\"\u003e\n\n          \u003cspan\u003eSmart System\u003c\/span\u003e\n\n          \u003cspan class=\"istana-specs__toggle-icon\"\u003e\n            −\n          \u003c\/span\u003e\n\n        \u003c\/button\u003e\n\n\n        \u003cdiv class=\"istana-specs__body\"\u003e\n\n          \u003cdl class=\"istana-specs__list\"\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eOperating System\u003c\/dt\u003e\n              \u003cdd\u003eGoogle TV 4K\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eAuto AI Focus\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eAuto AI Image Skew\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003e4-Point Keystone\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eDigital Zoom\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eScreen Fit\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eObstacle Avoidance\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n          \u003c\/dl\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/section\u003e\n\n\n\n      \u003c!-- =====================================================\n           AUDIO\n           ===================================================== --\u003e\n\n      \u003csection class=\"istana-specs__group\"\u003e\n\n        \u003cbutton class=\"istana-specs__toggle\" type=\"button\" aria-expanded=\"true\"\u003e\n\n          \u003cspan\u003eAudio\u003c\/span\u003e\n\n          \u003cspan class=\"istana-specs__toggle-icon\"\u003e\n            −\n          \u003c\/span\u003e\n\n        \u003c\/button\u003e\n\n\n        \u003cdiv class=\"istana-specs__body\"\u003e\n\n          \u003cdl class=\"istana-specs__list\"\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eSpeaker Output\u003c\/dt\u003e\n              \u003cdd\u003e30W\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eSound Modes\u003c\/dt\u003e\n              \u003cdd\u003e\n                Standard · News · Music · Movie · Sports · User\n              \u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eARC Audio Modes\u003c\/dt\u003e\n              \u003cdd\u003e\n                PCM · RAW · Legacy · Auto\n              \u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n          \u003c\/dl\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/section\u003e\n\n\n\n      \u003c!-- =====================================================\n           CONNECTIVITY\n           ===================================================== --\u003e\n\n      \u003csection class=\"istana-specs__group\"\u003e\n\n        \u003cbutton class=\"istana-specs__toggle\" type=\"button\" aria-expanded=\"true\"\u003e\n\n          \u003cspan\u003eConnectivity\u003c\/span\u003e\n\n          \u003cspan class=\"istana-specs__toggle-icon\"\u003e\n            −\n          \u003c\/span\u003e\n\n        \u003c\/button\u003e\n\n\n        \u003cdiv class=\"istana-specs__body\"\u003e\n\n          \u003cdl class=\"istana-specs__list\"\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eWi-Fi\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eBluetooth\u003c\/dt\u003e\n              \u003cdd\u003eYes\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eHDMI\u003c\/dt\u003e\n              \u003cdd\u003e2 ports\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eHDMI ARC\u003c\/dt\u003e\n              \u003cdd\u003eHDMI 1 (ARC)\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"istana-specs__row\"\u003e\n              \u003cdt\u003eUSB\u003c\/dt\u003e\n              \u003cdd\u003e2 ports\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n          \u003c\/dl\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/section\u003e\n\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003cscript\u003e\n(() =\u003e {\n\n  document\n    .querySelectorAll('.istana-specs__toggle')\n    .forEach(button =\u003e {\n\n      button.addEventListener('click', () =\u003e {\n\n        const group =\n          button.closest(\n            '.istana-specs__group'\n          );\n\n        if(!group) return;\n\n\n        const collapsed =\n          group.classList.toggle(\n            'is-collapsed'\n          );\n\n\n        button.setAttribute(\n          'aria-expanded',\n          String(!collapsed)\n        );\n\n\n        const icon =\n          button.querySelector(\n            '.istana-specs__toggle-icon'\n          );\n\n\n        if(icon){\n          icon.textContent =\n            collapsed ? '+' : '−';\n        }\n\n      });\n\n    });\n\n})();\n\u003c\/script\u003e\n\n\u003cstyle data-istana-style=\"specs-lock\"\u003e\n\/* Keep the Specifications section visually identical inside the ISTANA Shopify wrapper. *\/\n#istana-v4 .istana-specs{\n  width:100% !important;\n  max-width:none !important;\n  margin:0 !important;\n  padding:70px 24px 90px !important;\n  background:#fff !important;\n  color:#111522 !important;\n}\n#istana-v4 .istana-specs__container{\n  width:min(100%,1320px) !important;\n  max-width:1320px !important;\n  margin:0 auto !important;\n}\n#istana-v4 .istana-specs__kicker{\n  margin:0 0 26px !important;\n  color:#5f6677 !important;\n  font-size:.78rem !important;\n  line-height:1.3 !important;\n  font-weight:900 !important;\n  letter-spacing:.16em !important;\n  text-transform:uppercase !important;\n}\n#istana-v4 .istana-specs__title{\n  margin:0 0 24px !important;\n  color:#111522 !important;\n  font-size:clamp(3.4rem,6vw,6rem) !important;\n  font-weight:700 !important;\n  line-height:.95 !important;\n  letter-spacing:-.055em !important;\n}\n#istana-v4 .istana-specs__intro{\n  margin:0 0 28px !important;\n  color:#686875 !important;\n  font-size:1.05rem !important;\n  line-height:1.6 !important;\n}\n#istana-v4 .istana-specs__toggle{\n  color:#111522 !important;\n}\n#istana-v4 .istana-specs__row dt{\n  color:#111522 !important;\n}\n#istana-v4 .istana-specs__row dd{\n  color:#5e6170 !important;\n}\n@media(max-width:700px){\n  #istana-v4 .istana-specs{padding:55px 14px 70px !important;}\n  #istana-v4 .istana-specs__title{font-size:clamp(2.8rem,13vw,4.2rem) !important;}\n}\n\u003c\/style\u003e\n\n\n\n\n\n\n\u003csection class=\"setup fullbleed\" id=\"autoSetupStory\"\u003e\u003cdiv class=\"setup-stick\"\u003e\u003cdiv class=\"container setup-grid\"\u003e\n    \u003cdiv class=\"setup-stage\"\u003e\n      \u003cdiv class=\"room-wall\"\u003e\n\u003cdiv class=\"projection\" id=\"setupProjection\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"wall-art\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"detect\" id=\"setupDetect\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"scan\" id=\"setupScan\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"focus-reticle\" id=\"focusReticle\"\u003e\u003cspan class=\"focus-pulse\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"setup-status\" id=\"setupStatus\"\u003eAuto AI Focus · finding focus…\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"setup-copy\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eSMART AUTO SETUP · WATCH IT HAPPEN\u003c\/div\u003e\n\u003ch2\u003ePlace it.\u003cbr\u003ePower on.\u003cbr\u003eDone.\u003c\/h2\u003e\n\u003cp\u003eISTANA automatically sharpens, straightens, fits and adapts the picture — without making you set up every step yourself.\u003c\/p\u003e\n      \u003cdiv class=\"setup-active-card\"\u003e\n        \u003cdiv class=\"setup-active-number\"\u003e\n\u003cspan id=\"setupStepNow\"\u003e01\u003c\/span\u003e\u003csmall\u003e\/ 04\u003c\/small\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"setup-active-text\"\u003e\n\u003cstrong id=\"setupActiveTitle\"\u003eAuto AI Focus\u003c\/strong\u003e\u003cspan id=\"setupActiveDesc\"\u003eSharpens the image automatically.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"setup-meter\"\u003e\u003cspan id=\"setupMeter\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n      \u003cdiv class=\"steps\" aria-label=\"Smart Auto Setup progress\"\u003e\n        \u003cdiv class=\"step active\"\u003e\n\u003cb\u003e01\u003c\/b\u003e\u003cstrong\u003eFocus\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"step\"\u003e\n\u003cb\u003e02\u003c\/b\u003e\u003cstrong\u003eImage Skew\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"step\"\u003e\n\u003cb\u003e03\u003c\/b\u003e\u003cstrong\u003eScreen Fit\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"step\"\u003e\n\u003cb\u003e04\u003c\/b\u003e\u003cstrong\u003eObstacle\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\n\n\n\n\u003c!-- SMART SETUP PLANNER --\u003e\n\u003c!-- =========================================================\n     ISTANA 4K — SMART SETUP PLANNER ONLY\n     ========================================================= --\u003e\n\n\n\n\n\n\n\u003csection class=\"istana-smart-planner\" id=\"istana-smart-planner\"\u003e\n\n  \u003cdiv class=\"istana-smart-planner__container\"\u003e\n\n    \u003ch2 class=\"istana-smart-planner__title\"\u003e\n      Smart Setup Planner\n    \u003c\/h2\u003e\n\n\n    \u003cdiv class=\"istana-smart-planner__card\" data-istana-smart-planner\u003e\n\n\n      \u003c!-- =====================\n           LEFT\n           ===================== --\u003e\n\n      \u003cdiv class=\"istana-smart-planner__controls\"\u003e\n\n\n        \u003cdiv class=\"istana-smart-planner__device\"\u003e\n\n          \u003cspan class=\"istana-smart-planner__label\"\u003e\n            Device Preset\n          \u003c\/span\u003e\n\n          \u003cdiv class=\"istana-smart-planner__device-box\"\u003e\n            Innovative ISTANA 4K\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"istana-smart-planner__size\"\u003e\n\n          \u003cspan class=\"istana-smart-planner__label\"\u003e\n            Image Size\n          \u003c\/span\u003e\n\n          \u003cstrong data-istana-image-size\u003e\n            71″\n          \u003c\/strong\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"istana-smart-planner__slider\"\u003e\n\n          \u003clabel class=\"istana-smart-planner__label\" for=\"istana-distance-slider\"\u003e\n            Distance: Lens to Wall (Meters)\n          \u003c\/label\u003e\n\n\n          \u003cinput id=\"istana-distance-slider\" class=\"istana-smart-planner__range\" data-istana-distance type=\"range\" min=\"1.4\" max=\"8.44\" step=\"0.01\" value=\"2\"\u003e\n\n\n          \u003coutput class=\"istana-smart-planner__distance\" data-istana-distance-output\u003e\n            2m\n          \u003c\/output\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- =====================\n           RIGHT\n           ===================== --\u003e\n\n      \u003cdiv class=\"istana-smart-planner__visual\"\u003e\n\n\n        \u003c!-- TOP VIEW --\u003e\n\n        \u003cdiv class=\"istana-smart-planner__diagram\"\u003e\n\n          \u003cdiv class=\"istana-smart-planner__wall\"\u003e\n            WALL\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"istana-smart-planner__throw-line\" data-istana-line\u003e\n\n            \u003cspan class=\"istana-smart-planner__distance-tag\" data-istana-line-value\u003e\n              2m\n            \u003c\/span\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"istana-smart-planner__projector\" data-istana-projector\u003e\n            LENS\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"istana-smart-planner__total-line\" data-istana-total-line\u003e\n\n            \u003cspan class=\"istana-smart-planner__total\" data-istana-total\u003e\n              Total: 2.22m\n            \u003c\/span\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n\n        \u003c!-- SCREEN PREVIEW --\u003e\n\n        \u003cdiv class=\"istana-smart-planner__movie\"\u003e\n\n          \u003cdiv class=\"istana-smart-planner__screen\" data-istana-screen\u003e\n\n            \u003cstrong class=\"\n                istana-smart-planner__screen-tag\n                istana-smart-planner__diagonal\n              \" data-istana-diagonal\u003e\n              71″ Diagonal\n            \u003c\/strong\u003e\n\n\n            \u003cspan class=\"\n                istana-smart-planner__screen-tag\n                istana-smart-planner__width\n              \" data-istana-width\u003e\n              W: 1.57m\n            \u003c\/span\u003e\n\n\n            \u003cspan class=\"\n                istana-smart-planner__screen-tag\n                istana-smart-planner__height\n              \" data-istana-height\u003e\n              H: 0.89m\n            \u003c\/span\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\n\n\u003c!-- SIDE PLACEMENT PLANNER --\u003e\n\u003csection class=\"istana-side-planner\"\u003e\n\n  \u003cdiv class=\"istana-side-planner__container\"\u003e\n\n\n    \u003ch2 class=\"istana-side-planner__title\"\u003e\n      Side Placement Planner\n    \u003c\/h2\u003e\n\n\n    \u003cdiv class=\"istana-side-planner__card\" data-istana-side-planner-only\u003e\n\n\n      \u003c!-- =====================================================\n           LEFT CONTROLS\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"istana-side-planner__controls\"\u003e\n\n\n        \u003c!-- Device preset --\u003e\n\n        \u003cdiv class=\"istana-side-planner__device\"\u003e\n\n          \u003cspan class=\"istana-side-planner__label\"\u003e\n            Device Preset\n          \u003c\/span\u003e\n\n          \u003cdiv class=\"istana-side-planner__device-box\"\u003e\n            Innovative ISTANA 4K\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n\n        \u003c!-- Distance --\u003e\n\n        \u003cdiv class=\"istana-side-planner__control\"\u003e\n\n          \u003clabel class=\"istana-side-planner__label\" for=\"istana-side-distance\"\u003e\n            Distance to Wall (Meters)\n          \u003c\/label\u003e\n\n\n          \u003cinput id=\"istana-side-distance\" class=\"istana-side-planner__range\" data-side-distance type=\"range\" min=\"1.4\" max=\"8.44\" step=\"0.01\" value=\"2\"\u003e\n\n\n          \u003coutput class=\"istana-side-planner__output\" data-side-distance-output\u003e\n            2m\n          \u003c\/output\u003e\n\n        \u003c\/div\u003e\n\n\n\n        \u003c!-- Side offset --\u003e\n\n        \u003cdiv class=\"istana-side-planner__control\"\u003e\n\n          \u003clabel class=\"istana-side-planner__label\" for=\"istana-side-offset\"\u003e\n            Side Offset from Screen Centre (Meters)\n          \u003c\/label\u003e\n\n\n          \u003cinput id=\"istana-side-offset\" class=\"istana-side-planner__range\" data-side-offset type=\"range\" min=\"-2\" max=\"2\" step=\"0.01\" value=\"0.5\"\u003e\n\n\n          \u003coutput class=\"istana-side-planner__output\" data-side-offset-output\u003e\n            0.50m Right\n          \u003c\/output\u003e\n\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- =====================================================\n           RIGHT VISUAL\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"istana-side-planner__visual\"\u003e\n\n\n        \u003c!-- TOP VIEW --\u003e\n\n        \u003cdiv class=\"istana-side-planner__diagram\" data-side-diagram\u003e\n\n\n          \u003cdiv class=\"istana-side-planner__wall\"\u003e\n            WALL\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"istana-side-planner__target\"\u003e\u003c\/div\u003e\n\n\n          \u003cdiv class=\"istana-side-planner__beam\" data-side-beam\u003e\u003c\/div\u003e\n\n\n          \u003cdiv class=\"istana-side-planner__projector\" data-side-projector\u003e\n            ISTANA\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"istana-side-planner__size-stat\" data-side-size\u003e\n            Est. Projected Size: 71″\n          \u003c\/div\u003e\n\n\n        \u003c\/div\u003e\n\n\n\n        \u003c!-- SCREEN PREVIEW --\u003e\n\n        \u003cdiv class=\"istana-side-planner__movie\"\u003e\n\n          \u003cdiv class=\"istana-side-planner__screen\" data-side-screen\u003e\n\n\n            \u003cstrong class=\"\n                istana-side-planner__screen-tag\n                istana-side-planner__diagonal\n              \" data-side-diagonal\u003e\n              71″ Projected\n            \u003c\/strong\u003e\n\n\n            \u003cspan class=\"\n                istana-side-planner__screen-tag\n                istana-side-planner__width\n              \" data-side-width\u003e\n              W: 1.57m\n            \u003c\/span\u003e\n\n\n            \u003cspan class=\"\n                istana-side-planner__screen-tag\n                istana-side-planner__height\n              \" data-side-height\u003e\n              H: 0.89m\n            \u003c\/span\u003e\n\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n  \u003csection class=\"trust fullbleed\"\u003e\u003cdiv class=\"container\"\u003e\n    \u003cdiv class=\"trust-head reveal\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eWHY INNOVATIVE\u003c\/div\u003e\n      \u003ch2\u003ePremium projection.\u003cbr\u003eBacked by local support.\u003c\/h2\u003e\n      \u003cp class=\"trust-sub\"\u003eFrom streaming to after-sales support, ISTANA is designed to be easier to buy, use and enjoy in Singapore.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"trust-grid reveal\"\u003e\n      \u003cdiv class=\"trust-item\" data-num=\"01\"\u003e\n\u003csmall\u003eSPECIALISTS\u003c\/small\u003e\u003cstrong\u003eProjector specialists in Singapore\u003c\/strong\u003e\u003cspan\u003eVisit our Sim Lim Square showroom for demonstrations, setup advice and local product support.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"trust-item\" data-num=\"02\"\u003e\n\u003csmall\u003eSTREAMING\u003c\/small\u003e\u003cstrong\u003eGoogle TV 4K built in\u003c\/strong\u003e\u003cspan\u003eStream Netflix and YouTube without adding a separate TV box to your setup.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"trust-item\" data-num=\"03\"\u003e\n\u003csmall\u003eWARRANTY\u003c\/small\u003e\u003cstrong\u003e1-year local warranty\u003c\/strong\u003e\u003cspan\u003eLocal after-sales support from INNOVATIVE Singapore throughout the warranty period.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"trust-item\" data-num=\"04\"\u003e\n\u003csmall\u003eEXPERIENCE\u003c\/small\u003e\u003cstrong\u003eSee ISTANA before you decide\u003c\/strong\u003e\u003cspan\u003eVisit our Sim Lim Square showroom and experience the picture in person.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\u003c\/section\u003e\n\n\n\u003c!-- =========================================================\n     ISTANA 4K — FREQUENTLY ASKED QUESTIONS\n     ========================================================= --\u003e\n\u003cstyle data-istana-style=\"faq\"\u003e\n#istana-v4 .istana-faq,\n#istana-v4 .istana-faq *{\n  box-sizing:border-box !important;\n}\n\n#istana-v4 .istana-faq{\n  width:100% !important;\n  max-width:none !important;\n  margin:0 !important;\n  padding:84px 24px 92px !important;\n  background:#f7f4ef !important;\n  color:#111522 !important;\n}\n\n#istana-v4 .istana-faq__container{\n  width:min(calc(100% - 24px),1180px) !important;\n  max-width:1180px !important;\n  margin:0 auto !important;\n}\n\n#istana-v4 .istana-faq__kicker{\n  margin:0 0 14px !important;\n  color:#b85f36 !important;\n  font-size:.76rem !important;\n  line-height:1.2 !important;\n  font-weight:900 !important;\n  letter-spacing:.16em !important;\n  text-transform:uppercase !important;\n}\n\n#istana-v4 .istana-faq__title{\n  margin:0 0 38px !important;\n  max-width:900px !important;\n  color:#111522 !important;\n  font-size:clamp(46px,5.7vw,82px) !important;\n  line-height:.95 !important;\n  letter-spacing:-.055em !important;\n  font-weight:550 !important;\n}\n\n#istana-v4 .istana-faq__list{\n  border-top:1px solid rgba(17,21,34,.16) !important;\n}\n\n#istana-v4 .istana-faq__item{\n  margin:0 !important;\n  border-bottom:1px solid rgba(17,21,34,.16) !important;\n  background:transparent !important;\n}\n\n#istana-v4 .istana-faq__question{\n  list-style:none !important;\n  width:100% !important;\n  min-height:84px !important;\n  display:flex !important;\n  align-items:center !important;\n  justify-content:space-between !important;\n  gap:24px !important;\n  padding:22px 2px !important;\n  color:#111522 !important;\n  cursor:pointer !important;\n  font-size:clamp(19px,1.55vw,24px) !important;\n  line-height:1.3 !important;\n  font-weight:780 !important;\n}\n\n#istana-v4 .istana-faq__question::-webkit-details-marker{\n  display:none !important;\n}\n\n#istana-v4 .istana-faq__icon{\n  flex:0 0 38px !important;\n  width:38px !important;\n  height:38px !important;\n  display:grid !important;\n  place-items:center !important;\n  border:1px solid rgba(17,21,34,.18) !important;\n  border-radius:50% !important;\n  color:#111522 !important;\n  background:#fff !important;\n  font-size:23px !important;\n  line-height:1 !important;\n  font-weight:400 !important;\n  transition:transform .25s ease,background .25s ease !important;\n}\n\n#istana-v4 .istana-faq__item[open] .istana-faq__icon{\n  transform:rotate(45deg) !important;\n  background:#111522 !important;\n  color:#fff !important;\n}\n\n#istana-v4 .istana-faq__answer{\n  padding:0 64px 26px 2px !important;\n}\n\n#istana-v4 .istana-faq__answer p{\n  margin:0 !important;\n  max-width:900px !important;\n  color:#4d5568 !important;\n  font-size:1.05rem !important;\n  line-height:1.65 !important;\n}\n\n@media(max-width:700px){\n  #istana-v4 .istana-faq{\n    padding:58px 14px 66px !important;\n  }\n\n  #istana-v4 .istana-faq__container{\n    width:100% !important;\n  }\n\n  #istana-v4 .istana-faq__title{\n    margin-bottom:26px !important;\n    font-size:clamp(40px,12vw,58px) !important;\n  }\n\n  #istana-v4 .istana-faq__question{\n    min-height:72px !important;\n    padding:18px 0 !important;\n    gap:16px !important;\n    font-size:1.05rem !important;\n  }\n\n  #istana-v4 .istana-faq__icon{\n    flex-basis:34px !important;\n    width:34px !important;\n    height:34px !important;\n    font-size:20px !important;\n  }\n\n  #istana-v4 .istana-faq__answer{\n    padding:0 50px 22px 0 !important;\n  }\n\n  #istana-v4 .istana-faq__answer p{\n    font-size:.98rem !important;\n    line-height:1.6 !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003csection class=\"istana-faq\" aria-labelledby=\"istana-faq-title\"\u003e\n  \u003cdiv class=\"istana-faq__container\"\u003e\n    \u003cp class=\"istana-faq__kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"istana-faq__title\" id=\"istana-faq-title\"\u003eFrequently Asked Questions\u003c\/h2\u003e\n\n    \u003cdiv class=\"istana-faq__list\"\u003e\n      \u003cdetails class=\"istana-faq__item\"\u003e\n        \u003csummary class=\"istana-faq__question\"\u003e\n          \u003cspan\u003eIs the INNOVATIVE ISTANA a native 4K projector?\u003c\/span\u003e\n          \u003cspan class=\"istana-faq__icon\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"istana-faq__answer\"\u003e\n          \u003cp\u003eYes. ISTANA is a native 4K UHD projector for home cinema, movies, sports and gaming.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"istana-faq__item\"\u003e\n        \u003csummary class=\"istana-faq__question\"\u003e\n          \u003cspan\u003eDoes the ISTANA support Netflix and Google TV?\u003c\/span\u003e\n          \u003cspan class=\"istana-faq__icon\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"istana-faq__answer\"\u003e\n          \u003cp\u003eYes. ISTANA comes with built-in Google TV 4K and supports Netflix, YouTube and other streaming apps.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"istana-faq__item\"\u003e\n        \u003csummary class=\"istana-faq__question\"\u003e\n          \u003cspan\u003eCan the ISTANA projector be used during the daytime?\u003c\/span\u003e\n          \u003cspan class=\"istana-faq__icon\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"istana-faq__answer\"\u003e\n          \u003cp\u003eYes. ISTANA can be used in daytime, but reducing ambient light will improve picture quality and contrast.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"istana-faq__item\"\u003e\n        \u003csummary class=\"istana-faq__question\"\u003e\n          \u003cspan\u003eHow large can the ISTANA projector display?\u003c\/span\u003e\n          \u003cspan class=\"istana-faq__icon\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"istana-faq__answer\"\u003e\n          \u003cp\u003eISTANA can project up to approximately 300 inches, depending on projection distance and room size.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"istana-faq__item\"\u003e\n        \u003csummary class=\"istana-faq__question\"\u003e\n          \u003cspan\u003eIs the INNOVATIVE ISTANA good for gaming?\u003c\/span\u003e\n          \u003cspan class=\"istana-faq__icon\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"istana-faq__answer\"\u003e\n          \u003cp\u003eYes. ISTANA supports 4K gaming and includes HDMI Game Mode for PlayStation, Xbox and other gaming devices.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- =========================================================\n     ISTANA 4K — FINAL CTA SECTION ONLY\n     ========================================================= --\u003e\n\n\n\n\u003csection class=\"istana-final-cta fullbleed\"\u003e\n  \u003cimg class=\"istana-final-cta__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana-hero.png\" alt=\"ISTANA 4K projector in a cinematic home setting\" loading=\"lazy\"\u003e\n  \u003cdiv class=\"istana-final-cta__overlay\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"istana-final-cta__content\"\u003e\n    \u003cp class=\"istana-final-cta__kicker\"\u003eISTANA 4K\u003c\/p\u003e\n    \u003ch2 class=\"istana-final-cta__title\"\u003eYour cinema is ready.\u003c\/h2\u003e\n    \u003cstrong class=\"istana-final-cta__price\"\u003eS$1,699\u003c\/strong\u003e\n    \u003ca class=\"istana-final-cta__button\" href=\"\/cart\/add?id=71124890452221\u0026amp;quantity=1\" aria-label=\"Add ISTANA 4K to cart for S$1,699\"\u003eAdd to cart · S$1,699\u003c\/a\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n  \n\n\n\u003c\/div\u003e\n\n\u003cscript data-istana-script=\"1\"\u003e\n\n(() =\u003e {\n\n  const comparison =\n    document.querySelector(\n      '[data-istana-brightness-comparison]'\n    );\n\n  if (!comparison) return;\n\n\n  const range =\n    comparison.querySelector(\n      '[data-istana-brightness-range]'\n    );\n\n\n  const day =\n    comparison.querySelector(\n      '[data-istana-brightness-day]'\n    );\n\n\n  const divider =\n    comparison.querySelector(\n      '[data-istana-brightness-divider]'\n    );\n\n\n  let dragging = false;\n\n\n\n  \/*\n   * Update the comparison position\n   *\/\n\n  function updateComparison(value){\n\n    const safeValue =\n      Math.max(\n        0,\n        Math.min(\n          100,\n          Number(value)\n        )\n      );\n\n\n    \/*\n     * Reveal daytime image\n     *\/\n\n    day.style.clipPath =\n      `inset(\n        0\n        ${100 - safeValue}%\n        0\n        0\n      )`;\n\n\n    \/*\n     * Move white divider\n     *\/\n\n    divider.style.left =\n      `${safeValue}%`;\n\n  }\n\n\n\n  \/*\n   * Convert mouse \/ finger position into %\n   *\/\n\n  function updateFromPointer(clientX){\n\n    const rect =\n      comparison.getBoundingClientRect();\n\n\n    const percentage =\n      (\n        (clientX - rect.left) \/\n        rect.width\n      ) * 100;\n\n\n    const value =\n      Math.max(\n        0,\n        Math.min(\n          100,\n          percentage\n        )\n      );\n\n\n    range.value =\n      String(value);\n\n\n    updateComparison(value);\n\n  }\n\n\n\n  \/*\n   * RANGE INPUT\n   *\/\n\n  range.addEventListener(\n    'input',\n    event =\u003e {\n\n      updateComparison(\n        event.target.value\n      );\n\n    }\n  );\n\n\n\n  \/*\n   * CLICK \/ TOUCH DOWN\n   *\/\n\n  comparison.addEventListener(\n    'pointerdown',\n    event =\u003e {\n\n      if(\n        event.pointerType === 'mouse' \u0026\u0026\n        event.button !== 0\n      ){\n        return;\n      }\n\n\n      dragging = true;\n\n\n      comparison.classList.add(\n        'is-dragging'\n      );\n\n\n      comparison.setPointerCapture?.(\n        event.pointerId\n      );\n\n\n      updateFromPointer(\n        event.clientX\n      );\n\n    }\n  );\n\n\n\n  \/*\n   * DRAG\n   *\/\n\n  comparison.addEventListener(\n    'pointermove',\n    event =\u003e {\n\n      if(!dragging) return;\n\n\n      updateFromPointer(\n        event.clientX\n      );\n\n    }\n  );\n\n\n\n  \/*\n   * STOP DRAG\n   *\/\n\n  function stopDragging(event){\n\n    if(!dragging) return;\n\n\n    dragging = false;\n\n\n    comparison.classList.remove(\n      'is-dragging'\n    );\n\n\n    if(\n      event?.pointerId != null \u0026\u0026\n      comparison.hasPointerCapture?.(\n        event.pointerId\n      )\n    ){\n\n      comparison.releasePointerCapture(\n        event.pointerId\n      );\n\n    }\n\n  }\n\n\n  comparison.addEventListener(\n    'pointerup',\n    stopDragging\n  );\n\n\n  comparison.addEventListener(\n    'pointercancel',\n    stopDragging\n  );\n\n\n\n  \/*\n   * INITIAL 50 \/ 50 POSITION\n   *\/\n\n  updateComparison(\n    range.value\n  );\n\n})();\n\n\u003c\/script\u003e\n\n\u003cscript data-istana-script=\"2\"\u003e\n\n(() =\u003e {\n\n  const planner =\n    document.querySelector(\n      '[data-istana-smart-planner]'\n    );\n\n  if (!planner) return;\n\n\n  \/*\n   * ISTANA throw ratio:\n   * 1.27 : 1\n   *\/\n\n  const THROW_RATIO = 1.27;\n\n  const INCHES_PER_METRE =\n    39.37007874;\n\n  const DIAGONAL_PER_WIDTH =\n    Math.sqrt(337) \/ 16;\n\n\n\n  const distanceInput =\n    planner.querySelector(\n      '[data-istana-distance]'\n    );\n\n  const distanceOutput =\n    planner.querySelector(\n      '[data-istana-distance-output]'\n    );\n\n  const line =\n    planner.querySelector(\n      '[data-istana-line]'\n    );\n\n  const lineValue =\n    planner.querySelector(\n      '[data-istana-line-value]'\n    );\n\n  const projector =\n    planner.querySelector(\n      '[data-istana-projector]'\n    );\n\n  const totalLine =\n    planner.querySelector(\n      '[data-istana-total-line]'\n    );\n\n  const total =\n    planner.querySelector(\n      '[data-istana-total]'\n    );\n\n  const screen =\n    planner.querySelector(\n      '[data-istana-screen]'\n    );\n\n  const imageSizeOutput =\n    planner.querySelector(\n      '[data-istana-image-size]'\n    );\n\n  const diagonalOutput =\n    planner.querySelector(\n      '[data-istana-diagonal]'\n    );\n\n  const widthOutput =\n    planner.querySelector(\n      '[data-istana-width]'\n    );\n\n  const heightOutput =\n    planner.querySelector(\n      '[data-istana-height]'\n    );\n\n\n\n  function clamp(\n    value,\n    minimum,\n    maximum\n  ){\n    return Math.min(\n      maximum,\n      Math.max(\n        minimum,\n        value\n      )\n    );\n  }\n\n\n\n  function renderPlanner(){\n\n    const distance =\n      clamp(\n        Number(distanceInput.value),\n        1.4,\n        8.44\n      );\n\n\n    \/*\n     * Throw-ratio calculation\n     *\/\n\n    const screenWidth =\n      distance \/ THROW_RATIO;\n\n    const screenHeight =\n      screenWidth * 0.5625;\n\n    const diagonal =\n      Math.round(\n        screenWidth *\n        INCHES_PER_METRE *\n        DIAGONAL_PER_WIDTH\n      );\n\n\n    \/*\n     * Slider progress\n     *\/\n\n    const progress =\n      (distance - 1.4) \/\n      (8.44 - 1.4);\n\n\n    \/*\n     * Diagram positioning\n     *\/\n\n    const diagramElement =\n      line.closest('.istana-smart-planner__diagram');\n\n    const diagramHeight =\n      diagramElement?.clientHeight || 220;\n\n    const minimumLineHeight = 50;\n    const maximumLineHeight =\n      Math.max(\n        minimumLineHeight,\n        diagramHeight - 31 - 56\n      );\n\n    const lineHeight =\n      minimumLineHeight +\n      (progress * (maximumLineHeight - minimumLineHeight));\n\n\n    const distanceText =\n      `${Number(\n        distance.toFixed(2)\n      )}m`;\n\n\n    \/*\n     * Update text\n     *\/\n\n    distanceOutput.textContent =\n      distanceText;\n\n    lineValue.textContent =\n      distanceText;\n\n    if(imageSizeOutput){\n      imageSizeOutput.textContent =\n        `${diagonal}″`;\n    }\n\n    diagonalOutput.textContent =\n      `${diagonal}″ Diagonal`;\n\n    widthOutput.textContent =\n      `W: ${screenWidth.toFixed(2)}m`;\n\n    heightOutput.textContent =\n      `H: ${screenHeight.toFixed(2)}m`;\n\n    total.textContent =\n      `Total: ${(distance + 0.22).toFixed(2)}m`;\n\n\n    \/*\n     * Move projector diagram\n     *\/\n\n    line.style.height =\n      `${lineHeight}px`;\n\n    projector.style.top =\n      `${31 + lineHeight}px`;\n\n    totalLine.style.height =\n      `${lineHeight + 48}px`;\n\n\n    \/*\n     * Make image preview grow\/shrink\n     *\/\n\n    const previewProgress =\n      clamp(\n        (diagonal - 50) \/ (300 - 50),\n        0,\n        1\n      );\n\n    \/* Map 50–300 inches across the usable preview width. *\/\n    const previewWidth =\n      34 + (previewProgress * 54);\n\n    screen.style.width =\n      `${previewWidth}%`;\n\n\n    \/*\n     * Blue slider progress\n     *\/\n\n    distanceInput.style.setProperty(\n      '--range-progress',\n      `${progress * 100}%`\n    );\n\n  }\n\n\n\n  distanceInput.addEventListener(\n    'input',\n    renderPlanner\n  );\n\n\n  renderPlanner();\n\n})();\n\n\u003c\/script\u003e\n\n\u003cscript data-istana-script=\"3\"\u003e\n\n  (function(){\n    const root=document.getElementById('istana-v4'); if(!root) return;\n    const reduce=matchMedia('(prefers-reduced-motion: reduce)').matches;\n    const clamp=(n,a,b)=\u003eMath.min(Math.max(n,a),b);\n\n    const io=new IntersectionObserver(entries=\u003eentries.forEach(e=\u003ee.target.classList.toggle('in',e.isIntersecting)),{threshold:.12});\n    root.querySelectorAll('.reveal').forEach(el=\u003eio.observe(el));\n\n    const compare=root.querySelector('#dnCompare');\n    if(compare){\n      const day=compare.querySelector('.day'),line=compare.querySelector('.compare-line'),knob=compare.querySelector('.compare-knob');\n      let active=false;\n      const set=x=\u003e{const r=compare.getBoundingClientRect(),p=clamp((x-r.left)\/r.width,0,1)*100;day.style.clipPath=`inset(0 ${100-p}% 0 0)`;line.style.left=p+'%';knob.style.left=p+'%'};\n      compare.addEventListener('pointerdown',e=\u003e{active=true;compare.setPointerCapture(e.pointerId);set(e.clientX)});\n      compare.addEventListener('pointermove',e=\u003e{if(active)set(e.clientX)});\n      compare.addEventListener('pointerup',()=\u003eactive=false);compare.addEventListener('pointercancel',()=\u003eactive=false);\n    }\n\n\n\n    (() =\u003e {\n\n      const demos = root.querySelectorAll('[data-laser-demo]');\n\n      demos.forEach(demo =\u003e {\n\n        const lens = demo.querySelector('[data-laser-lens]');\n        if (!lens) return;\n\n        let dragging = false;\n        let rafId = 0;\n        let currentX = null;\n        let currentY = null;\n        let targetX = null;\n        let targetY = null;\n        const mobileLaser = matchMedia('(max-width:600px)');\n\n\n        function getClampedPoint(clientX, clientY){\n\n          const rect = demo.getBoundingClientRect();\n          const lensSize = lens.offsetWidth;\n          const radius = lensSize \/ 2;\n\n          let x = clientX - rect.left;\n          let y = clientY - rect.top;\n\n          \/* Free 2D movement on desktop and mobile. The lens can follow\n             the user's finger\/mouse anywhere inside the image while the\n             full circular ring remains visible. *\/\n          const edgeInset = mobileLaser.matches ? 3 : 4;\n          const minX = radius + edgeInset;\n          const maxX = rect.width - radius - edgeInset;\n          const minY = radius + edgeInset;\n          const maxY = rect.height - radius - edgeInset;\n\n          x = Math.max(minX, Math.min(maxX, x));\n          y = Math.max(minY, Math.min(maxY, y));\n\n          return { rect, radius, x, y };\n        }\n\n\n        function renderLens(x, y){\n\n          const rect = demo.getBoundingClientRect();\n          const radius = lens.offsetWidth \/ 2;\n\n          lens.style.left = `${x}px`;\n          lens.style.top = `${y}px`;\n\n          \/* Keep the image inside the lens perfectly aligned with the base image. *\/\n          const match = lens.querySelector('[data-laser-lens-match]');\n          if (match){\n            match.style.width = `${rect.width}px`;\n            match.style.height = `${rect.height}px`;\n            match.style.left = `${radius - x}px`;\n            match.style.top = `${radius - y}px`;\n          }\n        }\n\n\n        function smoothTick(){\n\n          if (currentX == null || currentY == null){\n            currentX = targetX;\n            currentY = targetY;\n          }\n\n          \/* Smooth, responsive interpolation. *\/\n          currentX += (targetX - currentX) * .28;\n          currentY += (targetY - currentY) * .28;\n\n          const dx = Math.abs(targetX - currentX);\n          const dy = Math.abs(targetY - currentY);\n\n          if (dx \u003c .08) currentX = targetX;\n          if (dy \u003c .08) currentY = targetY;\n\n          renderLens(currentX, currentY);\n\n          if (dragging || dx \u003e= .08 || dy \u003e= .08){\n            rafId = requestAnimationFrame(smoothTick);\n          } else {\n            rafId = 0;\n          }\n        }\n\n\n        function updateLens(clientX, clientY, immediate = false){\n\n          const point = getClampedPoint(clientX, clientY);\n          targetX = point.x;\n          targetY = point.y;\n\n          if (immediate || currentX == null || currentY == null){\n            currentX = targetX;\n            currentY = targetY;\n            renderLens(currentX, currentY);\n            return;\n          }\n\n          if (!rafId){\n            rafId = requestAnimationFrame(smoothTick);\n          }\n        }\n\n\n        demo.addEventListener('pointerdown', event =\u003e {\n\n          if (event.pointerType === 'mouse' \u0026\u0026 event.button !== 0) return;\n\n          dragging = true;\n          demo.style.cursor = 'grabbing';\n          demo.setPointerCapture?.(event.pointerId);\n          updateLens(event.clientX, event.clientY);\n\n        });\n\n\n        demo.addEventListener('pointermove', event =\u003e {\n\n          if (!dragging) return;\n\n          updateLens(event.clientX, event.clientY);\n\n        });\n\n\n        function stopDrag(event){\n\n          dragging = false;\n          demo.style.cursor = 'grab';\n\n          if (\n            event.pointerId != null \u0026\u0026\n            demo.hasPointerCapture?.(event.pointerId)\n          ){\n            demo.releasePointerCapture(event.pointerId);\n          }\n\n        }\n\n\n        demo.addEventListener('pointerup', stopDrag);\n        demo.addEventListener('pointercancel', stopDrag);\n\n\n        \/* set initial lens position correctly *\/\n\n        requestAnimationFrame(() =\u003e {\n\n          const rect = demo.getBoundingClientRect();\n\n          updateLens(\n            rect.left + rect.width * .56,\n            rect.top + rect.height * .50,\n            true\n          );\n\n        });\n\n\n        window.addEventListener('resize', () =\u003e {\n\n          const rect = demo.getBoundingClientRect();\n\n          updateLens(\n            rect.left + rect.width * .56,\n            rect.top + rect.height * .50,\n            true\n          );\n\n        }, { passive:true });\n\n      });\n\n    })();\n\n\n(() =\u003e {\n\n  const planner =\n    root.querySelector(\n      '[data-istana-side-planner-only]'\n    );\n\n  if (!planner) return;\n\n\n  \/*\n   * ISTANA THROW RATIO\n   *\/\n\n  const THROW_RATIO = 1.27;\n\n  const INCHES_PER_METRE =\n    39.37007874;\n\n  const DIAGONAL_PER_WIDTH =\n    Math.sqrt(337) \/ 16;\n\n\n\n  \/*\n   * ELEMENTS\n   *\/\n\n  const distanceInput =\n    planner.querySelector(\n      '[data-side-distance]'\n    );\n\n  const distanceOutput =\n    planner.querySelector(\n      '[data-side-distance-output]'\n    );\n\n\n  const offsetInput =\n    planner.querySelector(\n      '[data-side-offset]'\n    );\n\n  const offsetOutput =\n    planner.querySelector(\n      '[data-side-offset-output]'\n    );\n\n\n  const diagram =\n    planner.querySelector(\n      '[data-side-diagram]'\n    );\n\n\n  const beam =\n    planner.querySelector(\n      '[data-side-beam]'\n    );\n\n\n  const projector =\n    planner.querySelector(\n      '[data-side-projector]'\n    );\n\n\n  const sizeOutput =\n    planner.querySelector(\n      '[data-side-size]'\n    );\n\n\n  const screen =\n    planner.querySelector(\n      '[data-side-screen]'\n    );\n\n\n  const diagonalOutput =\n    planner.querySelector(\n      '[data-side-diagonal]'\n    );\n\n\n  const widthOutput =\n    planner.querySelector(\n      '[data-side-width]'\n    );\n\n\n  const heightOutput =\n    planner.querySelector(\n      '[data-side-height]'\n    );\n\n\n\n  \/*\n   * MAIN CALCULATION\n   *\/\n\n  function renderSidePlanner(){\n\n    const wallDistance =\n      Number(distanceInput.value);\n\n    const sideOffset =\n      Number(offsetInput.value);\n\n\n\n    \/*\n     * Screen calculations\n     *\n     * IMPORTANT: use the same wall-distance basis as the Smart Setup\n     * Planner so both planners show the same image size at the same\n     * Distance to Wall. Side offset changes the top-view placement and\n     * beam angle only; it does not increase the quoted screen size.\n     *\/\n\n    const screenWidth =\n      wallDistance \/\n      THROW_RATIO;\n\n    const screenHeight =\n      screenWidth * 0.5625;\n\n\n    const diagonal =\n      Math.round(\n\n        screenWidth *\n\n        INCHES_PER_METRE *\n\n        DIAGONAL_PER_WIDTH\n\n      );\n\n\n\n    \/*\n     * Slider progress\n     *\/\n\n    const distanceProgress =\n      (wallDistance - 1.4) \/\n      (8.44 - 1.4);\n\n\n    const offsetProgress =\n      (sideOffset + 2) \/ 4;\n\n\n\n    \/*\n     * TOP VIEW DRAWING\n     *\/\n\n    const verticalPixels =\n      70 +\n      (distanceProgress * 85);\n\n\n    \/*\n     * How far left\/right projector moves visually\n     *\/\n\n    const horizontalLimit =\n      Math.min(\n        125,\n        diagram.clientWidth * .32\n      );\n\n\n    const horizontalPixels =\n      (sideOffset \/ 2) *\n      horizontalLimit;\n\n\n\n    \/*\n     * Beam length\n     *\/\n\n    const beamLength =\n      Math.hypot(\n        verticalPixels,\n        horizontalPixels\n      );\n\n\n    \/*\n     * Beam angle\n     *\/\n\n    const beamRotation =\n      -Math.atan2(\n        horizontalPixels,\n        verticalPixels\n      ) * 180 \/ Math.PI;\n\n\n\n    \/*\n     * Projector rotation\n     *\/\n\n    const projectorRotation =\n      Math.atan2(\n        -sideOffset,\n        wallDistance\n      ) * 180 \/ Math.PI;\n\n\n\n    \/*\n     * TEXT\n     *\/\n\n    const wallText =\n      `${Number(\n        wallDistance.toFixed(2)\n      )}m`;\n\n\n    let offsetText;\n\n\n    if(Math.abs(sideOffset) \u003c 0.005){\n\n      offsetText = 'Centre';\n\n    }else{\n\n      offsetText =\n        `${Math.abs(sideOffset).toFixed(2)}m ${\n          sideOffset \u003c 0\n            ? 'Left'\n            : 'Right'\n        }`;\n\n    }\n\n\n\n    \/*\n     * UPDATE LEFT SIDE\n     *\/\n\n    distanceOutput.textContent =\n      wallText;\n\n\n    offsetOutput.textContent =\n      offsetText;\n\n\n\n    \/*\n     * UPDATE DIAGRAM\n     *\/\n\n    beam.style.height =\n      `${beamLength}px`;\n\n\n    beam.style.transform =\n      `\n      translateX(-50%)\n      rotate(${beamRotation}deg)\n      `;\n\n\n    projector.style.top =\n      `${36 + verticalPixels}px`;\n\n\n    projector.style.left =\n      `calc(\n        50% + ${horizontalPixels}px\n      )`;\n\n\n    projector.style.transform =\n      `\n      translateX(-50%)\n      rotate(${projectorRotation}deg)\n      `;\n\n\n\n    \/*\n     * UPDATE SIZE\n     *\/\n\n    sizeOutput.textContent =\n      `Est. Projected Size: ${diagonal}″`;\n\n\n    diagonalOutput.textContent =\n      `${diagonal}″ Projected`;\n\n\n    widthOutput.textContent =\n      `W: ${screenWidth.toFixed(2)}m`;\n\n\n    heightOutput.textContent =\n      `H: ${screenHeight.toFixed(2)}m`;\n\n\n\n    \/*\n     * Resize screen preview\n     *\/\n\n    const previewProgress =\n      Math.max(\n        0,\n        Math.min(\n          1,\n          (diagonal - 50) \/ (300 - 50)\n        )\n      );\n\n\n    \/* Match the Smart Setup Planner preview scale exactly. *\/\n    const screenPreviewWidth =\n      34 + (previewProgress * 54);\n\n\n    screen.style.width =\n      `${screenPreviewWidth}%`;\n\n\n\n    \/*\n     * Slider progress colour\n     *\/\n\n    distanceInput.style.setProperty(\n      '--range-progress',\n      `${distanceProgress * 100}%`\n    );\n\n\n    offsetInput.style.setProperty(\n      '--range-progress',\n      `${offsetProgress * 100}%`\n    );\n\n  }\n\n\n\n  \/*\n   * EVENTS\n   *\/\n\n  distanceInput.addEventListener(\n    'input',\n    renderSidePlanner\n  );\n\n\n  offsetInput.addEventListener(\n    'input',\n    renderSidePlanner\n  );\n\n\n  window.addEventListener(\n    'resize',\n    renderSidePlanner,\n    {\n      passive:true\n    }\n  );\n\n\n  \/*\n   * INITIAL LOAD\n   *\/\n\n  renderSidePlanner();\n\n})();\n\n    const setupSteps=[...root.querySelectorAll('.step')],proj=root.querySelector('#setupProjection'),status=root.querySelector('#setupStatus'),detect=root.querySelector('#setupDetect'),scan=root.querySelector('#setupScan'),done=root.querySelector('#setupDone'),reticle=root.querySelector('#focusReticle'),stepNow=root.querySelector('#setupStepNow'),activeTitle=root.querySelector('#setupActiveTitle'),activeDesc=root.querySelector('#setupActiveDesc'),setupMeter=root.querySelector('#setupMeter'),setupReplay=root.querySelector('#setupReplay');\n    const setupTitles=['Auto AI Focus','Auto AI Image Skew','Screen Fit','Obstacle Avoidance'];\n    const setupDescs=['Sharpens the image automatically.','Straightens the image geometry.','Fits the projected image to the usable area.','Adjusts around objects in the projection area.'];\n    const lerp=(a,b,t)=\u003ea+(b-a)*t;\n    const ease=t=\u003et*t*(3-2*t);\n    let setupRun=0, setupRaf=0, setupPlayed=false;\n    function setupProgress(p){\n      p=clamp(p,0,1);\n      const stage=Math.min(3,Math.floor(p*4));\n      setupSteps.forEach((s,n)=\u003e{s.classList.toggle('active',n===stage);s.classList.toggle('complete',n\u003cstage)});\n      if(stepNow)stepNow.textContent=String(stage+1).padStart(2,'0');\n      if(activeTitle)activeTitle.textContent=setupTitles[stage];\n      if(activeDesc)activeDesc.textContent=setupDescs[stage];\n      if(setupMeter)setupMeter.style.transform=`scaleX(${Math.max(.04,p).toFixed(3)})`;\n      if(!proj)return;\n\n      const f0=ease(clamp(p\/.23,0,1));\n      const f1=ease(clamp((p-.25)\/.23,0,1));\n      const f2=ease(clamp((p-.50)\/.23,0,1));\n      const f3=ease(clamp((p-.75)\/.23,0,1));\n      const blur=lerp(5,0,f0);\n      const ry=lerp(-11,0,f1),rz=lerp(-5,0,f1),sc=lerp(.91,1,f1);\n      let left=lerp(10,9,f2),top=lerp(13,9,f2),width=lerp(72,82,f2),height=lerp(62,72,f2);\n      left=lerp(left,7,f3);width=lerp(width,72,f3);\n      proj.style.filter=`blur(${blur.toFixed(2)}px)`;\n      proj.style.transform=`perspective(900px) rotateY(${ry.toFixed(2)}deg) rotateZ(${rz.toFixed(2)}deg) scale(${sc.toFixed(3)})`;\n      proj.style.left=left.toFixed(2)+'%';proj.style.top=top.toFixed(2)+'%';proj.style.width=width.toFixed(2)+'%';proj.style.height=height.toFixed(2)+'%';\n      if(reticle){reticle.style.opacity=(1-f0).toFixed(2);reticle.style.transform=`translate(-50%,-50%) scale(${lerp(1.08,.88,f0).toFixed(2)})`}\n      if(scan){scan.style.opacity=(1-f0).toFixed(2);scan.style.transform=`translateY(${(190*f0).toFixed(0)}px)`}\n      if(detect){detect.style.opacity=f3.toFixed(2);detect.style.transform=`scale(${lerp(.95,1,f3).toFixed(2)})`}\n      if(status){\n        if(stage===0)status.textContent=f0\u003e.9?'Auto AI Focus · sharp':'Auto AI Focus · focusing…';\n        else if(stage===1)status.textContent=f1\u003e.9?'Auto AI Image Skew · corrected':'Auto AI Image Skew · straightening…';\n        else if(stage===2)status.textContent=f2\u003e.9?'Screen Fit · fitted':'Screen Fit · fitting…';\n        else status.textContent=f3\u003e.9?'Obstacle Avoidance · adjusted':'Obstacle Avoidance · adapting…';\n      }\n      if(done)done.classList.toggle('on',p\u003e.96);\n    }\n    let setupLoopTimer=0,setupInView=false;\n    function runSetupDemo(){\n      clearTimeout(setupLoopTimer);\n      cancelAnimationFrame(setupRaf);\n      const token=++setupRun,start=performance.now(),duration=4200;\n      setupProgress(0);\n      const tick=now=\u003e{\n        if(token!==setupRun)return;\n        const p=clamp((now-start)\/duration,0,1);\n        setupProgress(p);\n        if(p\u003c1){\n          setupRaf=requestAnimationFrame(tick);\n        }else if(setupInView){\n          \/* Keep the completed state visible briefly, then replay automatically. *\/\n          setupLoopTimer=setTimeout(()=\u003e{\n            if(setupInView)runSetupDemo();\n          },900);\n        }\n      };\n      setupRaf=requestAnimationFrame(tick);\n    }\n    setupProgress(0);\n    if(setupReplay)setupReplay.addEventListener('click',()=\u003e{setupPlayed=true;runSetupDemo()});\n    const setupSection=root.querySelector('#autoSetupStory');\n    if(setupSection \u0026\u0026 'IntersectionObserver' in window){\n      const setupObserver=new IntersectionObserver(entries=\u003e{\n        entries.forEach(entry=\u003e{\n          setupInView=entry.isIntersecting \u0026\u0026 entry.intersectionRatio\u003e.5;\n          if(setupInView){\n            if(!setupPlayed){setupPlayed=true;runSetupDemo()}\n          }else{\n            clearTimeout(setupLoopTimer);\n          }\n        });\n      },{threshold:[.5,.65]});\n      setupObserver.observe(setupSection);\n    }\n\n    const hwFrames=[...root.querySelectorAll('.hw-frame')],hwCaps=[...root.querySelectorAll('.hw-caption')],hwDots=[...root.querySelectorAll('.hw-dots span')];\n    let currentHardwareStep=0;\n    function setHardwareVisual(step){\n      hwFrames.forEach((e,n)=\u003ee.classList.toggle('active',n===step));\n      hwCaps.forEach((e,n)=\u003ee.classList.toggle('active',n===step));\n      hwDots.forEach((e,n)=\u003ee.classList.toggle('active',n===step));\n    }\n    function hardwareStep(i,immediate=false){\n      if(i===currentHardwareStep \u0026\u0026 !immediate) return;\n      currentHardwareStep=i;\n      \/* direct crossfade: next frame turns on immediately, so there is no blank black gap *\/\n      setHardwareVisual(i);\n    }\n    function getHardwareStep(progress){\n      if(progress \u003c .19) return 0;\n      if(progress \u003c .44) return 1;\n      if(progress \u003c .69) return 2;\n      return 3;\n    }\n    hardwareStep(0,true);\n\n    if(!reduce){\n      let ticking=false;\n      const update=()=\u003e{\n        ticking=false;\n        const hero=root.querySelector('#heroStory');\n        if(hero){const bg=hero.querySelector('.hero-bg'),copy=hero.querySelector('.hero-copy');if(bg){bg.style.filter='none';bg.style.transform='scale(1.03)'}if(copy){copy.style.transform='none';copy.style.opacity='1'}}\n        const hw=root.querySelector('#hardwareStory');\n        if(hw){const r=hw.getBoundingClientRect(),p=clamp((-r.top)\/(r.height-innerHeight),0,1);hardwareStep(getHardwareStep(p))}\n      };\n      const onScroll=()=\u003e{if(!ticking){requestAnimationFrame(update);ticking=true}};\n      addEventListener('scroll',onScroll,{passive:true});addEventListener('resize',onScroll,{passive:true});update();\n    } else {setupProgress(1);hardwareStep(0,true);}\n  })();\n  \n\u003c\/script\u003e\n","brand":"INNOVATIVE Projectors Singapore","offers":[{"title":"Default Title","offer_id":71124890452221,"sku":null,"price":1699.0,"currency_code":"SGD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0475\/7130\/4610\/files\/istana_result_v4.jpg?v=1789715854"}],"url":"https:\/\/innovativeprojector.com\/collections\/4k-projectors-singapore.oembed","provider":"INNOVATIVE Projectors Singapore","version":"1.0","type":"link"}