/* This component is deliberately scoped: no changes to the site's shared UI. */
#product-tour {
  --tour-ink: #1d1d1f;
  --tour-secondary: #626267;
  --tour-blue: #0066cc;
  --tour-teal: #087e72;
  --tour-border: #dedee3;
  color: var(--tour-ink);
  background: #f5f5f7;
  padding: clamp(64px, 8vw, 120px) clamp(20px, 5vw, 72px);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  overflow: clip;
}
#product-tour *, #product-tour *::before, #product-tour *::after { box-sizing: border-box; }
#product-tour [hidden] { display: none !important; }
#product-tour button, #product-tour a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
#product-tour button { font: inherit; }
#product-tour :focus-visible { outline: 3px solid var(--tour-blue); outline-offset: 5px; }
#product-tour .pt-wrap { max-width: 1240px; margin-inline: auto; }
#product-tour .pt-header { max-width: 720px; margin: 0 auto clamp(32px, 4vw, 52px); text-align: center; }
#product-tour .pt-eyebrow { display: block; margin: 0 0 16px; color: var(--tour-teal); font-size: 12px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
#product-tour h2 { color: var(--tour-ink); margin: 0; font-size: clamp(34px, 4.7vw, 62px); line-height: 1.07; font-weight: 650; letter-spacing: -.055em; }
#product-tour .pt-intro { max-width: 590px; margin: 24px auto 0; color: var(--tour-secondary); font-size: clamp(17px, 1.7vw, 20px); line-height: 1.5; letter-spacing: -.015em; }
#product-tour .pt-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; max-width: 780px; margin: 0 auto 36px; padding: 6px; border: 1px solid var(--tour-border); border-radius: 17px; background: #eaeaee; }
#product-tour .pt-tab { min-height: 53px; display: flex; align-items: center; justify-content: center; gap: 9px; margin: 0; border: 0; border-radius: 12px; padding: 12px 8px; background: transparent; color: #55555b; font-size: 14px; font-weight: 550; line-height: 1.25; cursor: pointer; transition: background .18s ease, color .18s ease, box-shadow .18s ease; }
#product-tour .pt-tab-number { font-size: 10px; font-variant-numeric: tabular-nums; color: #707078; }
#product-tour .pt-tab:hover { color: var(--tour-ink); background: #ffffff70; }
#product-tour .pt-tab[aria-selected='true'] { color: var(--tour-ink); background: #fff; box-shadow: 0 2px 6px #1d1d1f0c; }
#product-tour .pt-tab[aria-selected='true'] .pt-tab-number { color: var(--tour-teal); }
#product-tour .pt-panel { margin: 0 0 44px; }
#product-tour[data-tour-ready='true'] .pt-panel { margin: 0; }
#product-tour .pt-panel-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; max-width: 1000px; margin: 0 auto 25px; }
#product-tour .pt-panel-title { max-width: 420px; }
#product-tour .pt-step-label { display: block; color: var(--tour-teal); margin-bottom: 7px; font-size: 11px; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
#product-tour h3 { color: var(--tour-ink); margin: 0; font-size: clamp(23px, 2.5vw, 33px); font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
#product-tour .pt-description { flex: 0 1 400px; color: var(--tour-secondary); font-size: 15px; line-height: 1.6; margin: 0; }
#product-tour .pt-frame { position: relative; padding: 8px; background: #fff; border: 1px solid #dddde1; border-radius: 20px; box-shadow: 0 20px 54px #1d1d1f0a, 0 2px 6px #1d1d1f05; margin: 0; overflow: hidden; }
#product-tour .pt-image-scroll { overflow: auto; overscroll-behavior-x: contain; background: #f5f5f7; border-radius: 12px; scrollbar-width: thin; scrollbar-color: #bebec5 #eeeef1; }
#product-tour .pt-image { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 36 / 25; object-fit: contain; object-position: top center; }
#product-tour .pt-image-fallback { display: grid; align-content: center; justify-items: center; gap: 12px; min-height: 300px; padding: 36px; text-align: center; color: var(--tour-secondary); background: #f5f5f7; }
#product-tour .pt-image-fallback strong { color: var(--tour-ink); font-size: 20px; font-weight: 600; }
#product-tour .pt-image-fallback p { max-width: 470px; margin: 0; font-size: 15px; }
#product-tour .pt-caption { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 12px 10px 4px; font-size: 11px; line-height: 1.5; color: var(--tour-secondary); }
#product-tour .pt-caption-label { display: inline-flex; align-items: center; gap: 7px; }
#product-tour .pt-caption-label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--tour-teal); }
#product-tour .pt-mobile-hint { display: none; }
#product-tour .pt-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; }
#product-tour .pt-progress-wrap { display: flex; align-items: center; gap: 16px; min-width: 0; }
#product-tour .pt-count { color: var(--tour-secondary); font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: .06em; white-space: nowrap; }
#product-tour .pt-progress { width: 112px; height: 3px; border: 0; border-radius: 3px; appearance: none; -webkit-appearance: none; overflow: hidden; background: #d9d9df; color: var(--tour-teal); }
#product-tour .pt-progress::-webkit-progress-bar { background: #d9d9df; border-radius: 3px; }
#product-tour .pt-progress::-webkit-progress-value { background: var(--tour-teal); border-radius: 3px; transition: width .2s ease; }
#product-tour .pt-progress::-moz-progress-bar { background: var(--tour-teal); border-radius: 3px; }
#product-tour .pt-arrows { display: flex; gap: 10px; }
#product-tour .pt-arrow { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 106px; min-height: 44px; border: 1px solid #d5d5db; padding: 10px 16px; border-radius: 999px; background: #fff; color: var(--tour-ink); font-size: 13px; font-weight: 500; cursor: pointer; transition: border-color .18s ease, background .18s ease; }
#product-tour .pt-arrow svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#product-tour .pt-arrow:hover:not(:disabled) { border-color: #a0a0aa; background: #fafafa; }
#product-tour .pt-arrow:disabled { color: #a3a3ab; border-color: #e1e1e6; background: transparent; cursor: default; }
#product-tour .pt-footer { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 40px; text-align: center; }
#product-tour .pt-footer p { margin: 0; color: var(--tour-secondary); font-size: 13px; }
#product-tour .pt-cta { display: inline-flex; align-items: center; gap: 8px; color: var(--tour-blue); text-decoration: none; font-size: 17px; line-height: 1.5; font-weight: 500; }
#product-tour .pt-cta:hover { text-decoration: underline; text-underline-offset: 4px; }
#product-tour .pt-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 701px) {
  #product-tour[data-tour-ready='true'] .pt-panel-heading { min-height: 87px; }
}
@media (max-width: 700px) {
  #product-tour { padding-inline: 20px; }
  #product-tour .pt-header { text-align: left; margin-bottom: 28px; }
  #product-tour .pt-intro { margin-top: 20px; font-size: 17px; }
  #product-tour .pt-tabs { gap: 3px; margin-bottom: 28px; padding: 4px; border-radius: 13px; }
  #product-tour .pt-tab { min-height: 64px; padding: 10px 3px; flex-direction: column; gap: 5px; border-radius: 9px; font-size: 11px; }
  #product-tour .pt-tab-number { font-size: 10px; }
  #product-tour .pt-panel-heading { display: block; min-height: 154px; margin-bottom: 20px; }
  #product-tour .pt-description { margin-top: 14px; font-size: 14px; }
  #product-tour .pt-frame { padding: 5px; border-radius: 13px; }
  #product-tour .pt-image-scroll { border-radius: 8px; }
  #product-tour .pt-image { min-width: 730px; }
  #product-tour .pt-caption { padding: 10px 7px 5px; font-size: 10px; gap: 5px; }
  #product-tour .pt-mobile-hint { display: inline; }
  #product-tour .pt-caption-view { display: none; }
  #product-tour .pt-bottom { gap: 10px; margin-top: 18px; }
  #product-tour .pt-progress-wrap { gap: 10px; }
  #product-tour .pt-progress { width: 48px; }
  #product-tour .pt-count { font-size: 10px; }
  #product-tour .pt-arrows { gap: 6px; }
  #product-tour .pt-arrow { min-width: 82px; padding: 10px 12px; font-size: 11px; }
  #product-tour .pt-arrow svg { width: 12px; height: 12px; }
  #product-tour .pt-footer { margin-top: 32px; }
  #product-tour .pt-cta { font-size: 16px; }
}
@media (max-width: 360px) {
  #product-tour { padding-inline: 16px; }
  #product-tour .pt-tab { font-size: 10px; }
  #product-tour .pt-progress { width: 28px; }
  #product-tour .pt-arrow { min-width: 72px; padding-inline: 9px; }
}
#product-tour.pt-embedded { padding: 0; background: transparent; }
@media (prefers-reduced-motion: reduce) {
  #product-tour *, #product-tour *::before, #product-tour *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
