/* KVS Classes — front end. Colours: brand slate/terracotta; per-category accent via --kvsc-acc / --kvsc-soft. */
.kvsc-list,.kvsc-single{--kvsc-ink:#1B3D59;--kvsc-ink2:#446084;--kvsc-muted:#6B7C90;--kvsc-line:#DCE2E9;--kvsc-paper:#fff;--kvsc-ground:#F5F6F8;--kvsc-terra:#C05530;--kvsc-teal:#35878B;color:var(--kvsc-ink);line-height:1.45;box-sizing:border-box}
.kvsc-list *,.kvsc-single *{box-sizing:border-box}
.kvsc-list{display:grid;gap:14px;margin:0 0 24px}
.kvsc-item{--kvsc-acc:#245679;--kvsc-soft:#DCE6EE}
.kvsc-item[hidden]{display:none}
.kvsc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--kvsc-muted)}
.kvsc-toolbar[hidden]{display:none}
.kvsc-tzbtn{border:1px solid var(--kvsc-teal);color:var(--kvsc-teal);background:transparent;border-radius:6px;padding:7px 14px;font-weight:600;font-size:13px;cursor:pointer;line-height:1.2;margin:0;text-transform:none;letter-spacing:0}
.kvsc-tzbtn[aria-pressed="true"]{background:var(--kvsc-teal);color:#fff}
.kvsc-title{margin:0 0 4px;font-size:1.25em;line-height:1.25;font-weight:600}
.kvsc-title a{color:inherit;text-decoration:none}
.kvsc-title a:hover{color:var(--kvsc-acc)}
.kvsc-badge{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:2px 8px;border-radius:3px;color:#fff;background:var(--kvsc-acc)}
.kvsc-soon{color:var(--kvsc-terra);font-weight:600;font-size:14px}
.kvsc-buy{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.kvsc-price{font-variant-numeric:tabular-nums;font-size:1.05em}
.kvsc-price del{color:var(--kvsc-muted);font-weight:400;margin-right:6px}
.kvsc-price ins{text-decoration:none;font-weight:700}
.kvsc-btn.button,.kvsc-btn{display:inline-block;background:var(--kvsc-terra);color:#fff!important;text-decoration:none;font-weight:700;padding:9px 16px;border-radius:4px;font-size:14px;white-space:nowrap;line-height:1.3;margin:0;border:0;text-transform:none;letter-spacing:0}
.kvsc-btn.button:hover{background:#a8461f;color:#fff}
.kvsc-btn-off{background:var(--kvsc-line);color:var(--kvsc-muted)!important}
.kvsc-seats{font-size:12px;color:var(--kvsc-muted)}
.kvsc-fact{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:14px;margin:0 0 4px}
.kvsc-fact dt{color:var(--kvsc-muted);text-transform:uppercase;font-size:11px;letter-spacing:.08em;padding-top:3px;font-weight:600}
.kvsc-fact dd{margin:0;font-variant-numeric:tabular-nums}
.kvsc-block{margin-top:10px;border-top:1px solid var(--kvsc-line);padding-top:8px;font-size:14px}
.kvsc-fold summary{cursor:pointer;color:var(--kvsc-teal);font-weight:700;font-size:16px;list-style:none;display:inline-block;padding:2px 0}
.kvsc-fold summary::-webkit-details-marker{display:none}
.kvsc-fold summary::before{content:"▸ "}
.kvsc-fold[open] summary::before{content:"▾ "}
.kvsc-bh{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--kvsc-muted);margin-bottom:4px;font-weight:600}
.kvsc-sessions{margin:6px 0 0;padding:0;list-style:none;font-variant-numeric:tabular-nums;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:4px 18px}
.kvsc-sessions li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted var(--kvsc-line);padding:3px 0;margin:0}
.kvsc-sessions li > span:last-child{color:var(--kvsc-muted);white-space:nowrap}
.kvsc-sessions li b{color:var(--kvsc-ink)}
.kvsc-wkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:8px;margin-top:6px}
.kvsc-wkcell{border:1px solid var(--kvsc-line);border-left:3px solid var(--kvsc-acc);border-radius:4px;padding:6px 10px;font-size:13px;font-variant-numeric:tabular-nums}
.kvsc-wkt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--kvsc-acc);font-weight:700;margin-bottom:2px}
.kvsc-wkrow{display:flex;justify-content:space-between;gap:8px}
.kvsc-wkrow b{font-weight:600}.kvsc-wkrow > span{color:var(--kvsc-muted)}
.kvsc-dst{font-size:12px;color:var(--kvsc-terra);margin:6px 0 0}
.kvsc-dst[hidden]{display:none}
/* journey */
.kvsc-journey{margin-top:6px}
.kvsc-jtitle{margin:0 0 4px;font-size:1.3em;font-weight:700;line-height:1.2;color:var(--kvsc-ink)}
.kvsc-fold .kvsc-jtitle,.kvsc-item .kvsc-jtitle{font-size:1.05em}
.kvsc-jhead{display:flex;justify-content:flex-start;align-items:baseline;gap:10px;font-size:12px;color:var(--kvsc-muted);flex-wrap:wrap}
.kvsc-jhead b{font-size:14px;letter-spacing:0;text-transform:none;color:var(--kvsc-ink);font-variant-numeric:tabular-nums}
.kvsc-steps{display:flex;list-style:none;margin:10px 0 0;padding:0}
.kvsc-step{flex:1 1 0;position:relative;padding:14px 8px 0 0;font-size:12.5px;line-height:1.3;min-width:0;margin:0}
.kvsc-step::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:var(--kvsc-line)}
.kvsc-step::after{content:"";position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--kvsc-paper);border:2px solid var(--kvsc-acc);box-sizing:border-box}
.kvsc-step.kvsc-class::after{background:var(--kvsc-acc)}
.kvsc-step.kvsc-class::before{background:var(--kvsc-acc)}
.kvsc-step.kvsc-finale{flex:0 0 auto}
.kvsc-step.kvsc-finale::after{background:var(--kvsc-terra);border-color:var(--kvsc-terra);width:14px;height:14px;top:-1px}
.kvsc-step.kvsc-finale::before{display:none}
.kvsc-step .l{font-weight:700;color:var(--kvsc-ink)}
.kvsc-step.kvsc-work .l{color:var(--kvsc-ink2);font-weight:600}
.kvsc-step.kvsc-finale .l{color:var(--kvsc-terra)}
.kvsc-step .d{color:var(--kvsc-muted);font-variant-numeric:tabular-nums}
.kvsc-step .h{color:var(--kvsc-ink2);font-variant-numeric:tabular-nums}
.kvsc-step .sub{margin-top:3px;display:grid;gap:1px}
.kvsc-step .sub > span{display:block;font-size:12px;color:var(--kvsc-ink2);font-variant-numeric:tabular-nums}
.kvsc-step .desc{color:var(--kvsc-ink2);font-size:12.5px;margin-top:3px;max-width:62ch}
.kvsc-hint{font-size:13px;color:var(--kvsc-muted);margin:8px 0 0}
.kvsc-hint em{font-style:normal;color:var(--kvsc-terra);font-weight:600}

/* ===== vertical journey: five styles, chosen per breakpoint (kvsc-vd-* desktop, kvsc-vm-* phone) ===== */
.kvsc-vertical{--kvsc-fin:var(--kvsc-acc)}
.kvsc-vertical.kvsc-fin-terra{--kvsc-fin:var(--kvsc-terra)}
.kvsc-vertical .kvsc-steps{flex-direction:column;margin-top:14px;padding:0}
.kvsc-vertical .kvsc-step{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;min-width:0;font-size:15px;line-height:1.4;padding:0}
.kvsc-vertical .kvsc-step::before,.kvsc-vertical .kvsc-step::after{content:none;position:absolute;left:auto;right:auto;top:auto;bottom:auto;width:auto;height:auto;border:0;background:none}
.kvsc-vertical .kvsc-step .d{order:-1;font-variant-numeric:tabular-nums}
.kvsc-vertical .kvsc-step .l{font-size:18px;font-weight:700;color:var(--kvsc-ink);line-height:1.25}
.kvsc-vertical .kvsc-step.kvsc-work .l{color:var(--kvsc-ink);font-weight:700}
.kvsc-vertical .kvsc-step.kvsc-finale .l{color:var(--kvsc-fin)}
.kvsc-vertical .kvsc-step .h{font-size:14px;color:var(--kvsc-ink2);margin-top:2px}
.kvsc-vertical .kvsc-step .desc{font-size:14px;margin-top:4px}
.kvsc-vertical .kvsc-step .sub{margin-top:6px;gap:2px;order:5}
.kvsc-vertical .kvsc-step .sub > span{font-size:14px}
@media (min-width:641px){
/* V1 rail + pills */
.kvsc-vd-v1 .kvsc-step{position:relative;padding:0 0 26px 48px}
.kvsc-vd-v1 .kvsc-step::before{content:"";position:absolute;left:14px;top:16px;bottom:-6px;width:3px;background:var(--kvsc-acc);opacity:.35}
.kvsc-vd-v1 .kvsc-step:last-child::before{content:none}
.kvsc-vd-v1 .kvsc-step::after{content:var(--n);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center;line-height:1}
.kvsc-vd-v1 .kvsc-step .d{display:inline-block;background:var(--kvsc-acc);color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:4px;margin:3px 0 8px}
.kvsc-vd-v1 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin)} .kvsc-vd-v1 .kvsc-step.kvsc-finale .d{background:var(--kvsc-fin)}
/* V2 rail, hollow self-study */
.kvsc-vd-v2 .kvsc-step{position:relative;padding:0 0 26px 48px}
.kvsc-vd-v2 .kvsc-step::before{content:"";position:absolute;left:14px;top:16px;bottom:-6px;width:3px;background:var(--kvsc-line)}
.kvsc-vd-v2 .kvsc-step:last-child::before{content:none}
.kvsc-vd-v2 .kvsc-step::after{content:var(--n);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center;box-sizing:border-box;line-height:1}
.kvsc-vd-v2 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);color:var(--kvsc-acc);border:2px solid var(--kvsc-acc)}
.kvsc-vd-v2 .kvsc-step .d{display:inline-block;background:var(--kvsc-acc);color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:4px;margin:3px 0 8px}
.kvsc-vd-v2 .kvsc-step.kvsc-work .d{background:var(--kvsc-soft);color:var(--kvsc-ink)}
.kvsc-vd-v2 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0;color:#fff} .kvsc-vd-v2 .kvsc-step.kvsc-finale .d{background:var(--kvsc-fin);color:#fff}
/* V3 quiet dots */
.kvsc-vd-v3 .kvsc-step{position:relative;padding:0 0 22px 30px}
.kvsc-vd-v3 .kvsc-step::before{content:"";position:absolute;left:6px;top:10px;bottom:-4px;width:2px;background:var(--kvsc-line)}
.kvsc-vd-v3 .kvsc-step:last-child::before{content:none}
.kvsc-vd-v3 .kvsc-step::after{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:50%;background:var(--kvsc-acc);box-sizing:border-box}
.kvsc-vd-v3 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);border:3px solid var(--kvsc-acc)}
.kvsc-vd-v3 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0}
.kvsc-vd-v3 .kvsc-step .d{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--kvsc-muted);font-weight:700;margin-bottom:2px}
/* V4 cards */
.kvsc-vd-v4 .kvsc-steps{gap:10px}
.kvsc-vd-v4 .kvsc-step{position:relative;padding:12px 16px 12px 58px;border:1px solid var(--kvsc-line);border-left:4px solid var(--kvsc-acc);border-radius:6px;background:var(--kvsc-paper)}
.kvsc-vd-v4 .kvsc-step.kvsc-work{border-left-color:var(--kvsc-line);background:var(--kvsc-ground)}
.kvsc-vd-v4 .kvsc-step::after{content:var(--n);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;box-sizing:border-box;line-height:1}
.kvsc-vd-v4 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);color:var(--kvsc-acc);border:2px solid var(--kvsc-acc)}
.kvsc-vd-v4 .kvsc-step.kvsc-finale{border-left-color:var(--kvsc-fin)} .kvsc-vd-v4 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0;color:#fff}
.kvsc-vd-v4 .kvsc-step .d{font-size:12px;color:var(--kvsc-muted);font-weight:600;margin-bottom:1px}
/* V5 dates on the left (desktop only — falls back to the phone style below 640px) */
.kvsc-vd-v5 .kvsc-step{position:relative;display:grid;grid-template-columns:110px 28px 1fr;column-gap:12px;padding:0 0 24px;align-items:start}
.kvsc-vd-v5 .kvsc-step .d{grid-column:1;grid-row:1;text-align:right;font-size:13px;color:var(--kvsc-ink2);font-weight:700;padding-top:4px}
.kvsc-vd-v5 .kvsc-step::after{content:var(--n);grid-column:2;grid-row:1;position:relative;z-index:1;width:28px;height:28px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;box-sizing:border-box;line-height:1}
.kvsc-vd-v5 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);color:var(--kvsc-acc);border:2px solid var(--kvsc-acc)}
.kvsc-vd-v5 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0;color:#fff}
.kvsc-vd-v5 .kvsc-step::before{content:"";position:absolute;left:135px;top:30px;bottom:-2px;width:2px;background:var(--kvsc-line)}
.kvsc-vd-v5 .kvsc-step:last-child::before{content:none}
.kvsc-vd-v5 .kvsc-step .l,.kvsc-vd-v5 .kvsc-step .h,.kvsc-vd-v5 .kvsc-step .desc,.kvsc-vd-v5 .kvsc-step .sub{grid-column:3}
.kvsc-vd-v5 .kvsc-step .l{grid-row:1;padding-top:2px}
}
@media (max-width:640px){
/* V1 rail + pills */
.kvsc-vm-v1 .kvsc-step{position:relative;padding:0 0 26px 48px}
.kvsc-vm-v1 .kvsc-step::before{content:"";position:absolute;left:14px;top:16px;bottom:-6px;width:3px;background:var(--kvsc-acc);opacity:.35}
.kvsc-vm-v1 .kvsc-step:last-child::before{content:none}
.kvsc-vm-v1 .kvsc-step::after{content:var(--n);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center;line-height:1}
.kvsc-vm-v1 .kvsc-step .d{display:inline-block;background:var(--kvsc-acc);color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:4px;margin:3px 0 8px}
.kvsc-vm-v1 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin)} .kvsc-vm-v1 .kvsc-step.kvsc-finale .d{background:var(--kvsc-fin)}
/* V2 rail, hollow self-study */
.kvsc-vm-v2 .kvsc-step{position:relative;padding:0 0 26px 48px}
.kvsc-vm-v2 .kvsc-step::before{content:"";position:absolute;left:14px;top:16px;bottom:-6px;width:3px;background:var(--kvsc-line)}
.kvsc-vm-v2 .kvsc-step:last-child::before{content:none}
.kvsc-vm-v2 .kvsc-step::after{content:var(--n);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center;box-sizing:border-box;line-height:1}
.kvsc-vm-v2 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);color:var(--kvsc-acc);border:2px solid var(--kvsc-acc)}
.kvsc-vm-v2 .kvsc-step .d{display:inline-block;background:var(--kvsc-acc);color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:4px;margin:3px 0 8px}
.kvsc-vm-v2 .kvsc-step.kvsc-work .d{background:var(--kvsc-soft);color:var(--kvsc-ink)}
.kvsc-vm-v2 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0;color:#fff} .kvsc-vm-v2 .kvsc-step.kvsc-finale .d{background:var(--kvsc-fin);color:#fff}
/* V3 quiet dots */
.kvsc-vm-v3 .kvsc-step{position:relative;padding:0 0 22px 30px}
.kvsc-vm-v3 .kvsc-step::before{content:"";position:absolute;left:6px;top:10px;bottom:-4px;width:2px;background:var(--kvsc-line)}
.kvsc-vm-v3 .kvsc-step:last-child::before{content:none}
.kvsc-vm-v3 .kvsc-step::after{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:50%;background:var(--kvsc-acc);box-sizing:border-box}
.kvsc-vm-v3 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);border:3px solid var(--kvsc-acc)}
.kvsc-vm-v3 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0}
.kvsc-vm-v3 .kvsc-step .d{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--kvsc-muted);font-weight:700;margin-bottom:2px}
/* V4 cards */
.kvsc-vm-v4 .kvsc-steps{gap:10px}
.kvsc-vm-v4 .kvsc-step{position:relative;padding:12px 16px 12px 58px;border:1px solid var(--kvsc-line);border-left:4px solid var(--kvsc-acc);border-radius:6px;background:var(--kvsc-paper)}
.kvsc-vm-v4 .kvsc-step.kvsc-work{border-left-color:var(--kvsc-line);background:var(--kvsc-ground)}
.kvsc-vm-v4 .kvsc-step::after{content:var(--n);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;box-sizing:border-box;line-height:1}
.kvsc-vm-v4 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);color:var(--kvsc-acc);border:2px solid var(--kvsc-acc)}
.kvsc-vm-v4 .kvsc-step.kvsc-finale{border-left-color:var(--kvsc-fin)} .kvsc-vm-v4 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0;color:#fff}
.kvsc-vm-v4 .kvsc-step .d{font-size:12px;color:var(--kvsc-muted);font-weight:600;margin-bottom:1px}
/* V5 dates on the left (desktop only — falls back to the phone style below 640px) */
.kvsc-vm-v5 .kvsc-step{position:relative;display:grid;grid-template-columns:110px 28px 1fr;column-gap:12px;padding:0 0 24px;align-items:start}
.kvsc-vm-v5 .kvsc-step .d{grid-column:1;grid-row:1;text-align:right;font-size:13px;color:var(--kvsc-ink2);font-weight:700;padding-top:4px}
.kvsc-vm-v5 .kvsc-step::after{content:var(--n);grid-column:2;grid-row:1;position:relative;z-index:1;width:28px;height:28px;border-radius:50%;background:var(--kvsc-acc);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;box-sizing:border-box;line-height:1}
.kvsc-vm-v5 .kvsc-step.kvsc-work::after{background:var(--kvsc-paper);color:var(--kvsc-acc);border:2px solid var(--kvsc-acc)}
.kvsc-vm-v5 .kvsc-step.kvsc-finale::after{background:var(--kvsc-fin);border:0;color:#fff}
.kvsc-vm-v5 .kvsc-step::before{content:"";position:absolute;left:135px;top:30px;bottom:-2px;width:2px;background:var(--kvsc-line)}
.kvsc-vm-v5 .kvsc-step:last-child::before{content:none}
.kvsc-vm-v5 .kvsc-step .l,.kvsc-vm-v5 .kvsc-step .h,.kvsc-vm-v5 .kvsc-step .desc,.kvsc-vm-v5 .kvsc-step .sub{grid-column:3}
.kvsc-vm-v5 .kvsc-step .l{grid-row:1;padding-top:2px}
}
/* ticket */
.kvsc-ticket{display:grid;grid-template-columns:150px 1fr;background:var(--kvsc-paper);border:1px solid var(--kvsc-line);border-radius:10px;overflow:hidden;position:relative}
.kvsc-stub{position:relative;color:#fff;padding:18px 16px;display:grid;align-content:center;justify-items:center;text-align:center;gap:2px;background:linear-gradient(160deg,color-mix(in srgb,var(--kvsc-acc) 85%,#fff),var(--kvsc-acc))}
@supports not (background:color-mix(in srgb,#000,#fff)){.kvsc-stub{background:var(--kvsc-acc)}}
.kvsc-cert{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.kvsc-stub .kvsc-d{font-size:52px;font-weight:700;line-height:1}
.kvsc-stub .kvsc-m{font-size:15px;font-weight:600;letter-spacing:.04em}
.kvsc-stub .kvsc-t{font-size:12px;opacity:.9;margin-top:6px;font-variant-numeric:tabular-nums}
.kvsc-perf{position:absolute;left:150px;top:0;bottom:0;width:0;border-left:2px dashed var(--kvsc-line);margin-left:-1px}
.kvsc-perf::before,.kvsc-perf::after{content:"";position:absolute;left:-9px;width:16px;height:16px;border-radius:50%;background:var(--kvsc-ground);border:1px solid var(--kvsc-line)}
.kvsc-perf::before{top:-9px}.kvsc-perf::after{bottom:-9px}
.kvsc-body{padding:16px 18px 16px 22px;display:grid;gap:6px;align-content:start;min-width:0}
.kvsc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
/* big month poster */
.kvsc-poster{position:relative;overflow:hidden;background:var(--kvsc-paper);border:1px solid var(--kvsc-line);border-radius:6px;padding:28px 28px 22px}
.kvsc-ghost{position:absolute;right:-6px;top:-18px;font-weight:700;font-size:118px;letter-spacing:-.02em;line-height:1;color:var(--kvsc-ink);opacity:.06;pointer-events:none;text-transform:uppercase;user-select:none}
.kvsc-range{font-size:36px;font-weight:600;line-height:1.1;margin:6px 0 4px;color:var(--kvsc-acc)}
.kvsc-poster .kvsc-title{font-size:1.1em;font-weight:600;color:var(--kvsc-ink2)}
.kvsc-sched{color:var(--kvsc-ink2);margin-top:6px;font-size:15px}
.kvsc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--kvsc-line)}
/* product-page date block */
.kvsc-hero{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border:1px solid var(--kvsc-line);border-left:5px solid var(--kvsc-acc);border-radius:6px;padding:10px 14px;background:var(--kvsc-paper);margin:0 0 4px}
.kvsc-hero-plain .kvsc-hero{border:0;border-radius:0;padding:4px 0;gap:16px;background:transparent}
.kvsc-hero-plain .kvsc-hd{border-right:2px solid var(--kvsc-acc);padding-right:16px}
.kvsc-hero-plain .kvsc-hn{font-size:44px}
.kvsc-hd{text-align:center;line-height:1}
.kvsc-hn{font-size:38px;font-weight:700;color:var(--kvsc-acc)}
.kvsc-hm{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--kvsc-ink2);font-weight:700;margin-top:2px;white-space:nowrap}
.kvsc-hl{display:grid;gap:2px;min-width:0}
.kvsc-h1{font-size:17px;font-weight:700;color:var(--kvsc-ink)}
.kvsc-h2{font-size:14px;color:var(--kvsc-ink2)}
.kvsc-h3{margin-top:4px}
.kvsc-h3 .kvsc-soon{font-size:16px;font-weight:700;color:var(--kvsc-cd,var(--kvsc-teal))}
.kvsc-single .kvsc-toolbar{margin-top:6px}
.kvsc-tzbtn[hidden],.kvsc-tznote[hidden]{display:none}
.kvsc-cal{border:1px solid var(--kvsc-line);color:var(--kvsc-ink2);text-decoration:none;border-radius:5px;padding:4px 10px;font-weight:600;font-size:12px;line-height:1.2}
.kvsc-cal:hover{color:var(--kvsc-teal);border-color:var(--kvsc-teal)}
.kvsc-single .kvsc-tzbtn{padding:4px 10px;font-size:12px;border-radius:5px}
/* single product block */
.kvsc-single{margin:6px 0 14px;display:grid;gap:6px;--kvsc-acc:#245679;--kvsc-soft:#DCE6EE;contain:inline-size;min-width:0;max-width:100%}
.kvsc-list,.kvsc-closed{contain:inline-size;min-width:0;max-width:100%}
.kvsc-fact-line{font-size:15px;color:var(--kvsc-ink2)}
.kvsc-closed{margin:12px 0 20px;padding:12px 16px;border-left:4px solid #C05530;background:#FBF1EC;border-radius:0 6px 6px 0}
.kvsc-closed>p{margin:0 0 12px;font-weight:600;color:#1B3D59}
/* shop grid */
.kvsc-loop-date{font-size:13px;color:var(--kvsc-acc,#245679);font-weight:600;margin:2px 0 4px}
.kvsc-loop-off{color:#8a2424}
/* empty */
.kvsc-empty{color:#6B7C90;font-style:italic;padding:14px;border:1px dashed #DCE2E9;border-radius:6px}
.kvsc-empty[hidden]{display:none}
/* map the chosen vertical styles to breakpoints */
/* mobile */
@media (max-width:640px){
  .kvsc-ticket{grid-template-columns:1fr}
  .kvsc-stub{grid-auto-flow:column;justify-content:start;align-items:baseline;gap:10px;padding:12px 16px;text-align:left}
  .kvsc-stub .kvsc-d{font-size:36px}.kvsc-stub .kvsc-t{margin:0;margin-left:auto;white-space:nowrap}.kvsc-cert,.kvsc-stub .kvsc-m{white-space:nowrap}
  .kvsc-perf{left:0;right:0;top:auto;bottom:auto;width:auto;border-left:0;border-top:2px dashed var(--kvsc-line);margin:0;position:relative}
  .kvsc-perf::before,.kvsc-perf::after{top:-9px;bottom:auto}.kvsc-perf::before{left:-9px}.kvsc-perf::after{left:auto;right:-9px}
  .kvsc-body{padding:14px 16px}
  .kvsc-sessions{grid-template-columns:1fr}
  .kvsc-wkgrid{grid-template-columns:1fr 1fr}
  .kvsc-journey:not(.kvsc-vertical) .kvsc-steps{flex-direction:column}
  .kvsc-journey:not(.kvsc-vertical) .kvsc-step{padding:0 0 10px 20px}
  .kvsc-journey:not(.kvsc-vertical) .kvsc-step::before{left:5px;right:auto;top:6px;bottom:-2px;width:2px;height:auto}
  .kvsc-journey:not(.kvsc-vertical) .kvsc-step.kvsc-finale::before{display:none}
  .kvsc-journey:not(.kvsc-vertical) .kvsc-step .sub{margin-top:1px}
  .kvsc-poster{padding:20px 18px 16px}.kvsc-ghost{font-size:72px;top:-8px}.kvsc-range{font-size:26px}
  .kvsc-btn.button,.kvsc-btn{width:100%;text-align:center}
  .kvsc-buy{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:no-preference){.kvsc-item{transition:transform .15s}.kvsc-item:hover{transform:translateY(-2px)}}
