/* Report draws left to right; each genuine data point arrives with the line. */
.chart-building .chart-point { opacity:0;transform:scale(.55);transform-box:fill-box;transform-origin:center;transition:opacity 180ms linear,transform 280ms cubic-bezier(.22,1,.36,1),fill 220ms ease,stroke 220ms ease,r 260ms var(--ease); }
.chart-building .chart-point.is-drawn { opacity:1;transform:scale(1); }
.pilot-ready::before { display:none!important; }
.pilot-track { position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0; }
.pilot-rail,.pilot-fill { fill:none;stroke-width:2;vector-effect:non-scaling-stroke; }
.pilot-rail { stroke:#3f4533; }
.pilot-fill { stroke:var(--yellow);stroke-dasharray:1;stroke-dashoffset:1; }
.pilot-ready .step-node { background:var(--ink);border:1px solid #818b6a;transition:background-color 320ms ease,border-color 320ms ease; }
.pilot-ready .is-reached-phase .step-node { background:var(--yellow);border-color:var(--yellow); }
.pilot-ready .step-node { animation:none!important;transform:none; }
.pilot-ready>li { opacity:1;transform:none;transition:none; }
/* The reached dot lights its accompanying text without moving or hiding it. */
.pilot-ready h3,.pilot-ready .step-period,.pilot-ready ul li { color:#a7b095;transition:color 320ms ease; }
.pilot-ready ul li::before { background:#747f60;transition:background-color 320ms ease; }
.pilot-ready .is-reached-phase h3 { color:var(--yellow); }
.pilot-ready .is-reached-phase .step-period,.pilot-ready .is-reached-phase ul li { color:var(--paper); }
.pilot-ready .is-reached-phase ul li::before { background:var(--yellow); }

.handoff-route { display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;position:relative;list-style:none;padding:27px 0 0;margin:30px 0 0;overflow:hidden; }
.handoff-route::before { content:'';position:absolute;left:0;right:0;top:2px;height:1px;background:#b2b8a4; }
.handoff-route::after { content:'';position:absolute;top:1px;left:0;width:38%;height:3px;background:linear-gradient(90deg,transparent,#737b55,var(--ink));transform:translateX(-110%);animation:lead-handoff 3400ms cubic-bezier(.4,0,.25,1) infinite;animation-play-state:paused; }
.handoff-route.scene-in-view::after { animation-play-state:running; }
.motion-suspended .handoff-route::after { animation-play-state:paused; }
.handoff-route li { min-width:0; }
.handoff-route strong { display:block;font-size:12px;line-height:1.5;font-weight:700; }
.handoff-route span { display:block;margin-top:6px;font-size:10px;line-height:1.6;color:#606753; }
@keyframes lead-handoff { 0%{transform:translateX(-110%)}75%,100%{transform:translateX(365%)} }
@media(max-width:900px) {
  .approach .process.pilot-ready { display:block;padding-left:32px; }
  .approach .pilot-ready>li { padding:0 0 44px; }
  .approach .pilot-ready>li:last-child { padding-bottom:0; }
  .approach .pilot-ready .step-node { position:absolute;left:-32px;top:9px;margin:0; }
  .approach .pilot-ready h3 { min-height:0;margin-top:10px;max-width:none;font-size:25px; }
  .approach .pilot-ready ul li { max-width:none;font-size:13px; }
}
@media(max-width:700px) {
  .handoff-route { gap:12px;margin-top:26px; }
  .handoff-route strong { font-size:12px; }
  .handoff-route span { font-size:10px; }
}

/* Native month controls stay aligned with the SVG vertices as the chart scales. */
.chart-canvas { min-width:650px;width:100%; }
.chart-scroll svg { min-width:0; }
.chart-months { position:relative;height:58px; }
.chart-month { position:absolute;top:0;left:var(--month-x);width:9.4667%;min-width:44px;height:52px;padding:0;display:flex;align-items:center;justify-content:center;transform:translateX(-50%);background:transparent;color:#a4ac94;font:inherit;font-size:clamp(12px,1.15vw,15px);white-space:nowrap; }
.chart-month>span { display:block;transition:transform 260ms var(--ease),color 220ms ease;transform-origin:center; }
.chart-month::after { content:'';position:absolute;bottom:5px;left:calc(50% - 12px);width:24px;height:1px;background:var(--yellow);transform:scaleX(0);transform-origin:center;transition:transform 260ms var(--ease); }
.chart-month[aria-checked=true] { color:var(--yellow);font-weight:700; }
.chart-month[aria-checked=true]::after { transform:scaleX(1); }
.chart-month:focus-visible { outline:2px solid var(--yellow);outline-offset:-4px; }
.chart-month:focus-visible>span { color:var(--yellow);transform:translateY(-1px) scale(1.12); }
.chart-point { transition:fill 220ms ease,stroke 220ms ease,r 260ms var(--ease); }
.report-preview { overflow:hidden; }
.report-preview img { transition:transform 700ms var(--ease); }
.report-preview:focus-visible img { transform:scale(1.035); }
@media(hover:hover) {
  .chart-month:hover>span { color:var(--yellow);transform:translateY(-1px) scale(1.12); }
  .chart-month:hover::after { transform:scaleX(1); }
  .report-preview:hover img { transform:scale(1.035); }
}

/* Show the original preview images at full width, without decorative outer frames. */
.report-preview { padding:0;background:transparent; }
.crm-stage { display:grid;min-width:0;overflow:hidden; }
/* Overlap the panels so the tallest screenshot and caption reserve space for every tab. */
.crm-stage .crm-figure { display:grid;grid-area:1 / 1;grid-template-rows:minmax(0,1fr) auto;min-width:0;padding:0;background:transparent; }
.crm-stage .crm-figure[hidden] { display:grid;visibility:hidden;pointer-events:none;animation:none; }
.crm-stage .crm-preview { align-self:start;width:100%;height:auto;max-height:none;background:transparent; }
.crm-stage .crm-preview img { width:100%;height:auto;object-fit:contain; }
.crm-stage .crm-figure figcaption { margin-inline:0; }
.crm-stage .crm-preview:focus-visible { outline-offset:-3px; }
