.cs-site .lab-store-hero .store-main-hero-media { display: block; overflow: hidden; min-width: 0; }
.lab-store-hero .store-main-hero-media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lab-page { padding-bottom: clamp(48px,7vw,100px); }
.lab-product { display: grid; grid-template-columns: minmax(200px,.8fr) minmax(0,1.2fr); gap: clamp(24px,6vw,88px); align-items: center; padding: 24px 0 44px; }
.lab-cover { background: #e6eff3; border-radius: 8px; padding: clamp(16px,4vw,40px); display: grid; place-items: center; }
.lab-cover img { display: block; width: min(100%,280px); height: auto; box-shadow: 0 10px 26px #10284233; }
.lab-page h1 { margin: .15em 0; color: #102842; font-size: clamp(40px,5vw,70px); line-height: 1.05; }
.lab-page h2,.lab-lesson h2 { font-size: clamp(25px,3vw,36px); color: #102842; line-height: 1.17; }
.lab-page h3,.lab-lesson h3 { margin: .35em 0; color: #102842; font-size: 21px; line-height: 1.2; }
.lab-page p,.lab-lesson p,.lab-case li,.lab-topics dd { line-height: 1.6; }
.lab-page p { margin: .8em 0; }
.lab-product .lab-lead { font-size: 21px; font-weight: 600; }
.lab-kicker { font-size: 12px; font-weight: 700; color: #315d78; }
.lab-product .lab-price { font-size: 26px; font-weight: 700; }
.lab-product .pdp-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lab-small,.lab-case figcaption { color: #495e70; font-size: 14px; }
.lab-page a:not(.shop-button),.lab-lesson a { color: #155db6; text-decoration: underline; text-underline-offset: .17em; }
.lab-topics { border-block: 1px solid #cedae3; padding: 24px 0; margin-bottom: 40px; }
.lab-topics dl { display: grid; grid-template-columns: minmax(210px,.6fr) 1fr; gap: 12px 24px; margin-top: 20px; }
.lab-topics dt { font-weight: 650; }.lab-topics dd { margin: 0; }
.lab-samples { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,290px),1fr)); gap: 16px; margin-top: 24px; align-items: start; }
.lab-case { background: white; color: #152942; border: 1px solid #cedae3; padding: clamp(16px,2.2vw,26px); border-radius: 8px; }
.lab-case figure { margin: 16px 0; }.lab-case img { display: block; width: 100%; height: auto; }
.lab-case figcaption { margin-top: 6px; }.lab-case ol { list-style: upper-alpha outside; padding-left: 24px; }.lab-case li { margin: 6px 0; }
.lab-case details { border-top: 1px solid #cedae3; padding-top: 12px; margin-top: 16px; }
.lab-case summary { color: #155db6; font-weight: 650; cursor: pointer; }.lab-case details p { margin-top: 10px; }
.lab-lesson { max-width: 48rem; margin: 36px auto; padding: 0 20px; }
.lab-lesson h2,.lab-lesson > p { margin: 12px 0; }
@media(max-width:680px) {
  .cs-site .lab-store-hero .store-main-hero-media { height: clamp(160px,48vw,255px); }
  .lab-product { grid-template-columns: 1fr; }
  .lab-cover img { width: 150px; }
  .lab-topics dl { display: block; }.lab-topics dd { margin: 4px 0 16px; }
}
.cs-site .lab-store-hero .store-main-hero-media { padding: 0; }
body[data-product="chartlab"].cs-modal-open #crypi-agent,
body[data-product="chartlab"].px-payment-open #crypi-agent { visibility: hidden; }

.campaign-stage { width:100%; aspect-ratio:3/2; }
.campaign-slide { display:block; width:100%; }
.campaign-slide img { display:block; }
.campaign [hidden] { display:none !important; }
.campaign-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:6px 12px; color:#102842; font:600 14px/1.2 system-ui,sans-serif; }
.campaign-controls button { color:#102842; background:white; border:1px solid #c1d0db; border-radius:6px; min-width:44px; min-height:44px; cursor:pointer; }
.campaign-controls [data-cycle] { padding-inline:14px; margin-right:auto; }
.campaign-controls [data-prev],.campaign-controls [data-next] { font-size:24px; }
@media(prefers-reduced-motion:no-preference) {
  .campaign-slide:not([hidden]) { animation:campaign-appear 300ms ease-out; }
  @keyframes campaign-appear { from { opacity:.65; } to { opacity:1; } }
}
