{"title":"ป้ายแบนเนอร์","description":null,"products":[{"product_id":"ป้ายไวนิล-พร้อมติดตั้ง","title":"Vinyl banner installation on facade","description":"\u003ch2 class=\"prod_h2\"\u003eGet a vinyl sign, ready to install vinyl banner, get a cheap vinyl billboard sign, make an inkjet sign Advertising billboards ready to install, durable, ready-to-install on-site\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eVinyl Signs: Ready-to-Install Solutions for Advertising and Promotions\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eWe offer durable, ready-to-install vinyl signs and banners tailored to your needs. Whether you need small-scale signs for events or large-scale billboards for commercial projects, our services cover a wide range of sizes and applications:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eStandard Sizes:\u003c\/strong\u003e\u003c\/li\u003e\n\u003cul\u003e\n\u003cli\u003eLess than 1 meter: Ideal for event signage.\u003c\/li\u003e\n\u003cli\u003e1-2 meters: Perfect for booth equipment.\u003c\/li\u003e\n\u003cli\u003e2-4 meters: Suitable for storefront signs or construction project displays.\u003c\/li\u003e\n\u003cli\u003e5-20 meters: Great for building signs and commercial advertising.\u003c\/li\u003e\n\u003cli\u003e20-100 meters: Designed for wall-mounted facade projects or shopping mall installations.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cp\u003eOur professional team ensures reliable site installation, adhering to shopping center regulations and providing both daytime and nighttime services. With extensive experience in billboard installation, we guarantee quality and efficiency.\u003c\/p\u003e\n\u003cdiv class=\"div-space text-center\"\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp\u003e\u003ca title=\"What is a vinyl label? Types of vinyl. Types of vinyl. The more worthwhile if used correctly.\" href=\"https:\/\/www.octopus.co.th\/blogs\/how-to\/vinyl-banner-type\" target=\"_blank\" data-mce-href=\"https:\/\/www.octopus.co.th\/blogs\/how-to\/vinyl-banner-type\"\u003eWhat is a vinyl sign? Vinyl Type Click Here\u003c\/a\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eOrder all grades of vinyl. Get work quickly. There are many grades and prices to choose from. We have vinyl from China. Lowest to Highest Grade Vinyl Specs come printed with quality inkjet printers, outdoor inkjet printers, genuine inks for sure to ensure that you will receive excellent quality vinyl banners at a reasonable price suitable for every job and meet all needs.\u003c\/p\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cp\u003e\u003cstrong\u003eRoll front, standard vinyl size, width 1.6 - 5.0 meters, length 50 meters, special sizes can be inquired.\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp\u003eGood work, can be trusted, plus service to always check files to be sure about spelling, colors, sharpness, printability, not broken, keep the job neat, good work, no insecurities, we always care about being a partner for customers because we are more than just a printing house \"Your Marketing Team\"\u003c\/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eExplore More Label Options\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eWe offer a wide variety of labels to suit your needs. Visit our website to explore all available options. For more information, feel free to contact us on \u003cstrong\u003eLine: @octopusdesign\u003c\/strong\u003e for quick assistance !\u003c\/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":43922370429150,"sku":"","price":99.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/image_fffb599d-dec6-4bec-b8bf-481d952090b2-517932.jpg?v=1682491387"},{"product_id":"mesh-vinyl-see-through","title":"See through vinyl banners","description":"\u003csection class=\"desc_container\"\u003e\u003cstyle\u003eimg[src*=\"oc-icon\"]{width:18px!important;height:18px!important;max-width:18px!important;display:inline-block!important;vertical-align:middle;flex-shrink:0}\n\n.product-description *{white-space:normal!important;}\n@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}\n\n.mv-sk{display:block;font-size:0.82em;font-weight:700;color:var(--oc-cyan);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px;}.mv-sh h2 {margin:0;}\n.mv-tw{overflow-x:auto;margin:10px 0;}\n.mv-sp{width:100%;border-collapse:collapse;}\n.mv-sp th,.mv-sp td{padding:8px 12px;border:1px solid var(--oc-ink-15);font-size:13.5px!important;font-weight:400!important;text-align:left;}\n.mv-sp thead th{background:#f3f4f6!important;font-weight:700!important;color:#1A202C!important;font-size:13.5px!important;;border-bottom:2px solid #818CF8;}\n.mv-sp tbody th{background:#F9FAFB;font-weight:600!important;color:var(--oc-ink-70);width:36%;}\n\n.mv-faq{margin:16px 0;}\n.mv-fqi{border:1px solid var(--oc-ink-15);border-radius:var(--oc-radius);margin-bottom:7px;background:#fff;overflow:hidden;}\n.mv-fqq{display:flex;align-items:center;gap:9px;padding:12px 15px;cursor:pointer;user-select:none;font-size:0.88em;font-weight:600;}\n.mv-fqq:hover{background:var(--oc-cyan-l);}\n.mv-fqn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--oc-grad-ci);color:#fff;font-size:0.88em;font-weight:800;flex-shrink:0;}\n.mv-chv{width:15px;height:15px;margin-left:auto;color:var(--oc-ink-40);transition:transform .18s;}\n.mv-fqi.open .mv-chv{transform:rotate(180deg);}\n.mv-fqb{display:none;padding:0 15px 13px 44px;font-size:0.88em;color:var(--oc-ink-70);line-height:1.7;}\n.mv-fqi.open .mv-fqb{display:block;}\n.mv-intro{font-size:0.96em;color:var(--oc-ink-70);line-height:1.8;margin:10px 0 14px;}\n\n.mv-kpi{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0 18px;padding:16px;background:#fff;border:1px solid var(--oc-ink-15);border-radius:var(--oc-radius);}\n.mv-ki .n{display:block;font-size:1.0em;font-weight:800;background:var(--oc-grad-ci);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;}\n.mv-ki .l{display:block;font-size:0.88em;color:var(--oc-ink-40);margin-top:3px;}\n.mv-kd{width:1px;background:var(--oc-ink-15);align-self:stretch;}\n@media(max-width:600px){.mv-kpi{flex-direction:column;gap:12px;}.mv-kd{width:100%;height:1px;}}\n@keyframes mv-rb{0%{background-position:0%}100%{background-position:300%}}table thead tr{position:relative;}table thead tr::after{content:'';display:block;position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#14c9df,#17a9bb 28%,#818CF8 60%,#A78BFA 82%,#14c9df 100%);background-size:300%;animation:mv-rb 7s linear infinite;}\n\n@media(max-width:520px){}\n\n@media(max-width:520px){}\n.oc-faq{display:flex;flex-direction:column;gap:8px}\n.oc-faq-i{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:border-color .2s,box-shadow .2s}\n.oc-faq-i.open{border-color:rgba(20,201,223,.4);box-shadow:0 3px 16px rgba(20,201,223,.12)}\n.oc-faq-btn{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;font-size:0.88em;font-weight:600;color:#374151}\n.oc-faq-num{width:24px;height:24px;border-radius:50%;flex-shrink:0;font-size:0.82em;font-weight:800;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;transition:background .25s,color .25s}\n.oc-faq-i.open .oc-faq-num{background:linear-gradient(135deg,#14c9df,#17a9bb);color:#fff}\n.oc-faq-chev{width:16px;height:16px;flex-shrink:0;margin-left:auto;fill:none;stroke:#6b7280;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s,stroke .2s}\n.oc-faq-i.open .oc-faq-chev{transform:rotate(180deg);stroke:#17a9bb}\n.oc-faq-body{max-height:0;overflow:hidden;transition:max-height .32s ease}\n.oc-faq-body.open{max-height:500px}\n.oc-faq-ans{padding:2px 14px 14px 48px;font-size:0.96em;color:#6b7280;line-height:1.8}\u003c\/style\u003e\n\u003csection class=\"desc_container\"\u003e\n\u003cdiv class=\"oc-badge oc-badge-cyan\" style=\"margin-bottom:10px\"\u003eMesh · See-through · Reduced Wind Load\u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eMesh Vinyl — Outdoor Wind-Resistant, See-Through\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"mv-row\"\u003e\n\n\u003cspan class=\"hi\"\u003eConstruction \/ Scaffolding\u003c\/span\u003e\u003cspan class=\"hi\"\u003eSports Stadiums\u003c\/span\u003e\u003cspan class=\"\"\u003eLarge Outdoor Billboards\u003c\/span\u003e\u003cspan class=\"\"\u003eEvent Area Barriers\u003c\/span\u003e\u003cspan class=\"\"\u003eAdvertising Fences\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003cp class=\"mv-intro\"\u003eMesh vinyl has evenly distributed holes across its surface, significantly reducing wind impact compared to solid vinyl. It is ideal for large outdoor signs that need to be \u003cstrong\u003ewind-resistant without bulging or tearing\u003c\/strong\u003e, while still allowing clear visibility of graphics from a distance.\u003c\/p\u003e\n\n\u003cblockquote class=\"oc-bq\"\u003eLarge solid vinyl banners can bear the full force of the wind, potentially tearing or damaging the structure. Mesh allows 10–15% of the wind to pass through, significantly reducing the impact on the structure and lessening the load it has to bear.\u003c\/blockquote\u003e\n\n\u003cdiv class=\"mv-kpi\"\u003e\n\n\u003cdiv class=\"mv-ki\"\u003e\n\n\u003cspan class=\"n\"\u003eMesh\u003c\/span\u003e\u003cspan class=\"l\"\u003eDistributed holes\u003cbr\u003eAllow wind to pass\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"mv-kd\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"mv-ki\"\u003e\n\n\u003cspan class=\"n\"\u003e10–15%\u003c\/span\u003e\u003cspan class=\"l\"\u003eWind passes through\u003cbr\u003eReduced structural load\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"mv-kd\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"mv-ki\"\u003e\n\n\u003cspan class=\"n\"\u003eEco-Sol\u003c\/span\u003e\u003cspan class=\"l\"\u003eVibrant print\u003cbr\u003eOutdoor durable\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"mv-tw\"\u003e\u003ctable class=\"mv-sp\"\u003e\n\n\u003cthead\u003e\u003ctr\u003e\n\n\u003cth\u003eItem\u003c\/th\u003e\n\n\u003cth\u003eDetails\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\u003c\/thead\u003e\n\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\n\u003cth scope=\"row\"\u003eMaterial\u003c\/th\u003e\n\n\u003ctd\u003ePVC Mesh vinyl with polyester fibers — flexible, tear-resistant\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003cth scope=\"row\"\u003ePrint\u003c\/th\u003e\n\n\u003ctd\u003eEco-Solvent Inkjet — vibrant colors, weather-resistant\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003cth scope=\"row\"\u003eSize\u003c\/th\u003e\n\n\u003ctd\u003eCustom — printable from small sizes to billboards\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003cth scope=\"row\"\u003eMounting\u003c\/th\u003e\n\n\u003ctd\u003eGrommets around edges \/ Hemmed with grommets \/ Rope edge — as per design\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003cth scope=\"row\"\u003eLead time\u003c\/th\u003e\n\n\u003ctd\u003e3–5 business days\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\n\n\n\u003c\/table\u003e\u003c\/div\u003e\n\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq\"\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e1\u003c\/span\u003e\u003cspan\u003eIs Mesh suitable for sports stadiums?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eYes, Mesh works well for stadium fences. Wind can pass through without damaging the banner. However, the graphics should be designed with large text to compensate for the distributed holes when viewed from a distance.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e2\u003c\/span\u003e\u003cspan\u003eHow sharp is the print quality?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eIt is suitable for large images viewed from 5 meters or more. If viewed up close, the mesh holes will be visible, so it is not suitable for work requiring high resolution at close range.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cscript\u003e(function(){document.querySelectorAll(\"#mvFaq .mv-fqq\").forEach(function(b){b.addEventListener(\"click\",function(){var it=b.parentElement,op=it.classList.contains(\"open\");document.querySelectorAll(\"#mvFaq .mv-fqi.open\").forEach(function(o){o.classList.remove(\"open\");});if(!op)it.classList.add(\"open\");});});})();\u003c\/script\u003e\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"inLanguage\": \"th-TH\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Mesh เหมาะสนามกีฬาไหม?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"ใช่ Mesh ติดรั้วสนามได้ดี ลมผ่านได้โดยป้ายไม่พัง แต่ระยะมองควรออกแบบภาพให้ตัวหนังสือใหญ่เพียงพอเพราะมีรูกระจาย\"}}, {\"@type\": \"Question\", \"name\": \"พิมพ์ได้คมชัดแค่ไหน?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"เหมาะภาพขนาดใหญ่มองจากระยะ 5 เมตรขึ้นไป ถ้ามองใกล้จะเห็นรูตาข่าย ไม่เหมาะงานที่ต้องการความละเอียดสูงระยะใกล้\"}}]}\u003c\/script\u003e\n\n\u003cdiv class=\"oc-wrap\"\u003e\n\n  \u003cdiv\u003e\n\n\u003cstrong\u003eInquire about pricing and production\u003c\/strong\u003e\u003cp\u003eSend photos of the location + size + artwork for an immediate quote. If a survey team is needed, we are happy to arrange it.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"oc-cta\"\u003e\n\n  \u003cdiv\u003e\n\n\u003cstrong\u003eInquire about pricing and production\u003c\/strong\u003e\u003cp\u003eSend photos of the location + size + artwork for an immediate quote. If a survey team is needed, we are happy to arrange it.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cdiv class=\"oc-cta-btns\"\u003e\n\n    \u003ca href=\"https:\/\/lin.ee\/uDrVbvY\" style=\"display:inline-block;padding:10px 20px;border-radius:8px;background:linear-gradient(90deg,#14c9df,#17a9bb,#818CF8,#A78BFA);background-size:200% 100%;color:#fff!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap\"\u003eLINE Inquiry\u003c\/a\u003e\n    \u003ca href=\"#\" style=\"display:inline-block;padding:10px 20px;border-radius:8px;border:2px solid #17a9bb;color:#17a9bb!important;font-weight:700;font-size:0.88em;text-decoration:none;white-space:nowrap\"\u003eView Portfolio\u003c\/a\u003e\n  \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003cscript\u003e(function(){document.querySelectorAll('.oc-faq-btn').forEach(function(btn){btn.addEventListener('click',function(){var item=btn.closest('.oc-faq-i'),faq=btn.closest('.oc-faq'),isOpen=item.classList.contains('open');faq.querySelectorAll('.oc-faq-i').forEach(function(i){i.classList.remove('open');i.querySelector('.oc-faq-body').classList.remove('open');});if(!isOpen){item.classList.add('open');item.querySelector('.oc-faq-body').classList.add('open');}});});})();\u003c\/script\u003e\n\u003c\/section\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":44183948460254,"sku":"","price":350.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/image_08f5400f-2ef1-4781-b82e-7854da3de888.jpg?v=1776575047"},{"product_id":"vinyl-banner-steel-frame","title":"Vinyl sign stretched on steel frame","description":"\u003csection class=\"desc_container\"\u003e\u003cstyle\u003e.product-description*{white-space:normal!important}\nimg[src*=\"oc-icon\"]{width:18px!important;height:18px!important;max-width:18px!important;display:inline-block!important;vertical-align:middle;flex-shrink:0}\n\n.stl{color:var(--oc-ink-70);line-height:1.7;max-width:900px;margin:0 auto;padding:0 4px}\n.stl-badge{display:inline-flex;align-items:center;gap:5px;background:var(--oc-grad-ci);color:#fff;font-size:0.82em;font-weight:700;padding:4px 12px;border-radius:999px;margin-bottom:12px}.stl h2 {font-weight:800;color:var(--oc-ink);margin:0 0 5px;line-height:1.25;}\n.stl-tag{font-size:0.88em;color:var(--oc-cyan);font-weight:600;margin-bottom:14px}\n\n.stl-sh::before{content:'';display:block;width:3px;height:1.1em;background:var(--oc-grad-ci);border-radius:2px}\n.stl-prose{font-size:0.96em;color:var(--oc-ink-70);line-height:1.78;margin:0 0 12px}\n.stl-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 12px}\n.stl-kv{background:#fff;border:1px solid var(--oc-ink-15);border-top:2.5px solid var(--oc-cyan);border-radius:var(--oc-radius);padding:10px 8px;text-align:center;box-shadow:0 1px 6px rgba(60,70,90,.06)}\n.stl-kv.pu{border-top-color:#818CF8}\n.stl-kv-n{font-size:0.96em;font-weight:900;color:var(--oc-cyan);display:block;line-height:1.1;margin-bottom:3px}\n.stl-kv.pu .stl-kv-n{color:#818CF8}\n.stl-kv-l{font-size:0.88em;color:var(--oc-ink-40);display:block;line-height:1.3}\n\n.stl-step-n{font-size:0.88em;font-weight:800;color:var(--oc-cyan);letter-spacing:.06em;display:block;margin-bottom:4px}\n\n.stl-tbl{width:100%;border-collapse:collapse;margin-bottom:20px;border-radius:var(--oc-radius);overflow:hidden;box-shadow:0 1px 6px rgba(60,70,90,.06)}\n.stl-tbl thead th{background:#f3f4f6!important;color:#1a202c!important;font-weight:700!important;font-size:0.88em!important;padding:9px 12px;text-align:left;border-bottom:2px solid #818CF8;}\n.stl-tbl tbody tr:nth-child(even){background:#FAFBFF}\n.stl-tbl td,.stl-tbl tbody th{font-size:0.88em!important;font-weight:400!important;color:var(--oc-ink-70);padding:8px 12px;border-bottom:1px solid var(--oc-ink-15)}\n.stl-tbl tbody th{font-weight:600!important;background:#fff!important;white-space:nowrap!important}\n\n.stl-btns{display:flex;gap:7px;flex-wrap:wrap}\n.stl-btn2{display:inline-block;padding:9px 18px;border-radius:999px;border:1.5px solid var(--oc-cyan);color:var(--oc-cyan)!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap!important}\n\n.stl-faq-q{padding:12px 14px;font-size:0.96em;font-weight:600;color:var(--oc-ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}\n.stl-faq-q::after{content:'+';font-size:1.1em;color:var(--oc-cyan);flex-shrink:0;transition:transform .25s}\n.stl-faq-q.open::after{transform:rotate(45deg)}\n.stl-faq-a{display:none;padding:0 14px 12px;font-size:0.88em;color:var(--oc-ink-70);line-height:1.7;border-top:1px solid var(--oc-ink-15)}\n@media(max-width:989px){.stl-kpi{grid-template-columns:1fr 1fr}}\n@media(prefers-reduced-motion:reduce){*{transition:none!important}}\n\n.oc-faq{display:flex;flex-direction:column;gap:8px}\n.oc-faq-i{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:border-color .2s,box-shadow .2s}\n.oc-faq-i.open{border-color:rgba(20,201,223,.4);box-shadow:0 3px 16px rgba(20,201,223,.12)}\n.oc-faq-btn{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;font-size:0.88em;font-weight:600;color:#374151}\n.oc-faq-num{width:24px;height:24px;border-radius:50%;flex-shrink:0;font-size:0.82em;font-weight:800;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;transition:background .25s,color .25s}\n.oc-faq-i.open .oc-faq-num{background:linear-gradient(135deg,#14c9df,#17a9bb);color:#fff}\n.oc-faq-chev{width:16px;height:16px;flex-shrink:0;margin-left:auto;fill:none;stroke:#6b7280;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s,stroke .2s}\n.oc-faq-i.open .oc-faq-chev{transform:rotate(180deg);stroke:#17a9bb}\n.oc-faq-body{max-height:0;overflow:hidden;transition:max-height .32s ease}\n.oc-faq-body.open{max-height:500px}\n.oc-faq-ans{padding:2px 14px 14px 48px;font-size:0.96em;color:#6b7280;line-height:1.8}\u003c\/style\u003e\n\u003cdiv class=\"stl\"\u003e\n\u003c!--nl_\n  \u003cdiv class=\"stl-badge\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-outdoor.svg\" alt=\"\"\u003eVinyl Banner with Steel Frame\u003c\/div\u003e\n\n\n  \u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eVinyl Banner with Steel Frame — Strong Galvanized Frame, 440–610 gsm Vinyl, Standard Installation\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cp class=\"stl-tag\"\u003eVinyl Banner · Galvanized Steel Frame · Powder Coat · 440–610 gsm Vinyl · Shop Signs, Event Signs, Project Signs\u003c\/p\u003e\n\n\n  \u003cdiv class=\"stl-kpi\"\u003e\n\n\n    \u003cdiv class=\"stl-kv\"\u003e\n\n\u003cspan class=\"stl-kv-n\"\u003e1.5–2\"\u003c\/span\u003e\u003cspan class=\"stl-kv-l\"\u003eGalvanized Pipe\u003cbr\u003eStandard Size\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n    \u003cdiv class=\"stl-kv pu\"\u003e\n\n\u003cspan class=\"stl-kv-n\"\u003e440–610\u003c\/span\u003e\u003cspan class=\"stl-kv-l\"\u003egsm Vinyl\u003cbr\u003eSelectable\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n    \u003cdiv class=\"stl-kv\"\u003e\n\n\u003cspan class=\"stl-kv-n\"\u003ePowder\u003c\/span\u003e\u003cspan class=\"stl-kv-l\"\u003eCoat Paint\u003cbr\u003eRust-Proof\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"stl-row\"\u003e\n\n\n    \u003cspan class=\"\"\u003eShop Sign\u003c\/span\u003e\u003cspan class=\"\"\u003eEvent Sign\u003c\/span\u003e\n\n    \u003cspan class=\"\"\u003eProject Sign\u003c\/span\u003e\u003cspan class=\"\"\u003ePublic Relations Sign\u003c\/span\u003e\u003cspan class=\"\"\u003ePermanent Outdoor\u003c\/span\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cp class=\"stl-prose\"\u003eVinyl banners with steel frames are suitable for large signs that require strength and durability. The galvanized steel frame is powder-coated for rust prevention, and the vinyl is stretched taut, making it clearly readable day and night. The vinyl can be changed without needing a new frame.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"how-to-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eProcess\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"stl-step\"\u003e\n\n\n    \u003cdiv class=\"stl-step oc-step\"\u003e\n\n\u003cspan class=\"stl-step oc-step-n\"\u003e01\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-ruler.svg\" alt=\"\"\u003e\u003cstrong\u003eMeasure the area\u003c\/strong\u003e\u003cp\u003eInform us of the sign size and location. Our team will calculate the frame for you.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n    \u003cdiv class=\"stl-step oc-step\"\u003e\n\n\u003cspan class=\"stl-step oc-step-n\"\u003e02\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-file.svg\" alt=\"\"\u003e\u003cstrong\u003eSend Artwork\u003c\/strong\u003e\u003cp\u003eAI\/PDF. We will proof the vinyl print before production.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n    \u003cdiv class=\"stl-step oc-step\"\u003e\n\n\u003cspan class=\"stl-step oc-step-n\"\u003e03\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-settings.svg\" alt=\"\"\u003e\u003cstrong\u003eProduce Frame + Vinyl\u003c\/strong\u003e\u003cp\u003eWeld frame, paint, print vinyl.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n    \u003cdiv class=\"stl-step oc-step\"\u003e\n\n\u003cspan class=\"stl-step oc-step-n\"\u003e04\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-install.svg\" alt=\"\"\u003e\u003cstrong\u003eInstallation\u003c\/strong\u003e\u003cp\u003eInstallation team according to safety standards.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\n\n  \u003ctable class=\"stl-tbl\"\u003e\n\n\n    \u003cthead\u003e\u003ctr\u003e\n\n\u003cth\u003eItem\u003c\/th\u003e\n\n\u003cth\u003eDetails\u003c\/th\u003e\n\n\u003cth\u003eNotes\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\u003c\/thead\u003e\n\n\n    \u003ctbody\u003e\n\n\n      \u003ctr\u003e\n\n\u003cth\u003eSteel Frame\u003c\/th\u003e\n\n\u003ctd\u003eGalvanized 1.5–2 inches, reinforced welding\u003c\/td\u003e\n\n\u003ctd\u003ePowder Coat anti-rust\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n      \u003ctr\u003e\n\n\u003cth\u003eVinyl\u003c\/th\u003e\n\n\u003ctd\u003e440 \/ 510 \/ 610 gsm, selectable\u003c\/td\u003e\n\n\u003ctd\u003eHemmed edges, eyelets\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n      \u003ctr\u003e\n\n\u003cth\u003eSize\u003c\/th\u003e\n\n\u003ctd\u003eAll custom sizes\u003c\/td\u003e\n\n\u003ctd\u003ePopular: 120×240 cm.\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n      \u003ctr\u003e\n\n\u003cth\u003eInstallation\u003c\/th\u003e\n\n\u003ctd\u003eBangkok + vicinity, team available\u003c\/td\u003e\n\n\u003ctd\u003eOther provinces shipped with hardware\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n    \u003c\/tbody\u003e\n\n\n  \u003c\/table\u003e\n\n\n  \u003cdiv class=\"stl-cta oc-cta\"\u003e\n\n\n    \u003cdiv\u003e\n\n\u003cstrong\u003eOrder Vinyl Banner with Steel Frame\u003c\/strong\u003e\u003cp\u003eTell us the size, send artwork, get an immediate quote.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n    \u003cdiv class=\"stl-btns\"\u003e\n\n\n      \u003ca href=\"https:\/\/lin.ee\/uDrVbvY\" style=\"display:inline-block;padding:9px 18px;border-radius:999px;background:linear-gradient(90deg,#14c9df,#17a9bb,#818CF8,#A78BFA);background-size:200% 100%;color:#fff!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap\"\u003eLINE to Order\u003c\/a\u003e\n\n      \u003ca href=\"#\" class=\"stl-btn2\"\u003eView Examples\u003c\/a\u003e\n\n    \u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"news-active-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eFAQ\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"oc-faq\"\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e1\u003c\/span\u003e\u003cspan\u003eWhat's the difference between 440 and 610 gsm vinyl?\u003c\/span\u003e\u003c!--$1--\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003e440 gsm is thinner, lighter, and cheaper, suitable for short-term use (6 months–1 year). 610 gsm is thicker and more durable, suitable for permanent signs that need to last 2–3 years.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e2\u003c\/span\u003e\u003cspan\u003eCan I change only the vinyl without changing the frame?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eYes, the steel frame is reusable. Order a new vinyl print and stretch it onto the existing frame, saving significant cost.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e3\u003c\/span\u003e\u003cspan\u003eDo I need a permit for very large signs?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eLarge advertising signs in public areas may require a permit from the local municipality or Bangkok Metropolitan Administration. We recommend checking with the local authorities before installation.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\n\n\n  \u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"ไวนิล 440 กับ 610 gsm ต่างกัน?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"440 บาง เบา ราคาถูก งานระยะสั้น 610 หนาทนทาน 2–3 ปี\"}},{\"@type\":\"Question\",\"name\":\"เปลี่ยนไวนิลอย่างเดียวได้ไหม?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ได้ โครงใช้ซ้ำได้ ประหยัดมาก\"}},{\"@type\":\"Question\",\"name\":\"ขนาดใหญ่ต้องใบอนุญาตไหม?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ป้ายสาธารณะขนาดใหญ่อาจต้องขอ ตรวจสอบกับหน่วยงานท้องถิ่น\"}}]}\u003c\/script\u003e\n\n\u003cscript\u003e(function(){document.querySelectorAll('#stl-faq .stl-faq-q').forEach(function(q){q.addEventListener('click',function(){var o=this.classList.contains('open');document.querySelectorAll('#stl-faq .stl-faq-q').forEach(function(x){x.classList.remove('open');x.nextElementSibling.style.display='none'});if(!o){this.classList.add('open');this.nextElementSibling.style.display='block'}})})})();\u003c\/script\u003e\n\u003cscript\u003e(function(){document.querySelectorAll('.oc-faq-btn').forEach(function(btn){btn.addEventListener('click',function(){var item=btn.closest('.oc-faq-i'),faq=btn.closest('.oc-faq'),isOpen=item.classList.contains('open');faq.querySelectorAll('.oc-faq-i').forEach(function(i){i.classList.remove('open');i.querySelector('.oc-faq-body').classList.remove('open');});if(!isOpen){item.classList.add('open');item.querySelector('.oc-faq-body').classList.add('open');}});});})()\u003c\/script\u003e\u003c\/section\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":44185807913182,"sku":"","price":1400.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/image_3593301a-eea5-462d-ae21-cd4196e880ee.jpg?v=1776575047"},{"product_id":"building-vinyl-banner","title":"Vinyl Signs with Conduits and Hooks attached to the building","description":"\u003ch2\u003eWe specialize in creating and installing vinyl signs and banners, offering \u003cstrong\u003eaffordable pricing\u003c\/strong\u003e and \u003cstrong\u003ehigh-quality inkjet printing\u003c\/strong\u003e. From advertising signs to durable vinyl billboards, our team ensures professional on-site installation, delivering reliable and visually impactful results every time.\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAccepting installation of vinyl signs,\u003c\/strong\u003e billboard signs, and outdoor inkjet printing. Standard vinyl sizes range from less than a meter for holding event photos, 1-2 meters as booth equipment, 2-4 meters for use as \u003cstrong\u003eshop front signs.\u003c\/strong\u003e Or make a sign in front of a construction project 5-20 meters for making a vinyl sign to attach in front of a building. Print commercial advertising illustrations for general construction projects. We have sizes up to 20-100 meters for wall installation in shopping center kiosk projects.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhat Are Vinyl Signs?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eVinyl signs are versatile advertising solutions crafted using durable materials and quality printing techniques. With \u003cstrong\u003evarious grades and types\u003c\/strong\u003e available, they cater to a wide range of needs and budgets. From \u003cstrong\u003eeconomical Chinese vinyl\u003c\/strong\u003e to \u003cstrong\u003epremium-grade options\u003c\/strong\u003e, we offer tailored solutions to match your project requirements.\u003c\/p\u003e\n\u003cp\u003eEach vinyl sign is printed using \u003cstrong\u003ehigh-quality inkjet printers\u003c\/strong\u003e, suitable for outdoor use, and paired with genuine ink to ensure \u003cstrong\u003evivid colors, durability, and resistance\u003c\/strong\u003e to fading. Whether you're seeking affordable options for temporary use or high-grade vinyl for long-term applications, we guarantee excellent quality at a \u003cstrong\u003ereasonable price\u003c\/strong\u003e that meets all your needs. \u003cstrong\u003eClick here to explore our vinyl grades\u003c\/strong\u003e and get your project done quickly!\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.octopus.co.th\/blogs\/how-to\/vinyl-banner-type\" title=\"What is a vinyl sign? Types of vinyl. Types of vinyl are even more worthwhile if used according to specifications.\" data-mce-href=\"https:\/\/www.octopus.co.th\/blogs\/how-to\/vinyl-banner-type\" target=\"_blank\"\u003eWhat are vinyl signs? Vinyl type click here\u003c\/a\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eOrder every grade of vinyl and get the job done quickly. There are many grades and prices to choose from. We have everything from Chinese vinyl Lowest to highest grade vinyl. Specs are printed with a quality inkjet printer, outdoor inkjet, genuine ink to ensure that you will receive vinyl signs of excellent quality, reasonable price, suitable for every job and answer to all usage needs.\u003c\/p\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cp\u003e\u003cstrong\u003eThe standard vinyl roll size is 1.6 - 5.0 meters wide and 50 meters long. Special sizes can be inquired.\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp\u003eGood work, trustworthy, plus service, always checking files to be sure about spelling, colors, ability to be sharp, prints without cracks, neat work, good work, no secrets, we always care and be a partner for customers because we are more than a printing house, a general sign making shop, we work as if \"Your Marketing Team\"\u003c\/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003ch4 style=\"text-align: center;\"\u003eThere are other styles of signs to choose from on the website. Or contact for more information, contact Line @octopusdesign\u003c\/h4\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":44185809125598,"sku":"","price":450.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/image_7db9eec8-7a91-48dc-8942-c4176d5bc3f0-826972.jpg?v=1712723317"},{"product_id":"hoarding-vinyl-banner-housing-project","title":"Vinyl signs for housing estates, project signs","description":"\u003cp\u003eHoarding Vinyl Banners are widely used advertising materials in construction. Typically installed on fences or partition walls, they showcase project details such as the name, developer, blueprints, pricing, and contact information. These banners enhance the project’s image, maintain its credibility, and conceal unsightly construction areas. Additionally, they help prevent dust and debris from spreading, ensuring a clean and professional appearance for the site.\u003c\/p\u003e\n\u003cp\u003eHoarding Vinyl Banner is often \u003cstrong\u003einstalled on the fence or partition wall of the construction project\u003c\/strong\u003e to show the image and details of the project such as the project name, developer, blueprints, starting price and contact information. It also helps to hide the view of the construction that may not look neat, to maintain the image and credibility of the project. It also helps to prevent dust and construction debris that may spread outside.\u003c\/p\u003e\n\u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"how-to-icon\"\u003e\u003c\/div\u003e\n\u003ch5\u003eMaterial Properties of Hoarding Vinyl Banner\u003c\/h5\u003e\n\u003cp\u003eHoarding Vinyl Banner is made from special PVC sheets with a thickness of 400-510 g\/m², making it strong, durable against weather conditions and UV rays, and can be used outdoors for many years.\u003c\/p\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003eMaterial thickness: 400-510 g\/m²\u003c\/li\u003e\n\u003cli\u003eRoll size: Width 1.5-5 meters, Length 50 meters\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"idea-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eHoarding Vinyl Banner Production Technique\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe production of Hoarding Vinyl Banners utilizes an inkjet printing system with Solvent or UV ink to deliver high-resolution images, vibrant colors, sharp details, and durability for outdoor use. Post-printing, the banners are assembled through hot-sealing welding, eyelet punching, and pipe threading, ensuring secure attachment to project fences or wall structures.\u003c\/p\u003e\n\u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\u003ch5\u003eBenefits of Hoarding Vinyl Banner\u003c\/h5\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003eCommunicate project information clearly with striking and eye-catching advertising images and text.\u003c\/li\u003e\n\u003cli\u003eCreate awareness and a good image for the project, attracting attention from the target customer group.\u003c\/li\u003e\n\u003cli\u003eConceal unfinished construction areas, helping to preserve the surrounding landscape.\u003c\/li\u003e\n\u003cli\u003ePrevent dust and debris from spreading outside the construction area.\u003c\/li\u003e\n\u003cli\u003eEasy to install and dismantle, easy to move, suitable for temporary work.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cp\u003eHoarding Vinyl Banner is an advertising material that plays an important role for housing projects or construction projects. With its outstanding features, value and efficiency in marketing communication, it helps promote the image and create business opportunities for organizations or entrepreneurs very well. It is another marketing tool that should not be overlooked for creating awareness and credibility for the brand or project.\u003c\/p\u003e\n\u003ch4 class=\"prod_h4\"\u003eInterested in making Hoarding, vinyl signs to cover the front of a housing project, making advertising signs, making stickers, marketing media, check the price now, \u003cb\u003econtact Line @octopusdesign\u003c\/b\u003e for answers or call \u003ca href=\"tel:081-776-8329\"\u003e081-776-8329.\u003c\/a\u003e\u003c\/h4\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":44186047021278,"sku":"","price":180.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/image_a9d87da9-0050-41de-b7cf-99a1dd92019e-997712.jpg?v=1712222498"},{"product_id":"stand-vinyl","title":"Vinyl Banner with Steel Frame","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003ch2 class=\"prod_h4\"\u003eMaking vinyl signs Vinyl stand signs Steel base stand, steel frame\u003c\/h2\u003e\n\u003cp\u003eWe create durable \u003cstrong\u003evinyl stand signs\u003c\/strong\u003e with strong steel frames, perfect for storefronts, promotional labels, and floor-standing menus.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003evinyl stand sign\u003c\/b\u003e The steel stand is heavy. Doesn't take up much space\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eVinyl standing sign\u003c\/b\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eIt's cheap and can hold a lot of information and pictures. You can change the media often, helping to save money.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003evinyl banner stand\u003c\/b\u003e can be used outside the building and set outdoors, durable and confident\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"group\/conversation-turn relative flex w-full min-w-0 flex-col agent-turn\"\u003e\n\u003cdiv class=\"flex-col gap-1 md:gap-3\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col flex-grow\"\u003e\n\u003cdiv data-message-model-slug=\"gpt-4o\" class=\"min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+\u0026amp;]:mt-5\" dir=\"auto\" data-message-id=\"d7f9b1af-92a8-4140-bd23-fcaca8cafe72\" data-message-author-role=\"assistant\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"\u003e\n\u003cdiv class=\"markdown prose w-full break-words dark:prose-invert light\"\u003e\n\u003ch2\u003e\u003cstrong\u003ePopular Sizes\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e70 x 150 cm\u003c\/li\u003e\n\u003cli\u003e80 x 120 cm\u003c\/li\u003e\n\u003cli\u003e85 x 200 cm\u003c\/li\u003e\n\u003cli\u003e160 x 180 cm\u003c\/li\u003e\n\u003cli\u003e170 x 190 cm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"divline\"\u003e\n\u003ch2\u003e\u003cstrong\u003eAdvantages\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSpace-Saving Design\u003c\/strong\u003e: Heavy steel base ensures stability without occupying much space.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCost-Effective\u003c\/strong\u003e: Affordable and allows frequent media changes for ongoing savings.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eOutdoor Use\u003c\/strong\u003e: Durable construction for both indoor and outdoor settings.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\n\u003ch2\u003e\u003cstrong\u003eWe produce signs, stickers, logos, promotional materials, product labels, display shelves, and booth equipment, with quick production, fast delivery, and reliable quality.\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWe are a sign making shop that provides professional advice.\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eReceive customer needs Evaluate the suitability of material grades The objectives for use in every case are detailed. To ensure that you will receive work that is right for your purpose, worthwhile, worth the price, without worrying that it will be Under\/Over Spec.\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eSign materials cover all types of use.\u003c\/b\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eMake signs, make stickers, logos, print marketing promotional materials, product labels, display shelves or booth equipment. We have a complete service, quick production, fast delivery, trustworthy.\u003c\/p\u003e\n\u003cp\u003eMake advertising signs with quality materials selected to suit every project, whether it be\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003evinyl signs\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003eSticker sheet\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003eFuture board sign\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003ePlaswood sign\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003eacrylic signs\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003eplastic sign\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003epaper flyers brochures\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eGood quality materials are available for both use and use.\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cspan class=\"rainbowBG\"\u003e\u003cb\u003echeap label\u003c\/b\u003e\u003c\/span\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eSuitable for both short-term use, organizing campaigns, making promotional signs or\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cspan class=\"rainbowBG\"\u003e\u003cb\u003eHigh quality premium label\u003c\/b\u003e\u003c\/span\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eTo ensure that it can be used for a long time or is suitable for the brand image.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePrint labels with high quality inkjet printers.\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eColors according to CI, very beautiful, durable in the sun, not easy to fade. Accepts genuine, high quality Inkjet UV, HP Latex and Solvent printing from Epson. You can be extremely confident.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eNationwide sign delivery service\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eand\u003cspan\u003e\u0026nbsp;\u003c\/span\u003e\u003cstrong\u003eProviding service for installing advertising signs throughout Bangkok and surrounding areas.\u003c\/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c\/span\u003eWith a professional team Direct experience in all aspects of the job site Both horizontal and vertical work, all types of commercial work, both inside and outside of business hours.\u003c\/p\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":44229690523870,"sku":"","price":3550.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/image_c6474516-45dc-4842-9791-1af761571357-326567.jpg?v=1703732618"},{"product_id":"dye-sub-fabric-banner","title":"fabric banners, fabric flags","description":"\u003csection class=\"desc_container\"\u003e\u003cstyle\u003e.product-description*{white-space:normal!important}\nimg[src*=\"oc-icon\"]{width:18px!important;height:18px!important;max-width:18px!important;display:inline-block!important;vertical-align:middle;flex-shrink:0}\n\n.fab{color:var(--oc-ink-70);line-height:1.7;max-width:900px;margin:0 auto;padding:0 4px}\n.fab-badge{display:inline-flex;align-items:center;gap:5px;background:var(--oc-grad-ci);color:#fff;font-size:0.82em;font-weight:700;padding:4px 12px;border-radius:999px;margin-bottom:12px}.fab h2 {font-weight:800;color:var(--oc-ink);margin:0 0 5px;line-height:1.25;}\n.fab-tag{font-size:0.88em;color:var(--oc-cyan);font-weight:600;margin-bottom:14px}\n\n.fab-sh::before{content:'';display:block;width:3px;height:1.1em;background:var(--oc-grad-ci);border-radius:2px}\n.fab-prose{font-size:0.96em;color:var(--oc-ink-70);line-height:1.78;margin:0 0 12px}\n.fab-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 12px}\n\n.fab-stat.pu{border-top-color:#818CF8}\n.fab-stat-n{font-size:0.96em;font-weight:900;color:var(--oc-cyan);display:block;line-height:1.1;margin-bottom:3px}\n.fab-stat.pu .fab-stat-n{color:#818CF8}\n.fab-stat-l{font-size:0.88em;color:var(--oc-ink-40);display:block;line-height:1.3}\n\n.fab-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 20px}\n.fab-feat{background:#fff;border:1px solid var(--oc-ink-15);border-radius:var(--oc-radius);padding:12px 10px;box-shadow:0 1px 6px rgba(60,70,90,.06)}\n.fab-feat-n{font-size:0.88em;font-weight:900;color:rgba(23,169,187,.2);display:block;margin-bottom:4px}\n.fab-feat img{margin-bottom:5px;opacity:.85}\n.fab-feat strong{display:block;font-size:0.88em;font-weight:700;color:var(--oc-ink);margin-bottom:3px}\n.fab-feat p{font-size:0.96em;color:var(--oc-ink-40);margin:0;line-height:1.5}\n.fab-tbl{width:100%;border-collapse:collapse;margin-bottom:20px;border-radius:var(--oc-radius);overflow:hidden;box-shadow:0 1px 6px rgba(60,70,90,.06)}\n.fab-tbl thead th{background:#f3f4f6!important;color:#1a202c!important;font-weight:700!important;font-size:0.88em!important;padding:9px 12px;text-align:left;border-bottom:2px solid #818CF8;}\n.fab-tbl tbody tr:nth-child(even){background:#FAFBFF}\n.fab-tbl td,.fab-tbl tbody th{font-size:0.88em!important;font-weight:400!important;color:var(--oc-ink-70);padding:8px 12px;border-bottom:1px solid var(--oc-ink-15)}\n.fab-tbl tbody th{font-weight:600!important;background:#fff!important;white-space:nowrap!important}\n\n.fab-btns{display:flex;gap:7px;flex-wrap:wrap}\n.fab-btn2{display:inline-block;padding:9px 18px;border-radius:999px;border:1.5px solid var(--oc-cyan);color:var(--oc-cyan)!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap!important}\n\n.fab-faq-q{padding:12px 14px;font-size:0.96em;font-weight:600;color:var(--oc-ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}\n.fab-faq-q::after{content:'+';font-size:1.1em;color:var(--oc-cyan);flex-shrink:0;transition:transform .25s}\n.fab-faq-q.open::after{transform:rotate(45deg)}\n.fab-faq-a{display:none;padding:0 14px 12px;font-size:0.88em;color:var(--oc-ink-70);line-height:1.7;border-top:1px solid var(--oc-ink-15)}\n@media(max-width:989px){.fab-stats{grid-template-columns:1fr 1fr}.fab-feats{grid-template-columns:1fr 1fr}}\n@media(prefers-reduced-motion:reduce){*{transition:none!important}}\n\n.oc-faq{display:flex;flex-direction:column;gap:8px}\n.oc-faq-i{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:border-color .2s,box-shadow .2s}\n.oc-faq-i.open{border-color:rgba(20,201,223,.4);box-shadow:0 3px 16px rgba(20,201,223,.12)}\n.oc-faq-btn{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;font-size:0.88em;font-weight:600;color:#374151}\n.oc-faq-num{width:24px;height:24px;border-radius:50%;flex-shrink:0;font-size:0.82em;font-weight:800;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;transition:background .25s,color .25s}\n.oc-faq-i.open .oc-faq-num{background:linear-gradient(135deg,#14c9df,#17a9bb);color:#fff}\n.oc-faq-chev{width:16px;height:16px;flex-shrink:0;margin-left:auto;fill:none;stroke:#6b7280;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s,stroke .2s}\n.oc-faq-i.open .oc-faq-chev{transform:rotate(180deg);stroke:#17a9bb}\n.oc-faq-body{max-height:0;overflow:hidden;transition:max-height .32s ease}\n.oc-faq-body.open{max-height:500px}\n.oc-faq-ans{padding:2px 14px 14px 48px;font-size:0.96em;color:#6b7280;line-height:1.8}\u003c\/style\u003e\n\u003cdiv class=\"fab\"\u003e\n\n  \u003cdiv class=\"fab-badge\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-layers.svg\" alt=\"\"\u003eFabric Banner, Fabric Flag\u003c\/div\u003e\n\n  \u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eDye Sub Fabric Banners \u0026amp; Flags — Lightweight, Foldable, Non-Reflective, More Vibrant Colors Than Vinyl\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cp class=\"fab-tag\"\u003eFabric Banner · Fabric Flag · Polyester 260 gsm · Dye Sublimation · Events, Booths, Start\/Finish Lines\u003c\/p\u003e\n\n\n  \u003cdiv class=\"fab-stat oc-stats\"\u003e\n\n    \u003cdiv class=\"fab-stat oc-stat\"\u003e\n\n\u003cspan class=\"fab-stat oc-stat-n\"\u003e260\u003c\/span\u003e\u003cspan class=\"fab-stat oc-stat-l\"\u003egsm\u003cbr\u003ePolyester\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"fab-stat oc-stat pu\"\u003e\n\n\u003cspan class=\"fab-stat oc-stat-n\"\u003eDye Sub\u003c\/span\u003e\u003cspan class=\"fab-stat oc-stat-l\"\u003eColor penetrates fabric\u003cbr\u003eColor won't peel\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"fab-stat oc-stat\"\u003e\n\n\u003cspan class=\"fab-stat oc-stat-n\"\u003eNon-reflective\u003c\/span\u003e\u003cspan class=\"fab-stat oc-stat-l\"\u003eCamera flash\u003cbr\u003eGreat photos\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"fab-stat oc-stat\"\u003e\n\n\u003cspan class=\"fab-stat oc-stat-n\"\u003eLightweight\u003c\/span\u003e\u003cspan class=\"fab-stat oc-stat-l\"\u003eFoldable\u003cbr\u003eEasy to transport\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"fab-bq oc-bq\"\u003e\"Colors permeate the fabric with heat, not just printed on the surface — colors won't peel or crack even after washing or repeated folding.\"\u003c\/div\u003e\n\n\n  \u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"how-to-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003e4 Key Advantages Over Vinyl\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cdiv class=\"fab-feats\"\u003e\n\n    \u003cdiv class=\"fab-feat\"\u003e\n\n\u003cspan class=\"fab-feat-n\"\u003e01\u003c\/span\u003e\u003cstrong\u003eNon-reflective to flash\u003c\/strong\u003e\u003cp\u003eLooks great in photos, suitable for award ceremony backdrops and photocalls.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"fab-feat\"\u003e\n\n\u003cspan class=\"fab-feat-n\"\u003e02\u003c\/span\u003e\u003cstrong\u003eLightweight and foldable\u003c\/strong\u003e\u003cp\u003eMuch lighter than vinyl, can be folded and carried in a bag, suitable for mobile events.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"fab-feat\"\u003e\n\n\u003cspan class=\"fab-feat-n\"\u003e03\u003c\/span\u003e\u003cstrong\u003eVibrant colors on both sides\u003c\/strong\u003e\u003cp\u003eDye-sub printing penetrates the fabric, showing colors on both sides, suitable for waving flags and hanging banners.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"fab-feat\"\u003e\n\n\u003cspan class=\"fab-feat-n\"\u003e04\u003c\/span\u003e\u003cstrong\u003eBetter wind resistance\u003c\/strong\u003e\u003cp\u003eThe partially sheer fabric reduces wind impact, so the banner sways less than rigid vinyl.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003ctable class=\"fab-tbl\"\u003e\n\n    \u003cthead\u003e\u003ctr\u003e\n\n\u003cth\u003eItem\u003c\/th\u003e\n\n\u003cth\u003eDetails\u003c\/th\u003e\n\n\u003cth\u003eNote\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\u003c\/thead\u003e\n\n    \u003ctbody\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eMaterial\u003c\/th\u003e\n\n\u003ctd\u003ePolyester 260 gsm\u003c\/td\u003e\n\n\u003ctd\u003eDurable, washable\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003ePrinting\u003c\/th\u003e\n\n\u003ctd\u003eDye Sublimation Heat Transfer\u003c\/td\u003e\n\n\u003ctd\u003eColors penetrate fabric\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eSize\u003c\/th\u003e\n\n\u003ctd\u003eCustom any size\u003c\/td\u003e\n\n\u003ctd\u003eEdges can be sewn\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eEdges\u003c\/th\u003e\n\n\u003ctd\u003eSEG \/ Pocket \/ Hemmed with loops\u003c\/td\u003e\n\n\u003ctd\u003eSpecify when ordering\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eLead Time\u003c\/th\u003e\n\n\u003ctd\u003e3–7 days\u003c\/td\u003e\n\n\u003ctd\u003eDepends on size and quantity\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n    \u003c\/tbody\u003e\n\n  \u003c\/table\u003e\n\n\n  \u003cdiv class=\"fab-cta oc-cta\"\u003e\n\n    \u003cdiv\u003e\n\n\u003cstrong\u003eOrder Fabric Banners \u0026amp; Flags\u003c\/strong\u003e\u003cp\u003eProvide size, edge style, and artwork to get an instant quote.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"fab-btns\"\u003e\n\n      \u003ca href=\"https:\/\/lin.ee\/uDrVbvY\" style=\"display:inline-block;padding:9px 18px;border-radius:999px;background:linear-gradient(90deg,#14c9df,#17a9bb,#818CF8,#A78BFA);background-size:200% 100%;color:#fff!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap\"\u003eOrder via LINE\u003c\/a\u003e\n      \u003ca href=\"#\" class=\"fab-btn2\"\u003eView samples\u003c\/a\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"news-active-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eFAQ\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cdiv class=\"oc-faq\"\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e1\u003c\/span\u003e\u003cspan\u003eWhat is the difference between Dye Sub and Inkjet on fabric?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eDye Sub uses heat to infuse color into the fabric, so the color won't peel even after washing or repeated folding. Inkjet prints on the surface of the fabric, and the color may fade or peel over time. For quality fabric work, Dye Sub is recommended in all cases.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e2\u003c\/span\u003e\u003cspan\u003eCan it replace vinyl backdrops?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eIt's even better, as it doesn't reflect flash, and photos are more vibrant and sharp. It's suitable for award ceremonies, press conferences, and photocalls.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e3\u003c\/span\u003e\u003cspan\u003eWhat is the MOQ?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eNo minimum order quantity. You can order from 1 piece.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Dye Sub กับ Inkjet ผ้าต่างกัน?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Dye Sub ซึมเข้าเนื้อผ้าไม่ลอก Inkjet พิมพ์บนผิวอาจซีด\"}},{\"@type\":\"Question\",\"name\":\"แทน Backdrop ไวนิลได้ไหม?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ได้ดีกว่า ไม่สะท้อนแฟลช รูปสวยกว่า\"}},{\"@type\":\"Question\",\"name\":\"MOQ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ไม่มีขั้นต่ำ 1 ชิ้น\"}}]}\u003c\/script\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e(function(){document.querySelectorAll('#fab-faq .fab-faq-q').forEach(function(q){q.addEventListener('click',function(){var o=this.classList.contains('open');document.querySelectorAll('#fab-faq .fab-faq-q').forEach(function(x){x.classList.remove('open');x.nextElementSibling.style.display='none'});if(!o){this.classList.add('open');this.nextElementSibling.style.display='block'}})})})();\u003c\/script\u003e\n\u003cscript\u003e(function(){document.querySelectorAll('.oc-faq-btn').forEach(function(btn){btn.addEventListener('click',function(){var item=btn.closest('.oc-faq-i'),faq=btn.closest('.oc-faq'),isOpen=item.classList.contains('open');faq.querySelectorAll('.oc-faq-i').forEach(function(i){i.classList.remove('open');i.querySelector('.oc-faq-body').classList.remove('open');});if(!isOpen){item.classList.add('open');item.querySelector('.oc-faq-body').classList.add('open');}});});})()\u003c\/script\u003e\u003c\/section\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":44231177404638,"sku":"","price":2100.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/image_9bbc0e2f-8edd-4ad5-8227-fd80a7795313.jpg?v=1776574987"},{"product_id":"vinyl-selling-house","title":"Vinyl banners for selling houses","description":"\u003ch2 class=\"prod_h2\"\u003eVinyl banners for selling houses, land, and renting properties. Affordable vinyl banners for house for sale, house for rent, and property sale announcements. Single-sided and double-sided vinyl printing available. Vinyl with pipe sleeves, edge folding, eyelets. Budget-friendly temporary grade vinyl banners for advertising, promotions, and real estate.\u003c\/h2\u003e\n\u003cp\u003eWe produce vinyl banners for house sales, land sales, house rentals, property advertising, and house for rent banners. We also offer vinyl banners for electric poles, inkjet vinyl banners, and future board signs. Available in various grades suitable for actual usage—3 months, 6 months, or 1–2 years. Cost-efficient with no unnecessary expenses for short-term use.\u003c\/p\u003e\n\u003ch2 class=\"prod_h4\"\u003ePopular Sizes for Real Estate Vinyl Banners\u003c\/h2\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eHouse for sale vinyl banner\u003c\/b\u003e: 30x60 cm.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003ePole vinyl banner\u003c\/b\u003e: 30x50 cm.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eLand for sale vinyl banner\u003c\/b\u003e: 40x70 cm.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eHouse for rent vinyl banner\u003c\/b\u003e: 60x120 cm.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eProperty for sale vinyl banner\u003c\/b\u003e: 120x240 cm.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eCommercial building for sale vinyl banner\u003c\/b\u003e: 100x100 cm.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003ePopular materials include future board and vinyl banners, with prices starting from 200 THB.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eWe also produce rental banners at affordable prices, perfect for advertising rental properties.\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003eVinyl banners for condo rentals\u003c\/li\u003e\n\u003cli\u003eVinyl banners for condos for rent\u003c\/li\u003e\n\u003cli\u003eVinyl advertising banners for condo rentals\u003c\/li\u003e\n\u003cli\u003eVinyl banners announcing condos for rent\u003c\/li\u003e\n\u003cli\u003eVinyl banners for leasing condos\u003c\/li\u003e\n\u003cli\u003eVinyl banners for renting condominium units\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 class=\"prod_h4\"\u003eTrust us for advertising banners and promotional signage because we care about every process\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWe are a professional sign-making shop\u003c\/strong\u003e, providing tailored solutions based on customer needs. We assess material grades and usage objectives for every project to ensure cost-effectiveness, suitability, and value for money without concerns about over- or under-specification.\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eSign-making materials cover all types of applications.\u003c\/b\u003e We produce banners, stickers, logos, promotional materials, product labels, shelf displays, and booth equipment. Our services are comprehensive, fast, and reliable.\u003c\/p\u003e\n\u003cp\u003eWe use high-quality materials tailored to every project, including \u003cstrong\u003evinyl banners\u003c\/strong\u003e, \u003cstrong\u003esticker sheets\u003c\/strong\u003e, \u003cstrong\u003efuture board signs\u003c\/strong\u003e, \u003cstrong\u003eplaswood signs\u003c\/strong\u003e, \u003cstrong\u003eacrylic signs\u003c\/strong\u003e, \u003cstrong\u003eplastic signs\u003c\/strong\u003e, and \u003cstrong\u003eflyers\u003c\/strong\u003e. Options range from \u003cspan class=\"rainbowBG\"\u003e\u003cb\u003ebudget-friendly signs\u003c\/b\u003e\u003c\/span\u003e, ideal for short-term campaigns and promotions, to \u003cspan class=\"rainbowBG\"\u003e\u003cb\u003ehigh-quality premium signs\u003c\/b\u003e\u003c\/span\u003e for long-term use and brand image enhancement.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWe use high-quality inkjet printers\u003c\/strong\u003e, delivering colors that match CI standards perfectly. Our printing is resistant to sunlight and fading, utilizing authentic UV, HP Latex, and Epson Solvent systems for outstanding results.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eNationwide delivery service\u003c\/strong\u003e and \u003cstrong\u003einstallation services across Bangkok and nearby areas\u003c\/strong\u003e are available with a professional team experienced in all job types, including horizontal and vertical installations, for commercial projects both during and outside business hours.\u003c\/p\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"writen-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2 class=\"prod_h4\"\u003eInterested in vinyl banners for house sales, land sales, house rentals, or property announcements? \u003cb\u003eMessage LINE @octopusdesign\u003c\/b\u003e for more information or call 081-776-8329.\u003c\/h2\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":46131845726430,"sku":"","price":500.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/70F882DB-60E8-4F7D-AC2A-DE38E2182996-542001_472b4681-1bbf-42fb-8640-665a14461f40-793957.jpg?v=1733638304"},{"product_id":"vinyl-english","title":"Vinyl Banner English","description":"\u003cstyle\u003e\n  .vn {\n    --c: #22D3C8;\n    --c-ll: #ECFEFF;\n    --i: #818CF8;\n    --i-l: #EEF2FF;\n    --l: #A78BFA;\n    --l-d: #7C3AED;\n    --l-l: #F3F0FF;\n    --grad: linear-gradient(135deg, #22D3C8, #818CF8, #A78BFA);\n    --octo-bg:\n      radial-gradient(ellipse 70% 55% at 15% 20%, rgba(167,210,255,0.5) 0%, transparent 65%),\n      radial-gradient(ellipse 60% 50% at 85% 75%, rgba(196,167,255,0.4) 0%, transparent 65%),\n      radial-gradient(ellipse 50% 45% at 65% 15%, rgba(23,207,204,0.1) 0%, transparent 60%),\n      radial-gradient(ellipse 80% 60% at 50% 50%, rgba(207,240,255,0.3) 0%, transparent 70%),\n      linear-gradient(145deg, #e8f4ff 0%, #f3eeff 40%, #e5fbfa 70%, #ede8ff 100%);\n    --cyan-v: #17CFC4;\n    --cyan-dk: #0F8F98;\n    --cyan-mid: #CFF0FF;\n    --white: #ffffff;\n    --surface: #F8FAFD;\n    --text: #1A202C;\n    --text-2: #374151;\n    --muted: #6B7280;\n    --muted-lt: #9CA3AF;\n    --border: #E5E7EB;\n    --border-lt: #EEF2F7;\n    --ink: #1A202C;\n    --ink-70: #374151;\n    --ink-40: #6B7280;\n    --ink-15: #E5E7EB;\n    --r-lg: 20px;\n    --shadow-tbl: 0 2px 16px rgba(100,100,160,.08);\n    --radius: 14px;\n    --transition: all 0.22s cubic-bezier(0.4,0,0.2,1);\n    --row-even: #FAFBFF;\n    --disabled: #cccccc;\n\n    color: var(--text);\n    background: var(--white);\n    -webkit-font-smoothing: antialiased;\n  }\n\n  .vn *,\n  .vn *::before,\n  .vn *::after {\n    box-sizing: border-box;\n  }\n\n  .vn img {\n    max-width: 100%;\n    height: auto;\n  }\n\n  .product__info-container .vn,\n  .product__info-container .vn .page-width,\n  .product__info-container .vn .desc_container {\n    width: 100%;\n    max-width: 100%;\n  }\n\n  .product__info-container .vn .page-width {\n    margin-left: 0;\n    margin-right: 0;\n    padding-left: 0 !important;\n    padding-right: 0 !important;\n  }\n\n  @keyframes vn-rb {\n    0% { background-position: 0% }\n    100% { background-position: 300% }\n  }\n\n  .vn-glow {\n    background: linear-gradient(90deg, #22D3C8 0%, #22d3ee 22%, #818CF8 58%, #A78BFA 78%, #22D3C8 100%);\n    background-size: 280% auto;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n    background-clip: text;\n    animation: vn-rb 6s ease-in-out infinite alternate;\n    font-weight: 900;\n    letter-spacing: -0.5px;\n  }\n\n  .vn-heading {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 12px;\n    margin-bottom: 32px;\n  }\n\n  .vn-heading-bar {\n    width: 3px;\n    height: 26px;\n    border-radius: 99px;\n    background: var(--grad);\n    flex-shrink: 0;\n    opacity: 0.9;\n  }\n\n  .vn-heading h2 {\n    font-size: 1.65em;\n    font-weight: 700;\n    margin: 0;\n    color: var(--text);\n    letter-spacing: -0.3px;\n  }\n\n  .vn-heading h2 em {\n    font-style: normal;\n    color: var(--i);\n  }\n\n  .vn-intro {\n    background: var(--octo-bg);\n    position: relative;\n    text-align: center;\n    padding: 56px 24px 60px;\n    border-bottom: 1px solid var(--border);\n    overflow: hidden;\n  }\n\n  .vn-intro::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background-image: radial-gradient(circle, rgba(23,169,187,0.12) 1px, transparent 1px);\n    background-size: 32px 32px;\n    pointer-events: none;\n  }\n\n  .vn-intro-inner {\n    max-width: 760px;\n    margin: 0 auto;\n    position: relative;\n  }\n\n  .vn-intro p {\n    font-size: 1em;\n    color: var(--text-2);\n    line-height: 1.9;\n    max-width: 660px;\n    margin: 0 auto 8px;\n  }\n\n  .vn-intro p strong {\n    color: var(--text);\n    font-weight: 600;\n  }\n\n  .vn-cta {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 24px;\n    padding: 13px 30px;\n    background: var(--grad);\n    color: white !important;\n    font-size: 0.95em;\n    font-weight: 700;\n    border-radius: 999px;\n    text-decoration: none;\n    letter-spacing: 0.01em;\n    box-shadow: 0 10px 24px rgba(129,140,248,.24);\n    transition: var(--transition);\n  }\n\n  .vn-cta:hover {\n    transform: translateY(-1px);\n    box-shadow: 0 14px 28px rgba(129,140,248,.28);\n    opacity: .98;\n  }\n\n  .vn-promo-section {\n    background: #ffffff;\n  }\n\n  .vn-promo {\n    display: flex;\n    align-items: stretch;\n    max-width: 1200px;\n    margin: 20px auto;\n  }\n\n  .vn-promo-img {\n    width: 38%;\n    flex-shrink: 0;\n    overflow: hidden;\n    background: #dceef7;\n    position: relative;\n    cursor: zoom-in;\n  }\n\n  .vn-promo-img::after {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(90deg, transparent 70%, rgba(232,244,255,.45) 100%);\n    pointer-events: none;\n  }\n\n  .vn-promo-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    min-height: 240px;\n    transition: transform .5s ease;\n  }\n\n  .vn-promo-img:hover img {\n    transform: scale(1.03);\n  }\n\n  .vn-promo-body {\n    flex: 1;\n    padding: 44px 52px;\n    text-align: left;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    gap: 4px;\n  }\n\n  .vn-promo-body h3 {\n    font-size: 2.15em;\n    font-weight: 900;\n    margin: 0 0 14px;\n    line-height: 1.2;\n    letter-spacing: -0.6px;\n  }\n\n  .vn-promo-sub {\n    font-size: 1.05em;\n    font-weight: 600;\n    color: var(--text);\n    margin-bottom: 10px;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .vn-promo-sub::before {\n    content: '';\n    display: inline-block;\n    width: 20px;\n    height: 2px;\n    background: var(--i);\n    border-radius: 99px;\n    flex-shrink: 0;\n  }\n\n  .vn-promo-body p {\n    font-size: 0.97em;\n    color: var(--muted);\n    line-height: 1.8;\n    margin: 0;\n    max-width: 480px;\n  }\n\n  .vn-section {\n    padding: 52px 0;\n    border-bottom: 1px solid var(--border-lt);\n  }\n\n  .vn-section:last-child {\n    border-bottom: none;\n  }\n\n  .vn-table-card {\n    background: var(--white);\n    border-radius: var(--r-lg);\n    border: 1px solid rgba(129,140,248,.14);\n    box-shadow: var(--shadow-tbl);\n    overflow: hidden;\n  }\n\n  .vn-instr {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 10px 18px;\n    background: var(--i-l);\n    border-bottom: 1px solid rgba(129,140,248,.16);\n    font-size: 12px;\n    color: var(--l-d);\n    font-weight: 500;\n  }\n\n  .vn-instr-dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--i);\n    flex-shrink: 0;\n  }\n\n  .vn-tbl-wrap {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    scrollbar-width: thin;\n    scrollbar-color: rgba(129,140,248,.28) transparent;\n  }\n\n  .vn-tbl-wrap::-webkit-scrollbar {\n    height: 4px;\n  }\n\n  .vn-tbl-wrap::-webkit-scrollbar-track {\n    background: transparent;\n  }\n\n  .vn-tbl-wrap::-webkit-scrollbar-thumb {\n    background: rgba(129,140,248,.28);\n    border-radius: 99px;\n  }\n\n  .vn-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 12px;\n    table-layout: auto;\n    min-width: 540px;\n  }\n\n  .vn-table thead tr {\n    position: relative;\n  }\n\n  .vn-table thead th {\n    background: var(--white);\n    padding: 12px 8px 10px;\n    font-size: 10.5px;\n    font-weight: 700;\n    color: var(--ink-40);\n    text-align: center;\n    white-space: normal;\n    word-break: keep-all;\n    line-height: 1.35;\n    border-bottom: 1.5px solid var(--ink-15);\n    letter-spacing: 0.01em;\n    vertical-align: bottom;\n  }\n\n  .vn-table thead th:first-child {\n    text-align: left;\n    padding-left: 14px;\n    position: sticky;\n    left: 0;\n    z-index: 30;\n    background: var(--white);\n    font-size: 10.5px;\n    min-width: 120px;\n    max-width: 140px;\n  }\n\n  .vn-table thead tr::after {\n    content: '';\n    display: block;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    height: 2px;\n    background: linear-gradient(90deg,#22D3C8 0%,#818CF8 58%,#A78BFA 100%);\n    background-size: 300%;\n    animation: vn-rb 5s linear infinite;\n  }\n\n  .vn-table tbody tr {\n    border-bottom: 1px solid var(--ink-15);\n    cursor: pointer;\n    transition: background .12s;\n  }\n\n  .vn-table tbody tr:last-child {\n    border-bottom: none;\n  }\n\n  .vn-table tbody tr:nth-child(even) td {\n    background: var(--row-even);\n  }\n\n  .vn-table tbody tr:nth-child(even) td:first-child {\n    background: var(--row-even);\n  }\n\n  .vn-table tbody tr:hover td {\n    background: var(--i-l) !important;\n  }\n\n  .vn-table tbody tr:hover td:first-child {\n    background: var(--i-l) !important;\n    color: var(--l-d) !important;\n  }\n\n  .vn-table td {\n    padding: 10px 8px;\n    text-align: center;\n    color: var(--ink-70);\n    transition: background .12s;\n    white-space: nowrap;\n    vertical-align: middle;\n  }\n\n  .vn-table td:first-child {\n    position: sticky;\n    left: 0;\n    z-index: 5;\n    background: var(--white);\n    font-weight: 700;\n    color: var(--ink);\n    font-size: 11.5px;\n    text-align: left;\n    padding-left: 14px;\n    border-right: 1px solid rgba(129,140,248,.18);\n    white-space: normal;\n    word-break: keep-all;\n    line-height: 1.45;\n  }\n\n  @media (min-width: 769px) {\n    .vn-tbl-wrap { overflow-x: visible; }\n    .vn-table {\n      table-layout: fixed;\n      min-width: 0;\n      font-size: 12.5px;\n    }\n    .vn-table thead th:first-child {\n      width: 22%;\n      min-width: 0;\n      max-width: none;\n      font-size: 11.5px;\n    }\n    .vn-table thead th:not(:first-child) {\n      width: calc(78% \/ 6);\n    }\n    .vn-table thead th { font-size: 11px; padding: 14px 8px 12px; }\n    .vn-table td { padding: 11px 10px; white-space: nowrap; }\n    .vn-table td:first-child { font-size: 12px; }\n  }\n\n  .vn-table thead th.col-hi {\n    background: var(--i-l) !important;\n    color: var(--l-d);\n  }\n\n  .vn-table td.col-hi {\n    background: rgba(238,242,255,.55) !important;\n  }\n\n  .vn-table td.sel-cell {\n    background: var(--grad) !important;\n    background-size: 200% !important;\n    color: var(--white) !important;\n    font-weight: 700 !important;\n    border-radius: 8px;\n    animation: vn-rb 3s linear infinite;\n    box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35), 0 2px 10px rgba(129,140,248,.35);\n  }\n\n  .vn-table td.sel-cell span { color: var(--white) !important; }\n  .vn-table td.h1 { background-color: rgba(34,211,200,.04); }\n  .vn-table td.h2 { background-color: rgba(34,211,200,.09); }\n  .vn-table td.h3 { background-color: rgba(129,140,248,.07); }\n  .vn-table td.h4 { background-color: rgba(129,140,248,.13); }\n  .vn-table td.h5 { background-color: rgba(167,139,250,.10); }\n\n  .vn-table-note {\n    font-size: 0.82em;\n    color: var(--muted);\n    line-height: 1.8;\n    padding: 16px 2px 0;\n    max-width: 860px;\n    margin: 0 auto;\n  }\n\n  .vn-table-note p {\n    margin: 0 0 4px;\n    padding-left: 1em;\n    text-indent: -1em;\n  }\n\n  .vn-table-note p::before {\n    content: '* ';\n    color: var(--i);\n    font-weight: 600;\n  }\n\n  .vn-options-section {\n    padding: 48px 0 52px;\n    border-bottom: 1px solid var(--border-lt);\n  }\n\n  .vn-options-grid {\n    display: grid;\n    grid-template-columns: repeat(4,1fr);\n    gap: 16px;\n  }\n\n  .vn-option-card {\n    border: 1.5px solid var(--border);\n    border-radius: var(--radius);\n    overflow: hidden;\n    box-shadow: 0 1px 4px rgba(14,122,138,.06);\n    background: var(--white);\n    transition: var(--transition);\n    text-align: center;\n    cursor: pointer;\n  }\n\n  .vn-option-card:hover {\n    border-color: #818CF8;\n    box-shadow: 0 10px 28px rgba(129,140,248,0.18);\n    transform: translateY(-4px);\n  }\n\n  .vn-option-img {\n    aspect-ratio: 1;\n    background: var(--surface);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .vn-option-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .4s ease;\n  }\n\n  .vn-option-card:hover .vn-option-img img {\n    transform: scale(1.05);\n  }\n\n  .vn-free-badge {\n    position: absolute;\n    bottom: 10px;\n    right: 10px;\n    background: var(--grad);\n    color: white;\n    font-size: 0.82em;\n    font-weight: 700;\n    padding: 5px 13px;\n    border-radius: 99px;\n    letter-spacing: .03em;\n    box-shadow: 0 2px 8px rgba(129,140,248,.24);\n  }\n\n  .vn-paid-badge {\n    position: absolute;\n    bottom: 10px;\n    right: 10px;\n    background: linear-gradient(135deg, #F97316, #FB7185);\n    color: white;\n    font-size: 0.82em;\n    font-weight: 700;\n    padding: 5px 13px;\n    border-radius: 99px;\n    letter-spacing: .03em;\n    box-shadow: 0 2px 8px rgba(249,115,22,.24);\n  }\n\n  .vn-option-label {\n    padding: 14px 10px;\n    font-size: 0.95em;\n    font-weight: 600;\n    color: var(--text);\n    border-top: 1px solid var(--border-lt);\n  }\n\n  .vn-quality-section {\n    padding: 52px 0 56px;\n  }\n\n  .vn-quality {\n    display: grid;\n    grid-template-columns: 1fr 400px;\n    gap: 18px;\n    align-items: start;\n  }\n\n  .vn-quality-main-img {\n    border-radius: var(--radius);\n    overflow: hidden;\n    aspect-ratio: 4\/3;\n    background: var(--surface);\n    box-shadow: 0 2px 10px rgba(14,122,138,.08);\n    cursor: zoom-in;\n  }\n\n  .vn-quality-main-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .5s ease;\n  }\n\n  .vn-quality-main-img:hover img {\n    transform: scale(1.03);\n  }\n\n  .vn-quality-right {\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n  }\n\n  .vn-quality-sub-img {\n    border-radius: var(--radius);\n    overflow: hidden;\n    aspect-ratio: 4\/3;\n    background: var(--surface);\n    box-shadow: 0 1px 4px rgba(14,122,138,.06);\n    cursor: zoom-in;\n  }\n\n  .vn-quality-sub-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .4s ease;\n  }\n\n  .vn-quality-sub-img:hover img { transform: scale(1.04); }\n\n  .vn-lb {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 9999;\n    background: rgba(0,0,0,.82);\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    cursor: zoom-out;\n    backdrop-filter: blur(6px);\n  }\n\n  .vn-lb.open { display: flex; }\n\n  .vn-lb img {\n    max-width: 100%;\n    max-height: 90vh;\n    border-radius: 10px;\n    box-shadow: 0 8px 40px rgba(0,0,0,.5);\n    object-fit: contain;\n    cursor: default;\n  }\n\n  .vn-lb-close {\n    position: absolute;\n    top: 16px;\n    right: 20px;\n    background: none;\n    border: none;\n    color: var(--white);\n    font-size: 32px;\n    line-height: 1;\n    cursor: pointer;\n    opacity: .8;\n  }\n\n  .vn-lb-close:hover { opacity: 1; }\n\n  .vn-quality-text {\n    background: var(--white);\n    border: 1.5px solid var(--border);\n    border-radius: var(--radius);\n    padding: 24px;\n    box-shadow: 0 2px 10px rgba(14,122,138,.08);\n    transition: var(--transition);\n  }\n\n  .vn-quality-text:hover {\n    border-color: #818CF8;\n    box-shadow: 0 10px 28px rgba(129,140,248,0.18);\n    transform: translateY(-4px);\n  }\n\n  .vn-quality-text h3 {\n    font-size: 1.2em;\n    font-weight: 700;\n    color: var(--text);\n    margin: 0 0 10px;\n    letter-spacing: -0.2px;\n  }\n\n  .vn-quality-text p {\n    font-size: 0.95em;\n    color: var(--muted);\n    line-height: 1.8;\n    margin: 0 0 18px;\n  }\n\n  .vn-btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    padding: 11px 24px;\n    background: var(--grad);\n    color: white !important;\n    font-size: 0.95em;\n    font-weight: 700;\n    border-radius: 99px;\n    text-decoration: none;\n    box-shadow: 0 10px 24px rgba(129,140,248,.24);\n    transition: var(--transition);\n    letter-spacing: .01em;\n  }\n\n  .vn-btn:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 14px 28px rgba(129,140,248,.28);\n  }\n\n  .vn-faq-section {\n    padding: 52px 0 56px;\n    border-top: 1px solid var(--border-lt);\n  }\n\n  .vn-faq-label {\n    display: block;\n    text-align: center;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: .1em;\n    text-transform: uppercase;\n    background: linear-gradient(90deg, #22D3C8 0%, #818CF8 55%, #A78BFA 100%);\n    background-size: 300%;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n    background-clip: text;\n    animation: vn-rb 5s linear infinite;\n    margin-bottom: 10px;\n  }\n\n  .vn-faq-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0;\n    border-radius: var(--r-lg);\n    border: 1px solid rgba(129,140,248,.14);\n    overflow: hidden;\n    box-shadow: var(--shadow-tbl);\n    background: var(--white);\n    max-width: 860px;\n    margin: 0 auto;\n  }\n\n  .vn-faq-item {\n    border-bottom: 1px solid var(--ink-15);\n  }\n\n  .vn-faq-item:last-child {\n    border-bottom: none;\n  }\n\n  .vn-faq-q {\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    width: 100%;\n    padding: 18px 22px;\n    background: none;\n    border: none;\n    cursor: pointer;\n    text-align: left;\n    font-size: 14px;\n    font-weight: 600;\n    color: var(--ink);\n    line-height: 1.5;\n    transition: background .14s;\n    -webkit-tap-highlight-color: transparent;\n    font-family: inherit;\n  }\n\n  .vn-faq-q:hover {\n    background: var(--i-l);\n  }\n\n  .vn-faq-item.open .vn-faq-q {\n    background: var(--i-l);\n    color: var(--l-d);\n    border-bottom: 1px solid rgba(129,140,248,.16);\n  }\n\n  .vn-faq-num {\n    flex-shrink: 0;\n    width: 26px;\n    height: 26px;\n    border-radius: 50%;\n    background: linear-gradient(135deg, var(--c), var(--i));\n    color: var(--white);\n    font-size: 11px;\n    font-weight: 700;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    line-height: 1;\n    box-shadow: 0 2px 8px rgba(129,140,248,.25);\n    transition: transform .2s;\n  }\n\n  .vn-faq-item.open .vn-faq-num {\n    background: linear-gradient(135deg, var(--i), var(--l));\n    transform: scale(1.1);\n  }\n\n  .vn-faq-q-text {\n    flex: 1;\n  }\n\n  .vn-faq-chevron {\n    flex-shrink: 0;\n    width: 20px;\n    height: 20px;\n    color: var(--muted-lt);\n    transition: transform .25s cubic-bezier(.4,0,.2,1), color .15s;\n  }\n\n  .vn-faq-item.open .vn-faq-chevron {\n    transform: rotate(180deg);\n    color: var(--l-d);\n  }\n\n  .vn-faq-a {\n    max-height: 0;\n    overflow: hidden;\n    transition: max-height .32s cubic-bezier(.4,0,.2,1);\n  }\n\n  .vn-faq-item.open .vn-faq-a {\n    max-height: 600px;\n  }\n\n  .vn-faq-a-inner {\n    padding: 0 22px 20px 62px;\n    font-size: 13.5px;\n    color: var(--muted);\n    line-height: 1.85;\n  }\n\n  .vn-faq-a-inner strong {\n    color: var(--text);\n    font-weight: 600;\n  }\n\n  .vn-faq-a-inner a {\n    color: var(--i);\n    text-decoration: none;\n  }\n\n  .vn-faq-a-inner a:hover {\n    text-decoration: underline;\n  }\n\n  .vn-faq-a-inner ul {\n    margin: 10px 0 0 0;\n    padding-left: 18px;\n  }\n\n  .vn-faq-a-inner ul li {\n    margin-bottom: 5px;\n  }\n\n  @media (max-width: 900px) {\n    .vn-quality { grid-template-columns: 1fr; }\n    .vn-options-grid { grid-template-columns: 1fr 1fr; gap: 12px; }\n  }\n\n  @media (max-width: 680px) {\n    .vn-promo { flex-direction: column; }\n    .vn-promo-img { width: 100%; max-height: 220px; }\n    .vn-promo-body { padding: 28px 24px; }\n    .vn-promo-body h3 { font-size: 1.6em; }\n    .vn-heading h2 { font-size: 1.25em; }\n    .vn-section, .vn-options-section, .vn-quality-section { padding: 36px 0; }\n    .vn-faq-a-inner { padding-left: 22px; }\n    .vn-faq-q { font-size: 13px; padding: 16px 16px; }\n    .vn-faq-a-inner { padding: 0 16px 18px 16px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"vn\"\u003e\n\u003cdiv class=\"vn-intro\"\u003e\n\u003cdiv class=\"vn-intro-inner\"\u003e\n\u003ch2\u003eVinyl Banner Printing Service\u003cbr\u003e\u003cem\u003e\"Guaranteed Quality in Every Square Inch\"\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003cp\u003eWe provide \u003cstrong\u003eOutdoor Inkjet Vinyl Banner Printing\u003c\/strong\u003e in a wide range of grades, from \u003cstrong\u003eEconomy to Super Premium\u003c\/strong\u003e, using high-quality Latex \/ UV printing systems. Colours are vivid, sharp, weather-resistant, and printed at up to \u003cstrong\u003e1440 dpi\u003c\/strong\u003e, suitable for all types of advertising and outdoor signage.\u003c\/p\u003e\n\u003cp\u003eSupports \u003cstrong\u003eedge folding, pole pockets, and eyelets\u003c\/strong\u003e, and can be produced in any size, from event signage, exhibition booth graphics, storefront banners, project signs, up to \u003cstrong\u003elarge-scale billboard vinyl banners\u003c\/strong\u003e.\u003c\/p\u003e\n\u003ca href=\"https:\/\/www.octopus.co.th\/blogs\/how-to\/vinyl-banner-type\" class=\"vn-cta\" rel=\"noopener\" target=\"_blank\"\u003eWhat is a vinyl banner? Vinyl material specs →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-promo-section\"\u003e\n\u003cdiv class=\"vn-promo\"\u003e\n\u003cdiv aria-label=\"View large image\" role=\"button\" id=\"vnPromoImg\" class=\"vn-promo-img\" tabindex=\"0\"\u003e\u003cimg alt=\"Affordable inkjet vinyl banner printing\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/vinyl100-365088-130093.jpg?v=1754979353\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"vn-promo-body\"\u003e\n\u003ch3\u003e\u003cspan class=\"vn-glow\"\u003eBest Value Vinyl Banner Starting from 99 THB\/sq.m.\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp class=\"vn-promo-sub\"\u003eFor short-term advertising and promotion, 3–6 months\u003c\/p\u003e\n\u003cp\u003eIdeal for brands that need large-quantity production for publicity or temporary campaign use, with strong visual impact at a budget-friendly price.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"vn-section desc_container page-width\"\u003e\n\u003cdiv class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eInkjet Vinyl Banner Printing Price Table\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-table-card\"\u003e\n\u003cdiv class=\"vn-instr\"\u003e\n\u003cspan class=\"vn-instr-dot\"\u003e\u003c\/span\u003e Hover rows to highlight · Click a cell to view the selected price\u003c\/div\u003e\n\u003cdiv class=\"vn-tbl-wrap\"\u003e\n\u003ctable id=\"vinylPriceTable\" class=\"vn-table\"\u003e\n\u003cthead\u003e\n\u003ctr id=\"vinylTheadRow\"\u003e\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody id=\"vinylPriceBody\"\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-table-note\"\u003e\n\u003cp\u003eThese prices are for artwork size 3 sq.m. and above, excluding installation and delivery.\u003c\/p\u003e\n\u003cp\u003ePlease compare the specifications carefully, including thickness, fiber strength, and whiteness. Vinyl from China, Taiwan, Korea, America, and Germany can vary significantly in price. Available materials include frontlit vinyl, blackout vinyl, double-sided vinyl, fire-retardant vinyl, mesh vinyl, sticker-mount vinyl, translucent vinyl, and more.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"vn-options-section desc_container page-width\"\u003e\n\u003cdiv class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eOPTION \u003cem\u003eVinyl Banner Edge Finishing\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-options-grid\"\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_1.jpg\" alt=\"Standard cut edge\"\u003e \u003cspan class=\"vn-free-badge\"\u003eFREE\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003eStandard Cut Edge\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_2.jpg\" alt=\"Folded edge\"\u003e \u003cspan class=\"vn-free-badge\"\u003eFREE\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003eFolded Edge\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_3.jpg\" alt=\"Eyelets\"\u003e \u003cspan class=\"vn-free-badge\"\u003eFREE\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003eEyelets\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_4.jpg\" alt=\"Pole pocket\"\u003e \u003cspan class=\"vn-paid-badge\"\u003e+100 THB\/m\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003ePole Pocket\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"vn-quality-section desc_container page-width\"\u003e\n\u003cdiv class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eConfidence in \u003cem\u003eQuality\u003c\/em\u003e from Every Angle\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-quality\"\u003e\n\u003cdiv aria-label=\"View large image\" role=\"button\" id=\"vnQualityImg\" class=\"vn-quality-main-img\" tabindex=\"0\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Premium-Vinyl.jpg\" alt=\"High-quality premium vinyl\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"vn-quality-right\"\u003e\n\u003cdiv aria-label=\"View large image\" role=\"button\" id=\"vnPreviewImg\" class=\"vn-quality-sub-img\" tabindex=\"0\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Premium-Vinyl1.jpg\" alt=\"Premium vinyl detail\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"vn-quality-text\"\u003e\n\u003ch3\u003eHigh-Quality Premium Vinyl\u003c\/h3\u003e\n\u003cp\u003eFor projects that require richer colour range and stronger visual impact, you can rely on both our premium materials and our high-quality inkjet printing systems.\u003c\/p\u003e\n\u003ca href=\"https:\/\/www.octopus.co.th\/products\/vinyl-banner-comparison\" class=\"vn-btn\" rel=\"noopener\" target=\"_blank\"\u003eVinyl Grades →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cdiv aria-modal=\"true\" role=\"dialog\" id=\"vnLb\" class=\"vn-lb\"\u003e\n\u003cbutton aria-label=\"Close\" class=\"vn-lb-close\"\u003e×\u003c\/button\u003e \u003cimg id=\"vnLbImg\" alt=\"\"\u003e\n\u003c\/div\u003e\n\u003csection id=\"vinyl-faq\" class=\"vn-faq-section desc_container page-width\"\u003e\u003cspan class=\"vn-faq-label\"\u003eFrequently Asked Questions · FAQ\u003c\/span\u003e\n\u003cdiv style=\"margin-bottom: 36px;\" class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eQuestions About \u003cem\u003eVinyl Banners\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv role=\"list\" class=\"vn-faq-list\"\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a1\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e1\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat is the difference between inkjet-printed vinyl banners and standard vinyl banners?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a1\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eInkjet outdoor vinyl banners use Solvent, eCo-Solvent, UV, or Latex inks sprayed directly onto the vinyl surface. This produces vivid colour, sharp detail, resolutions up to \u003cstrong\u003e1,440 dpi\u003c\/strong\u003e, and allows large continuous prints without visible joins. They are ideal for outdoor signage, event banners, and large advertising displays, unlike standard screen-printed vinyl, which has more limitations in colour range and resolution.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a2\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e2\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhich vinyl grade should I choose for outdoor use?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a2\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eIt depends on service life and budget:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eStandard Frontlit Vinyl (440 gsm)\u003c\/strong\u003e — Suitable for short-term promotions, 3–6 months, cost-effective\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDURA Frontlit Vinyl (510 gsm)\u003c\/strong\u003e — Thicker and more durable, suitable for medium-term outdoor use, 6–12 months\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePremium Vinyl (Frontlit Colour)\u003c\/strong\u003e — CrystalWhite surface with the most vibrant print colour, ideal for brand-quality projects requiring higher sharpness\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMesh Vinyl\u003c\/strong\u003e — Suitable for windy open areas such as fences or tall buildings, allowing air to pass through and reducing tearing\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a3\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e3\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat is the difference between Solvent, eCo-Solvent, UV, and Latex printing systems?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a3\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eEach system has different advantages:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e4-colour Solvent\u003c\/strong\u003e — Budget-friendly, good outdoor durability, suitable for economy-grade work\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e6-colour eCo-Solvent\u003c\/strong\u003e — Brighter colour with wider colour range, the most popular system for general signage\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e6-colour UV\u003c\/strong\u003e — Sharpest and most durable output, instant-dry UV curable ink, ideal for highest-quality work\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e6-colour Latex\u003c\/strong\u003e — Water-based environmentally friendly ink (HP Environment Latex), suitable for indoor areas, food exhibitions, or places requiring safer low-emission materials\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a4\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e4\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat edge finishing options are available, and are there additional charges?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a4\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eThere are 4 options:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eStandard cut edge\u003c\/strong\u003e — Free, suitable for framed work or banners with existing support structures\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFolded edge\u003c\/strong\u003e — Free, cleaner finish, stronger edge, helps prevent tearing\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEyelets\u003c\/strong\u003e — Free, suitable for rope or wire hanging, with a standard eyelet spacing of 50 cm\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePole pocket\u003c\/strong\u003e — Additional charge of \u003cstrong\u003e+100 THB\/metre\u003c\/strong\u003e, suitable for hanging with PVC or steel pipes\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a5\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e5\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat is the minimum starting price, and how is the price calculated?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a5\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003ePrices are calculated by \u003cstrong\u003efinished artwork area in square metres\u003c\/strong\u003e. The table prices are for jobs of \u003cstrong\u003e3 sq.m. and above\u003c\/strong\u003e. Prices start from \u003cstrong\u003e180 THB\/sq.m.\u003c\/strong\u003e for standard 4-colour Solvent vinyl up to \u003cstrong\u003e600 THB\/sq.m.\u003c\/strong\u003e for translucent Latex-printed vinyl. Installation and delivery are not included. For smaller jobs under 3 sq.m., please contact us directly for a quotation.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a6\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e6\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eHow should artwork files be prepared? What file formats do you accept?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a6\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eWe accept \u003cstrong\u003eAI, PDF, PSD, TIFF\u003c\/strong\u003e and high-resolution JPG\/PNG files, with these recommendations:\n\u003cul\u003e\n\u003cli\u003eVector files (AI\/PDF) are best for large-format work because they do not lose sharpness when enlarged\u003c\/li\u003e\n\u003cli\u003eRaster files should have at least \u003cstrong\u003e72–150 dpi at actual size\u003c\/strong\u003e for outdoor signs viewed from a distance\u003c\/li\u003e\n\u003cli\u003eSet colour mode to \u003cstrong\u003eCMYK\u003c\/strong\u003e for results closer to the final printed output\u003c\/li\u003e\n\u003cli\u003ePlease allow at least 5–10 cm bleed around the artwork\u003c\/li\u003e\n\u003c\/ul\u003e\nOur team can check files free of charge before production.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a7\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e7\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eHow many days does production and delivery take? Do you offer urgent service?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a7\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eProduction normally takes \u003cstrong\u003e2–5 working days\u003c\/strong\u003e after artwork confirmation and payment. Delivery options:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eBangkok\u003c\/strong\u003e — Delivered by Deliveree or Grab, typically within 1–2 hours\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUpcountry \/ Provincial areas\u003c\/strong\u003e — Delivered via J\u0026amp;T Express or NIM Express within 1–2 days\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInternational\u003c\/strong\u003e — Delivered via DHL within 3–7 days\u003c\/li\u003e\n\u003c\/ul\u003e\nFor urgent work, please contact our team via Line \u003cstrong\u003e@octopusdesign\u003c\/strong\u003e to check production queue availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a8\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e8\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eDo you provide on-site installation? Which areas do you cover?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a8\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eYes, we provide full installation service. Our team can handle standard locations, high-rise facade work, Pylon Sign structures, and billboards, including after-hours installation in the early morning or at night according to shopping centre or building regulations. Coverage includes \u003cstrong\u003eBangkok and surrounding areas\u003c\/strong\u003e, and provincial coordination is available for larger projects. Contact us via Line \u003cstrong\u003e@octopusdesign\u003c\/strong\u003e or call \u003cstrong\u003e081-776-8329\u003c\/strong\u003e.\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cscript type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"inLanguage\": \"en\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between inkjet-printed vinyl banners and standard vinyl banners?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Inkjet outdoor vinyl banners use Solvent, eCo-Solvent, UV, or Latex inks sprayed directly onto the vinyl surface. This produces vivid colour, sharp detail, resolutions up to 1,440 dpi, and allows large continuous prints without visible joins. They are ideal for outdoor signage, event banners, and large advertising displays.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Which vinyl grade should I choose for outdoor use?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It depends on service life and budget. Standard frontlit vinyl 440 gsm is suitable for short-term promotions, DURA frontlit 510 gsm is thicker and more durable, premium frontlit colour provides the best print vibrancy, and mesh vinyl is suitable for windy locations.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between Solvent, eCo-Solvent, UV, and Latex printing systems?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"4-colour Solvent is budget-friendly and durable for outdoor use. 6-colour eCo-Solvent offers brighter colour and wider range. 6-colour UV gives the sharpest and most durable output. 6-colour Latex uses water-based environmentally friendly ink suitable for indoor and low-emission environments.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What edge finishing options are available, and are there additional charges?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"There are 4 options: standard cut edge free of charge, folded edge free of charge, eyelets free of charge with standard 50 cm spacing, and pole pocket with an additional charge of 100 THB per metre.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the minimum starting price, and how is the price calculated?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Prices are calculated by finished artwork area in square metres. The listed prices apply to jobs of 3 sq.m. and above, starting from 180 THB\/sq.m. for standard 4-colour Solvent vinyl up to 600 THB\/sq.m. for translucent Latex-printed vinyl.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How should artwork files be prepared? What file formats do you accept?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"We accept AI, PDF, PSD, TIFF, and high-resolution JPG\/PNG files. Vector files are best for large-format work. Raster files should have at least 72–150 dpi at actual size. CMYK mode is recommended, and 5–10 cm bleed should be allowed.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How many days does production and delivery take? Do you offer urgent service?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Production normally takes 2–5 working days after artwork confirmation and payment. Bangkok delivery is usually within 1–2 hours, provincial delivery within 1–2 days, and international delivery within 3–7 days. Urgent service is available upon request.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Do you provide on-site installation? Which areas do you cover?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes, we provide full installation service, including general locations, high-rise facade work, Pylon Signs, and billboards. Coverage includes Bangkok and surrounding areas, with provincial coordination available for larger projects.\"\n      }\n    }\n  ]\n}\n\u003c\/script\u003e \u003cscript\u003e\n(function() {\n  const COLS = ['Standard Frontlit Vinyl','Blackout Vinyl','DURA Frontlit Vinyl','Mesh Vinyl','Premium Frontlit Vinyl','Translucent Vinyl'];\n  const COL_SUBS = ['Frontlit STD','Frontlit Lite','Frontlit DURA','Mesh','Frontlit Colour','Backlit UV'];\n\n  const INK = [\n    { label:'4-Colour Solvent Ink System',\n      dots:['#00aaee','#ee00ee','#ddcc00','#111'],\n      prices:[180,220,280,300,320,350] },\n    { label:'6-Colour eCo-Solvent Ink System',\n      dots:['#00aaee','#00ccff','#ee00ee','#cc00aa','#ddcc00','#111'],\n      prices:[230,280,350,350,400,400] },\n    { label:'6-Colour UV Ink System',\n      dots:['#00aaee','#00ccff','#ee00ee','#cc00aa','#ddcc00','#111'],\n      prices:[null,400,480,500,500,500] },\n    { label:'6-Colour Latex Ink System',\n      dots:['#00aaee','#00ccff','#ee00ee','#cc00aa','#ddcc00','#111'],\n      prices:[null,400,550,550,550,600] }\n  ];\n\n  const allPrices = INK.flatMap(r =\u003e r.prices.filter(Boolean));\n  const minP = Math.min(...allPrices), maxP = Math.max(...allPrices);\n\n  function heat(p) {\n    if (!p) return '';\n    const r = (p - minP) \/ (maxP - minP);\n    return r \u003c .2 ? 'h1' : r \u003c .4 ? 'h2' : r \u003c .6 ? 'h3' : r \u003c .8 ? 'h4' : 'h5';\n  }\n\n  let selRow = null, selCol = null;\n\n  const thr = document.getElementById('vinylTheadRow');\n  const thCells = [];\n\n  if (thr) {\n    const thCorner = document.createElement('th');\n    thCorner.textContent = 'Ink System \\\\ Vinyl Type';\n    thr.appendChild(thCorner);\n\n    COLS.forEach((name, ci) =\u003e {\n      const th = document.createElement('th');\n      th.id = `vthc${ci}`;\n      th.innerHTML = `\u003cspan style=\"display:block;font-size:10.5px;font-weight:800;letter-spacing:.01em;white-space:normal;word-break:keep-all;line-height:1.3\"\u003e${name}\u003c\/span\u003e\n      \u003cspan style=\"display:block;font-size:9.5px;font-weight:500;opacity:.72;margin-top:3px;white-space:nowrap;line-height:1.3\"\u003e${COL_SUBS[ci]}\u003c\/span\u003e`;\n      th.addEventListener('mouseenter', () =\u003e hiCol(ci));\n      th.addEventListener('mouseleave', () =\u003e clearCol(ci));\n      thr.appendChild(th);\n      thCells.push(th);\n    });\n  }\n\n  const tbody = document.getElementById('vinylPriceBody');\n\n  if (tbody) {\n    INK.forEach((row, ri) =\u003e {\n      const tr = document.createElement('tr');\n\n      const labelTd = document.createElement('td');\n      labelTd.id = `vtdh${ri}`;\n      const dotsHtml = row.dots.map(c =\u003e `\u003cspan style=\"display:inline-block;width:9px;height:9px;border-radius:50%;background:${c};box-shadow:0 0 0 1px rgba(0,0,0,.08)\"\u003e\u003c\/span\u003e`).join('');\n      labelTd.innerHTML = `\u003cdiv style=\"display:flex;flex-direction:column;gap:5px;align-items:flex-start\"\u003e\n        \u003cspan style=\"display:flex;gap:3px;flex-shrink:0\"\u003e${dotsHtml}\u003c\/span\u003e\n        \u003cspan style=\"font-size:11.5px;font-weight:600;color:var(--ink-70);white-space:normal;word-break:keep-all;line-height:1.4\"\u003e${row.label}\u003c\/span\u003e\n      \u003c\/div\u003e`;\n      tr.appendChild(labelTd);\n\n      row.prices.forEach((p, ci) =\u003e {\n        const td = document.createElement('td');\n        td.id = `vtd${ri}_${ci}`;\n        if (p) {\n          td.innerHTML = `\u003cspan style=\"font-weight:700;font-size:13px;color:var(--cyan-dk);white-space:nowrap\"\u003e${p.toLocaleString()} ฿\u003c\/span\u003e\u003cspan style=\"display:block;font-size:13px;color:var(--muted-lt);white-space:nowrap\"\u003e\/sq.m.\u003c\/span\u003e`;\n          td.className = heat(p);\n          td.addEventListener('click', () =\u003e pick(ri, ci));\n        } else {\n          td.innerHTML = `\u003cspan style=\"color:var(--disabled);font-size:1.1em;font-weight:300\"\u003e—\u003c\/span\u003e`;\n        }\n        tr.appendChild(td);\n      });\n\n      tbody.appendChild(tr);\n    });\n  }\n\n  function hiCol(ci) {\n    if (thCells[ci]) thCells[ci].classList.add('col-hi');\n    INK.forEach((_, ri) =\u003e {\n      const td = document.getElementById(`vtd${ri}_${ci}`);\n      if (td \u0026\u0026 !(ri === selRow \u0026\u0026 ci === selCol)) td.classList.add('col-hi');\n    });\n  }\n\n  function clearCol(ci) {\n    if (thCells[ci]) thCells[ci].classList.remove('col-hi');\n    INK.forEach((_, ri) =\u003e {\n      document.getElementById(`vtd${ri}_${ci}`)?.classList.remove('col-hi');\n    });\n  }\n\n  function pick(ri, ci) {\n    if (selRow !== null) {\n      const oldHead = document.getElementById(`vtdh${selRow}`);\n      if (oldHead) oldHead.style.cssText = '';\n      if (selCol !== null) document.getElementById(`vtd${selRow}_${selCol}`)?.classList.remove('sel-cell');\n    }\n\n    if (selRow === ri \u0026\u0026 selCol === ci) {\n      selRow = selCol = null;\n      return;\n    }\n\n    selRow = ri;\n    selCol = ci;\n\n    const hLbl = document.getElementById(`vtdh${ri}`);\n    if (hLbl) {\n      hLbl.style.color = 'var(--l-d)';\n      hLbl.style.background = 'var(--l-l)';\n    }\n\n    const cell = document.getElementById(`vtd${ri}_${ci}`);\n    if (cell) {\n      cell.classList.remove('col-hi');\n      cell.classList.add('sel-cell');\n    }\n  }\n})();\n\n(function() {\n  const items = document.querySelectorAll('.vn-faq-item');\n  items.forEach(item =\u003e {\n    const btn = item.querySelector('.vn-faq-q');\n    if (!btn) return;\n\n    btn.addEventListener('click', () =\u003e {\n      const isOpen = item.classList.contains('open');\n\n      items.forEach(i =\u003e {\n        i.classList.remove('open');\n        i.querySelector('.vn-faq-q')?.setAttribute('aria-expanded', 'false');\n      });\n\n      if (!isOpen) {\n        item.classList.add('open');\n        btn.setAttribute('aria-expanded', 'true');\n      }\n    });\n  });\n})();\n\n(function() {\n  const lb = document.getElementById('vnLb');\n  const lbImg = document.getElementById('vnLbImg');\n  const cls = lb \u0026\u0026 lb.querySelector('.vn-lb-close');\n  if (!lb || !lbImg) return;\n\n  function open(src, alt) {\n    lbImg.src = src;\n    lbImg.alt = alt || '';\n    lb.classList.add('open');\n    document.documentElement.style.overflow = 'hidden';\n    document.body.style.overflow = 'hidden';\n  }\n\n  function close() {\n    lb.classList.remove('open');\n    lbImg.src = '';\n    lbImg.alt = '';\n    document.documentElement.style.overflow = '';\n    document.body.style.overflow = '';\n  }\n\n  function bindImageTrigger(el) {\n    if (!el || el.dataset.lbInit === '1') return;\n    el.dataset.lbInit = '1';\n    const im = el.querySelector('img');\n    if (!im) return;\n\n    el.addEventListener('click', function() {\n      open(im.currentSrc || im.src, im.alt);\n    });\n\n    el.addEventListener('keydown', function(e) {\n      if (e.key === 'Enter' || e.key === ' ') {\n        e.preventDefault();\n        open(im.currentSrc || im.src, im.alt);\n      }\n    });\n  }\n\n  ['vnQualityImg','vnPreviewImg','vnPromoImg'].forEach(function(id) {\n    bindImageTrigger(document.getElementById(id));\n  });\n\n  document.querySelectorAll('.vn-option-card').forEach(bindImageTrigger);\n\n  lb.addEventListener('click', function(e) {\n    if (e.target === lb) close();\n  });\n\n  if (cls) cls.addEventListener('click', close);\n\n  document.addEventListener('keydown', function(e) {\n    if (e.key === 'Escape' \u0026\u0026 lb.classList.contains('open')) close();\n  });\n})();\n\u003c\/script\u003e\u003c\/p\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":46131867779294,"sku":"","price":450.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/image_3303c9d7-e3dc-4e63-9f9e-bba071a24e14-355861.jpg?v=1733638295"},{"product_id":"restaurant-vinyl-banner","title":"Vinyl banners for restaurants","description":"\u003cp\u003eVinyl banners are a highly effective tool for attracting customers and enhancing your restaurant's appeal. They are perfect for advertising menus, promoting special offers, or showcasing your restaurant's unique identity. Cost-effective and impactful, vinyl banners deliver excellent results for any marketing need.\u003c\/p\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eHighlights of Vinyl Banners for Restaurants\u003c\/h2\u003e\n\u003cp\u003eRestaurant vinyl banners have several outstanding features, such as:\u003c\/p\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSharp Images and Vibrant Colors:\u003c\/strong\u003e Printed with advanced UV or Latex technology for visually striking graphics and text.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDurable Materials:\u003c\/strong\u003e Made from weather-resistant vinyl, perfect for both indoor and outdoor applications.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCustomizable Designs:\u003c\/strong\u003e Fully tailored to align with your brand identity and restaurant theme.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eApplications of Vinyl Banners in Restaurants\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eVinyl banners enhance restaurants in various ways, including :\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePromoting Special or New Menu Items:\u003c\/strong\u003e Highlight featured dishes to attract customer interest.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eAnnouncing Promotions:\u003c\/strong\u003e Showcase discounts, combo meal deals, or limited-time offers.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDecorating Storefronts:\u003c\/strong\u003e Make your restaurant more inviting and visually appealing.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProviding Information:\u003c\/strong\u003e Display essential details like opening hours and location clearly.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch5\u003eKey Considerations for Restaurant Vinyl Banners\u003c\/h5\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eChoose the right size\u003c\/b\u003e: Ensure the banner size fits the installation area.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eDesign that reflects the brand\u003c\/b\u003e: Use colors, logos, and fonts that align with the restaurant's image.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eSecure installation\u003c\/b\u003e: Place the banner in a visible spot with proper support to withstand weather conditions.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch5\u003eWhy Restaurants Should Use Vinyl Banners\u003c\/h5\u003e\n\u003cp\u003eThe main benefits of vinyl banners for restaurants include:\u003c\/p\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003eCost-effective and low-budget compared to other advertising media\u003c\/li\u003e\n\u003cli\u003eEnhances visibility and attracts customers\u003c\/li\u003e\n\u003cli\u003eSuitable for both short-term promotions and long-term advertising\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"how-to-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp\u003eWith their numerous benefits and features, restaurant vinyl banners not only boost sales but also enhance the professional image of your restaurant.\u003c\/p\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2 class=\"prod_h4\"\u003eInterested in making ***** vinyl banners, advertising signs, stickers, or promotional materials? Check the price now by messaging \u003cb\u003eLINE @octopusdesign\u003c\/b\u003e or call 081-776-8329 for more information.\u003c\/h2\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":46135455711454,"sku":"","price":1000.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/image_b8a07168-096c-46f7-abbd-241cab1df099-517193.jpg?v=1733727566"},{"product_id":"car-wash-vinyl-banner","title":"Car Wash Vinyl Banner","description":"\u003csection class=\"desc_container\"\u003e\u003cstyle\u003e.product-description*{white-space:normal!important}\nimg[src*=\"oc-icon\"]{width:18px!important;height:18px!important;max-width:18px!important;display:inline-block!important;vertical-align:middle;flex-shrink:0}\n\n.vcw{color:var(--oc-ink-70);line-height:1.7;max-width:900px;margin:0 auto;padding:0 4px}\n.vcw-badge{display:inline-flex;align-items:center;gap:6px;background:var(--oc-grad-ci);color:#fff;font-size:0.82em;font-weight:700;padding:4px 12px;border-radius:20px;margin-bottom:14px;letter-spacing:.05em}.vcw h2 {font-weight:800;color:var(--oc-ink);margin:0 0 6px;line-height:1.25;}\n.vcw-tag{font-size:0.88em;color:var(--oc-cyan);font-weight:600;margin-bottom:16px}\n\n.vcw-sh::before{content:'';display:block;width:3px;height:1.1em;background:linear-gradient(180deg,#818CF8 0%,#17a9bb 100%);border-radius:2px}\n\n.vcw-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 22px}\n\n.vcw-stat-lbl{font-size:0.88em;color:var(--oc-ink-40);line-height:1.3;display:block}\n.vcw-prose{font-size:0.96em;color:var(--oc-ink-70);line-height:1.78;margin:0 0 12px}\n\n.vcw-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 22px}\n.vcw-fc{background:linear-gradient(135deg,#FAFBFF,#FAFBFF);border:1px solid #d4eef2;border-radius:var(--oc-radius);padding:14px;box-shadow:var(--oc-shadow-sm)}\n.vcw-fc-n{font-size:0.88em;font-weight:800;color:var(--oc-cyan);letter-spacing:.1em;display:block;margin-bottom:5px}\n.vcw-fc img{margin-bottom:6px;opacity:.85}\n.vcw-fc strong{display:block;font-size:0.88em;font-weight:700;color:var(--oc-ink);margin-bottom:3px}\n.vcw-fc p{font-size:0.88em;color:var(--oc-ink-40);margin:0;line-height:1.5}\n.vcw-tbl{width:100%;border-collapse:collapse;margin-bottom:22px;border-radius:var(--oc-radius);overflow:hidden;box-shadow:var(--oc-shadow-sm)}\n.vcw-tbl thead th{background:#f3f4f6!important;color:#1a202c!important;font-weight:700!important;font-size:0.88em!important;padding:10px 13px;text-align:left;border-bottom:2px solid #818CF8;}\n.vcw-tbl tbody tr:nth-child(even){background:linear-gradient(135deg,#FAFBFF,#f5fbfc)}\n.vcw-tbl td,.vcw-tbl tbody th{font-size:0.88em!important;font-weight:400!important;color:var(--oc-ink-70);padding:9px 13px;border-bottom:1px solid var(--oc-ink-15)}\n.vcw-tbl tbody th{font-weight:600!important;background:#FAFBFF!important;white-space:nowrap!important}\n.vcw-item{display:flex;align-items:flex-start;gap:11px;padding:9px 13px;border-radius:var(--oc-radius);background:#fff;border:1px solid var(--oc-ink-15);margin-bottom:7px;font-size:0.96em;color:var(--oc-ink-70);line-height:1.65;box-shadow:var(--oc-shadow-sm)}\n.vcw-item:last-child{margin-bottom:0}\n.vcw-dot{display:block;flex-shrink:0;width:9px;height:9px;min-width:9px;border-radius:50%;background:var(--oc-grad-ci);margin-top:5px}\n\n.vcw-btns{display:flex;gap:8px;flex-wrap:wrap}\n.vcw-btn2{display:inline-block;padding:10px 20px;border-radius:8px;border:2px solid var(--oc-cyan);color:var(--oc-cyan)!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap!important}\n\n.vcw-faq-q{padding:13px 15px;font-size:0.96em;font-weight:600;color:var(--oc-ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}\n.vcw-faq-q::after{content:'+';font-size:1.1em;color:var(--oc-cyan);flex-shrink:0;transition:transform .25s}\n.vcw-faq-q.open::after{transform:rotate(45deg)}\n.vcw-faq-a{display:none;padding:0 15px 13px;font-size:0.88em;color:var(--oc-ink-70);line-height:1.7;border-top:1px solid var(--oc-ink-15)}\n@media(max-width:989px){.vcw-stats,.vcw-feats{grid-template-columns:1fr 1fr}}\n@media(prefers-reduced-motion:reduce){.oc-btn-grad{transition:none}}\n\n.oc-faq{display:flex;flex-direction:column;gap:8px}\n.oc-faq-i{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:border-color .2s,box-shadow .2s}\n.oc-faq-i.open{border-color:rgba(20,201,223,.4);box-shadow:0 3px 16px rgba(20,201,223,.12)}\n.oc-faq-btn{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;font-size:0.88em;font-weight:600;color:#374151}\n.oc-faq-num{width:24px;height:24px;border-radius:50%;flex-shrink:0;font-size:0.82em;font-weight:800;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;transition:background .25s,color .25s}\n.oc-faq-i.open .oc-faq-num{background:linear-gradient(135deg,#14c9df,#17a9bb);color:#fff}\n.oc-faq-chev{width:16px;height:16px;flex-shrink:0;margin-left:auto;fill:none;stroke:#6b7280;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s,stroke .2s}\n.oc-faq-i.open .oc-faq-chev{transform:rotate(180deg);stroke:#17a9bb}\n.oc-faq-body{max-height:0;overflow:hidden;transition:max-height .32s ease}\n.oc-faq-body.open{max-height:500px}\n.oc-faq-ans{padding:2px 14px 14px 48px;font-size:0.96em;color:#6b7280;line-height:1.8}\u003c\/style\u003e\n\n\u003cdiv class=\"vcw\"\u003e\n\n  \u003cdiv class=\"vcw-badge\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-zap.svg\" alt=\"\"\u003eCar Wash \u0026amp; Car Care Vinyl Banners\u003c\/div\u003e\n\n  \u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eCar Wash \u0026amp; Car Care Vinyl Banners — Print prices, promotions, and QR Line all on one banner.\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cp class=\"vcw-tag\"\u003eOutdoor Inkjet · 440–510 gsm · Waterproof \u0026amp; UV resistant · Specify prices, phone numbers, QR for Line · Available in all sizes\u003c\/p\u003e\n\n\n  \u003cdiv class=\"vcw-row\"\u003e\n\n    \u003cspan class=\"\"\u003eCar Wash \/ Car Care\u003c\/span\u003e\n    \u003cspan class=\"\"\u003eCeramic Coating\u003c\/span\u003e\n    \u003cspan class=\"\"\u003eWindow Tinting\u003c\/span\u003e\n    \u003cspan class=\"\"\u003ePromotional Prices\u003c\/span\u003e\n    \u003cspan class=\"\"\u003e440–510 gsm\u003c\/span\u003e\n    \u003cspan class=\"\"\u003eWaterproof \u0026amp; Sunproof\u003c\/span\u003e\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"vcw-stat oc-stats\"\u003e\n\n    \u003cdiv class=\"vcw-stat oc-stat\"\u003e\n\n\u003cspan class=\"vcw-stat oc-stat-num oc-stat-num\"\u003e440+\u003c\/span\u003e\u003cspan class=\"vcw-stat oc-stat-lbl\"\u003egsm\u003cbr\u003eDurable Material\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-stat oc-stat\"\u003e\n\n\u003cspan class=\"vcw-stat oc-stat-num oc-stat-num\"\u003e4C\u003c\/span\u003e\u003cspan class=\"vcw-stat oc-stat-lbl\"\u003eFull Color Print\u003cbr\u003eHigh Resolution\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-stat oc-stat\"\u003e\n\n\u003cspan class=\"vcw-stat oc-stat-num oc-stat-num\"\u003eUV\u003c\/span\u003e\u003cspan class=\"vcw-stat oc-stat-lbl\"\u003eUV Resistant\u003cbr\u003eNon-Fading Colors\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-stat oc-stat\"\u003e\n\n\u003cspan class=\"vcw-stat oc-stat-num oc-stat-num\"\u003e1 Day\u003c\/span\u003e\u003cspan class=\"vcw-stat oc-stat-lbl\"\u003eFast Production\u003cbr\u003eReady in 2–3 Days\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cp class=\"vcw-prose\"\u003eVinyl banners for car wash and car care shops are the most cost-effective marketing tool for this business — most customers make decisions based on seeing prices and services while driving by. A good banner must be clearly visible from a distance, specify complete prices and services, and include a QR or Line for immediate contact.\u003c\/p\u003e\n\n  \u003cblockquote class=\"vcw-bq oc-bq\"\u003eA good sign doesn't just display the shop name — it must show prices, services, and contact information within the distance a car can drive by.\u003c\/blockquote\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eWhat to include on a car wash banner\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"vcw-feats\"\u003e\n\n    \u003cdiv class=\"vcw-fc\"\u003e\n\n      \u003cspan class=\"vcw-fc-n\"\u003e01 \/ PRICE\u003c\/span\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-zap.svg\" alt=\"\"\u003e\n      \u003cstrong\u003ePackage Prices\u003c\/strong\u003e\n      \u003cp\u003eClearly state prices for car wash, polishing, glass coating to attract customers driving by.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-fc\"\u003e\n\n      \u003cspan class=\"vcw-fc-n\"\u003e02 \/ CONTACT\u003c\/span\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-map-pin.svg\" alt=\"\"\u003e\n      \u003cstrong\u003ePhone \u0026amp; Line\u003c\/strong\u003e\n      \u003cp\u003ePhone number and QR for Line allow customers to book appointments or inquire immediately.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-fc\"\u003e\n\n      \u003cspan class=\"vcw-fc-n\"\u003e03 \/ SERVICE\u003c\/span\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-layers.svg\" alt=\"\"\u003e\n      \u003cstrong\u003eList of Services\u003c\/strong\u003e\n      \u003cp\u003eCar wash, pressure wash, polishing, ceramic coating, window tinting - all on one banner.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-fc\"\u003e\n\n      \u003cspan class=\"vcw-fc-n\"\u003e04 \/ PROMO\u003c\/span\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-image.svg\" alt=\"\"\u003e\n      \u003cstrong\u003ePromotions\u003c\/strong\u003e\n      \u003cp\u003eSpecial offers, discounts, package deals to boost conversion from passersby.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eMaterial Specifications\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003ctable class=\"vcw-tbl\"\u003e\n\n    \u003cthead\u003e\u003ctr\u003e\n\n\u003cth\u003eItem\u003c\/th\u003e\n\n\u003cth\u003eDetails\u003c\/th\u003e\n\n\u003cth\u003eRemarks\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\u003c\/thead\u003e\n\n    \u003ctbody\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eMaterial\u003c\/th\u003e\n\n\u003ctd\u003eOutdoor Vinyl 440–510 gsm\u003c\/td\u003e\n\n\u003ctd\u003eThick, resistant to sun and rain\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003ePrinting System\u003c\/th\u003e\n\n\u003ctd\u003eGenuine Inkjet UV \/ Latex \/ Solvent\u003c\/td\u003e\n\n\u003ctd\u003eVibrant colors, no fading\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eSize\u003c\/th\u003e\n\n\u003ctd\u003eCustomizable to all sizes\u003c\/td\u003e\n\n\u003ctd\u003eFrom A1 to Billboard\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eFabric Edge\u003c\/th\u003e\n\n\u003ctd\u003eEyelets every 50 cm\u003c\/td\u003e\n\n\u003ctd\u003eFor tying ropes \/ inserting poles\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eLead Time\u003c\/th\u003e\n\n\u003ctd\u003e2–3 business days\u003c\/td\u003e\n\n\u003ctd\u003eUrgent orders available as per quote\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n    \u003c\/tbody\u003e\n\n  \u003c\/table\u003e\n\n\n  \u003cdiv class=\"vcw-list\"\u003e\n\n    \u003cdiv class=\"vcw-item\"\u003e\n\n\u003cspan class=\"vcw-dot\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eFree Design\u003c\/strong\u003e — Just send your shop name, service list, and prices; our team will arrange the layout.\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-item\"\u003e\n\n\u003cspan class=\"vcw-dot\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eOrder from 1 piece\u003c\/strong\u003e — No MOQ, supporting both single shops and multi-branch chains.\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-item\"\u003e\n\n\u003cspan class=\"vcw-dot\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eNationwide Delivery\u003c\/strong\u003e — Rolled and protected packaging, sent via Kerry \/ Flash Express.\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"vcw-cta oc-cta\"\u003e\n\n    \u003cdiv\u003e\n\n\u003cstrong\u003eOrder Car Wash Vinyl Banners\u003c\/strong\u003e\u003cp\u003eSend the desired size, service list, and prices to get an immediate quote.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"vcw-btns\"\u003e\n\n      \u003ca href=\"https:\/\/lin.ee\/uDrVbvY\" style=\"display:inline-block;padding:10px 20px;border-radius:8px;background:linear-gradient(90deg,#14c9df,#17a9bb,#818CF8,#A78BFA);background-size:200% 100%;color:#fff!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap\"\u003eLINE to Order\u003c\/a\u003e\n      \u003ca href=\"#\" class=\"vcw-btn2\"\u003eView Portfolio\u003c\/a\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"oc-bar-wrap\"\u003eFAQ\u003c\/div\u003e\n\n  \u003cdiv class=\"oc-faq\"\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e1\u003c\/span\u003e\u003cspan\u003eWhat is the difference between 440 and 510 gsm vinyl, and which should I choose?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003e510 gsm is thicker and more durable, suitable for banners exposed to strong winds, large banners, or for use longer than 1 year. 440 gsm is lighter and cheaper, suitable for short-term projects or promotions. If unsure, 440 gsm is sufficient for general use.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e2\u003c\/span\u003e\u003cspan\u003eHow long does a vinyl banner last outdoors?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003ePrinted with Latex or UV Ink, they last 2–3 years or more outdoors. For longer lifespan, adding laminate can prevent color fading. Genuine Solvent printing from Japan offers more durable colors than general Eco-Solvent.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e3\u003c\/span\u003e\u003cspan\u003eWhat is the ideal banner size for a car wash shop?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eIt depends on the storefront. Typically, 120x240 cm (vertical) or 200x100 cm (horizontal) are popular for hanging in front of the shop. Smaller price banners use 60x90 cm. We recommend sending a picture of your storefront, and our team will help suggest suitable sizes.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e4\u003c\/span\u003e\u003cspan\u003eHow many pieces can I order? What is the minimum quantity?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eThere is no minimum order; you can order from 1 piece. The price per piece decreases with quantity, so the more you order, the better the value.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"ไวนิล 440 กับ 510 gsm ต่างกันอย่างไร?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"510 gsm หนาทนกว่า เหมาะป้ายใหญ่ใช้นาน 440 gsm เบาถูกกว่า เหมาะงานระยะสั้น\"}},{\"@type\":\"Question\",\"name\":\"ป้ายไวนิลอยู่ได้นานแค่ไหน?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Latex\/UV Ink ทนกลางแจ้ง 2–3 ปี เพิ่ม Laminate ยืดอายุได้\"}},{\"@type\":\"Question\",\"name\":\"ขนาดที่เหมาะกับร้านล้างรถ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"120×240 ซม. แนวตั้ง หรือ 200×100 แนวนอน ส่งรูปหน้าร้านมาทีมแนะนำได้\"}},{\"@type\":\"Question\",\"name\":\"สั่งขั้นต่ำเท่าไหร่?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ไม่มีขั้นต่ำ สั่งได้ตั้งแต่ 1 ผืน\"}}]}\u003c\/script\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e(function(){document.querySelectorAll('#vcw-faq .vcw-faq-q').forEach(function(q){q.addEventListener('click',function(){var o=this.classList.contains('open');document.querySelectorAll('#vcw-faq .vcw-faq-q').forEach(function(x){x.classList.remove('open');x.nextElementSibling.style.display='none'});if(!o){this.classList.add('open');this.nextElementSibling.style.display='block'}})})})();\u003c\/script\u003e\n\u003cscript\u003e(function(){document.querySelectorAll('.oc-faq-btn').forEach(function(btn){btn.addEventListener('click',function(){var item=btn.closest('.oc-faq-i'),faq=btn.closest('.oc-faq'),isOpen=item.classList.contains('open');faq.querySelectorAll('.oc-faq-i').forEach(function(i){i.classList.remove('open');i.querySelector('.oc-faq-body').classList.remove('open');});if(!isOpen){item.classList.add('open');item.querySelector('.oc-faq-body').classList.add('open');}});});})()\u003c\/script\u003e\u003c\/section\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":46135479337182,"sku":"","price":180.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/image_6d2a442c-f877-4657-b483-139518955781.jpg?v=1760547255"},{"product_id":"clinics-vinyl-banners","title":"Vinyl Banners for Clinics","description":"\u003cp\u003eVinyl banners are an essential tool for building credibility and enhancing the professional image of medical facilities. With customizable designs and features tailored to specific needs, they are widely used in the beauty, medical, and dental clinic industries to attract clients and reinforce trust.\u003c\/p\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3\u003eHighlights of Vinyl Banners for Clinics\u003c\/h3\u003e\n\u003cp\u003eClinic vinyl banners offer unique features that enhance branding and increase appeal, such as:\u003c\/p\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eAttractive and outstanding design:\u003c\/b\u003e Captures attention while building trust and professionalism.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eDurable materials:\u003c\/b\u003e Suitable for both indoor and outdoor installation.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eAdvanced printing technology:\u003c\/b\u003e Provides vibrant colors and sharp details.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"how-to-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3\u003eApplications of Vinyl Banners in Clinics\u003c\/h3\u003e\n\u003cp\u003eVinyl banners for clinics can be used in various ways, such as:\u003c\/p\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003eFront clinic signs: To create a strong first impression.\u003c\/li\u003e\n\u003cli\u003ePromotional banners: Attract customers with special offers.\u003c\/li\u003e\n\u003cli\u003eDirectional and service signs: Enhance convenience for customers.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3\u003eTips for Creating Vinyl Banners for Clinics\u003c\/h3\u003e\n\u003cp\u003eTo ensure your vinyl banner is effective, consider the following:\u003c\/p\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eDesign that reflects your brand:\u003c\/b\u003e Use colors and fonts that convey professionalism.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eSize and placement:\u003c\/b\u003e Choose an appropriate size and install it in a visible location.\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eMaterial and printing techniques:\u003c\/b\u003e Use high-quality materials and appropriate printing methods.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch3\u003e\u003cstrong\u003eVinyl banners offer several benefits, including:\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhancing visibility and attracting customers.\u003c\/li\u003e\n\u003cli\u003eBuilding a credible and professional image.\u003c\/li\u003e\n\u003cli\u003eCost-effective and budget-friendly.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp\u003eVinyl banners for clinics not only promote services but also enhance credibility and effectively attract target audiences with materials and designs tailored to meet the needs of all types of clinics.\u003c\/p\u003e\n\u003cdiv class=\"divline\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2 class=\"prod_h4\"\u003eInterested in making advertising banners, stickers, or marketing materials? Get a quote now by messaging \u003cb\u003eLINE @octopusdesign\u003c\/b\u003e or calling 081-776-8329.\u003c\/h2\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":46135506829534,"sku":"","price":99.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/image_87ead7af-f871-4428-8734-35760b3e0fd0-370843-641891-175955.jpg?v=1733848531"},{"product_id":"recruitment-vinyl-banner","title":"Recruitment Vinyl Banner","description":"\u003csection class=\"desc_container\"\u003e\u003cstyle\u003e.product-description*{white-space:normal!important}\nimg[src*=\"oc-icon\"]{width:18px!important;height:18px!important;max-width:18px!important;display:inline-block!important;vertical-align:middle;flex-shrink:0}\n\n.rec{color:var(--oc-ink-70);line-height:1.7;max-width:900px;margin:0 auto;padding:0 4px}\n.rec-badge{display:inline-flex;align-items:center;gap:5px;background:var(--oc-grad-ci);color:#fff;font-size:0.82em;font-weight:700;padding:4px 12px;border-radius:999px;margin-bottom:12px}.rec h2 {font-weight:800;color:var(--oc-ink);margin:0 0 5px;line-height:1.25;}\n.rec-tag{font-size:0.88em;color:var(--oc-cyan);font-weight:600;margin-bottom:14px}\n\n.rec-sh::before{content:'';display:block;width:3px;height:1.1em;background:var(--oc-grad-ci);border-radius:2px}\n.rec-prose{font-size:0.96em;color:var(--oc-ink-70);line-height:1.78;margin:0 0 12px}\n.rec-hero{display:grid;grid-template-columns:1fr 190px;gap:18px;margin:0 0 18px;align-items:start}\n.rec-aside{background:#fff;border:1px solid var(--oc-ink-15);border-left:3px solid #818CF8;border-radius:0 var(--oc-radius) var(--oc-radius) 0;padding:14px}\n.rec-aside-ttl{font-size:0.88em;font-weight:800;color:var(--oc-cyan);letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px}\n.rec-aside-row{display:flex;gap:7px;font-size:0.88em;padding:4px 0;border-bottom:1px solid var(--oc-ink-15);color:var(--oc-ink-70);line-height:1.4}\n.rec-aside-row:last-child{border-bottom:none}\n.rec-aside-row span:first-child{color:var(--oc-cyan);font-weight:600;flex-shrink:0}\n\n.rec-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 20px}\n.rec-feat{background:#fff;border:1px solid var(--oc-ink-15);border-radius:var(--oc-radius);padding:12px 10px;box-shadow:0 1px 6px rgba(60,70,90,.06)}\n.rec-feat img{margin-bottom:5px;opacity:.85}\n.rec-feat strong{display:block;font-size:0.88em;font-weight:700;color:var(--oc-ink);margin-bottom:3px}\n.rec-feat p{font-size:0.96em;color:var(--oc-ink-40);margin:0;line-height:1.55}\n.rec-tbl{width:100%;border-collapse:collapse;margin-bottom:20px;border-radius:var(--oc-radius);overflow:hidden;box-shadow:0 1px 6px rgba(60,70,90,.06)}\n.rec-tbl thead th{background:#f3f4f6!important;color:#1a202c!important;font-weight:700!important;font-size:0.88em!important;padding:9px 12px;text-align:left;border-bottom:2px solid #818CF8;}\n.rec-tbl tbody tr:nth-child(even){background:#FAFBFF}\n.rec-tbl td,.rec-tbl tbody th{font-size:0.88em!important;font-weight:400!important;color:var(--oc-ink-70);padding:8px 12px;border-bottom:1px solid var(--oc-ink-15)}\n.rec-tbl tbody th{font-weight:600!important;background:#fff!important;white-space:nowrap!important}\n\n.rec-btns{display:flex;gap:7px;flex-wrap:wrap}\n.rec-btn2{display:inline-block;padding:9px 18px;border-radius:999px;border:1.5px solid var(--oc-cyan);color:var(--oc-cyan)!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap!important}\n\n.rec-faq-q{padding:12px 14px;font-size:0.96em;font-weight:600;color:var(--oc-ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}\n.rec-faq-q::after{content:'+';font-size:1.1em;color:var(--oc-cyan);flex-shrink:0;transition:transform .25s}\n.rec-faq-q.open::after{transform:rotate(45deg)}\n.rec-faq-a{display:none;padding:0 14px 12px;font-size:0.88em;color:var(--oc-ink-70);line-height:1.7;border-top:1px solid var(--oc-ink-15)}\n@media(max-width:989px){.rec-hero{grid-template-columns:1fr}.rec-feats{grid-template-columns:1fr 1fr}}\n@media(prefers-reduced-motion:reduce){*{transition:none!important}}\n\n.oc-faq{display:flex;flex-direction:column;gap:8px}\n.oc-faq-i{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:border-color .2s,box-shadow .2s}\n.oc-faq-i.open{border-color:rgba(20,201,223,.4);box-shadow:0 3px 16px rgba(20,201,223,.12)}\n.oc-faq-btn{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;font-size:0.88em;font-weight:600;color:#374151}\n.oc-faq-num{width:24px;height:24px;border-radius:50%;flex-shrink:0;font-size:0.82em;font-weight:800;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;transition:background .25s,color .25s}\n.oc-faq-i.open .oc-faq-num{background:linear-gradient(135deg,#14c9df,#17a9bb);color:#fff}\n.oc-faq-chev{width:16px;height:16px;flex-shrink:0;margin-left:auto;fill:none;stroke:#6b7280;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s,stroke .2s}\n.oc-faq-i.open .oc-faq-chev{transform:rotate(180deg);stroke:#17a9bb}\n.oc-faq-body{max-height:0;overflow:hidden;transition:max-height .32s ease}\n.oc-faq-body.open{max-height:500px}\n.oc-faq-ans{padding:2px 14px 14px 48px;font-size:0.96em;color:#6b7280;line-height:1.8}\u003c\/style\u003e\n\u003cdiv class=\"rec\"\u003e\n\n  \u003cdiv class=\"rec-badge\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-map-pin.svg\" alt=\"\"\u003e\"Hiring Now\" Vinyl Banner\u003c\/div\u003e\n\n  \u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eHiring Now Vinyl Banner — Attract candidates directly at your factory gate. Fast printing, low cost.\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cp class=\"rec-tag\"\u003eHiring banner · 440–510 gsm vinyl · Factory\/Office front · Fence\/Frame mounted, Freestanding\u003c\/p\u003e\n\n\n  \u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"how-to-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eHighlights\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cdiv class=\"rec-hero\"\u003e\n\n    \u003cdiv\u003e\n\n      \u003cp class=\"rec-prose\"\u003e\"Hiring Now\" vinyl banners are a field medium that directly attracts candidates from traffic points near factories or offices. Low cost, fast production, and job information can be changed for each recruitment cycle.\u003c\/p\u003e\n\n      \u003cp class=\"rec-prose\"\u003eThe most attractive keywords are \"Urgent\" and \"Hiring Many\" — short, concise messages with clear phone numbers that can be read from passing vehicles.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"rec-aside\"\u003e\n\n      \u003cdiv class=\"rec-aside-ttl\"\u003eKey information on the banner\u003c\/div\u003e\n\n      \u003cdiv class=\"rec-aside-row\"\u003e\n\n\u003cspan\u003e★\u003c\/span\u003e\u003cspan\u003e\"Hiring Urgently\"\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n      \u003cdiv class=\"rec-aside-row\"\u003e\n\n\u003cspan\u003e★\u003c\/span\u003e\u003cspan\u003eDesired job positions\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n      \u003cdiv class=\"rec-aside-row\"\u003e\n\n\u003cspan\u003e★\u003c\/span\u003e\u003cspan\u003eClear, large phone number\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n      \u003cdiv class=\"rec-aside-row\"\u003e\n\n\u003cspan\u003e→\u003c\/span\u003e\u003cspan\u003eQualifications\/Experience\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n      \u003cdiv class=\"rec-aside-row\"\u003e\n\n\u003cspan\u003e→\u003c\/span\u003e\u003cspan\u003eSalary\/Benefits\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n      \u003cdiv class=\"rec-aside-row\"\u003e\n\n\u003cspan\u003e→\u003c\/span\u003e\u003cspan\u003eQR Line for applications\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"rec-row\"\u003e\n\n    \u003cspan class=\"\"\u003eFactory\u003c\/span\u003e\u003cspan class=\"\"\u003eWarehouse\u003c\/span\u003e\n    \u003cspan class=\"\"\u003eRetail Store\u003c\/span\u003e\u003cspan class=\"\"\u003eConstruction\u003c\/span\u003e\u003cspan class=\"\"\u003eService\u003c\/span\u003e\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"rec-feats\"\u003e\n\n    \u003cdiv class=\"rec-feat\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-zap.svg\" alt=\"\"\u003e\u003cstrong\u003eFast Production 1–3 Days\u003c\/strong\u003e\u003cp\u003eUrgent hiring? Order today, get results this week.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"rec-feat\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-image.svg\" alt=\"\"\u003e\u003cstrong\u003eTemplates Available\u003c\/strong\u003e\u003cp\u003eOur team has ready-made templates. Just provide the position and phone number.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"rec-feat\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/oc-icon-outdoor.svg\" alt=\"\"\u003e\u003cstrong\u003eWeather Resistant\u003c\/strong\u003e\u003cp\u003e440–510 gsm vinyl with UV ink lasts 6 months–3 years.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003ctable class=\"rec-tbl\"\u003e\n\n    \u003cthead\u003e\u003ctr\u003e\n\n\u003cth\u003eItem\u003c\/th\u003e\n\n\u003cth\u003eDetails\u003c\/th\u003e\n\n\u003cth\u003eRemarks\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\u003c\/thead\u003e\n\n    \u003ctbody\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eMaterial\u003c\/th\u003e\n\n\u003ctd\u003e440–510 gsm vinyl\u003c\/td\u003e\n\n\u003ctd\u003e440=Temporary 510=Permanent\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003ePopular Sizes\u003c\/th\u003e\n\n\u003ctd\u003e60×120, 90×180, 120×240 cm.\u003c\/td\u003e\n\n\u003ctd\u003eCustom sizes available\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eFinishing\u003c\/th\u003e\n\n\u003ctd\u003eHemmed edges, eyelets\u003c\/td\u003e\n\n\u003ctd\u003eCan be strung on poles, attached to fences\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n      \u003ctr\u003e\n\n\u003cth\u003eLead Time\u003c\/th\u003e\n\n\u003ctd\u003e1–3 business days\u003c\/td\u003e\n\n\u003ctd\u003eFor urgent jobs, please notify when ordering\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n    \u003c\/tbody\u003e\n\n  \u003c\/table\u003e\n\n\n  \u003cdiv class=\"rec-cta oc-cta\"\u003e\n\n    \u003cdiv\u003e\n\n\u003cstrong\u003eOrder a hiring banner\u003c\/strong\u003e\u003cp\u003eProvide job position, size, contact number. Production and delivery in 1–3 days.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n    \u003cdiv class=\"rec-btns\"\u003e\n\n      \u003ca href=\"https:\/\/lin.ee\/uDrVbvY\" style=\"display:inline-block;padding:9px 18px;border-radius:999px;background:linear-gradient(90deg,#14c9df,#17a9bb,#818CF8,#A78BFA);background-size:200% 100%;color:#fff!important;font-weight:700;font-size:0.82em;text-decoration:none;white-space:nowrap\"\u003eLINE to Order\u003c\/a\u003e\n      \u003ca href=\"#\" class=\"rec-btn2\"\u003eView examples\u003c\/a\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"divline\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"news-active-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"oc-bar-wrap\"\u003e\n\n\u003cdiv class=\"oc-bar\"\u003e\u003c\/div\u003e\n\n\u003cdiv\u003e\u003ch2\u003eFAQ\u003c\/h2\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cdiv class=\"oc-faq\"\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e1\u003c\/span\u003e\u003cspan\u003eCan I order without artwork?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eYes, we have ready-to-use hiring banner templates. Just provide the position, phone number, and desired information, and our team will design it for you.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e2\u003c\/span\u003e\u003cspan\u003eCan I order multiple banners with different information?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eYes, you can order any quantity, and each banner can have different information. The price per piece decreases with the quantity ordered.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"oc-faq-i\"\u003e\n\n\u003cbutton class=\"oc-faq-btn\"\u003e\u003cspan class=\"oc-faq-num\"\u003e3\u003c\/span\u003e\u003cspan\u003eWhat is the MOQ?\u003c\/span\u003e\u003csvg class=\"oc-faq-chev\" viewbox=\"0 0 24 24\"\u003e\u003cpolyline points=\"6 9 12 15 18 9\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003cdiv class=\"oc-faq-body\"\u003e\u003cdiv class=\"oc-faq-ans\"\u003eThere is no minimum order quantity. You can order from 1 piece.\u003c\/div\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"ไม่มี Artwork ทำได้ไหม?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"มี Template พร้อมใช้ แจ้งข้อมูลมาได้เลย\"}},{\"@type\":\"Question\",\"name\":\"หลายป้ายข้อมูลต่างกันได้ไหม?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ได้ทุกจำนวน ราคาต่อชิ้นลดตามจำนวน\"}},{\"@type\":\"Question\",\"name\":\"MOQ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ไม่มีขั้นต่ำ 1 ชิ้น\"}}]}\u003c\/script\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e(function(){document.querySelectorAll('#rec-faq .rec-faq-q').forEach(function(q){q.addEventListener('click',function(){var o=this.classList.contains('open');document.querySelectorAll('#rec-faq .rec-faq-q').forEach(function(x){x.classList.remove('open');x.nextElementSibling.style.display='none'});if(!o){this.classList.add('open');this.nextElementSibling.style.display='block'}})})})();\u003c\/script\u003e\n\u003cscript\u003e(function(){document.querySelectorAll('.oc-faq-btn').forEach(function(btn){btn.addEventListener('click',function(){var item=btn.closest('.oc-faq-i'),faq=btn.closest('.oc-faq'),isOpen=item.classList.contains('open');faq.querySelectorAll('.oc-faq-i').forEach(function(i){i.classList.remove('open');i.querySelector('.oc-faq-body').classList.remove('open');});if(!isOpen){item.classList.add('open');item.querySelector('.oc-faq-body').classList.add('open');}});});})()\u003c\/script\u003e\u003c\/section\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":46135567450334,"sku":"","price":180.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/image_129ae3d3-fe80-4353-a57c-64609cb41e57.jpg?v=1760547255"},{"product_id":"vinyl-on-wood-frame","title":"Vinyl Banner on Wooden Frame","description":"\u003csection class=\"desc_container\"\u003e\u003c!-- Short summary --\u003e\n\u003cp\u003e\u003cb\u003eHigh-resolution printed vinyl banner\u003c\/b\u003e stretched taut over a pre-made wooden frame — easy to install, suitable for wall hanging or tabletop\/promotional displays. Sharp imagery and professional appearance.\u003c\/p\u003e\n\u003c!-- Long description --\u003e\n\u003cp\u003eThe vinyl banner on wooden frame is produced using sign-grade PVC vinyl printed with \u003cb\u003eInkjet\/UV\u003c\/b\u003e for vivid, fade-resistant colors. With waterproof specs and additional lamination it can be used outdoors. Our team stretches the vinyl tightly over a pre-made wooden frame to achieve a \u003cb\u003esmooth face and crisp edges\u003c\/b\u003e. Ideal for promotional banners, storefront signs, or event backdrops. We offer design, printing, edge-trimming, frame stretching, and nationwide delivery\/installation services.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e { \"@context\": \"https:\/\/schema.org\", \"@type\": \"Product\", \"name\": \"Vinyl Banner on Wooden Frame\", \"description\": \"High-resolution printed vinyl stretched taut over a pre-made wooden frame. Suitable for wall hanging and tabletop promotional displays — design, print, edge trim, frame stretching, and nationwide delivery\/installation available.\", \"url\": \"https:\/\/www.octopus.co.th\/products\/vinyl-on-wood-frame\", \"brand\": { \"@type\": \"Organization\", \"name\": \"Octopus Media Solutions\", \"url\": \"https:\/\/www.octopus.co.th\/\" }, \"offers\": { \"@type\": \"Offer\", \"priceCurrency\": \"THB\", \"price\": \"99.00\", \"priceSpecification\": { \"@type\": \"UnitPriceSpecification\", \"priceCurrency\": \"THB\", \"price\": \"99.00\", \"referenceQuantity\": { \"@type\": \"QuantitativeValue\", \"value\": 1, \"unitCode\": \"MTK\" }, \"unitText\": \"per sqm\" } } } \u003c\/script\u003e \u003c!-- Key features --\u003e\n\u003ch2\u003eKey features \/ Highlights\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrinted with \u003cb\u003eInkjet\/UV\u003c\/b\u003e at high resolution for accurate CI color matching\u003c\/li\u003e\n\u003cli\u003eSign-grade PVC vinyl (choose thickness to suit the application)\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eStretched tightly over a wooden frame\u003c\/b\u003e to provide a smooth face — suitable for wall hanging or in-store display\u003c\/li\u003e\n\u003cli\u003eFinishes: \u003cb\u003eHem \u0026amp; Grommet\u003c\/b\u003e \/ matte or gloss laminate \/ frame tape\u003c\/li\u003e\n\u003cli\u003eEasy install \u0026amp; removal — ideal for temporary use and reusable if stored properly\u003c\/li\u003e\n\u003cli\u003eCustom sizes available and support for \u003cb\u003eprint-ready files\u003c\/b\u003e (AI\/PDF\/PNG)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!-- Recommended specs --\u003e\u003c!-- Wooden frame types --\u003e\n\u003cdiv class=\"grayBG\"\u003e\n\u003ch3\u003eWooden frame options (select by job)\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eEucalyptus timber\u003c\/b\u003e — good strength-to-weight, cost-effective and suitable for general \/ frequent use\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eFinger-jointed\/joist timber (joint wood)\u003c\/b\u003e — smooth surface and clean framing finish, ideal for jobs requiring a neater appearance\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003ci\u003eStandard frame thickness:\u003c\/i\u003e 2–4 cm nominal width, adjustable by banner size and weight. For \u003ci\u003eoutdoor use\u003c\/i\u003e we recommend applying a moisture-resistant coating to the timber.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- Care \u0026 storage --\u003e\n\u003ch2\u003eCare \u0026amp; storage recommendations\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFor outdoor use: choose vinyl ≥ 540 gsm and add UV lamination to reduce fading\u003c\/li\u003e\n\u003cli\u003eStore in a dry place and \u003cb\u003edo not roll too tightly\u003c\/b\u003e for long-term storage\u003c\/li\u003e\n\u003cli\u003eClean with a soft cloth and mild soapy water; avoid vigorous scrubbing\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!-- CTA --\u003e\n\u003cp\u003e\u003cb\u003eOrder \/ Request a quote:\u003c\/b\u003e Message our LINE Official \u003ca href=\"https:\/\/page.line.me\/pwy1559t\"\u003ehttps:\/\/page.line.me\/pwy1559t\u003c\/a\u003e or see related signage: \u003ca href=\"https:\/\/www.octopus.co.th\/collections\/signage\"\u003ehttps:\/\/www.octopus.co.th\/collections\/signage\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/section\u003e\n\u003cp\u003e::contentReference[oaicite:0]{index=0}\u003c\/p\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":47657442279646,"sku":null,"price":99.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_stretched_on_wooden_frame.jpg?v=1762399806"},{"product_id":"mesh-vinyl-banner","title":"mesh vinyl banner","description":"\u003cstyle\u003e\n  .vn {\n    --c:      #22D3C8;\n    --i:      #818CF8;\n    --i-l:    #EEF2FF;\n    --l:      #A78BFA;\n    --l-d:    #7C3AED;\n    --l-l:    #F3F0FF;\n    --grad:   linear-gradient(90deg, #22D3C8, #818CF8, #A78BFA);\n    --cyan-v:  #0ec5db;\n    --cyan-dk: #0d7a8a;\n    --cyan-mid:#c2edf2;\n    --white:   #ffffff;\n    --surface: #f7fbfc;\n    --text:    #162028;\n    --text-2:  #2e4452;\n    --muted:   #627a88;\n    --muted-lt:#9ab0bc;\n    --border:  #ddeef2;\n    --border-lt:#eef6f8;\n    --ink:     #1A202C;\n    --ink-70:  #374151;\n    --ink-40:  #6B7280;\n    --ink-15:  #E5E7EB;\n    --r-lg:   20px;\n    --shadow-tbl: 0 2px 16px rgba(100,100,160,.08);\n    --radius:  14px;\n    --transition: all 0.22s cubic-bezier(0.4,0,0.2,1);\n    --row-even: #FAFBFF;\n    --disabled: #cccccc;\n  \n    color: var(--text);\n    background: var(--white);\n    -webkit-font-smoothing: antialiased;\n  }\n\n  \n  @keyframes vn-rb {\n    0%   { background-position: 0% }\n    100% { background-position: 300% }\n  }\n  .vn-glow {\n    background: linear-gradient(90deg, var(--cyan-v) 0%, #22d3ee 25%, var(--i) 55%, var(--l) 70%, var(--cyan-v) 100%);\n    background-size: 280% auto;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n    background-clip: text;\n    animation: vn-rb 6s ease-in-out infinite alternate;\n    font-weight: 900;\n    letter-spacing: -0.5px;\n  }\n  .vn-heading {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 12px;\n    margin-bottom: 32px;\n  }\n  .vn-heading-bar {\n    width: 3px;\n    height: 26px;\n    border-radius: 99px;\n    background: linear-gradient(180deg, var(--cyan-v), var(--cyan-dk));\n    flex-shrink: 0;\n    opacity: 0.85;\n  }\n  .vn-heading h2 {\n    font-size: 1.65em;\n    font-weight: 700;\n    margin: 0;\n    color: var(--text);\n    letter-spacing: -0.3px;\n  }\n  .vn-heading h2 em {\n    font-style: normal;\n    color: var(--cyan-dk);\n  }\n  .vn-intro {\n    background: linear-gradient(160deg, #d8f2f6 0%, #e8f9fb 40%, #f0fbfc 100%);\n    position: relative;\n    text-align: center;\n    padding: 56px 24px 60px;\n    border-bottom: 1px solid var(--border);\n  }\n  .vn-intro::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background-image:\n      radial-gradient(circle at 20% 50%, rgba(14,197,219,.07) 0%, transparent 55%),\n      radial-gradient(circle at 80% 30%, rgba(129,140,248,.05) 0%, transparent 50%);\n    pointer-events: none;\n  }\n  .vn-intro-inner {\n    max-width: 760px;\n    margin: 0 auto;\n    position: relative;\n  }\n  .vn-intro p {\n    font-size: 1.0em;\n    color: var(--text-2);\n    line-height: 1.9;\n    max-width: 660px;\n    margin: 0 auto 8px;\n  }\n  .vn-intro p strong {\n    color: var(--text);\n    font-weight: 600;\n  }\n  .vn-cta {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 24px;\n    padding: 13px 30px;\n    background: var(--text);\n    color: white !important;\n    font-size: 0.95em;\n    font-weight: 600;\n    border-radius: 8px;\n    text-decoration: none;\n    letter-spacing: 0.01em;\n    box-shadow: 0 4px 14px rgba(22,32,40,.22);\n    transition: var(--transition);\n  }\n  .vn-cta:hover {\n    background: #0d1a24;\n    transform: translateY(-1px);\n    box-shadow: 0 6px 20px rgba(22,32,40,.3);\n  }\n  .vn-promo-section {\n    background: linear-gradient(135deg, #d6f0f5 0%, #e4f7fa 60%, #daf5f8 100%);\n    border-bottom: 1px solid var(--cyan-mid);\n  }\n  .vn-promo {\n    display: flex;\n    align-items: stretch;\n    max-width: 1200px;\n    margin: 0 auto;\n  }\n  .vn-promo-img {\n    width: 38%;\n    flex-shrink: 0;\n    overflow: hidden;\n    background: var(--cyan-mid);\n    position: relative;\n  }\n  .vn-promo-img::after {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(90deg, transparent 70%, rgba(214,240,245,.4) 100%);\n    pointer-events: none;\n  }\n  .vn-promo-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    min-height: 240px;\n    transition: transform .5s ease;\n  }\n  .vn-promo-img:hover img {\n    transform: scale(1.03);\n  }\n  .vn-promo-body {\n    flex: 1;\n    padding: 44px 52px;\n    text-align: left;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    gap: 4px;\n  }\n  .vn-promo-body h3 {\n    font-size: 2.15em;\n    font-weight: 900;\n    margin: 0 0 14px;\n    line-height: 1.2;\n    letter-spacing: -0.6px;\n  }\n  .vn-promo-sub {\n    font-size: 1.05em;\n    font-weight: 600;\n    color: var(--text);\n    margin-bottom: 10px;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n  .vn-promo-sub::before {\n    content: '';\n    display: inline-block;\n    width: 20px;\n    height: 2px;\n    background: var(--cyan-dk);\n    border-radius: 99px;\n    flex-shrink: 0;\n  }\n  .vn-promo-body p {\n    font-size: 0.97em;\n    color: var(--muted);\n    line-height: 1.8;\n    margin: 0;\n    max-width: 480px;\n  }\n  .vn-section {\n    padding: 52px 0;\n    border-bottom: 1px solid var(--border-lt);\n  }\n  .vn-section:last-child {\n    border-bottom: none;\n  }\n  .vn-table-card {\n    background: var(--white);\n    border-radius: var(--r-lg);\n    border: 1px solid rgba(200,200,240,.4);\n    box-shadow: var(--shadow-tbl);\n    overflow: hidden;\n  }\n  .vn-instr {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 10px 18px;\n    background: var(--i-l);\n    border-bottom: 1px solid rgba(200,200,240,.3);\n    font-size: 12px;\n    color: var(--l-d);\n    font-weight: 500;\n  }\n  .vn-instr-dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--i);\n    flex-shrink: 0;\n  }\n  .vn-tbl-wrap {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    scrollbar-width: thin;\n    scrollbar-color: rgba(129,140,248,.28) transparent;\n  }\n  .vn-tbl-wrap::-webkit-scrollbar {\n    height: 4px;\n  }\n  .vn-tbl-wrap::-webkit-scrollbar-track {\n    background: transparent;\n  }\n  .vn-tbl-wrap::-webkit-scrollbar-thumb {\n    background: rgba(129,140,248,.28);\n    border-radius: 99px;\n  }\n  .vn-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 12px;\n    table-layout: auto;\n    min-width: 540px;\n  }\n  .vn-table thead tr {\n    position: relative;\n  }\n  .vn-table thead th {\n    background: var(--white);\n    padding: 12px 8px 10px;\n    font-size: 10.5px;\n    font-weight: 700;\n    color: var(--ink-40);\n    text-align: center;\n    white-space: normal;\n    word-break: keep-all;\n    line-height: 1.35;\n    border-bottom: 1.5px solid var(--ink-15);\n    letter-spacing: 0.01em;\n    vertical-align: bottom;\n  }\n  .vn-table thead th:first-child {\n    text-align: left;\n    padding-left: 14px;\n    position: sticky;\n    left: 0;\n    z-index: 30;\n    background: var(--white);\n    font-size: 10.5px;\n    min-width: 120px;\n    max-width: 140px;\n  }\n  .vn-table thead tr::after {\n    content: '';\n    display: block;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    height: 2px;\n    background: var(--grad);\n    background-size: 300%;\n    animation: vn-rb 5s linear infinite;\n  }\n  .vn-table tbody tr {\n    border-bottom: 1px solid var(--ink-15);\n    cursor: pointer;\n    transition: background .12s;\n  }\n  .vn-table tbody tr:last-child {\n    border-bottom: none;\n  }\n  .vn-table tbody tr:nth-child(even) td {\n    background: var(--row-even);\n  }\n  .vn-table tbody tr:nth-child(even) td:first-child {\n    background: var(--row-even);\n  }\n  .vn-table tbody tr:hover td {\n    background: var(--i-l) !important;\n  }\n  .vn-table tbody tr:hover td:first-child {\n    background: var(--i-l) !important;\n    color: var(--l-d) !important;\n  }\n  .vn-table td {\n    padding: 10px 8px;\n    text-align: center;\n    color: var(--ink-70);\n    transition: background .12s;\n    white-space: nowrap;\n    vertical-align: middle;\n  }\n  .vn-table td:first-child {\n    position: sticky;\n    left: 0;\n    z-index: 5;\n    background: var(--white);\n    font-weight: 700;\n    color: var(--ink);\n    font-size: 11.5px;\n    text-align: left;\n    padding-left: 14px;\n    border-right: 1px solid rgba(200,200,240,.35);\n    white-space: normal;\n    word-break: keep-all;\n    line-height: 1.45;\n  }\n\n  \n  @media (min-width: 769px) {\n    .vn-tbl-wrap  { overflow-x: visible; }\n\n    .vn-table {\n      table-layout: fixed;\n      min-width: 0;               \n      font-size: 12.5px;\n    }\n\n    \n    .vn-table thead th:first-child {\n      width: 22%;\n      min-width: 0;\n      max-width: none;\n      font-size: 11.5px;\n    }\n\n    \n    .vn-table thead th:not(:first-child) {\n      width: calc(78% \/ 6);\n    }\n\n    \n    .vn-table thead th { font-size: 11px;  padding: 14px 8px 12px; }\n    .vn-table td       { padding: 11px 10px; white-space: nowrap; }\n    .vn-table td:first-child { font-size: 12px; }\n  }\n  .vn-table thead th.col-hi {\n    background: var(--i-l) !important;\n    color: var(--l-d);\n  }\n  .vn-table td.col-hi {\n    background: rgba(238,242,255,.55) !important;\n  }\n  .vn-table td.sel-cell {\n    background: var(--grad) !important;\n    background-size: 200% !important;\n    color: var(--white) !important;\n    font-weight: 700 !important;\n    border-radius: 8px;\n    animation: vn-rb 3s linear infinite;\n    box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35), 0 2px 10px rgba(129,140,248,.35);\n  }\n  .vn-table td.sel-cell span { color: var(--white) !important; }\n  .vn-table td.h1 {\n    background-color: rgba(34,211,200,.04);\n  }\n  .vn-table td.h2 {\n    background-color: rgba(34,211,200,.09);\n  }\n  .vn-table td.h3 {\n    background-color: rgba(129,140,248,.07);\n  }\n  .vn-table td.h4 {\n    background-color: rgba(129,140,248,.13);\n  }\n  .vn-table td.h5 {\n    background-color: rgba(167,139,250,.10);\n  }\n  .vn-table-note {\n    font-size: 0.82em;\n    color: var(--muted);\n    line-height: 1.8;\n    padding: 16px 2px 0;\n    max-width: 860px;\n    margin: 0 auto;\n  }\n  .vn-table-note p {\n    margin: 0 0 4px;\n    padding-left: 1em;\n    text-indent: -1em;\n  }\n  .vn-table-note p::before {\n    content: '* ';\n    color: var(--cyan-dk);\n    font-weight: 600;\n  }\n  .vn-options-section {\n    padding: 48px 0 52px;\n    border-bottom: 1px solid var(--border-lt);\n  }\n  .vn-options-grid {\n    display: grid;\n    grid-template-columns: repeat(4,1fr);\n    gap: 16px;\n  }\n  .vn-option-card {\n    border: 1.5px solid var(--border);\n    border-radius: var(--radius);\n    overflow: hidden;\n    box-shadow: 0 1px 4px rgba(14,122,138,.06);\n    background: var(--white);\n    transition: var(--transition);\n    text-align: center;\n    cursor: pointer;\n  }\n  .vn-option-card:hover {\n    box-shadow: 0 10px 36px rgba(14,122,138,.16);\n    transform: translateY(-4px);\n    border-color: var(--cyan-v);\n  }\n  .vn-option-img {\n    aspect-ratio: 1;\n    background: var(--surface);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    overflow: hidden;\n  }\n  .vn-option-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .4s ease;\n  }\n  .vn-option-card:hover .vn-option-img img {\n    transform: scale(1.05);\n  }\n  .vn-free-badge {\n    position: absolute;\n    bottom: 10px;\n    right: 10px;\n    background: linear-gradient(135deg, var(--cyan-v), var(--cyan-dk));\n    color: white;\n    font-size: 0.82em;\n    font-weight: 700;\n    padding: 5px 13px;\n    border-radius: 99px;\n    letter-spacing: .03em;\n    box-shadow: 0 2px 8px rgba(14,122,138,.3);\n  }\n  .vn-paid-badge {\n    position: absolute;\n    bottom: 10px;\n    right: 10px;\n    background: #f06a22;\n    color: white;\n    font-size: 0.82em;\n    font-weight: 700;\n    padding: 5px 13px;\n    border-radius: 99px;\n    letter-spacing: .03em;\n    box-shadow: 0 2px 8px rgba(240,106,34,.3);\n  }\n  .vn-option-label {\n    padding: 14px 10px;\n    font-size: 0.95em;\n    font-weight: 600;\n    color: var(--text);\n    border-top: 1px solid var(--border-lt);\n  }\n  .vn-quality-section {\n    padding: 52px 0 56px;\n  }\n  .vn-quality {\n    display: grid;\n    grid-template-columns: 1fr 400px;\n    gap: 18px;\n    align-items: start;\n  }\n  .vn-quality-main-img {\n    border-radius: var(--radius);\n    overflow: hidden;\n    aspect-ratio: 4\/3;\n    background: var(--surface);\n    box-shadow: 0 2px 10px rgba(14,122,138,.08);\n  }\n  .vn-quality-main-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .5s ease;\n  }\n  .vn-quality-main-img:hover img {\n    transform: scale(1.03);\n  }\n  .vn-quality-right {\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n  }\n  .vn-quality-main-img { cursor: zoom-in; }\n  .vn-quality-sub-img {\n    border-radius: var(--radius);\n    overflow: hidden;\n    aspect-ratio: 4\/3;\n    background: var(--surface);\n    box-shadow: 0 1px 4px rgba(14,122,138,.06);\n    cursor: zoom-in;\n  }\n  .vn-quality-sub-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .4s ease;\n  }\n  .vn-quality-sub-img:hover img { transform: scale(1.04); }\n  .vn-lb {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 9999;\n    background: rgba(0,0,0,.82);\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    cursor: zoom-out;\n  }\n  .vn-lb.open { display: flex; }\n  .vn-lb img {\n    max-width: 100%;\n    max-height: 90vh;\n    border-radius: 10px;\n    box-shadow: 0 8px 40px rgba(0,0,0,.5);\n    object-fit: contain;\n    cursor: default;\n  }\n  .vn-lb-close {\n    position: absolute;\n    top: 16px; right: 20px;\n    background: none;\n    border: none;\n    color: var(--white);\n    font-size: 32px;\n    line-height: 1;\n    cursor: pointer;\n    opacity: .8;\n  }\n  .vn-lb-close:hover { opacity: 1; }\n  .vn-quality-text {\n    background: var(--white);\n    border: 1.5px solid var(--border);\n    border-radius: var(--radius);\n    padding: 24px;\n    box-shadow: 0 2px 10px rgba(14,122,138,.08);\n  }\n  .vn-quality-text h3 {\n    font-size: 1.2em;\n    font-weight: 700;\n    color: var(--text);\n    margin: 0 0 10px;\n    letter-spacing: -0.2px;\n  }\n  .vn-quality-text p {\n    font-size: 0.95em;\n    color: var(--muted);\n    line-height: 1.8;\n    margin: 0 0 18px;\n  }\n  .vn-btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    padding: 11px 24px;\n    background: linear-gradient(135deg, var(--cyan-v), var(--cyan-dk));\n    color: white !important;\n    font-size: 0.95em;\n    font-weight: 600;\n    border-radius: 99px;\n    text-decoration: none;\n    box-shadow: 0 4px 16px rgba(14,122,138,.28);\n    transition: var(--transition);\n    letter-spacing: .01em;\n  }\n  .vn-btn:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(14,122,138,.38);\n  }\n  .vn-faq-section {\n    padding: 52px 0 56px;\n    border-top: 1px solid var(--border-lt);\n  }\n  .vn-faq-label {\n    display: block;\n    text-align: center;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: .1em;\n    text-transform: uppercase;\n    background: var(--grad);\n    background-size: 300%;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n    background-clip: text;\n    animation: vn-rb 5s linear infinite;\n    margin-bottom: 10px;\n  }\n  .vn-faq-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0;\n    border-radius: var(--r-lg);\n    border: 1px solid rgba(200,200,240,.45);\n    overflow: hidden;\n    box-shadow: var(--shadow-tbl);\n    background: var(--white);\n    max-width: 860px;\n    margin: 0 auto;\n  }\n  .vn-faq-item {\n    border-bottom: 1px solid var(--ink-15);\n  }\n  .vn-faq-item:last-child {\n    border-bottom: none;\n  }\n  .vn-faq-q {\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    width: 100%;\n    padding: 18px 22px;\n    background: none;\n    border: none;\n    cursor: pointer;\n    text-align: left;\n    font-size: 14px;\n    font-weight: 600;\n    color: var(--ink);\n    line-height: 1.5;\n    transition: background .14s;\n    -webkit-tap-highlight-color: transparent;\n  }\n  .vn-faq-q:hover {\n    background: var(--i-l);\n  }\n  .vn-faq-item.open .vn-faq-q {\n    background: var(--i-l);\n    color: var(--l-d);\n    border-bottom: 1px solid rgba(200,200,240,.5);\n  }\n  .vn-faq-num {\n    flex-shrink: 0;\n    width: 26px;\n    height: 26px;\n    border-radius: 50%;\n    background: linear-gradient(135deg, var(--c), var(--i));\n    color: var(--white);\n    font-size: 11px;\n    font-weight: 700;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    line-height: 1;\n    box-shadow: 0 2px 8px rgba(129,140,248,.25);\n    transition: transform .2s;\n  }\n  .vn-faq-item.open .vn-faq-num {\n    background: linear-gradient(135deg, var(--i), var(--l));\n    transform: scale(1.1);\n  }\n  .vn-faq-q-text {\n    flex: 1;\n  }\n  .vn-faq-chevron {\n    flex-shrink: 0;\n    width: 20px;\n    height: 20px;\n    color: var(--muted-lt);\n    transition: transform .25s cubic-bezier(.4,0,.2,1), color .15s;\n  }\n  .vn-faq-item.open .vn-faq-chevron {\n    transform: rotate(180deg);\n    color: var(--l-d);\n  }\n  .vn-faq-a {\n    max-height: 0;\n    overflow: hidden;\n    transition: max-height .32s cubic-bezier(.4,0,.2,1);\n  }\n  .vn-faq-item.open .vn-faq-a {\n    max-height: 600px;\n  }\n  .vn-faq-a-inner {\n    padding: 0 22px 20px 62px;\n    font-size: 13.5px;\n    color: var(--muted);\n    line-height: 1.85;\n  }\n  .vn-faq-a-inner strong {\n    color: var(--text);\n    font-weight: 600;\n  }\n  .vn-faq-a-inner a {\n    color: var(--cyan-dk);\n    text-decoration: none;\n  }\n  .vn-faq-a-inner a:hover {\n    text-decoration: underline;\n  }\n  .vn-faq-a-inner ul {\n    margin: 10px 0 0 0;\n    padding-left: 18px;\n  }\n  .vn-faq-a-inner ul li {\n    margin-bottom: 5px;\n  }\n\n  \n  @media (max-width: 900px) {\n    .vn-quality { grid-template-columns: 1fr; }\n    .vn-options-grid { grid-template-columns: 1fr 1fr; gap: 12px; }\n  }\n\n  @media (max-width: 680px) {\n    .vn-promo { flex-direction: column; }\n    .vn-promo-img { width: 100%; max-height: 220px; }\n    .vn-promo-body { padding: 28px 24px; }\n    .vn-promo-body h3 { font-size: 1.6em; }\n    .vn-heading h2 { font-size: 1.25em; }\n    .vn-section, .vn-options-section, .vn-quality-section { padding: 36px 0; }\n    .vn-faq-a-inner { padding-left: 22px; }\n    .vn-faq-q { font-size: 13px; padding: 16px 16px; }\n    .vn-faq-a-inner { padding: 0 16px 18px 16px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"vn\"\u003e\n\u003c!-- ══ 1. INTRO HERO ══ --\u003e\n\u003cdiv class=\"vn-intro\"\u003e\n\u003cdiv class=\"vn-intro-inner\"\u003e\n\u003ch2\u003eMesh Vinyl Banner Printing Service\u003cbr\u003e\u003cem\u003e\"Guaranteed Quality in Every Square Inch\"\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003cp\u003eWe provide \u003cstrong\u003eOutdoor Inkjet Vinyl Banner Printing\u003c\/strong\u003e in a wide range of grades, from \u003cstrong\u003eEconomy – Super Premium\u003c\/strong\u003e, using high-quality Latex \/ UV printing systems. Colours are vivid, sharp, weather-resistant, and printed at up to \u003cstrong\u003e1440 dpi\u003c\/strong\u003e, suitable for all types of advertising and outdoor signage.\u003c\/p\u003e\n\u003cp\u003eSupports \u003cstrong\u003eedge folding, pole pockets, and eyelets\u003c\/strong\u003e, and can be produced in any size, from event signage, exhibition booths, storefront banners, project signs, up to \u003cstrong\u003elarge-scale billboard vinyl banners\u003c\/strong\u003e.\u003c\/p\u003e\n\u003ca href=\"https:\/\/www.octopus.co.th\/blogs\/how-to\/vinyl-banner-type\" class=\"vn-cta\" rel=\"noopener\" target=\"_blank\"\u003eWhat is a vinyl banner? Vinyl material specs →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══ 2. PROMO BANNER ══ --\u003e\n\u003cdiv class=\"vn-promo-section\"\u003e\n\u003cdiv class=\"vn-promo\"\u003e\n\u003cdiv class=\"vn-promo-img\"\u003e\u003cimg alt=\"Affordable inkjet vinyl banner printing\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/products\/vinyl100-365088-130093.jpg?v=1754979353\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"vn-promo-body\"\u003e\n\u003ch3\u003e\u003cspan class=\"vn-glow\"\u003eBest Value Vinyl Banner Starting from 99 THB\/sq.m.\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp class=\"vn-promo-sub\"\u003eFor short-term advertising and promotion, 3–6 months\u003c\/p\u003e\n\u003cp\u003eIdeal for brands that need large-quantity production for publicity or temporary campaigns, with strong impact at a budget-friendly price.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══ 3. PRICE TABLE ══ --\u003e\n\u003csection class=\"vn-section desc_container page-width\"\u003e\n\u003cdiv class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eInkjet Vinyl Banner Printing Price Table\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003c!-- TABLE CARD matching plaswood reference exactly --\u003e\n\u003cdiv class=\"vn-table-card\"\u003e\n\u003cdiv class=\"vn-instr\"\u003e\n\u003cspan class=\"vn-instr-dot\"\u003e\u003c\/span\u003e Hover rows to highlight · Click a cell to view the selected price\u003c\/div\u003e\n\u003cdiv class=\"vn-tbl-wrap\"\u003e\n\u003ctable id=\"vinylPriceTable\" class=\"vn-table\"\u003e\n\u003cthead\u003e\n\u003ctr id=\"vinylTheadRow\"\u003e\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody id=\"vinylPriceBody\"\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-table-note\"\u003e\n\u003cp\u003eThese prices are for artwork sizes of 3 sq.m. and above, excluding installation and delivery.\u003c\/p\u003e\n\u003cp\u003ePlease compare specifications carefully, including thickness, fibre, and whiteness. Vinyl made in China, Taiwan, Korea, America, and Germany can vary significantly in price. Available options include frontlit vinyl, blackout vinyl, double-sided vinyl, fire-retardant vinyl, mesh vinyl, vinyl for sticker mounting, translucent vinyl, and more.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══ 4. FINISHING OPTIONS ══ --\u003e\n\u003csection class=\"vn-options-section desc_container page-width\"\u003e\n\u003cdiv class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eOPTION \u003cem\u003eVinyl Banner Edge Finishing\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-options-grid\"\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_1.jpg\" alt=\"Standard cut edge\"\u003e \u003cspan class=\"vn-free-badge\"\u003eFREE\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003eStandard Cut Edge\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_2.jpg\" alt=\"Folded edge\"\u003e \u003cspan class=\"vn-free-badge\"\u003eFREE\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003eFolded Edge\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_3.jpg\" alt=\"Eyelets\"\u003e \u003cspan class=\"vn-free-badge\"\u003eFREE\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003eEyelets\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-card\"\u003e\n\u003cdiv class=\"vn-option-img\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Vinyl_Edge_Option_4.jpg\" alt=\"Pole pocket\"\u003e \u003cspan class=\"vn-paid-badge\"\u003e+100฿\/m\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-option-label\"\u003ePole Pocket\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══ 5. QUALITY SECTION ══ --\u003e\n\u003csection class=\"vn-quality-section desc_container page-width\"\u003e\n\u003cdiv class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eConfidence in \u003cem\u003eQuality\u003c\/em\u003e from Every Angle\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vn-quality\"\u003e\n\u003cdiv aria-label=\"View large image\" role=\"button\" id=\"vnQualityImg\" class=\"vn-quality-main-img\" tabindex=\"0\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Premium-Vinyl.jpg\" alt=\"High-quality premium vinyl\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"vn-quality-right\"\u003e\n\u003cdiv aria-label=\"View large image\" role=\"button\" id=\"vnPreviewImg\" class=\"vn-quality-sub-img\" tabindex=\"0\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/Premium-Vinyl1.jpg\" alt=\"Premium vinyl details\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"vn-quality-text\"\u003e\n\u003ch3\u003eHigh-Quality Premium Vinyl\u003c\/h3\u003e\n\u003cp\u003eFor projects that require richer colour range and stronger visual impact, you can rely on both our premium materials and our high-quality inkjet printing systems.\u003c\/p\u003e\n\u003ca href=\"https:\/\/www.octopus.co.th\/products\/vinyl-banner-comparison\" class=\"vn-btn\" rel=\"noopener\" target=\"_blank\"\u003eVinyl Grades →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- lightbox (shared) --\u003e\n\u003cdiv aria-modal=\"true\" role=\"dialog\" id=\"vnLb\" class=\"vn-lb\"\u003e\n\u003cbutton aria-label=\"Close\" class=\"vn-lb-close\"\u003e×\u003c\/button\u003e \u003cimg id=\"vnLbImg\" alt=\"\"\u003e\n\u003c\/div\u003e\n\u003c!-- ══ 6. FAQ SECTION ══ --\u003e\n\u003csection id=\"vinyl-faq\" class=\"vn-faq-section desc_container page-width\"\u003e\u003cspan class=\"vn-faq-label\"\u003eFrequently Asked Questions · FAQ\u003c\/span\u003e\n\u003cdiv style=\"margin-bottom: 36px;\" class=\"vn-heading\"\u003e\n\u003cdiv class=\"vn-heading-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eQuestions About \u003cem\u003eVinyl Banners\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv role=\"list\" class=\"vn-faq-list\"\u003e\n\u003c!-- Q1 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a1\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e1\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat is the difference between inkjet-printed vinyl banners and standard vinyl banners?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a1\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eInkjet outdoor vinyl banners use Solvent, eCo-Solvent, UV, or Latex inks sprayed directly onto the vinyl surface, producing vivid colour, sharp detail, and resolutions up to \u003cstrong\u003e1,440 dpi\u003c\/strong\u003e. They support large continuous prints without visible joins and are ideal for outdoor signs, event banners, and large advertising displays — unlike standard screen-printed vinyl, which has more limitations in colour and resolution.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Q2 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a2\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e2\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhich vinyl grade should I choose for outdoor use?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a2\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eIt depends on service life and budget:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eStandard Frontlit Vinyl (440 gsm)\u003c\/strong\u003e — suitable for short-term promotions, 3–6 months, cost-effective\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDURA Frontlit Vinyl (510 gsm)\u003c\/strong\u003e — thicker and more durable, suitable for medium-term outdoor use, 6–12 months\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePremium Vinyl (Frontlit Colour)\u003c\/strong\u003e — CrystalWhite surface with the most vibrant print colour, ideal for higher-end brand work\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMesh Vinyl\u003c\/strong\u003e — suitable for windy open areas such as fences or tall buildings, allowing air to pass through and reducing tearing\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Q3 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a3\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e3\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat is the difference between Solvent, eCo-Solvent, UV, and Latex printing systems?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a3\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eEach system has different strengths:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e4-colour Solvent\u003c\/strong\u003e — cost-effective, durable outdoors, suitable for economy jobs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e6-colour eCo-Solvent\u003c\/strong\u003e — brighter colour with wider gamut, the most popular choice for general signage\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e6-colour UV\u003c\/strong\u003e — sharpest and most durable output, instant-dry UV curable ink, ideal for top-quality projects\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e6-colour Latex\u003c\/strong\u003e — environmentally friendly water-based ink (HP Environment Latex), suitable for indoor areas, food exhibitions, or sites requiring lower VOC emissions\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Q4 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a4\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e4\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat edge finishing options are available, and are there additional charges?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a4\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eThere are 4 options:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eStandard cut edge\u003c\/strong\u003e — free, suitable for framed work or banners with existing support structures\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFolded edge\u003c\/strong\u003e — free, cleaner finish, stronger edge, helps prevent tearing\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEyelets\u003c\/strong\u003e — free, suitable for rope or wire hanging, with a standard eyelet spacing of 50 cm\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePole pocket\u003c\/strong\u003e — additional charge of \u003cstrong\u003e+100 THB\/metre\u003c\/strong\u003e for hanging with PVC or steel pipes\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Q5 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a5\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e5\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eWhat is the minimum starting price, and how is the price calculated?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a5\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003ePrices are calculated by \u003cstrong\u003efinished artwork area in square metres\u003c\/strong\u003e. The listed prices apply to jobs of \u003cstrong\u003e3 sq.m. and above\u003c\/strong\u003e, starting from \u003cstrong\u003e180 THB\/sq.m.\u003c\/strong\u003e for standard 4-colour Solvent vinyl up to \u003cstrong\u003e600 THB\/sq.m.\u003c\/strong\u003e for translucent Latex-printed vinyl — installation and delivery are not included. For smaller jobs under 3 sq.m., please contact us directly for a quotation.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Q6 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a6\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e6\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eHow should artwork files be prepared? What file formats do you accept?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a6\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eWe accept \u003cstrong\u003eAI, PDF, PSD, TIFF\u003c\/strong\u003e and high-resolution JPG\/PNG files, with these recommendations:\n\u003cul\u003e\n\u003cli\u003eVector files (AI\/PDF) are best for large-format work because they do not lose sharpness when enlarged\u003c\/li\u003e\n\u003cli\u003eRaster files should have at least \u003cstrong\u003e72–150 dpi at actual size\u003c\/strong\u003e for outdoor signs viewed from a distance\u003c\/li\u003e\n\u003cli\u003eSet colour mode to \u003cstrong\u003eCMYK\u003c\/strong\u003e for results closer to the printed output\u003c\/li\u003e\n\u003cli\u003ePlease allow at least 5–10 cm bleed around the artwork\u003c\/li\u003e\n\u003c\/ul\u003e\nOur team can check files free of charge before production.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Q7 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a7\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e7\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eHow many days does production and delivery take? Do you offer urgent service?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a7\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eProduction normally takes \u003cstrong\u003e2–5 working days\u003c\/strong\u003e after artwork confirmation and payment. Delivery options:\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eBangkok\u003c\/strong\u003e — delivered by Deliveree or Grab, typically within 1–2 hours\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUpcountry \/ Provincial areas\u003c\/strong\u003e — delivered via J\u0026amp;T Express or NIM Express within 1–2 days\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInternational\u003c\/strong\u003e — delivered via DHL within 3–7 days\u003c\/li\u003e\n\u003c\/ul\u003e\nFor urgent work, please contact our team via Line \u003cstrong\u003e@octopusdesign\u003c\/strong\u003e to check production queue availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Q8 --\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\" role=\"listitem\" class=\"vn-faq-item\"\u003e\n\u003cbutton aria-controls=\"faq-a8\" aria-expanded=\"false\" class=\"vn-faq-q\"\u003e \u003cspan aria-hidden=\"true\" class=\"vn-faq-num\"\u003e8\u003c\/span\u003e \u003cspan itemprop=\"name\" class=\"vn-faq-q-text\"\u003eDo you provide on-site installation? Which areas do you cover?\u003c\/span\u003e \u003csvg aria-hidden=\"true\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 20 20\" class=\"vn-faq-chevron\"\u003e\u003cpolyline points=\"5 8 10 13 15 8\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\" role=\"region\" id=\"faq-a8\" class=\"vn-faq-a\"\u003e\n\u003cdiv itemprop=\"text\" class=\"vn-faq-a-inner\"\u003eYes, we provide full installation service. Our team can handle general areas, high-rise facade work, Pylon Sign structures, and billboards — including after-hours work in the morning or at night according to shopping centre or building requirements. Coverage includes \u003cstrong\u003eBangkok and surrounding areas\u003c\/strong\u003e, and provincial coordination is available for larger projects. Contact us via Line \u003cstrong\u003e@octopusdesign\u003c\/strong\u003e or call \u003cstrong\u003e081-776-8329\u003c\/strong\u003e.\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- \/.vn-faq-list --\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ══ FAQPage JSON-LD Structured Data ══ --\u003e\n\u003cp\u003e\u003cscript type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"inLanguage\": \"en\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between inkjet-printed vinyl banners and standard vinyl banners?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Inkjet outdoor vinyl banners use Solvent, eCo-Solvent, UV, or Latex inks sprayed directly onto the vinyl surface, producing vivid colour, sharp detail, and resolutions up to 1,440 dpi. They support large continuous prints without visible joins and are ideal for outdoor signs, event banners, and large advertising displays.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Which vinyl grade should I choose for outdoor use?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It depends on service life and budget. Standard frontlit vinyl 440 gsm is suitable for short-term promotions, DURA frontlit 510 gsm is thicker and more durable, premium frontlit colour provides the most vibrant print quality, and mesh vinyl is suitable for windy open areas.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between Solvent, eCo-Solvent, UV, and Latex printing systems?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"4-colour Solvent is cost-effective and durable outdoors. 6-colour eCo-Solvent gives brighter colour and wider gamut. 6-colour UV offers the sharpest and most durable output. 6-colour Latex uses environmentally friendly water-based ink suitable for indoor or low-emission applications.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What edge finishing options are available, and are there additional charges?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"There are 4 options: standard cut edge free of charge, folded edge free of charge, eyelets free of charge with standard 50 cm spacing, and pole pocket with an additional charge of 100 THB per metre.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the minimum starting price, and how is the price calculated?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Prices are calculated by finished artwork area in square metres. The listed prices apply to jobs of 3 sq.m. and above, starting from 180 THB\/sq.m. for standard 4-colour Solvent vinyl up to 600 THB\/sq.m. for translucent Latex-printed vinyl.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How should artwork files be prepared? What file formats do you accept?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"We accept AI, PDF, PSD, TIFF, and high-resolution JPG\/PNG files. Vector files are best for large-format work. Raster files should have at least 72–150 dpi at actual size. CMYK mode is recommended, and 5–10 cm bleed should be allowed.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How many days does production and delivery take? Do you offer urgent service?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Production normally takes 2–5 working days after artwork confirmation and payment. Bangkok delivery is usually within 1–2 hours, provincial delivery within 1–2 days, and international delivery within 3–7 days. Urgent service is available upon request.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Do you provide on-site installation? Which areas do you cover?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes, we provide full installation service covering Bangkok and surrounding areas, including general areas, facade work, Pylon Sign structures, and billboards. Provincial coordination is available for larger projects.\"\n      }\n    }\n  ]\n}\n\u003c\/script\u003e \u003cscript\u003e\n(function() {\n\n  const COLS = ['Standard Frontlit Vinyl','Blackout Vinyl','DURA Frontlit Vinyl','Mesh Vinyl','Premium Frontlit Vinyl','Translucent Vinyl'];\n  const COL_SUBS = ['Frontlit STD','Frontlit lite','Frontlit DURA','Mesh','Frontlit Colour','Backlit UV'];\n\n  const INK = [\n    { label:'4-Colour Solvent Ink System',\n      dots:['#00aaee','#ee00ee','#ddcc00','#111'],\n      prices:[180,220,280,300,320,350] },\n    { label:'6-Colour eCo-Solvent Ink System',\n      dots:['#00aaee','#00ccff','#ee00ee','#cc00aa','#ddcc00','#111'],\n      prices:[230,280,350,350,400,400] },\n    { label:'6-Colour UV Ink System',\n      dots:['#00aaee','#00ccff','#ee00ee','#cc00aa','#ddcc00','#111'],\n      prices:[null,400,480,500,500,500] },\n    { label:'6-Colour Latex Ink System',\n      dots:['#00aaee','#00ccff','#ee00ee','#cc00aa','#ddcc00','#111'],\n      prices:[null,400,550,550,550,600] },\n  ];\n\n  const allPrices = INK.flatMap(r=\u003er.prices.filter(Boolean));\n  const minP = Math.min(...allPrices), maxP = Math.max(...allPrices);\n  function heat(p) {\n    if (!p) return '';\n    const r = (p - minP) \/ (maxP - minP);\n    return r\u003c.2?'h1':r\u003c.4?'h2':r\u003c.6?'h3':r\u003c.8?'h4':'h5';\n  }\n\n  let selRow = null, selCol = null;\n\n  const thr = document.getElementById('vinylTheadRow');\n  const thCells = [];\n\n  const thCorner = document.createElement('th');\n  thCorner.textContent = 'Ink System \\\\ Vinyl Type';\n  thr.appendChild(thCorner);\n\n  COLS.forEach((name, ci) =\u003e {\n    const th = document.createElement('th');\n    th.id = `vthc${ci}`;\n    th.innerHTML = `\u003cspan style=\"display:block;font-size:10.5px;font-weight:800;letter-spacing:.01em;white-space:normal;word-break:keep-all;line-height:1.3\"\u003e${name}\u003c\/span\u003e\n                    \u003cspan style=\"display:block;font-size:9.5px;font-weight:500;opacity:.72;margin-top:3px;white-space:nowrap;line-height:1.3\"\u003e${COL_SUBS[ci]}\u003c\/span\u003e`;\n    th.addEventListener('mouseenter', () =\u003e hiCol(ci));\n    th.addEventListener('mouseleave', () =\u003e clearCol(ci));\n    thr.appendChild(th);\n    thCells.push(th);\n  });\n\n  const tbody = document.getElementById('vinylPriceBody');\n  INK.forEach((row, ri) =\u003e {\n    const tr = document.createElement('tr');\n\n    const labelTd = document.createElement('td');\n    labelTd.id = `vtdh${ri}`;\n    const dotsHtml = row.dots.map(c=\u003e`\u003cspan style=\"display:inline-block;width:9px;height:9px;border-radius:50%;background:${c};box-shadow:0 0 0 1px rgba(0,0,0,.08)\"\u003e\u003c\/span\u003e`).join('');\n    labelTd.innerHTML = `\u003cdiv style=\"display:flex;flex-direction:column;gap:5px;align-items:flex-start\"\u003e\n      \u003cspan style=\"display:flex;gap:3px;flex-shrink:0\"\u003e${dotsHtml}\u003c\/span\u003e\n      \u003cspan style=\"font-size:11.5px;font-weight:600;color:var(--ink-70);white-space:normal;word-break:keep-all;line-height:1.4\"\u003e${row.label}\u003c\/span\u003e\n    \u003c\/div\u003e`;\n    tr.appendChild(labelTd);\n\n    row.prices.forEach((p, ci) =\u003e {\n      const td = document.createElement('td');\n      td.id = `vtd${ri}_${ci}`;\n      if (p) {\n        td.innerHTML = `\u003cspan style=\"font-weight:700;font-size:13px;color:var(--cyan-dk);white-space:nowrap\"\u003e${p.toLocaleString()} ฿\u003c\/span\u003e\u003cspan style=\"display:block;font-size:13px;color:var(--muted-lt);white-space:nowrap\"\u003e\/sq.m.\u003c\/span\u003e`;\n        td.className = heat(p);\n      } else {\n        td.innerHTML = `\u003cspan style=\"color:var(--disabled);font-size:1.1em;font-weight:300\"\u003e—\u003c\/span\u003e`;\n      }\n      if (p) td.addEventListener('click', () =\u003e pick(ri, ci));\n      tr.appendChild(td);\n    });\n\n    tbody.appendChild(tr);\n  });\n\n  function hiCol(ci) {\n    thCells[ci].classList.add('col-hi');\n    INK.forEach((_,ri) =\u003e {\n      const td = document.getElementById(`vtd${ri}_${ci}`);\n      if (td \u0026\u0026 !(ri===selRow \u0026\u0026 ci===selCol)) td.classList.add('col-hi');\n    });\n  }\n  function clearCol(ci) {\n    thCells[ci].classList.remove('col-hi');\n    INK.forEach((_,ri) =\u003e document.getElementById(`vtd${ri}_${ci}`)?.classList.remove('col-hi'));\n  }\n\n  function pick(ri, ci) {\n\n    if (selRow !== null) {\n      document.getElementById(`vtdh${selRow}`).style.cssText = '';\n      if (selCol !== null) document.getElementById(`vtd${selRow}_${selCol}`)?.classList.remove('sel-cell');\n    }\n\n    if (selRow===ri \u0026\u0026 selCol===ci) { selRow=selCol=null; return; }\n\n    selRow=ri; selCol=ci;\n    const hLbl = document.getElementById(`vtdh${ri}`);\n    hLbl.style.color = 'var(--l-d)';\n    hLbl.style.background = 'var(--l-l)';\n    const cell = document.getElementById(`vtd${ri}_${ci}`);\n    cell.classList.remove('col-hi');\n    cell.classList.add('sel-cell');\n  }\n})();\n\n(function() {\n  const items = document.querySelectorAll('.vn-faq-item');\n  items.forEach(item =\u003e {\n    const btn = item.querySelector('.vn-faq-q');\n    if (!btn) return;\n    btn.addEventListener('click', () =\u003e {\n      const isOpen = item.classList.contains('open');\n\n      items.forEach(i =\u003e {\n        i.classList.remove('open');\n        i.querySelector('.vn-faq-q')?.setAttribute('aria-expanded', 'false');\n      });\n\n      if (!isOpen) {\n        item.classList.add('open');\n        btn.setAttribute('aria-expanded', 'true');\n      }\n    });\n  });\n})();\n\n\/* ── Lightbox ── *\/\n(function() {\n  var lb    = document.getElementById('vnLb');\n  var lbImg = document.getElementById('vnLbImg');\n  var cls   = lb \u0026\u0026 lb.querySelector('.vn-lb-close');\n  if (!lb) return;\n  function open(src, alt) {\n    lbImg.src = src; lbImg.alt = alt;\n    lb.classList.add('open');\n    document.body.style.overflow = 'hidden';\n  }\n  function close() { lb.classList.remove('open'); document.body.style.overflow = ''; }\n  ['vnQualityImg','vnPreviewImg'].forEach(function(id) {\n    var el = document.getElementById(id);\n    if (!el) return;\n    var im = el.querySelector('img');\n    el.addEventListener('click', function(){ open(im.src, im.alt); });\n    el.addEventListener('keydown', function(e){ if(e.key==='Enter'||e.key===' ') open(im.src, im.alt); });\n  });\n  lb.addEventListener('click', function(e){ if(e.target===lb) close(); });\n  if (cls) cls.addEventListener('click', close);\n  document.addEventListener('keydown', function(e){ if(e.key==='Escape') close(); });\n})();\n\u003c\/script\u003e\u003c\/p\u003e","brand":"Octopus Media Solutions","offers":[{"title":"Default Title","offer_id":47660057198814,"sku":null,"price":99.0,"currency_code":"THB","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0098\/2653\/3433\/files\/550112230_1237126918453140_4713102998358403696_n.jpg?v=1762453143"}],"url":"https:\/\/www.octopus.co.th\/en\/collections\/%e0%b8%9b%e0%b9%89%e0%b8%b2%e0%b8%a2%e0%b9%81%e0%b8%9a%e0%b8%99%e0%b9%80%e0%b8%99%e0%b8%ad%e0%b8%a3%e0%b9%8c.oembed","provider":"Octopus Media Solutions","version":"1.0","type":"link"}