{"product_id":"a128-dual-visor-modular-motorcycle-helmet","title":"A128 Dual Visor Modular Helmet","description":"\n\u003c!-- Cyril A128 PDP Modules: Trust Bar + Color Gallery + Rider Gallery + Product Details --\u003e\n\u003cstyle\u003e\n@import url(\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/bootstrap-icons.min.css?v=1778738078\");\n\n@font-face {\n  font-display: block;\n  font-family: \"bootstrap-icons\";\n  src: url(\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/bootstrap-icons.woff2?v=1778738079\") format(\"woff2\"),\n       url(\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/bootstrap-icons.woff?v=1778738079\") format(\"woff\");\n}\n\n.a128-social-bar,.a128-social-bar *,.a128-hover-gallery,.a128-hover-gallery *,.a128-rider-gallery,.a128-rider-gallery *,.a128-desc,.a128-desc *{box-sizing:border-box}\n.a128-social-bar,.a128-hover-gallery,.a128-rider-gallery,.a128-desc{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;font-family:Arial,Helvetica,sans-serif}\n\n.a128-social-bar{margin-top:24px;padding:0 18px;clear:both}\n.a128-csb-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 28px;padding:18px 24px;background:#111;border-radius:14px;color:#fff;text-align:center}\n.a128-csb-item{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;line-height:1.3;white-space:nowrap}\n.a128-csb-item svg{flex-shrink:0;width:16px;height:16px}\n.a128-csb-divider{width:1px;height:18px;background:rgba(255,255,255,.2)}\n.a128-csb-item strong{font-weight:700}\n.a128-csb-item span{opacity:.78}\n\n@media(min-width:769px){\n  .a128-csb-inner{display:grid;grid-template-columns:max-content 1px max-content 1px max-content 1px max-content;column-gap:24px;row-gap:12px;justify-content:center}\n}\n\n@media(max-width:768px){\n  .a128-social-bar{margin-top:20px;padding:0 12px}\n  .a128-csb-inner{display:grid;grid-template-columns:1fr 1fr;justify-content:center;align-items:center;gap:14px 12px;padding:16px 14px}\n  .a128-csb-divider{display:none}\n  .a128-csb-item{justify-content:center;font-size:12px;white-space:normal;min-width:0}\n}\n\n.a128-hover-gallery{margin-top:20px;margin-bottom:20px;padding:0 18px;text-align:center}\n.a128-desktop-tabs,.a128-mobile-tabs{justify-content:center;align-items:center;width:auto;max-width:100%;margin:0 auto 16px;padding:5px;background:#e9e9e9;border:1px solid #d2d2d2;border-radius:999px;gap:6px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}\n.a128-desktop-tabs{display:inline-flex}\n.a128-mobile-tabs{display:none}\n.a128-desktop-tabs::-webkit-scrollbar,.a128-mobile-tabs::-webkit-scrollbar{display:none}\n.a128-desktop-tabs button,.a128-mobile-tabs button{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#555;min-width:96px;height:36px;padding:0 16px;font-size:11px;line-height:1;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;cursor:pointer;transition:all .22s ease;display:inline-flex;align-items:center;justify-content:center}\n.a128-desktop-tabs button:hover,.a128-mobile-tabs button:hover{color:#111}\n.a128-desktop-tabs button.is-active,.a128-mobile-tabs button.is-active{background:#111;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.16)}\n\n.a128-gallery-wrap{position:relative;display:flex;min-height:640px;background:#f1f1f1;border-radius:18px;overflow:hidden}\n.a128-gallery-item{position:relative;flex:1;overflow:hidden;background:#f1f1f1;transition:flex .32s ease}\n.a128-gallery-item+.a128-gallery-item{border-left:1px solid rgba(0,0,0,.06)}\n.a128-gallery-wrap:hover .a128-gallery-item{flex:.92}\n.a128-gallery-wrap .a128-gallery-item:hover{flex:1.18}\n.a128-gallery-item img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;padding:28px 18px 132px;background:#f1f1f1;transition:opacity .22s ease}\n.a128-gallery-caption{position:absolute;left:16px;right:16px;bottom:54px;z-index:3;text-align:center;pointer-events:none}\n.a128-gallery-caption-title{display:block;font-size:18px;line-height:1.25;font-weight:500;color:#111;letter-spacing:.01em}\n.a128-gallery-caption-sub{display:block;margin-top:10px;font-size:15px;line-height:1.2;font-weight:400;color:#111;opacity:.92}\n\n.a128-mobile-carousel{display:none;position:relative;overflow:hidden;border-radius:18px;background:#f1f1f1;touch-action:pan-y}\n.a128-mobile-carousel img{width:100%;height:auto;aspect-ratio:3\/4;object-fit:contain;padding:20px 14px 96px;background:#f1f1f1;display:block;transition:opacity .22s ease,padding-bottom .18s ease}\n.a128-mobile-caption{position:absolute;left:16px;right:16px;bottom:30px;z-index:3;text-align:center;pointer-events:none}\n.a128-mobile-caption-title{display:block;font-size:17px;line-height:1.25;font-weight:500;color:#111}\n.a128-mobile-caption-sub{display:block;margin-top:8px;font-size:14px;line-height:1.2;font-weight:400;color:#111;opacity:.92}\n.a128-mobile-caption.is-hidden{display:none}\n\n.a128-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.1);border-radius:50%;cursor:pointer;color:#111;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:opacity .2s,box-shadow .2s,transform .2s;appearance:none;-webkit-appearance:none}\n.a128-arrow--prev{left:18px}\n.a128-arrow--next{right:18px}\n.a128-arrow:disabled{opacity:.22;cursor:default}\n.a128-arrow:not(:disabled):hover{transform:translateY(-50%) scale(1.04);box-shadow:0 4px 14px rgba(0,0,0,.18)}\n.a128-carousel-counter{position:absolute;top:18px;right:18px;background:rgba(0,0,0,.48);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.05em;pointer-events:none}\n\n@media(max-width:768px){\n  .a128-hover-gallery{padding:0 12px}\n  .a128-desktop-tabs{display:none}\n  .a128-mobile-tabs{display:inline-flex;width:auto;justify-content:center;margin-bottom:14px;padding:4px;gap:4px}\n  .a128-mobile-tabs button{min-width:auto;height:34px;padding:0 12px;font-size:10px}\n  .a128-gallery-wrap{display:none}\n  .a128-mobile-carousel{display:block;border-radius:18px}\n  .a128-arrow{width:40px;height:40px}\n  .a128-arrow--prev{left:12px}\n  .a128-arrow--next{right:12px}\n  .a128-carousel-counter{top:14px;right:16px}\n}\n\n\/* Rider Lifestyle Gallery: show the real photo, do not crop, do not round-corner clip *\/\n.a128-rider-gallery{margin-top:20px;margin-bottom:20px;padding:0 18px;position:relative;text-align:center;overflow:visible}\n.a128-rider-head{text-align:center;margin-bottom:16px}\n.a128-rider-head h2{margin:0;font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:#111}\n.a128-rider-head p{margin:8px auto 0;max-width:620px;font-size:14px;line-height:1.65;color:#666}\n.a128-rider-frame{position:relative;overflow:hidden;border-radius:0;background:transparent;touch-action:pan-y;contain:layout paint;width:100%;max-width:760px;margin:0 auto}\n.a128-rider-track{display:flex;align-items:flex-start;transition:transform .28s ease;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}\n.a128-rider-slide{flex:0 0 100%;padding:0;background:transparent;overflow:visible;border-radius:0;backface-visibility:hidden}\n.a128-rider-slide+.a128-rider-slide{border-left:0}\n.a128-rider-slide img{width:100%;height:auto;display:block;object-fit:contain;object-position:center;background:transparent;border-radius:0;transform:translateZ(0);backface-visibility:hidden}\n.a128-rider-counter{position:absolute;top:18px;right:18px;background:rgba(0,0,0,.48);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.05em;pointer-events:none;z-index:10}\n.a128-rider-arrow-prev{position:absolute;left:18px;top:50%;transform:translateY(-50%);z-index:20}\n.a128-rider-arrow-next{position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:20}\n\n@media(min-width:769px){\n  .a128-rider-gallery{padding-left:18px;padding-right:18px}\n  .a128-rider-frame{max-width:760px;margin:0 auto;border-radius:0}\n  .a128-rider-slide,.a128-rider-slide img{border-radius:0}\n}\n\n@media(max-width:768px){\n  .a128-rider-gallery{padding:0 12px;margin-top:22px;margin-bottom:22px}\n  .a128-rider-head{margin-bottom:14px}\n  .a128-rider-head h2{font-size:22px}\n  .a128-rider-head p{font-size:13px;line-height:1.55;max-width:330px}\n  .a128-rider-frame{width:100%;max-width:none;margin:0 auto;border-radius:0;background:transparent}\n  .a128-rider-slide{flex-basis:100%;border-left:0;border-radius:0}\n  .a128-rider-slide img{width:100%;height:auto;object-fit:contain;object-position:center;border-radius:0;background:transparent}\n  .a128-rider-counter{top:14px;right:14px}\n  .a128-rider-arrow-prev{left:12px}\n  .a128-rider-arrow-next{right:12px}\n}\n\n@media(max-width:420px){\n  .a128-rider-gallery{padding-left:0;padding-right:0}\n  .a128-rider-frame{width:100%;max-width:none;border-radius:0}\n  .a128-rider-slide,.a128-rider-slide img{border-radius:0}\n  .a128-rider-arrow-prev{left:8px}\n  .a128-rider-arrow-next{right:8px}\n}\n\n.a128-desc{--ff-text:#111;--ff-sub:#666;--ff-line:#e6e6e6;--ff-soft:#fafafa;--ff-radius:18px;margin-top:0;padding:8px 18px 24px;color:var(--ff-text)}\n.a128-desc .a128-wrap{display:grid;gap:18px}\n.a128-desc .a128-block,.a128-desc .a128-card{border:1px solid var(--ff-line);background:#fff;border-radius:var(--ff-radius)}\n.a128-desc .a128-block{padding:32px 28px}\n.a128-desc .a128-card{padding:28px 24px}\n.a128-desc .a128-center{text-align:center}\n.a128-desc h2,.a128-desc h3,.a128-desc h4,.a128-desc p{margin:0;color:inherit;font-family:inherit}\n.a128-desc .a128-logo{display:flex;justify-content:center;margin-bottom:16px}\n.a128-desc .a128-logo img{width:128px;height:128px;object-fit:contain;display:block}\n.a128-desc .a128-model-wrap{text-align:center;margin-top:2px}\n.a128-desc .a128-model-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 16px;border:1px solid #111;border-radius:999px;font-size:12px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:#111}\n.a128-desc .a128-title{margin-top:18px;font-size:58px;line-height:1;font-weight:800;letter-spacing:-.05em;text-align:center;color:#111}\n.a128-desc .a128-title-line{width:150px;height:1px;margin:14px auto 0;background:#d8d8d8}\n.a128-desc .a128-subtitle{margin-top:12px;font-size:13px;line-height:1.2;letter-spacing:.35em;text-transform:uppercase;color:var(--ff-text);opacity:.88}\n.a128-desc .a128-lead{margin-top:18px;font-size:24px;line-height:1.45;font-weight:600;letter-spacing:-.01em}\n.a128-desc .a128-intro{max-width:760px;margin:14px auto 0;font-size:16px;line-height:1.8;color:var(--ff-sub)}\n.a128-desc .a128-top-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}\n.a128-desc .a128-mini-card{display:flex;align-items:center;gap:14px;min-height:78px;padding:18px 20px;border:1px solid var(--ff-line);border-radius:14px;background:var(--ff-soft);text-align:left}\n.a128-desc .a128-mini-card i{width:24px;min-width:24px;text-align:center;font-size:22px;line-height:1;color:var(--ff-text);opacity:.9}\n.a128-desc .a128-mini-card span{font-size:16px;line-height:1.4;font-weight:600}\n.a128-desc .a128-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}\n.a128-desc .a128-card-title{font-size:22px;line-height:1.2;font-weight:700;text-align:center}\n.a128-desc .a128-cert-badges{display:flex;justify-content:center;gap:10px;margin:14px 0 0;flex-wrap:wrap}\n.a128-desc .a128-cert-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1.5px solid #111;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#111}\n.a128-desc .a128-cert-badge i{font-size:14px}\n.a128-desc .a128-list{margin-top:14px;display:grid}\n.a128-desc .a128-item{display:block;padding:18px 0;border-top:1px solid var(--ff-line);text-align:center}\n.a128-desc .a128-item:first-child{border-top:0;padding-top:0}\n.a128-desc .a128-item-title{position:relative;display:inline-block;padding-left:14px;font-size:17px;line-height:1.35;font-weight:600}\n.a128-desc .a128-item-title:before{content:\"\";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:#111}\n.a128-desc .a128-item-desc{max-width:460px;margin:8px auto 0;font-size:15px;line-height:1.8;color:var(--ff-sub)}\n.a128-desc .a128-size{display:grid;grid-template-columns:360px 1fr;gap:26px;align-items:stretch}\n.a128-desc .a128-size-left{padding-right:10px;border-right:1px solid var(--ff-line)}\n.a128-desc .a128-size-left h2{font-size:22px;line-height:1.2;font-weight:700;text-align:center}\n.a128-desc .a128-size-left p{max-width:270px;margin:12px auto 0;text-align:center;font-size:15px;line-height:1.85;color:var(--ff-sub)}\n.a128-desc .a128-size-figure{margin-top:22px}\n.a128-desc .a128-size-figure img{width:100%;display:block;object-fit:contain;background:#fff}\n.a128-desc .a128-table-wrap{overflow-x:auto}\n.a128-desc .a128-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ff-line);border-radius:14px;overflow:hidden}\n.a128-desc .a128-table th,.a128-desc .a128-table td{padding:16px 14px;border:1px solid var(--ff-line);text-align:center;vertical-align:middle}\n.a128-desc .a128-table th{font-size:13px;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;font-weight:700;background:var(--ff-soft)}\n.a128-desc .a128-table td{font-size:15px;line-height:1.45;font-weight:500}\n.a128-desc .a128-table tr.is-popular td{background:#f5f5f5;font-weight:700}\n.a128-desc .a128-popular-badge{display:inline-block;margin-left:8px;padding:2px 9px;background:#111;color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;vertical-align:middle;line-height:1.6}\n.a128-desc .cyril-service-bar{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ff-line);border-radius:18px;background:#fff;overflow:hidden}\n.a128-desc .cyril-service-point{display:flex;align-items:center;gap:14px;min-height:96px;padding:22px 20px;border-right:1px solid var(--ff-line);background:#fff}\n.a128-desc .cyril-service-point:last-child{border-right:0}\n.a128-desc .cyril-service-point i{width:36px;height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ff-line);border-radius:50%;background:var(--ff-soft);color:#111;font-size:17px;line-height:1}\n.a128-desc .cyril-service-point h4{margin:0;font-size:15px;line-height:1.3;font-weight:700;color:#111}\n.a128-desc .cyril-service-point p{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--ff-sub)}\n\n@media(max-width:991px){\n  .a128-desc .a128-title{font-size:46px}\n  .a128-desc .a128-lead{font-size:20px}\n  .a128-desc .a128-top-features,.a128-desc .a128-grid-2,.a128-desc .a128-size{grid-template-columns:1fr}\n  .a128-desc .a128-size-left{border-right:0;border-bottom:1px solid var(--ff-line);padding-right:0;padding-bottom:18px}\n  .a128-desc .cyril-service-bar{grid-template-columns:repeat(2,1fr)}\n  .a128-desc .cyril-service-point:nth-child(2){border-right:0}\n  .a128-desc .cyril-service-point:nth-child(1),.a128-desc .cyril-service-point:nth-child(2){border-bottom:1px solid var(--ff-line)}\n}\n\n@media(max-width:768px){\n  .a128-desc{padding:8px 12px 24px}\n  .a128-desc .a128-block,.a128-desc .a128-card{padding:20px 16px;border-radius:14px}\n  .a128-desc .a128-logo{margin-bottom:12px}\n  .a128-desc .a128-logo img{width:98px;height:98px}\n  .a128-desc .a128-model-chip{min-height:32px;padding:7px 14px;font-size:11px;letter-spacing:.14em}\n  .a128-desc .a128-title{margin-top:16px;font-size:38px}\n  .a128-desc .a128-title-line{width:122px;margin-top:12px}\n  .a128-desc .a128-subtitle{font-size:12px;letter-spacing:.24em}\n  .a128-desc .a128-lead{margin-top:14px;font-size:18px}\n  .a128-desc .a128-intro,.a128-desc .a128-item-desc,.a128-desc .a128-size-left p{font-size:14px}\n  .a128-desc .a128-mini-card span,.a128-desc .a128-item-title{font-size:15px}\n  .a128-desc .a128-card-title,.a128-desc .a128-size-left h2{font-size:20px}\n  .a128-desc .a128-table th,.a128-desc .a128-table td{padding:12px 10px}\n  .a128-desc .cyril-service-bar{grid-template-columns:1fr;border-radius:14px}\n  .a128-desc .cyril-service-point{min-height:auto;padding:18px 16px;border-right:0;border-bottom:1px solid var(--ff-line)}\n  .a128-desc .cyril-service-point:last-child{border-bottom:0}\n}\n\u003c\/style\u003e\n\u003csection class=\"a128-social-bar\"\u003e\n\u003cdiv class=\"a128-csb-inner\"\u003e\n\u003cdiv class=\"a128-csb-item\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" style=\"fill: #fff;\"\u003e\u003cpath d=\"M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96C5 16.1 6.9 18 9 18h12v-2H9.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63H19c.75 0 1.41-.41 1.75-1.03l3.58-6.49A1 1 0 0 0 23.43 5H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e \u003cstrong\u003e500,000+\u003c\/strong\u003e \u003cspan\u003eUnits Sold\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-csb-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-csb-item\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" style=\"fill: #f5c518;\"\u003e\u003cpath d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e \u003cstrong\u003e4.8 \/ 5\u003c\/strong\u003e \u003cspan\u003eCustomer Rating\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-csb-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-csb-item\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" style=\"fill: #fff;\"\u003e\u003cpath d=\"M12 1L3 5v6c0 5.25 3.75 10.15 9 11.35C17.25 21.15 21 16.25 21 11V5L12 1zm0 4l5 2.18V11c0 3.32-2.33 6.43-5 7.58-2.67-1.15-5-4.26-5-7.58V7.18L12 5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e \u003cspan\u003eDOT \u0026amp; ECE 22.06 Certified\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-csb-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-csb-item\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" style=\"fill: #fff;\"\u003e\u003cpath d=\"M18.36 9l.6 3H5.04l.6-3h12.72M20 4H4v2h16V4zm0 3H4l-1 5v2h1v6h10v-6h4v6h2v-6h1v-2l-1-5zM6 18v-4h8v4H6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e \u003cspan\u003eCyril Official Store\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"a128-hover-gallery\"\u003e\n\u003cdiv class=\"a128-desktop-tabs\"\u003e\n\u003cbutton type=\"button\" class=\"is-active\" data-variant=\"black\"\u003eBlack\u003c\/button\u003e \u003cbutton type=\"button\" data-variant=\"white\"\u003eWhite\u003c\/button\u003e \u003cbutton type=\"button\" data-variant=\"graphic\"\u003eGraphic\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-mobile-tabs\"\u003e\n\u003cbutton type=\"button\" class=\"is-active\" data-mobile-variant=\"black\"\u003eBlack\u003c\/button\u003e \u003cbutton type=\"button\" data-mobile-variant=\"white\"\u003eWhite\u003c\/button\u003e \u003cbutton type=\"button\" data-mobile-variant=\"graphic\"\u003eGraphic\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-gallery-wrap\"\u003e\n\u003cdiv class=\"a128-gallery-item\"\u003e\u003cimg id=\"a128-img-1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/3_16bd269b-9da6-4635-a9fc-f3ecfc4e73db.png?v=1776929080\" alt=\"A128 Black view 1\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-gallery-item\"\u003e\n\u003cimg id=\"a128-img-2\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/7_07d5d53d-968b-425a-969f-8279672f3816.png?v=1776929080\" alt=\"A128 Black view 2\"\u003e\n\u003cdiv class=\"a128-gallery-caption\"\u003e\n\u003cspan class=\"a128-gallery-caption-title\" id=\"a128-caption-title\"\u003eBlack\u003c\/span\u003e \u003cspan class=\"a128-gallery-caption-sub\" id=\"a128-caption-sub\"\u003eMatt\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-gallery-item\"\u003e\u003cimg id=\"a128-img-3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/5_74945fd9-ef5d-437b-b070-1c901c425336.png?v=1776929080\" alt=\"A128 Black view 3\"\u003e\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"a128-arrow a128-arrow--prev\" id=\"a128-desk-prev\" disabled aria-label=\"Previous image group\"\u003e \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"15 18 9 12 15 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e \u003cbutton type=\"button\" class=\"a128-arrow a128-arrow--next\" id=\"a128-desk-next\" aria-label=\"Next image group\"\u003e \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"9 18 15 12 9 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-mobile-carousel\" id=\"a128-mobile-carousel\"\u003e\n\u003cimg id=\"a128-mobile-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/3_16bd269b-9da6-4635-a9fc-f3ecfc4e73db.png?v=1776929080\" alt=\"A128 Black mobile view\"\u003e\n\u003cdiv class=\"a128-mobile-caption\" id=\"a128-mobile-caption\"\u003e\n\u003cspan class=\"a128-mobile-caption-title\" id=\"a128-mobile-caption-title\"\u003eBlack\u003c\/span\u003e \u003cspan class=\"a128-mobile-caption-sub\" id=\"a128-mobile-caption-sub\"\u003eMatt\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"a128-arrow a128-arrow--prev\" id=\"a128-mobile-prev\" disabled aria-label=\"Previous image\"\u003e \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"15 18 9 12 15 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e \u003cbutton type=\"button\" class=\"a128-arrow a128-arrow--next\" id=\"a128-mobile-next\" aria-label=\"Next image\"\u003e \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"9 18 15 12 9 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv class=\"a128-carousel-counter\" id=\"a128-mobile-counter\"\u003e1 \/ 9\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"a128-rider-gallery\"\u003e\n\u003cdiv class=\"a128-rider-head\"\u003e\n\u003ch2\u003eRider Lifestyle Gallery\u003c\/h2\u003e\n\u003cp\u003eReal rider photos for A128 helmet fit, riding style, and everyday road scenes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-frame\" id=\"a128-rider-frame\"\u003e\n\u003cdiv class=\"a128-rider-track\" id=\"a128-rider-track\"\u003e\n\u003cdiv class=\"a128-rider-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/0T6A7056.jpg?v=1778831291\" alt=\"A128 rider lifestyle vertical photo 1\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/0T6A7052.jpg?v=1778831291\" alt=\"A128 rider lifestyle vertical photo 2\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/0T6A7053.jpg?v=1778831291\" alt=\"A128 rider lifestyle vertical photo 3\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/0T6A7050.jpg?v=1778831291\" alt=\"A128 rider lifestyle vertical photo 4\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/0T6A7049.jpg?v=1778831291\" alt=\"A128 rider lifestyle vertical photo 5\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/0T6A7051.jpg?v=1778831291\" alt=\"A128 rider lifestyle vertical photo 6\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/0T6A7054.jpg?v=1778831291\" alt=\"A128 rider lifestyle vertical photo 7\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-rider-counter\" id=\"a128-rider-counter\"\u003e1 \/ 7\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"a128-arrow a128-arrow--prev a128-rider-arrow-prev\" id=\"a128-rider-prev\" disabled aria-label=\"Previous rider image\"\u003e \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"15 18 9 12 15 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003cbutton type=\"button\" class=\"a128-arrow a128-arrow--next a128-rider-arrow-next\" id=\"a128-rider-next\" aria-label=\"Next rider image\"\u003e \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"9 18 15 12 9 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e \u003c\/button\u003e\n\u003c\/section\u003e\n\u003csection class=\"cyril-pdp-desc a128-desc\"\u003e\n\u003cdiv class=\"a128-wrap\"\u003e\n\u003cdiv class=\"a128-block a128-center\"\u003e\n\u003cdiv class=\"a128-logo\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/2_eebc2301-b5c0-4cde-b3c4-dac6c5b2d93a.webp?v=1776750815\" alt=\"Cyril Helmets logo\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-model-wrap\"\u003e\n\u003cdiv class=\"a128-model-chip\"\u003eMODEL\u003c\/div\u003e\n\u003cdiv class=\"a128-title\"\u003eA128\u003c\/div\u003e\n\u003cdiv class=\"a128-title-line\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a128-subtitle\"\u003eDUAL VISOR MODULAR HELMET\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"a128-lead\"\u003eDual-Visor Convenience. Flip-Up Comfort. Everyday Modular Riding.\u003c\/p\u003e\n\u003cp class=\"a128-intro\"\u003eThe A128 is built for riders who want modular convenience, an inner sun visor, a wide viewing feel, and practical comfort for everyday road use.\u003c\/p\u003e\n\u003cdiv class=\"a128-top-features\"\u003e\n\u003cdiv class=\"a128-mini-card\"\u003e\n\u003ci class=\"bi bi-sunglasses\" aria-hidden=\"true\"\u003e\u003c\/i\u003e \u003cspan\u003eDual Visor System\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-mini-card\"\u003e\n\u003ci class=\"bi bi-eye\" aria-hidden=\"true\"\u003e\u003c\/i\u003e \u003cspan\u003eWide-View Design\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-mini-card\"\u003e\n\u003ci class=\"bi bi-arrow-repeat\" aria-hidden=\"true\"\u003e\u003c\/i\u003e \u003cspan\u003eFlip-Up Modular\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-grid-2\"\u003e\n\u003cdiv class=\"a128-card\"\u003e\n\u003ch2 class=\"a128-card-title\"\u003eProtection\u003c\/h2\u003e\n\u003cdiv class=\"a128-cert-badges\"\u003e\n\u003cspan class=\"a128-cert-badge\"\u003e\u003ci class=\"bi bi-patch-check\"\u003e\u003c\/i\u003eDOT FMVSS 218\u003c\/span\u003e \u003cspan class=\"a128-cert-badge\"\u003e\u003ci class=\"bi bi-patch-check\"\u003e\u003c\/i\u003eECE 22.06\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-list\"\u003e\n\u003cdiv class=\"a128-item\"\u003e\n\u003cdiv class=\"a128-item-title\"\u003eCertified Road Protection\u003c\/div\u003e\n\u003cdiv class=\"a128-item-desc\"\u003eMeets DOT FMVSS No. 218 and ECE 22.06 standards for dependable road protection.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-item\"\u003e\n\u003cdiv class=\"a128-item-title\"\u003eDurable Outer Shell\u003c\/div\u003e\n\u003cdiv class=\"a128-item-desc\"\u003eDurable shell construction helps provide confident coverage for commuting and regular riding.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-item\"\u003e\n\u003cdiv class=\"a128-item-title\"\u003eProtective Interior\u003c\/div\u003e\n\u003cdiv class=\"a128-item-desc\"\u003eImpact-absorbing inner construction helps support rider protection and daily comfort.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-card\"\u003e\n\u003ch2 class=\"a128-card-title\"\u003eComfort\u003c\/h2\u003e\n\u003cdiv class=\"a128-cert-badges\"\u003e\n\u003cspan class=\"a128-cert-badge\"\u003e\u003ci class=\"bi bi-droplet\"\u003e\u003c\/i\u003eWashable Liner\u003c\/span\u003e \u003cspan class=\"a128-cert-badge\"\u003e\u003ci class=\"bi bi-brightness-high\"\u003e\u003c\/i\u003eAnti-Fog Visor\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-list\"\u003e\n\u003cdiv class=\"a128-item\"\u003e\n\u003cdiv class=\"a128-item-title\"\u003eDual Visor System\u003c\/div\u003e\n\u003cdiv class=\"a128-item-desc\"\u003eClear outer shield and inner sun visor help adapt to changing light throughout the day.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-item\"\u003e\n\u003cdiv class=\"a128-item-title\"\u003eWide-View Design\u003c\/div\u003e\n\u003cdiv class=\"a128-item-desc\"\u003eA broad visor opening helps create a clearer, less restrictive riding view.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-item\"\u003e\n\u003cdiv class=\"a128-item-title\"\u003eFlip-Up Convenience\u003c\/div\u003e\n\u003cdiv class=\"a128-item-desc\"\u003eModular functionality and a washable liner add practical comfort for everyday use.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-block\"\u003e\n\u003cdiv class=\"a128-size\"\u003e\n\u003cdiv class=\"a128-size-left\"\u003e\n\u003ch2\u003eFind Your Size\u003c\/h2\u003e\n\u003cp\u003eMeasure around the widest part of your head, just above the eyebrows and ears. Compare with the size guide below.\u003c\/p\u003e\n\u003cdiv class=\"a128-size-figure\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/2_250f371a-df3f-4c49-b6da-44a044a45d89.png?v=1776925976\" alt=\"Head measurement guide\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a128-table-wrap\"\u003e\n\u003ctable class=\"a128-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth\u003eCM\u003c\/th\u003e\n\u003cth\u003eInches\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eS\u003c\/td\u003e\n\u003ctd\u003e54–55 cm\u003c\/td\u003e\n\u003ctd\u003e21.25\"–21.65\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"is-popular\"\u003e\n\u003ctd\u003eM \u003cspan class=\"a128-popular-badge\"\u003eMost Popular\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd\u003e56–57 cm\u003c\/td\u003e\n\u003ctd\u003e22.04\"–22.44\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"is-popular\"\u003e\n\u003ctd\u003eL \u003cspan class=\"a128-popular-badge\"\u003eMost Popular\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd\u003e58–59 cm\u003c\/td\u003e\n\u003ctd\u003e22.83\"–23.22\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"is-popular\"\u003e\n\u003ctd\u003eXL \u003cspan class=\"a128-popular-badge\"\u003eMost Popular\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd\u003e60–61 cm\u003c\/td\u003e\n\u003ctd\u003e23.62\"–24.01\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eXXL\u003c\/td\u003e\n\u003ctd\u003e61–62 cm\u003c\/td\u003e\n\u003ctd\u003e24.01\"–24.40\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cyril-service-bar\"\u003e\n\u003cdiv class=\"cyril-service-point\"\u003e\n\u003ci class=\"bi bi-truck\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFree delivery from $150 purchase\u003c\/h4\u003e\n\u003cp\u003eFree standard U.S. shipping on orders over $150.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cyril-service-point\"\u003e\n\u003ci class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n\u003cdiv\u003e\n\u003ch4\u003e15-Day Returns for Quality Issues\u003c\/h4\u003e\n\u003cp\u003eQuality-related returns are reviewed within 15 days.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cyril-service-point\"\u003e\n\u003ci class=\"bi bi-star\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFast Payment \u0026amp; Secure\u003c\/h4\u003e\n\u003cp\u003eSecure checkout for every order.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cyril-service-point\"\u003e\n\u003ci class=\"bi bi-shield-check\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n\u003cdiv\u003e\n\u003ch4\u003e2-Year Warranty for Quality Issues\u003c\/h4\u003e\n\u003cp\u003eSupport for approved quality-related issues.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function(){\n  function ready(fn){\n    if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', fn);\n    else fn();\n  }\n\n  ready(function(){\n    var root = document.querySelector('.a128-hover-gallery');\n    if(!root) return;\n\n    var variants = {\n      black: {\n        name: 'Black', sub: 'Matt',\n        images: [\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/3_16bd269b-9da6-4635-a9fc-f3ecfc4e73db.png?v=1776929080',\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/7_07d5d53d-968b-425a-969f-8279672f3816.png?v=1776929080',\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/5_74945fd9-ef5d-437b-b070-1c901c425336.png?v=1776929080'\n        ]\n      },\n      white: {\n        name: 'White', sub: 'Gloss',\n        images: [\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/4_9cac102b-7ae6-4b45-a133-9d960ec8d1d6.png?v=1776929092',\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/9_01480589-8468-454f-a064-d1b5644ba847.png?v=1776929092',\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/7_d16333b4-28ec-4bd3-8a0e-97ccf8aa8adc.png?v=1776929093'\n        ]\n      },\n      graphic: {\n        name: 'Graphic', sub: 'Color Graphic',\n        images: [\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/1_e5c274ca-7016-4a85-aecf-9e7a6337c52b.png?v=1776931050',\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/2_f0471abd-dd45-4723-a925-da974105bdf3.png?v=1776931049',\n          'https:\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/3_e4becc33-e0e7-437a-a813-055072f29d6c.png?v=1776931050'\n        ]\n      }\n    };\n\n    var order = ['black','white','graphic'];\n    var groupIndex = 0;\n    var mobileIndex = 0;\n    var desktopImgs = [\n      document.getElementById('a128-img-1'),\n      document.getElementById('a128-img-2'),\n      document.getElementById('a128-img-3')\n    ];\n    var deskPrev = document.getElementById('a128-desk-prev');\n    var deskNext = document.getElementById('a128-desk-next');\n    var mobileImg = document.getElementById('a128-mobile-img');\n    var mobilePrev = document.getElementById('a128-mobile-prev');\n    var mobileNext = document.getElementById('a128-mobile-next');\n    var mobileCounter = document.getElementById('a128-mobile-counter');\n    var capTitle = document.getElementById('a128-caption-title');\n    var capSub = document.getElementById('a128-caption-sub');\n    var mobileCapTitle = document.getElementById('a128-mobile-caption-title');\n    var mobileCapSub = document.getElementById('a128-mobile-caption-sub');\n\n    function flatImages(){\n      var arr = [];\n      order.forEach(function(key){\n        variants[key].images.forEach(function(src, i){\n          arr.push({ variant:key, src:src, index:i });\n        });\n      });\n      return arr;\n    }\n    var allMobileImages = flatImages();\n\n    function setActiveTabs(key){\n      root.querySelectorAll('[data-variant]').forEach(function(btn){ btn.classList.toggle('is-active', btn.getAttribute('data-variant') === key); });\n      root.querySelectorAll('[data-mobile-variant]').forEach(function(btn){ btn.classList.toggle('is-active', btn.getAttribute('data-mobile-variant') === key); });\n    }\n\n    function updateDesktop(){\n      var key = order[groupIndex];\n      var data = variants[key];\n      desktopImgs.forEach(function(img, i){\n        if(!img) return;\n        img.src = data.images[i];\n        img.alt = 'A128 ' + data.name + ' view ' + (i + 1);\n      });\n      if(capTitle) capTitle.textContent = data.name;\n      if(capSub) capSub.textContent = data.sub;\n      if(deskPrev) deskPrev.disabled = groupIndex \u003c= 0;\n      if(deskNext) deskNext.disabled = groupIndex \u003e= order.length - 1;\n      setActiveTabs(key);\n    }\n\n    function updateMobile(){\n      if(mobileIndex \u003c 0) mobileIndex = 0;\n      if(mobileIndex \u003e allMobileImages.length - 1) mobileIndex = allMobileImages.length - 1;\n      var item = allMobileImages[mobileIndex];\n      var data = variants[item.variant];\n      if(mobileImg){\n        mobileImg.src = item.src;\n        mobileImg.alt = 'A128 ' + data.name + ' mobile view ' + (item.index + 1);\n      }\n      if(mobileCapTitle) mobileCapTitle.textContent = data.name;\n      if(mobileCapSub) mobileCapSub.textContent = data.sub;\n      if(mobilePrev) mobilePrev.disabled = mobileIndex \u003c= 0;\n      if(mobileNext) mobileNext.disabled = mobileIndex \u003e= allMobileImages.length - 1;\n      if(mobileCounter) mobileCounter.textContent = (mobileIndex + 1) + ' \/ ' + allMobileImages.length;\n      setActiveTabs(item.variant);\n    }\n\n    function goDesktop(key){\n      var idx = order.indexOf(key);\n      if(idx === -1) return;\n      groupIndex = idx;\n      mobileIndex = idx * 3;\n      updateDesktop();\n      updateMobile();\n    }\n\n    root.querySelectorAll('[data-variant]').forEach(function(btn){\n      btn.addEventListener('click', function(){ goDesktop(btn.getAttribute('data-variant')); });\n    });\n    root.querySelectorAll('[data-mobile-variant]').forEach(function(btn){\n      btn.addEventListener('click', function(){ goDesktop(btn.getAttribute('data-mobile-variant')); });\n    });\n    if(deskPrev) deskPrev.addEventListener('click', function(){ if(groupIndex \u003e 0){ groupIndex--; mobileIndex = groupIndex * 3; updateDesktop(); updateMobile(); } });\n    if(deskNext) deskNext.addEventListener('click', function(){ if(groupIndex \u003c order.length - 1){ groupIndex++; mobileIndex = groupIndex * 3; updateDesktop(); updateMobile(); } });\n    if(mobilePrev) mobilePrev.addEventListener('click', function(){ if(mobileIndex \u003e 0){ mobileIndex--; groupIndex = order.indexOf(allMobileImages[mobileIndex].variant); updateMobile(); updateDesktop(); } });\n    if(mobileNext) mobileNext.addEventListener('click', function(){ if(mobileIndex \u003c allMobileImages.length - 1){ mobileIndex++; groupIndex = order.indexOf(allMobileImages[mobileIndex].variant); updateMobile(); updateDesktop(); } });\n\n    var carousel = document.getElementById('a128-mobile-carousel');\n    var startX = 0;\n    var startY = 0;\n    if(carousel){\n      carousel.addEventListener('touchstart', function(e){\n        if(!e.touches || !e.touches.length) return;\n        startX = e.touches[0].clientX;\n        startY = e.touches[0].clientY;\n      }, {passive:true});\n      carousel.addEventListener('touchend', function(e){\n        if(!e.changedTouches || !e.changedTouches.length) return;\n        var dx = e.changedTouches[0].clientX - startX;\n        var dy = e.changedTouches[0].clientY - startY;\n        if(Math.abs(dx) \u003e 45 \u0026\u0026 Math.abs(dx) \u003e Math.abs(dy)){\n          if(dx \u003c 0 \u0026\u0026 mobileIndex \u003c allMobileImages.length - 1) mobileIndex++;\n          if(dx \u003e 0 \u0026\u0026 mobileIndex \u003e 0) mobileIndex--;\n          groupIndex = order.indexOf(allMobileImages[mobileIndex].variant);\n          updateMobile();\n          updateDesktop();\n        }\n      }, {passive:true});\n    }\n\n    updateDesktop();\n    updateMobile();\n  });\n\n  ready(function(){\n    var frame = document.getElementById('a128-rider-frame');\n    var track = document.getElementById('a128-rider-track');\n    if(!frame || !track) return;\n\n    var slides = Array.prototype.slice.call(track.querySelectorAll('.a128-rider-slide'));\n    var prev = document.getElementById('a128-rider-prev');\n    var next = document.getElementById('a128-rider-next');\n    var counter = document.getElementById('a128-rider-counter');\n    var index = 0;\n    var total = slides.length;\n\n    function updateRider(){\n      if(index \u003c 0) index = 0;\n      if(index \u003e total - 1) index = total - 1;\n      track.style.transform = 'translate3d(' + (-index * 100) + '%,0,0)';\n      if(prev) prev.disabled = index \u003c= 0;\n      if(next) next.disabled = index \u003e= total - 1;\n      if(counter) counter.textContent = (index + 1) + ' \/ ' + total;\n    }\n\n    if(prev) prev.addEventListener('click', function(){ if(index \u003e 0){ index--; updateRider(); } });\n    if(next) next.addEventListener('click', function(){ if(index \u003c total - 1){ index++; updateRider(); } });\n\n    var startX = 0;\n    var startY = 0;\n    frame.addEventListener('touchstart', function(e){\n      if(!e.touches || !e.touches.length) return;\n      startX = e.touches[0].clientX;\n      startY = e.touches[0].clientY;\n    }, {passive:true});\n    frame.addEventListener('touchend', function(e){\n      if(!e.changedTouches || !e.changedTouches.length) return;\n      var dx = e.changedTouches[0].clientX - startX;\n      var dy = e.changedTouches[0].clientY - startY;\n      if(Math.abs(dx) \u003e 45 \u0026\u0026 Math.abs(dx) \u003e Math.abs(dy)){\n        if(dx \u003c 0 \u0026\u0026 index \u003c total - 1) index++;\n        if(dx \u003e 0 \u0026\u0026 index \u003e 0) index--;\n        updateRider();\n      }\n    }, {passive:true});\n\n    window.addEventListener('resize', updateRider);\n    updateRider();\n  });\n})();\n\u003c\/script\u003e\n\n\u003cp\u003e \u003c\/p\u003e","brand":"Cyril Helmets","offers":[{"title":"White \/ XXL","offer_id":53098509730086,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White \/ XL","offer_id":53098509762854,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White \/ L","offer_id":53098509795622,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White \/ M","offer_id":53098509828390,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White \/ S","offer_id":53098509861158,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black \/ XXL","offer_id":53098509566246,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black \/ XL","offer_id":53098509599014,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black \/ L","offer_id":53098509631782,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black \/ M","offer_id":53098509664550,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black \/ S","offer_id":53098509697318,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Turbo Gray \/ XXL","offer_id":53098509893926,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Turbo Gray \/ XL","offer_id":53098509926694,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Turbo Gray \/ L","offer_id":53098509959462,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Turbo Gray \/ M","offer_id":53098509992230,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Turbo Gray \/ S","offer_id":53098510024998,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black Streak \/ XXL","offer_id":53098510057766,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black Streak \/ XL","offer_id":53098510090534,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black Streak \/ L","offer_id":53098510123302,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black Streak \/ M","offer_id":53098510156070,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"Black Streak \/ S","offer_id":53098510188838,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White Streak \/ XXL","offer_id":53098510221606,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White Streak \/ XL","offer_id":53098510254374,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White Streak \/ L","offer_id":53098510287142,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White Streak \/ M","offer_id":53098510319910,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false},{"title":"White Streak \/ S","offer_id":53098510352678,"sku":null,"price":120.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/8253\/1110\/files\/6_cb73934d-0988-41b6-9bca-dd3411ad834b.png?v=1776929092","url":"https:\/\/www.cyrilhelmets.com\/products\/a128-dual-visor-modular-motorcycle-helmet","provider":"Cyril Helmets","version":"1.0","type":"link"}