/* =========================================================
   Vegas Labs — product details page
   Measurements: Figma export "03 · Product Detail.png" (desktop 1440 / mobile 390).
   Sections: bar · hero (stage + summary + purchase) · up close · documented · COA · storage ·
             why (shared .vl-records-cols) · related · FAQ (shared .vl-faq)
   ========================================================= */

/* ---------- Bar: breadcrumbs + previous / next ---------- */
.vl-pdp-barsec{--padding-top:23.9px;--padding-bottom:25.1px;background:var(--vl-surf);border-bottom:1px solid var(--vl-line)}
.vl-pdp-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.vl-pdp-bar__back{display:none}
.vl-pdp-bar__nav{display:flex;align-items:center;gap:14px;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-pdp-bar__nav a{display:inline-flex;color:var(--vl-mute);transition:color .2s ease}
.vl-pdp-bar__nav a:last-child{color:var(--vl-ink)}
.vl-pdp-bar__nav a:hover{color:var(--vl-green)}

/* ---------- Hero layout ---------- */
.vl-pdp-hero{--padding-top:40.2px;--padding-bottom:120.6px;background:var(--vl-surf)}
.vl-pdp-hero > .e-con-inner{display:grid!important;grid-template-columns:700px 516px;column-gap:64px!important;align-items:start}
.vl-pdp-hero__media{position:sticky!important;top:24px}

/* stage */
.vl-pdp-stage{position:relative;height:760px;border-radius:24px;background:var(--vl-ivory);overflow:hidden;touch-action:pan-y;outline:none}
.vl-pdp-stage:focus-visible{box-shadow:0 0 0 2px var(--vl-green)}
.vl-pdp-stage .vl-corner{width:13px;height:13px;border-color:var(--vl-mute)}
.vl-pdp-stage .vl-corner--tl{left:15px;top:15px}.vl-pdp-stage .vl-corner--tr{right:15px;top:15px}
.vl-pdp-stage .vl-corner--bl{left:15px;bottom:15px}.vl-pdp-stage .vl-corner--br{right:15px;bottom:15px}
.vl-pdp-stage__ring{position:absolute;left:49.5px;top:59.5px;width:601px;height:601px;transform-origin:50% 50%;animation:vl-spin 120s linear infinite}
.vl-pdp-stage__views{position:absolute;inset:0}
.vl-pdp-stage__img{position:absolute;display:block;max-width:none!important;height:auto!important;opacity:0;transition:opacity .45s var(--vl-ease);pointer-events:none;user-select:none}
.vl-pdp-stage__img.is-active{opacity:1}
.vl-pdp-stage__img.is-front{width:405.5px!important;left:187.4px;top:135px}
.vl-pdp-stage__img.is-contain{left:50%;top:50%;width:auto!important;height:auto!important;max-width:78%!important;max-height:76%!important;transform:translate(-50%,-52%);border-radius:12px}
.vl-pdp-stage .vl-chip{z-index:2;animation:vl-float 5.2s ease-in-out infinite}
.vl-chip--p-coa{left:472px;top:133px}
.vl-chip--p-ruo{left:40px;top:563.8px;animation-delay:-2.6s!important}
.vl-pdp-stage__fig{position:absolute;left:40px;right:34px;bottom:25px;display:flex;justify-content:space-between;gap:16px;margin:0!important;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-pdp-stage__drag{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}

/* thumbnails */
.vl-pdp-thumbs{display:flex;justify-content:space-between;gap:16px;margin-top:20.3px}
.vl-pdp-thumbs__list{display:flex;gap:16px}
:root .vl-pdp-thumb{display:flex;flex-direction:column;gap:7px;padding:0;border:0;background:transparent;color:var(--vl-mute);cursor:pointer;text-align:left}
.vl-pdp-thumb__img{display:flex;align-items:center;justify-content:center;width:96px;height:96px;box-sizing:border-box;border:1px solid var(--vl-line-2);border-radius:10px;background:var(--vl-ivory);overflow:hidden;transition:border-color .2s ease}
.vl-pdp-thumb__img img{display:block;max-width:80%!important;max-height:80%;width:auto;height:auto;object-fit:contain}
.vl-pdp-thumb__label{font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase}
:root .vl-pdp-thumb:hover .vl-pdp-thumb__img{border-color:var(--vl-border)}
:root .vl-pdp-thumb.is-active{color:var(--vl-ink)}
:root .vl-pdp-thumb.is-active .vl-pdp-thumb__img{border:2px solid var(--vl-green)}
:root .vl-pdp-thumb:hover,:root .vl-pdp-thumb:focus{background:transparent;color:var(--vl-ink)}
.vl-pdp-thumbs__nav{display:flex;flex-direction:column;align-items:flex-end;gap:11px}
.vl-pdp-thumbs__nav > div{display:flex;gap:8px}
:root .vl-pdp-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--vl-border);border-radius:50%;background:transparent;color:var(--vl-ink);cursor:pointer}
:root .vl-pdp-arrow:hover,:root .vl-pdp-arrow:focus{border-color:var(--vl-ink);background:transparent;color:var(--vl-ink)}
.vl-pdp-thumbs__nav .vl-mono-note{display:flex;align-items:center;gap:6px;margin:0}
.vl-pdp-thumbs__nav .vl-mono-note .vl-icon{display:none}

/* ---------- Summary ---------- */
.vl-pdp-summary__top{display:flex;align-items:center;gap:12px;margin-top:.4px}
:root .vl-pdp-title{margin:16.3px 0 0;font-family:"Geist",sans-serif;font-size:62px;line-height:61px;font-weight:500;letter-spacing:-.03em;color:var(--vl-ink)}
.vl-pdp-title span{display:block;color:var(--vl-text)}
.vl-pdp-desc{margin-top:14.6px}
.vl-sec .vl-pdp-desc p{margin:0;font-size:20px;line-height:30px;color:var(--vl-text)}
.vl-pdp-summary > .vl-meta{margin-top:15.3px}
.vl-pdp-specs{margin:34px 0 0;padding:0;border-top:1px solid var(--vl-line)}
.vl-pdp-specs__row{display:grid;grid-template-columns:162px 1fr;align-items:center;min-height:45px;padding:13.5px 0;box-sizing:border-box;border-bottom:1px solid var(--vl-line)}
.vl-pdp-specs dt{font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-pdp-specs dd{display:flex;align-items:center;gap:12px;margin:0;font-size:16px;line-height:24px;color:var(--vl-ink)}
.vl-pdp-specs dd.is-mono{font-family:"Geist Mono",monospace;font-size:15px;line-height:18px;letter-spacing:.02em}
.vl-pdp-specs dd a{display:inline-flex;align-items:center;gap:8px;color:var(--vl-green);text-decoration:none}
.vl-pdp-specs dd a:hover{text-decoration:underline;text-underline-offset:3px}
.vl-pdp-status{display:inline-flex;align-items:center;gap:12px}
.vl-pdp-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--vl-green)}
.vl-pdp-status.is-out::before{background:#B4483E}

/* ---------- Purchase panel ---------- */
.vl-buy{margin-top:50.9px}
.vl-buy__strength{display:flex;align-items:center;gap:24px}
.vl-buy__label{font-size:16px;line-height:24px;font-weight:500;color:var(--vl-ink);min-width:58px}
.vl-buy__strengths{display:flex;flex-wrap:wrap;gap:8px}
:root .vl-strength{height:40px;padding:0 16px;border:1px solid var(--vl-border);border-radius:999px;background:transparent;color:var(--vl-ink);font-family:"Geist",sans-serif;font-size:15px;font-weight:500;line-height:20px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
:root .vl-strength:hover,:root .vl-strength:focus{background:transparent;color:var(--vl-ink);border-color:var(--vl-ink)}
:root .vl-strength.is-active,:root .vl-strength.is-active:hover,:root .vl-strength.is-active:focus{background:var(--vl-ink);border-color:var(--vl-ink);color:#F7F8F5}
:root .vl-strength.is-out,:root .vl-strength.is-out:hover{border-color:var(--vl-line-2);color:var(--vl-border);text-decoration:line-through;cursor:not-allowed;background:transparent}

.vl-buy__bundle{margin-top:56px}
.vl-sec .vl-buy__head{display:flex;justify-content:space-between;gap:12px;margin:0 0 12.9px;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-buy__head-off{color:var(--vl-green)}
.vl-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11.5px;padding-top:11.6px}
:root .vl-tier{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:129px;box-sizing:border-box;padding:0 6px 17px;border:1px solid var(--vl-line-2);border-radius:10px;background:var(--vl-card);color:var(--vl-ink);cursor:pointer;font-family:"Geist",sans-serif;transition:border-color .2s ease,background-color .2s ease}
:root .vl-tier:hover,:root .vl-tier:focus{border-color:var(--vl-ink);background:var(--vl-card);color:var(--vl-ink)}
:root .vl-tier.is-active,:root .vl-tier.is-active:hover{border:2px solid var(--vl-green);background:#DCE9E2}
.vl-tier__badge{position:absolute;left:50%;top:-11.6px;transform:translateX(-50%);height:23px;box-sizing:border-box;padding:0 8px;border-radius:6px;background:var(--vl-ink);color:#F7F8F5;font-family:"Geist Mono",monospace;font-size:11px;line-height:23px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.vl-tier:nth-child(2) .vl-tier__badge{background:var(--vl-green)}
.vl-tier__check{position:absolute;top:7px;right:7px;display:none;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--vl-green);color:#F7F8F5}
.vl-tier.is-active .vl-tier__check{display:flex}
.vl-tier__vials{display:flex;justify-content:center;gap:1px;margin-bottom:12px}
.vl-tier__vial{display:block;width:18px;height:44px;overflow:hidden}
.vl-tier__vial img{display:block;width:32px!important;max-width:none!important;height:auto!important;margin-left:-6px}
.vl-tier__label{font-size:15px;line-height:20px;font-weight:400}
.vl-tier__off{margin-top:6px;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-green)}

.vl-buy__total{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8.4px;font-family:"Geist Mono",monospace;font-size:15px;line-height:22px;color:var(--vl-text)}
.vl-buy__dot{color:var(--vl-border)}
.vl-buy__save{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-green)}
.vl-qty{display:inline-flex;align-items:center;height:30px;border:1px solid var(--vl-line-2);border-radius:999px;background:var(--vl-card)}
:root .vl-qty button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--vl-ink);cursor:pointer}
:root .vl-qty button:hover,:root .vl-qty button:focus{background:var(--vl-ivory);color:var(--vl-ink)}
:root .vl-qty input{width:34px;height:28px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center;font-family:"Geist Mono",monospace;font-size:15px;color:var(--vl-ink);-moz-appearance:textfield}
.vl-qty input::-webkit-outer-spin-button,.vl-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.vl-buy__actions{display:flex;flex-direction:column;gap:12px;margin-top:14.1px}
.vl-buy__actions .vl-btn,.vl-buy__subbtn{width:100%;height:52px}
.vl-btn.is-loading{opacity:.6;pointer-events:none}
.vl-btn[disabled]{opacity:.45;cursor:not-allowed}
.vl-buy__msg{margin:0;font-size:14px;line-height:20px;color:var(--vl-text)}
.vl-buy__msg.is-ok{color:var(--vl-green)}
.vl-buy__msg.is-error{color:#B4483E}
.vl-buy__msg a{color:inherit;font-weight:500}
.vl-sec .vl-buy__or{display:flex;align-items:center;gap:12px;margin:19px 0 18px;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-buy__or::before,.vl-buy__or::after{content:"";flex:1;height:1px;background:var(--vl-line)}
.vl-buy__subbtn.is-open{border-color:var(--vl-ink)}
.vl-sub-panel{margin-top:12px;padding:20px;border:1px solid var(--vl-line-2);border-radius:14px;background:var(--vl-card)}
.vl-sub-panel[hidden]{display:none}
.vl-sec .vl-sub-panel__label{margin:0 0 10px;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-sub-panel__opts{display:flex;flex-wrap:wrap;gap:8px}
.vl-sub-opt input{position:absolute;opacity:0;pointer-events:none}
.vl-sub-opt span{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--vl-border);border-radius:999px;font-size:14px;line-height:20px;color:var(--vl-ink);cursor:pointer;transition:background-color .2s ease,color .2s ease}
.vl-sub-opt input:checked + span{background:var(--vl-ink);border-color:var(--vl-ink);color:#F7F8F5}
.vl-sub-opt input:focus-visible + span{outline:2px solid var(--vl-green);outline-offset:2px}
.vl-sec .vl-sub-panel__sum{margin:14px 0 14px;font-family:"Geist Mono",monospace;font-size:13px;line-height:20px;color:var(--vl-text)}
.vl-sub-panel .vl-btn{width:100%;height:48px}
.vl-sec .vl-sub-panel__note{margin:12px 0 0;font-size:13px;line-height:19px;color:var(--vl-mute)}

.vl-cutoff{display:flex;align-items:center;gap:14px;margin-top:20.1px;min-height:59.8px;box-sizing:border-box;padding:10px 18px;border:1px solid #C6DDD0;border-radius:12px;background:#E3EEE7;color:var(--vl-green)}
.vl-sec .vl-cutoff__main{margin:0;font-size:14px;line-height:20px;color:var(--vl-ink)}
.vl-cutoff__main b{font-family:"Geist Mono",monospace;font-weight:400;color:var(--vl-green)}
.vl-sec .vl-cutoff__sub{margin:0;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
.vl-sec .vl-buy__demo{margin:19px 0 0}
.vl-buy__docs{display:flex;align-items:center;gap:12px;margin-top:32px}
.vl-buy__docs .vl-link-arrow .vl-icon--file-text{color:var(--vl-green)}
.vl-sec .vl-buy__ruo{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:32.2px 0 0;font-size:14px;line-height:20px;color:var(--vl-text)}

/* ---------- The product, up close ---------- */
.vl-pdp-close{--padding-top:180px;--padding-bottom:134.5px;background:var(--vl-ivory)}
.vl-pdp-close > .e-con-inner{display:grid!important;grid-template-columns:1fr 480px;column-gap:40px!important;align-items:start}
.vl-close{position:relative;margin:0}
.vl-close__stage{position:relative;height:600px}
.vl-close__ring{position:absolute;left:0;top:0;width:601px;height:601px;animation:vl-spin 140s linear infinite}
.vl-close__img{position:absolute;display:block;width:379.4px!important;max-width:none!important;height:auto!important;left:182.4px;top:115.5px}
.vl-close__img.is-front{width:330px!important;left:135px;top:100px}
.vl-close__call{position:absolute;left:377px;display:flex;align-items:center;gap:0;height:12px;font-family:"Geist Mono",monospace;font-size:11px;line-height:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-ink);white-space:nowrap}
.vl-close__call b{display:block;width:7px;height:7px;border-radius:50%;background:var(--vl-green);margin-left:-3.5px}
.vl-close__call i{display:block;width:150px;height:1px;background:var(--vl-green)}
.vl-close__call em{margin-left:10px;font-style:normal;color:var(--vl-ink)}
.vl-close__call span{margin-left:22px}
.vl-close__call--a{top:140px}
.vl-close__call--b{top:334px;left:387px}
.vl-close__call--b i{width:140px}
.vl-close__call--c{top:420px;left:379px}
.vl-close figcaption{margin-top:28.8px!important}
.vl-pdp-close .vl-sh-eyebrow{margin-top:11.7px!important}
.vl-close-list{margin:40.1px 0 0;padding:0;list-style:none;border-top:1px solid var(--vl-line-2)}
.vl-close-list li{display:grid;grid-template-columns:32px 1fr;padding:19.8px 0 18.2px;border-bottom:1px solid var(--vl-line-2)}
.vl-close-list li:last-child{border-bottom:0}
.vl-close-list b{font-family:"Geist Mono",monospace;font-size:11px;font-weight:400;line-height:16px;color:var(--vl-mute)}
.vl-close-list strong{display:block;font-size:20px;line-height:26px;font-weight:500;color:var(--vl-ink)}
.vl-sec .vl-close-list p{margin:4px 0 0;font-size:16px;line-height:26px;color:var(--vl-text)}

/* ---------- What's documented ---------- */
.vl-pdp-docsec{--padding-top:114.8px;--padding-bottom:136.8px;background:var(--vl-surf)}
.vl-pdp-docs{margin-top:59.2px}
.vl-pdp-docs .vl-exp__tabs{margin-top:0}
.vl-pdp-docs__grid{display:grid;grid-template-columns:816px 1fr;column-gap:64px;margin-top:62.3px}
.vl-pdp-docs__panel .vl-spec{margin-top:0}
.vl-sec .vl-pdp-docs__note{display:flex;align-items:center;gap:8px;margin:14.9px 0 0}
.vl-pdp-docs__cards{display:flex;flex-direction:column;gap:16.4px}
.vl-sec .vl-pdp-docs__cards > .vl-mono-note{margin:4px 0 -5.4px}
.vl-doccard{position:relative;display:flex;flex-direction:column;padding:24px;border-radius:20px;background:var(--vl-ivory);text-decoration:none;color:var(--vl-ink);transition:background-color .25s ease,transform .3s var(--vl-ease)}
.vl-doccard:hover{background:var(--vl-glass)}
.vl-doccard__icon{color:var(--vl-green)}
.vl-doccard > .vl-icon--arrow-up-right{position:absolute;top:24px;right:24px}
.vl-doccard strong{margin-top:14px;font-size:18px;line-height:24px;font-weight:500}
.vl-doccard__text{margin-top:14px;font-size:14px;line-height:21px;color:var(--vl-text)}
.vl-doccard__meta{margin-top:14px;font-family:"Geist Mono",monospace;font-size:11px;line-height:16px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}

/* ---------- Certificate of Analysis ---------- */
.vl-pdp-coasec{--padding-top:114.8px;--padding-bottom:126px;background:var(--vl-glass)}
.vl-coa{margin-top:65.2px}
.vl-coa__card{display:grid;grid-template-columns:300px 1fr;column-gap:40px;padding:24px;border-radius:24px;background:var(--vl-card)}
.vl-coa__preview{position:relative;height:400px;border-radius:16px;background:var(--vl-ivory);overflow:hidden}
.vl-coa__preview .vl-corner{width:13px;height:13px;border-color:var(--vl-mute)}
.vl-coa__preview .vl-corner--tl{left:15px;top:15px}.vl-coa__preview .vl-corner--tr{right:15px;top:15px}
.vl-coa__preview .vl-corner--bl{left:15px;bottom:15px}.vl-coa__preview .vl-corner--br{right:15px;bottom:15px}
.vl-coa__demo{position:absolute;left:14px;top:14px;z-index:2}
.vl-coadoc{position:absolute;left:32px;top:32px;right:32px;bottom:32px;padding:14px 14px 10px 16px;border-left:3px solid var(--vl-green);background:#FBFBF8;box-shadow:0 6px 18px rgba(9,11,10,.08);font-size:6px;line-height:1.35;color:var(--vl-text);overflow:hidden}
.vl-coadoc__head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:6px;border-bottom:1px solid var(--vl-line);font-family:"Geist Mono",monospace;font-size:5.5px;letter-spacing:.08em;text-transform:uppercase}
.vl-coadoc__head span:first-child{display:flex;align-items:center;gap:3px;font-family:"Geist",sans-serif;font-size:7px;font-weight:600;color:var(--vl-ink)}
.vl-coadoc__head em{font-style:normal;color:#C7863B}
.vl-sec .vl-coadoc__name{margin:10px 0 0;font-size:11px;font-weight:600;color:var(--vl-ink)}
.vl-sec .vl-coadoc__sub{margin:2px 0 8px;font-family:"Geist Mono",monospace;font-size:5px;letter-spacing:.06em}
.vl-coadoc__grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:0 0 10px}
.vl-coadoc__grid dt{font-family:"Geist Mono",monospace;font-size:4.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--vl-mute)}
.vl-coadoc__grid dd{margin:0;color:var(--vl-ink)}
.vl-coadoc__table{width:100%;border-collapse:collapse;margin:0 0 8px}
.vl-coadoc__table th{padding:2px 0;background:var(--vl-ivory);font-family:"Geist Mono",monospace;font-size:4.5px;font-weight:400;text-transform:uppercase;text-align:left;color:var(--vl-mute)}
.vl-coadoc__table td{padding:3px 0;border-bottom:1px solid var(--vl-line);font-size:5.5px}
.vl-sec .vl-coadoc__chrom{margin:0 0 8px;padding:9px;border:1px dashed var(--vl-border);font-family:"Geist Mono",monospace;font-size:4.5px;text-transform:uppercase;text-align:center}
.vl-sec .vl-coadoc__status{display:inline-block;margin:0;padding:2px 5px;border-radius:3px;background:#F6E3C8;font-family:"Geist Mono",monospace;font-size:4.5px;text-transform:uppercase;color:#C7863B}
.vl-sec .vl-coadoc__foot{display:flex;justify-content:space-between;margin:8px 0 0;font-family:"Geist Mono",monospace;font-size:4px;text-transform:uppercase}
.vl-coadoc__stamp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:46px;font-weight:600;color:rgba(9,11,10,.05);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.vl-coa__body{padding:3px 0 0}
.vl-coa__badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:5px;background:var(--vl-green);color:#F7F8F5;font-family:"Geist Mono",monospace;font-size:11px;line-height:20px;letter-spacing:.07em;text-transform:uppercase}
:root .vl-coa__title{margin:5px 0 0;font-size:32px;line-height:40px;font-weight:500;letter-spacing:-.015em;color:var(--vl-ink)}
.vl-sec .vl-coa__sub{margin:12.6px 0 0;font-size:16px;line-height:24px;color:var(--vl-text)}
.vl-coa__rows{margin-top:29.8px;border-bottom:1px solid var(--vl-line)}
.vl-coa__row{display:flex;justify-content:space-between;gap:16px;min-height:46.1px;align-items:center;border-top:1px solid var(--vl-line);font-size:14px;line-height:20px;color:var(--vl-text)}
.vl-coa__row:first-child{border-top:0}
.vl-coa__row span:last-child{font-family:"Geist Mono",monospace;font-size:14px;color:var(--vl-ink)}
.vl-coa__btns{display:flex;gap:12px;margin-top:32px}
.vl-coa__meta{display:flex;justify-content:space-between;gap:16px;margin-top:64.4px}
.vl-sec .vl-coa__meta p{margin:0}
.vl-coa__more{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:16px}
.vl-lotcard{display:flex;align-items:center;gap:16px;min-height:90.8px;box-sizing:border-box;padding:20px 24px;border-radius:20px;background:var(--vl-card);color:var(--vl-ink);text-decoration:none;transition:box-shadow .25s ease}
.vl-lotcard:hover{box-shadow:0 10px 26px rgba(9,11,10,.06)}
.vl-lotcard__icon{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:10px;background:var(--vl-ivory);color:var(--vl-text)}
.vl-lotcard__body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.vl-lotcard__body strong{font-size:16px;line-height:22px;font-weight:500}
.vl-lotcard:first-child .vl-lotcard__body strong{font-family:"Geist Mono",monospace;font-weight:400;letter-spacing:.02em}
.vl-lotcard__body > span{font-size:14px;line-height:20px;color:var(--vl-text)}
.vl-lotcard__link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--vl-green);white-space:nowrap}

/* ---------- Storage ---------- */
.vl-pdp-storesec{--padding-top:120px;--padding-bottom:120px;background:var(--vl-surf)}
.vl-pdp-storesec > .e-con-inner{display:grid!important;grid-template-columns:620px 580px;column-gap:80px!important;align-items:start}
.vl-store{position:relative;height:440px;border-radius:24px;background:var(--vl-ivory);overflow:hidden}
.vl-sec .vl-store > .vl-mono-note{position:absolute;left:32px;top:32px;margin:0}
.vl-store__ring{position:absolute;left:140px;top:60px;width:341px;height:341px;animation:vl-spin 120s linear infinite}
.vl-store__disc{position:absolute;left:226px;top:126px;display:flex;align-items:center;justify-content:center;width:168px;height:168px;border-radius:50%;background:var(--vl-card);box-shadow:0 0 0 36px rgba(223,224,221,.35);color:var(--vl-green)}
.vl-store__meta{position:absolute;left:32px;bottom:32px}
.vl-store__card{margin-top:31.9px;padding:22px 24px 21.7px;border:1px solid var(--vl-line-2);border-radius:24px;background:var(--vl-card)}
.vl-store__card h3{display:flex;align-items:center;gap:12px;margin:0 0 10px;font-size:18px;line-height:24px;font-weight:500;color:var(--vl-ink)}
.vl-store__card h3 .vl-icon{color:var(--vl-green)}
.vl-store__row{display:flex;justify-content:space-between;gap:16px;padding:9px 0 6px;border-bottom:1px solid var(--vl-line);font-size:14px;line-height:20px;color:var(--vl-text)}
.vl-store__row span:last-child{font-family:"Geist Mono",monospace;color:var(--vl-ink)}
.vl-store__row span.is-ph{color:var(--vl-mute)}
.vl-sec .vl-store__note{display:flex;align-items:center;gap:10px;margin:32px 0 0;padding:12px 22px;border-radius:12px;background:var(--vl-ivory);font-size:14px;line-height:20px;color:var(--vl-text)}

/* ---------- Why (reuses .vl-records-cols from the homepage) ---------- */
.vl-pdp-why{--padding-top:114.6px;--padding-bottom:146px;background:var(--vl-ink)}
.vl-pdp-why .vl-records-cols{margin-top:64px!important}

/* ---------- Related ---------- */
.vl-pdp-related{--padding-top:114.8px;--padding-bottom:120px;background:var(--vl-surf)}
.vl-related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:71.4px}
.vl-related .vl-card{min-height:603.5px}
.vl-sec .vl-pdp-related__note{display:flex;align-items:center;gap:12px;margin:64px 0 0;font-size:14px;line-height:20px;color:var(--vl-text)}

/* ---------- FAQ (reuses .vl-faq / .vl-help from the homepage) ---------- */
.vl-pdp-faq{--padding-top:114.7px;--padding-bottom:120px;background:var(--vl-ivory)}
.vl-pdp-faq .vl-help{min-height:241px;box-sizing:border-box;margin-top:40.1px;background:var(--vl-card);border:1px solid var(--vl-line-2)}
.vl-help__mail{margin:12px 0 0!important;font-family:"Geist Mono",monospace;font-size:11px!important;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-ink)!important}

/* calibration: section-specific spacing (desktop) */
.vl-pdp-why .vl-rcol{padding-top:21.3px}
.vl-pdp-why .vl-rcol h3{margin-top:25.65px}
.vl-pdp-why .vl-rcol p{margin-top:13.1px}
.vl-pdp-related .vl-sh-lead{margin-top:11.1px!important}
.vl-pdp-coasec .vl-sh-lead{margin-top:12.8px!important}
.vl-pdp-faq .vl-faq{margin-top:2px}

/* ---------- Tablet ---------- */
@media (max-width:1359px){
  .vl-pdp-hero > .e-con-inner{grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:48px!important}
  .vl-pdp-stage{height:auto;aspect-ratio:700/760}
  .vl-pdp-stage__ring{left:7.07%;top:7.83%;width:85.86%;height:auto}
  .vl-pdp-stage__img.is-front{width:57.9%!important;left:26.8%;top:17.8%}
  .vl-chip--p-coa{left:auto;right:4%;top:17.5%}
  .vl-chip--p-ruo{left:5.7%;top:73.8%}
  .vl-pdp-docs__grid{grid-template-columns:minmax(0,1fr) 360px;column-gap:40px}
  .vl-pdp-storesec > .e-con-inner{grid-template-columns:1fr 1fr;column-gap:48px!important}
  .vl-store__ring{left:50%;margin-left:-170px}
  .vl-store__disc{left:50%;margin-left:-84px}
  .vl-pdp-close > .e-con-inner{grid-template-columns:1fr 1fr}
}
@media (max-width:1024px){
  .vl-pdp-hero > .e-con-inner{grid-template-columns:minmax(0,1fr)}
  .vl-pdp-hero__media{position:relative!important;top:auto}
  .vl-related{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vl-pdp-docs__grid{grid-template-columns:minmax(0,1fr)}
  .vl-pdp-docs__cards{margin-top:40px}
  .vl-pdp-storesec > .e-con-inner,.vl-pdp-close > .e-con-inner{grid-template-columns:minmax(0,1fr)}
  .vl-pdp-close .vl-close{order:2;margin-top:48px}
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  .vl-pdp-barsec{--padding-top:10px;--padding-bottom:7.3px}
  .vl-pdp-bar__crumbs{display:none!important}
  .vl-pdp-bar__back{display:inline-flex;align-items:center;gap:10px;font-size:16px;line-height:24px;font-weight:500;color:var(--vl-ink);text-decoration:none}
  .vl-pdp-bar__nav a{display:none}

  .vl-pdp-hero{--padding-top:15.8px;--padding-bottom:17px}
  /* stage 350 × 420: same ring size as desktop, centred higher; one tick top and bottom */
  .vl-pdp-stage{aspect-ratio:350/419.8;border-radius:20px}
  .vl-pdp-stage__ring{left:-35.86%;top:-26.5%;width:171.7%}
  .vl-pdp-stage__img.is-front{top:20.3%}
  .vl-pdp-stage__views::before,.vl-pdp-stage__views::after{content:"";position:absolute;left:50%;width:1px;background:#CACDC8}
  .vl-pdp-stage__views::before{top:0;height:10.2px}
  .vl-pdp-stage__views::after{top:88.2%;height:44.9px}
  .vl-pdp-stage .vl-chip,.vl-pdp-stage__drag{display:none}
  .vl-pdp-stage__fig{left:40px;right:20px;bottom:24.7px;justify-content:flex-start}
  .vl-pdp-thumbs{flex-direction:column;gap:10.1px;margin-top:12.3px}
  .vl-pdp-thumbs__list{gap:12px;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * var(--vl-gutter));padding-right:var(--vl-gutter)}
  .vl-pdp-thumbs__list::-webkit-scrollbar{display:none}
  .vl-pdp-thumb__img{width:72px;height:72px}
  .vl-pdp-thumbs__nav{align-items:flex-start}
  .vl-pdp-thumbs__nav > div{display:none}
  .vl-pdp-thumbs__nav .vl-mono-note .vl-icon{display:inline-block}
  .vl-pdp-hero__summary{margin-top:62px!important}
  :root .vl-pdp-title{margin-top:11.9px;font-size:42px;line-height:41.2px}
  .vl-pdp-desc{margin-top:11.8px}
  .vl-sec .vl-pdp-desc p{font-size:18px;line-height:26px}
  .vl-pdp-summary > .vl-meta{margin-top:12.5px}
  .vl-pdp-specs{margin-top:32.4px}
  .vl-pdp-specs__row{grid-template-columns:132px 1fr}
  .vl-buy{margin-top:58.8px}
  .vl-buy__bundle{margin-top:57px}
  .vl-sec .vl-buy__head{margin-bottom:10.9px}
  .vl-tiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px;padding-top:11.6px}
  .vl-buy__actions .vl-btn,.vl-buy__subbtn{height:52px}
  .vl-buy__total{margin-top:7.7px}
  .vl-sec .vl-buy__or{margin-bottom:19px}
  .vl-buy__docs{flex-direction:column;align-items:stretch;gap:28.1px;margin-top:29px}
  .vl-buy__docs .vl-btn{height:52px}
  .vl-buy__docs .vl-link-arrow{justify-content:center}
  .vl-sec .vl-buy__ruo{flex-direction:column;align-items:flex-start;gap:8px;margin-top:48.3px}

  /* up close: heading → vial → A/B/C list → caption (unwrap the two columns into one flow) */
  .vl-pdp-close{--padding-top:65.9px;--padding-bottom:71.2px}
  .vl-pdp-close > .e-con-inner{display:flex!important;flex-direction:column;gap:0!important}
  .vl-pdp-close .vl-close-w,.vl-pdp-close .vl-close-w .elementor-shortcode,.vl-pdp-close .vl-close,.vl-pdp-close .vl-pdp-close__copy{display:contents}
  .vl-pdp-close .vl-sh-eyebrow{order:1;margin:0 0 16.2px!important}
  .vl-pdp-close .vl-sh-title{order:2}
  .vl-pdp-close .vl-sh-lead{order:3;margin-top:18.8px!important}
  .vl-close__stage{order:4;width:100%;height:320.7px;margin-top:89.9px}
  .vl-pdp-close__copy > .elementor-widget-shortcode{order:5}
  .vl-pdp-close .vl-close figcaption{order:6;margin-top:39.3px!important}
  .vl-close__ring{left:14.5px;width:320.7px;height:320.7px}
  .vl-close__img{width:235.4px!important;left:102.4px;top:34.4px}
  .vl-close__call span{display:none}
  .vl-close__call i{width:23px}
  .vl-close__call em{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0;box-sizing:border-box;border:1px solid #C2C3C1;border-radius:50%;background:#FDFDFB;line-height:1}
  .vl-close__call--a{left:224.5px;top:48.2px}
  .vl-close__call--b{left:230.6px;top:169px}
  .vl-close__call--b i{width:22.8px}
  .vl-close__call--c{left:225.5px;top:223.4px}
  .vl-close__call--c i{width:22.9px}
  .vl-close-list{margin-top:70px}
  .vl-close-list li{padding:14.2px 0 17.4px}
  .vl-close-list strong{font-size:18px;line-height:24px}
  .vl-sec .vl-close-list p{margin-top:3.3px;font-size:14px;line-height:21px}
  .vl-pdp-docsec,.vl-pdp-coasec,.vl-pdp-storesec,.vl-pdp-related,.vl-pdp-faq{--padding-top:67px;--padding-bottom:72px}
  .vl-pdp-why{--padding-top:67px;--padding-bottom:72px}
  /* mobile section order: … documented → storage card → certificate → FAQ → related (no "Why" block) */
  .elementor-location-single:has(> .vl-pdp-hero){display:flex;flex-direction:column}
  .vl-pdp-barsec{order:1}.vl-pdp-hero{order:2}.vl-pdp-close{order:3}.vl-pdp-docsec{order:4}.vl-pdp-storesec{order:5}.vl-pdp-coasec{order:6}.vl-pdp-faq{order:7}.vl-pdp-related{order:8}
  .vl-pdp-why{display:none!important}
  .vl-pdp-docsec .vl-sh-eyebrow,.vl-pdp-coasec .vl-sh-eyebrow,.vl-pdp-related .vl-sh-eyebrow,.vl-pdp-faq .vl-sh-eyebrow{margin-bottom:16.2px!important}
  .vl-pdp-docsec .vl-sh-lead,.vl-pdp-coasec .vl-sh-lead,.vl-pdp-related .vl-sh-lead,.vl-pdp-faq .vl-sh-lead{margin-top:18.8px!important}

  /* documented: per-tab underline, stacked spec rows, amber "pending" pill */
  .vl-pdp-docsec{--padding-top:65.8px;--padding-bottom:45px}
  .vl-pdp-docs{margin-top:54.6px}
  .vl-pdp-docs .vl-exp__tabs{display:flex;gap:32px;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * var(--vl-gutter));border-bottom:0}
  .vl-pdp-docs .vl-exp__tabs::-webkit-scrollbar{display:none}
  .vl-pdp-docs .vl-tab{flex:none;gap:10px;height:34.8px;box-sizing:border-box;padding:0 4.7px 14.8px;font-size:16px;line-height:20px;box-shadow:inset 0 -1px 0 var(--vl-line)}
  .vl-pdp-docs .vl-tab::after{bottom:.7px}
  .vl-pdp-docs__grid{margin-top:39.5px}
  .vl-pdp-docs .vl-spec{border-top:1px solid var(--vl-line)}
  .vl-pdp-docs .vl-spec__row{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4.8px;min-height:0;padding:12.5px 0 12.1px}
  .vl-pdp-docs .vl-spec__k{color:var(--vl-text)}
  .vl-pdp-docs .vl-spec__v{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:20px;text-align:left}
  .vl-pdp-docs .vl-pending{height:22px;padding:0 8px;margin:0;border-radius:5px;background:#F6ECD9;color:#8A5A0B}
  .vl-pdp-docs .vl-spec__row.vl-spec__row--status{padding:12.4px 16px 11.9px 18.5px}
  .vl-pdp-docs .vl-spec__row--status .vl-spec__v{display:block;color:var(--vl-green)}
  .vl-pdp-docs__note{display:none!important}
  .vl-pdp-docs__cards{margin-top:34.8px;gap:17.2px}
  .vl-sec .vl-pdp-docs__cards > .vl-mono-note{margin:4px 0 -3.4px}
  .vl-doccard{padding:21.7px 24px 20.8px}
  .vl-doccard > .vl-icon--arrow-up-right{top:21.7px}
  .vl-doccard strong{margin-top:17.8px}
  .vl-doccard__text{margin-top:14.4px}
  .vl-doccard__meta{margin-top:15.3px}

  /* storage: card + note only (the stage and heading are desktop-only) */
  .vl-pdp-storesec{--padding-top:0px;--padding-bottom:72.2px}
  .vl-pdp-storesec > .e-con-inner > .elementor-widget-shortcode,.vl-pdp-store__copy .vl-sh-eyebrow,.vl-pdp-store__copy .vl-sh-title,.vl-pdp-store__copy .vl-sh-lead{display:none!important}
  .vl-store__card{margin-top:0;padding:17.4px 20px 18px}
  .vl-store__card h3{margin-bottom:12px}
  .vl-store__row{flex-direction:column;justify-content:flex-start;gap:5.1px;padding:12.2px 0 11.8px;border-bottom:0;border-top:1px solid var(--vl-line)}
  .vl-store__row:last-child{padding-bottom:0}
  .vl-sec .vl-store__note{align-items:flex-start;gap:11px;margin-top:14.6px;padding:10.9px 17px 12.5px;line-height:21px}
  .vl-store__note .vl-icon{flex:none;margin-top:2.5px}
  .vl-coa__card{grid-template-columns:minmax(0,1fr);row-gap:24px;padding:20px}
  .vl-coa__btns{flex-direction:column}
  .vl-coa__btns .vl-btn{height:52px}
  .vl-coa__more{grid-template-columns:minmax(0,1fr);gap:16px}
  .vl-coa__meta{margin-top:40px}
  .vl-store{height:360px}
  .vl-related{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(-1 * var(--vl-gutter));padding-right:var(--vl-gutter);scrollbar-width:none;margin-top:32px}
  .vl-related .vl-related__item{flex:0 0 280px;scroll-snap-align:start}
  .vl-related .vl-card{min-height:0}
  .vl-related .vl-card__head{height:280px}
  .vl-related .vl-card__img--front{width:184px!important;left:calc(50% - 134.1px);top:20px}
}
@media (prefers-reduced-motion:reduce){.vl-pdp-stage__ring,.vl-close__ring,.vl-store__ring,.vl-pdp-stage .vl-chip{animation:none}.vl-pdp-stage__img{transition:none}}
.vl-pdp-why .vl-center{align-items:center;text-align:center}
@media (max-width:767px){.vl-pdp-why .vl-center{align-items:flex-start;text-align:left}.vl-pdp-faq__m.vl-m{display:block;margin:32px 0 0!important;font-size:14px;line-height:20px;color:var(--vl-text)}.vl-pdp-faq__m .vl-link-arrow{margin-top:14px}}
