/* Products hero, cinematic stage (pr-hero.js): centred headline, full-width shop floor, camera moves, tab row.
   Black / white / grey + orange; the problem in burnt orange #c2410c. */
.pr-hero .pr-bg { display: none; }
.pr-stage .pr-hero-in { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 44px; min-height: 0; padding-block: 72px 64px; }
.pr-stage .pr-copy { text-align: center; display: flex; flex-direction: column; align-items: center; }
.pr-stage .pr-copy h1 { max-width: 900px; }
.pr-stage .pr-lead { max-width: 680px; }
.pr-stage .pr-cta { justify-content: center; }
.hs3d.st { width: 100%; max-width: 1200px; aspect-ratio: auto; perspective: none; margin: 0 auto; --rx: 0px !important; }
.st * { animation-play-state: paused; } .st.play * { animation-play-state: running; }
.st-svg { display: block; width: 100%; height: auto; overflow: visible; font-family: Inter, system-ui, sans-serif; filter: drop-shadow(0 40px 50px rgba(120,70,20,.14)); }
.st-panel { fill: #fff; stroke: #efe6dc; stroke-width: 1.5; }
/* camera */
.st-cam { transform-box: view-box; transform-origin: 0 0; transition: transform 1.1s cubic-bezier(.65,0,.25,1); will-change: transform; }
.st-floor { stroke: #e6ddd2; stroke-width: 1.4; }
.st-spot { opacity: 0; transition: opacity .6s, cx .8s; }
.st.s-card .st-spot { opacity: 1; }
.st-rail { stroke: #ece5dc; stroke-width: 1.5; stroke-dasharray: 4 6; }
.st-wire { fill: none; stroke: #ece5dc; stroke-width: 1.3; stroke-dasharray: 3 5; }
.st-pk circle { fill: #f7861e; filter: drop-shadow(0 0 3px rgba(247,134,30,.8)); }
.st-sh { fill: rgba(0,0,0,.18); filter: blur(4px); }
.st-img { filter: drop-shadow(0 8px 8px rgba(0,0,0,.10)); transition: filter .6s, opacity .6s; }
.st-m { transition: opacity .6s; }
.st-m.dim { opacity: .28; } .st-m.dim .st-img { filter: grayscale(1); }
.st-l { font-size: 12px; font-weight: 800; fill: #111; text-anchor: middle; }
.st-chip rect { fill: #fff; stroke: #e3ded7; } .st-chip circle { fill: #f7861e; } .st-chip text { font-size: 9px; font-weight: 800; fill: #3a3a3a; }
.st.play .st-chip circle { animation: st-blink 1.6s ease-in-out infinite; }
@keyframes st-blink { 50% { opacity: .35; } }
.st-m.bad .st-chip rect { fill: #fff1ea; stroke: #c2410c; } .st-m.bad .st-chip circle { fill: #c2410c; } .st-m.bad .st-chip text { fill: #c2410c; }
.st-m.bad .st-img { filter: drop-shadow(0 0 10px rgba(194,65,12,.35)); }
/* badge + counter */
.st-badge rect { fill: #fff; stroke: #ece5dc; } .st-badge text { font-size: 11px; font-weight: 800; fill: #111; } .st-badge circle { fill: #f7861e; }
.st.play .st-badge circle { animation: st-blink 1.6s ease-in-out infinite; }
.st-n { font-size: 12px; font-weight: 800; letter-spacing: .18em; fill: #e56f06; text-anchor: end; }
/* live card */
.st-card { opacity: 0; transition: opacity .45s, transform .6s cubic-bezier(.16,1,.3,1); transform: translate(712px, 112px); }
.st.s-card .st-card { opacity: 1; transform: translate(690px, 100px); }
.st-cb { fill: #fff; stroke: #e9e2d9; stroke-width: 1.2; filter: drop-shadow(0 20px 26px rgba(0,0,0,.10)); }
.st-ck { font-size: 10px; font-weight: 800; letter-spacing: .16em; fill: #e56f06; }
.st-ct { font-size: 17px; font-weight: 800; letter-spacing: -.01em; fill: #111; }
.st-rl { stroke: #f0ebe4; stroke-width: 1; }
.st-rk { font-size: 12px; font-weight: 600; fill: #6b6b6b; } .st-rv { font-size: 14px; font-weight: 800; fill: #111; text-anchor: end; transition: fill .3s; }
.st.s-flag .st-row:not(.flag) { opacity: .45; }
.st.s-flag .st-row.flag .st-rv { fill: #c2410c; } .st.s-flag .st-row.flag .st-rk { fill: #c2410c; font-weight: 800; }
.st.s-act .st-row.flag .st-rv { fill: #111; }
.st-lead { fill: none; stroke: #111; stroke-width: 1.4; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .6s .15s, stroke .3s; }
.st.s-card .st-lead { stroke-dashoffset: 0; }
.st.s-flag:not(.s-act) .st-lead { stroke: #c2410c; }
.st-ldot { fill: #f7861e; stroke: #fff; stroke-width: 2.5; opacity: 0; transition: opacity .3s .2s; } .st.s-card .st-ldot { opacity: 1; }
.st.s-flag:not(.s-act) .st-ldot { fill: #c2410c; }
/* decision pill */

.st-db { fill: #fafafa; stroke: #ececec; stroke-width: 1.2; transition: fill .4s, stroke .4s; }
.st-di { fill: #ececec; transition: fill .4s; }
.st-if, .st-ia { fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: opacity .3s; }
.st-dk { font-size: 9px; font-weight: 800; letter-spacing: .16em; fill: #8a8a8a; transition: fill .4s; }
.st-d1 { font-size: 14px; font-weight: 800; fill: #111; transition: fill .4s; }
.st.s-flag .st-db { fill: #fff; stroke: #c2410c; } .st.s-flag .st-di { fill: #c2410c; } .st.s-flag .st-if { opacity: 1; } .st.s-flag .st-dk { fill: #c2410c; }
.st.s-act .st-db { fill: #111; stroke: #111; } .st.s-act .st-di { fill: #f7861e; } .st.s-act .st-if { opacity: 0; } .st.s-act .st-ia { opacity: 1; }
.st.s-act .st-dk { fill: #ffb867; } .st.s-act .st-d1 { fill: #fff; }
.st-ok { opacity: 0; transform-box: fill-box; transform-origin: center; transition: opacity .3s; } .st.s-done .st-ok { opacity: 1; }
.st-ok circle { fill: #fff; } .st-ok path { fill: none; stroke: #111; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
/* tab row */
.st-tabs { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
.st-tabs button { position: relative; overflow: hidden; padding: 12px 10px 14px; border: 0; border-radius: 12px; background: rgba(255,255,255,.7); box-shadow: inset 0 0 0 1px #ece5dc;
  font: 700 12.5px/1.25 Inter, system-ui, sans-serif; color: #8a8a8a; cursor: pointer; text-align: left; transition: background .3s, color .3s, box-shadow .3s; }
.st-tabs button:hover { color: #111; background: #fff; }
.st-tabs button.past { color: #3a3a3a; }
.st-tabs button.on { background: #fff; color: #111; box-shadow: inset 0 0 0 1px #111, 0 10px 20px -14px rgba(0,0,0,.4); }
.st-tabs i { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #f7861e; transform: scaleX(0); transform-origin: 0 50%; }
.st-tabs button.past i { background: #3a3a3a; }
.st-tabs button:focus-visible { outline: 2px solid #f7861e; outline-offset: 2px; }
@media (max-width: 1000px) { .st-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .pr-stage .pr-hero-in { padding-block: 40px 40px; gap: 28px; }
  .st-tabs { display: flex; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .st-tabs::-webkit-scrollbar { display: none; }
  .st-tabs button { flex: none; }
}

.st-ie { fill: none; stroke: #6b6b6b; stroke-width: 2; transition: opacity .3s; } .st.s-flag .st-ie { opacity: 0; }
.st-m .st-l, .st-m .st-chip { transition: opacity .4s; }
.st.s-card .st-m .st-l, .st.s-card .st-m .st-chip { opacity: 0; }
