/* ============================================
   TANSI JOURNEY — scoped styles (.tansi-journey)
   Generated from tansi-journey-embed. All selectors are
   scoped so they never leak into the rest of the site.
   ============================================ */
.tansi-journey *, .tansi-journey *::before, .tansi-journey *::after { box-sizing: border-box; margin: 0; padding: 0; }
.tansi-journey { --bg: #0e1117; --bg-card: #161b22; --bg-raised: #1c2129; --border: rgba(255,255,255,0.06); --border-md: rgba(255,255,255,0.12); --text: #ecf0f5; --muted: #a8b2bf; --faint: #5a6573; --setup: #05a9d1;   --setup-bg: rgba(5,169,209,0.10); --people: #7F77DD;  --people-bg: rgba(127,119,221,0.10); --training: #14B8A6; --training-bg: rgba(20,184,166,0.10); --sched: #F97316;   --sched-bg: rgba(249,115,22,0.10); --forms: #A855F7;   --forms-bg: rgba(168,85,247,0.10); --ops: #1D9E75;     --ops-bg: rgba(29,158,117,0.10); --comms: #D4537E;   --comms-bg: rgba(212,83,126,0.10); --compliance: #E11D48; --compliance-bg: rgba(225,29,72,0.10); --support: #6366F1; --support-bg: rgba(99,102,241,0.10); --reporting: #D97706; --reporting-bg: rgba(217,119,6,0.10); }
.tansi-journey { background: var(--bg); color: var(--text); font-family: var(--font-body), 'DM Sans', sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.tansi-journey .phase-divider { max-width: 1100px; margin: 48px auto 0; padding: 0 2rem; display: flex; align-items: center; gap: 14px; }
.tansi-journey .phase-pill { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 14px; border-radius: 20px; border: 1px solid; white-space: nowrap; }
.tansi-journey .phase-pill.setup { color: var(--setup);      background: var(--setup-bg);      border-color: rgba(5,169,209,0.3); }
.tansi-journey .phase-pill.people { color: var(--people);     background: var(--people-bg);     border-color: rgba(127,119,221,0.3); }
.tansi-journey .phase-pill.training { color: var(--training);   background: var(--training-bg);   border-color: rgba(20,184,166,0.3); }
.tansi-journey .phase-pill.sched { color: var(--sched);      background: var(--sched-bg);      border-color: rgba(249,115,22,0.3); }
.tansi-journey .phase-pill.forms { color: var(--forms);      background: var(--forms-bg);      border-color: rgba(168,85,247,0.3); }
.tansi-journey .phase-pill.ops { color: var(--ops);        background: var(--ops-bg);        border-color: rgba(29,158,117,0.3); }
.tansi-journey .phase-pill.comms { color: var(--comms);      background: var(--comms-bg);      border-color: rgba(212,83,126,0.3); }
.tansi-journey .phase-pill.compliance { color: var(--compliance); background: var(--compliance-bg); border-color: rgba(225,29,72,0.3); }
.tansi-journey .phase-pill.support { color: var(--support);    background: var(--support-bg);    border-color: rgba(99,102,241,0.3); }
.tansi-journey .phase-pill.reporting { color: var(--reporting);  background: var(--reporting-bg);  border-color: rgba(217,119,6,0.3); }
.tansi-journey .phase-line { flex: 1; height: 1px; background: var(--border); }
.tansi-journey .timeline-section { max-width: 1100px; margin: 0 auto; padding: 0 2rem 20px; position: relative; }
.tansi-journey .timeline-journey { position: relative; }
.tansi-journey .timeline-journey::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 56px; width: 1px; background: var(--faint, #3a3f47); transform: translateX(-50%); pointer-events: none; }
.tansi-journey .tl-row { display: grid; grid-template-columns: 1fr 60px 1fr; align-items: center; margin-bottom: 56px; position: relative; }
.tansi-journey .tl-left { grid-column: 1; grid-row: 1; padding-right: 28px; }
.tansi-journey .tl-dot-col { grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; }
.tansi-journey .tl-right { grid-column: 3; grid-row: 1; padding-left: 28px; }
.tansi-journey .tl-row.alt .tl-left { grid-column: 3; }
.tansi-journey .tl-row.alt .tl-right { grid-column: 1; }
.tansi-journey .tl-row.alt .tl-dot-col { grid-column: 2; }
.tansi-journey .tl-dot { width: 14px; height: 14px; border-radius: 50%; border: 2px solid; background: var(--bg); flex-shrink: 0; }
.tansi-journey .tl-row.setup      .tl-dot { border-color: var(--setup); }
.tansi-journey .tl-row.people     .tl-dot { border-color: var(--people); }
.tansi-journey .tl-row.training   .tl-dot { border-color: var(--training); }
.tansi-journey .tl-row.sched      .tl-dot { border-color: var(--sched); }
.tansi-journey .tl-row.forms      .tl-dot { border-color: var(--forms); }
.tansi-journey .tl-row.ops        .tl-dot { border-color: var(--ops); }
.tansi-journey .tl-row.comms      .tl-dot { border-color: var(--comms); }
.tansi-journey .tl-row.compliance .tl-dot { border-color: var(--compliance); }
.tansi-journey .tl-row.support    .tl-dot { border-color: var(--support); }
.tansi-journey .tl-row.reporting  .tl-dot { border-color: var(--reporting); }
.tansi-journey .video-box { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; aspect-ratio: 16/9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; transition: border-color 0.2s; position: relative; }
.tansi-journey .video-box:hover { border-color: var(--border-md); }
.tansi-journey .video-box video { width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; border-radius: 12px; object-fit: cover; }
.tansi-journey .video-play { width: 56px; height: 56px; border-radius: 50%; background: rgba(255,255,255,0.08); border: 1px solid var(--border-md); display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--text); }
.tansi-journey .video-hint { font-size: 12px; color: var(--muted); }
.tansi-journey .video-tag-pill { font-size: 11px; color: var(--faint); background: rgba(255,255,255,0.04); border: 1px solid var(--border); padding: 3px 10px; border-radius: 20px; }
.tansi-journey .desc-box { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 28px; transition: border-color 0.2s; }
.tansi-journey .tl-row.setup      .desc-box:hover { border-color: rgba(5,169,209,0.4); }
.tansi-journey .tl-row.people     .desc-box:hover { border-color: rgba(127,119,221,0.4); }
.tansi-journey .tl-row.training   .desc-box:hover { border-color: rgba(20,184,166,0.4); }
.tansi-journey .tl-row.sched      .desc-box:hover { border-color: rgba(249,115,22,0.4); }
.tansi-journey .tl-row.forms      .desc-box:hover { border-color: rgba(168,85,247,0.4); }
.tansi-journey .tl-row.ops        .desc-box:hover { border-color: rgba(29,158,117,0.4); }
.tansi-journey .tl-row.comms      .desc-box:hover { border-color: rgba(212,83,126,0.4); }
.tansi-journey .tl-row.compliance .desc-box:hover { border-color: rgba(225,29,72,0.4); }
.tansi-journey .tl-row.support    .desc-box:hover { border-color: rgba(99,102,241,0.4); }
.tansi-journey .tl-row.reporting  .desc-box:hover { border-color: rgba(217,119,6,0.4); }
.tansi-journey .desc-num { font-family: var(--font-display), 'Outfit', sans-serif; font-size: 11px; font-weight: 600; color: var(--faint); margin-bottom: 8px; display: block; }
.tansi-journey .desc-title { font-family: var(--font-display), 'Outfit', sans-serif; font-size: 20px; font-weight: 700; color: var(--text); letter-spacing: -0.02em; margin-bottom: 10px; line-height: 1.2; }
.tansi-journey .desc-body { font-size: 14px; color: var(--muted); line-height: 1.7; margin-bottom: 16px; }
.tansi-journey .desc-bullets { list-style: none; }
.tansi-journey .desc-bullets li { font-size: 13px; color: var(--muted); padding: 4px 0; display: flex; align-items: flex-start; gap: 8px; }
.tansi-journey .desc-bullets li::before { content: '\2192'; font-size: 12px; margin-top: 2px; flex-shrink: 0; }
.tansi-journey .tl-row.setup      .desc-bullets li::before { color: var(--setup); }
.tansi-journey .tl-row.people     .desc-bullets li::before { color: var(--people); }
.tansi-journey .tl-row.training   .desc-bullets li::before { color: var(--training); }
.tansi-journey .tl-row.sched      .desc-bullets li::before { color: var(--sched); }
.tansi-journey .tl-row.forms      .desc-bullets li::before { color: var(--forms); }
.tansi-journey .tl-row.ops        .desc-bullets li::before { color: var(--ops); }
.tansi-journey .tl-row.comms      .desc-bullets li::before { color: var(--comms); }
.tansi-journey .tl-row.compliance .desc-bullets li::before { color: var(--compliance); }
.tansi-journey .tl-row.support    .desc-bullets li::before { color: var(--support); }
.tansi-journey .tl-row.reporting  .desc-bullets li::before { color: var(--reporting); }
@media (max-width: 780px) {
  .tansi-journey .timeline-section::before { left: 20px; transform: none; }
  .tansi-journey .tl-row, .tansi-journey .tl-row.alt { display: flex; flex-direction: column; margin-bottom: 40px; }
  .tansi-journey .tl-left, .tansi-journey .tl-row.alt .tl-left { order: 2; width: 100%; padding: 0; }
  .tansi-journey .tl-dot-col, .tansi-journey .tl-row.alt .tl-dot-col { order: 1; width: 100%; justify-content: flex-start; padding-left: 0; margin-bottom: 12px; }
  .tansi-journey .tl-right, .tansi-journey .tl-row.alt .tl-right { order: 3; width: 100%; padding: 0; margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .tansi-journey * { transition: none !important; scroll-behavior: auto !important; }
}
.tansi-journey .journey-embed-header { max-width: 1100px; margin: 0 auto; padding: 80px 2rem 0; }
.tansi-journey .journey-embed-overtitle { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted, #8a8f96); margin-bottom: 12px; }
.tansi-journey .journey-embed-title { font-family: var(--font-display), 'Outfit', sans-serif; font-size: clamp(28px, 4vw, 48px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; color: var(--text, #f0eeea); margin-bottom: 10px; }
.tansi-journey .journey-embed-title em { font-style: normal; color: #05a9d1; }
.tansi-journey .journey-embed-subtitle { font-family: var(--font-display), 'Outfit', sans-serif; font-size: clamp(18px, 2.5vw, 26px); font-weight: 600; color: var(--text, #f0eeea); letter-spacing: -0.02em; margin-bottom: 14px; }
.tansi-journey .journey-embed-sub { font-size: 17px; color: var(--muted, #8a8f96); max-width: 560px; line-height: 1.65; }
.tansi-journey { box-sizing: border-box; padding-bottom: 96px; }
