/* The original download card stays first; this section uses its own palette. */
body { row-gap: 3rem; }
.tour-jump { display: inline-block; margin-top: 1.5rem; color: var(--accent); text-underline-offset: .25em; font-size: .9rem; }
.tour-jump span { margin-left: .5rem; }
.store-tour {
  width: 100%; max-width: 74rem; margin: 0 auto 2rem;
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr);
  overflow: hidden; border: 1px solid #dce4da; border-radius: 24px;
  background: #f6f6ee; color: #24483c;
}
.tour-copy { padding: clamp(1.5rem, 4vw, 3rem); align-self: center; }
.tour-eyebrow { font-size: .65rem; letter-spacing: .15em; font-weight: 700; }
.tour-copy h2 { margin: 1rem 0; font-size: clamp(1.8rem, 3.4vw, 2.8rem); line-height: 1.4; font-weight: 650; }
.tour-copy > p:not(.tour-eyebrow) { color: #52665b; }
.tour-details { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0; }
.tour-details span { padding: .3rem .65rem; border: 1px solid #d3ddcf; border-radius: 20px; font-size: .75rem; }
.tour-note { font-size: .75rem; color: #52665b; }
.tour-display { min-width: 0; background: #e9ede3; }
.tour-stage { position: relative; width: 100%; aspect-ratio: 1100 / 850; min-height: 280px; }
.tour-poster { position: absolute; width: 100%; height: 100%; object-fit: contain; }
.tour-stage model-viewer { position: absolute; width: 100%; height: 100%; inset: 0; --poster-color: transparent; }
.tour-start, .tour-reset { font: inherit; cursor: pointer; border: 0; border-radius: 999px; }
.tour-start { position: absolute; z-index: 2; bottom: 1.5rem; left: 50%; transform: translateX(-50%); white-space: nowrap; background: #24483c; color: #fff; padding: .85rem 1.5rem; box-shadow: 0 4px 16px #24483c25; }
.tour-start:disabled { cursor: progress; opacity: .8; }
.tour-start:hover:not(:disabled) { background: #355e4d; }
.tour-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.5rem; border-top: 1px solid #d2dbcc; min-height: 4.5rem; }
.tour-toolbar p { margin: 0; font-size: .8rem; color: #52665b; }
.tour-reset { background: #fff; color: #24483c; padding: .5rem .85rem; font-size: .75rem; flex-shrink: 0; }
.store-tour button:focus-visible, .tour-jump:focus-visible { outline: 3px solid #497a64; outline-offset: 4px; }
.store-tour [hidden] { display: none !important; }
.tour-display > .tour-note, .tour-display noscript p { padding: 0 1.5rem; }
@media (max-width: 760px) {
  .store-tour { grid-template-columns: 1fr; }
  .tour-copy { padding-bottom: 1rem; }
  .tour-copy h2 br { display: none; }
  .tour-toolbar { padding: .85rem 1rem; flex-wrap: wrap; }
  .tour-stage { min-height: 260px; }
}
