@keyframes em-road-pulse{0%{transform:scale(1);opacity:0.5}100%{transform:scale(2.6);opacity:0}}
@keyframes em-dash-flow{to{stroke-dashoffset:-24}}
@keyframes em-beam-tilt{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}

.em-path-indicator{position:fixed;top:104px;right:var(--gutter-page);z-index:45;background:var(--ink-900);color:var(--paper-000);font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:10px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity 220ms var(--ease-standard),transform 220ms var(--ease-standard)}
.em-path-indicator.is-visible{opacity:1;transform:translateY(0)}

.em-formula__pdf-link{display:inline-flex;align-items:center;gap:8px;font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-full);padding:9px 16px}
.em-formula__pdf-link:hover{border-color:var(--accent-primary);color:var(--accent-primary)}
.em-formula__pdf-link img{flex:none;opacity:0.7}
.em-section-dark .em-formula__pdf-link{color:var(--concrete-200);border-color:var(--ink-700)}
.em-section-dark .em-formula__pdf-link:hover{border-color:var(--brand-blue-100);color:var(--brand-blue-100)}
.em-section-dark .em-formula__pdf-link img{filter:invert(1)}

.em-formula__hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
@media (max-width:899px){ .em-formula__hero-grid{grid-template-columns:1fr !important} }
.em-formula__intro-text{font:var(--text-body-lg);color:var(--concrete-200);max-width:480px;margin:0 0 var(--space-7)}
.em-formula__roads{width:100%;height:auto;max-height:520px}
.em-formula__road-path{stroke:var(--ink-700);stroke-width:8;stroke-linecap:round;transition:stroke 200ms var(--ease-standard),stroke-width 200ms var(--ease-standard)}
.em-formula__road-dot{fill:var(--ink-700);transition:all 200ms var(--ease-standard)}
.em-formula__road-label{font:var(--text-label);letter-spacing:0.02em;fill:var(--concrete-400);transition:fill 200ms var(--ease-standard)}
.em-formula__road:hover .em-formula__road-path{stroke:var(--accent-primary);stroke-width:12}
.em-formula__road:hover .em-formula__road-dot{fill:var(--accent-primary)}
.em-formula__road:hover .em-formula__road-label{fill:var(--paper-000)}
.em-formula__road-pulse{animation:em-road-pulse 1.8s ease-out infinite}

.em-formula__overview-grid{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:var(--space-4)}
.em-formula__overview-grid .em-card{transition:box-shadow 220ms var(--ease-standard),border-color 220ms var(--ease-standard);background-image:linear-gradient(var(--concrete-100) 1px, transparent 1px),linear-gradient(90deg, var(--concrete-100) 1px, transparent 1px);background-size:22px 22px}
.em-formula__overview-grid .em-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-primary)}

.em-formula__timeline-track{position:relative;height:2px;background:var(--border-default);margin:0 40px}
.em-formula__timeline-fill{position:absolute;top:0;left:0;height:100%;background:var(--accent-primary);width:0;transition:width 500ms var(--ease-standard)}
.em-formula__timeline-markers{position:absolute;inset:0;display:flex;justify-content:space-between;transform:translateY(-11px)}
.em-formula__timeline-marker{width:30px;height:30px;border-radius:50%;border:2px solid var(--border-default);background:var(--surface-page);color:var(--text-muted);font:var(--text-mono);font-size:13px;cursor:pointer;transition:all 300ms var(--ease-standard);display:flex;align-items:center;justify-content:center}
.em-formula__timeline-marker.is-active{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--text-on-accent)}
.em-formula__timeline-marker.is-done{border-color:var(--accent-primary);background:var(--accent-primary-soft)}

.em-formula__accordion-toggle{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:var(--space-6);display:flex;flex-direction:column}
.em-formula__accordion-top{display:flex;justify-content:space-between;align-items:center}
.em-formula__accordion-label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent-primary)}
.em-formula__accordion-body{padding:0 var(--space-6) var(--space-6);border-top:1px solid var(--border-default)}
.em-formula__accordion-output{background:var(--surface-canvas);border-radius:var(--radius-sm);padding:var(--space-4)}
.em-formula__accordion{padding:0;overflow:hidden}

.em-formula__lm-grid{display:grid;gap:var(--space-7);align-items:center;grid-template-columns:1.3fr 0.7fr}
@media (max-width:899px){ .em-formula__lm-grid{grid-template-columns:1fr !important} }
.em-formula__gear-label{font:var(--text-label);letter-spacing:0.04em;text-transform:uppercase;fill:var(--text-primary);pointer-events:none}
.em-formula__lm-panel{border-radius:var(--radius-md);padding:var(--space-6);min-height:180px;background:var(--surface-card);border:1px solid var(--border-default)}
.em-formula__lm-panel-desc{font:var(--text-body-lg);color:var(--ink-900);margin:0;line-height:1.5}
.em-formula__lm-panel-link{display:inline-block;margin-top:var(--space-4);font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent-primary)}

.em-lm-machine-frame{position:relative;border:3px double var(--ink-900);border-radius:var(--radius-md);padding:var(--space-5) var(--space-4);text-align:center;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center;
	background-image:
		radial-gradient(circle at 16px 16px, var(--concrete-800) 0 4px, transparent 4.5px),
		radial-gradient(circle at calc(100% - 16px) 16px, var(--concrete-800) 0 4px, transparent 4.5px),
		radial-gradient(circle at 16px calc(100% - 16px), var(--concrete-800) 0 4px, transparent 4.5px),
		radial-gradient(circle at calc(100% - 16px) calc(100% - 16px), var(--concrete-800) 0 4px, transparent 4.5px),
		linear-gradient(180deg, var(--concrete-050), var(--surface-page))}
.em-lm-machine-frame::before{content:'';position:absolute;inset:9px;border:1px solid var(--concrete-400);border-radius:calc(var(--radius-md) - 4px);pointer-events:none}
.em-lm-machine-caption{position:relative;z-index:1;width:100%;font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--concrete-800);margin:0 0 var(--space-2)}

.em-lm-image-wrap{position:relative;flex:1 1 480px;min-width:260px;aspect-ratio:1456/720;background-size:contain;background-repeat:no-repeat;background-position:center}
.em-lm-shake{animation:em-machine-shake 0.24s steps(2) infinite}
@keyframes em-machine-shake{0%,100%{transform:translate(0,0)}50%{transform:translate(0.6px,-0.5px)}}
@media (prefers-reduced-motion: reduce){ .em-lm-shake{animation:none} }
.em-lm-chain-overlay{position:absolute;width:9%;height:auto;pointer-events:none;transform:translate(-50%,-50%)}
.em-lm-chain-overlay-line{stroke:var(--accent-primary);stroke-width:3;stroke-linecap:round;stroke-dasharray:3 5;opacity:0.55;animation:em-chain-overlay-run 0.6s linear infinite}
@keyframes em-chain-overlay-run{to{stroke-dashoffset:-16}}
.em-lm-hotspot{position:absolute;width:5.2%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;background:transparent;border:2px solid transparent;padding:0;cursor:pointer;transition:border-color 160ms var(--ease-standard),background 160ms var(--ease-standard)}
.em-lm-hotspot--big{width:8%}
.em-lm-hotspot:hover,.em-lm-hotspot.is-active{border-color:var(--accent-primary);background:var(--accent-primary-soft)}
.em-lm-hotspot.is-kicked{border-color:var(--accent-secondary);background:var(--accent-secondary-soft)}

.em-formula__lm-funnel-wrap{position:relative;z-index:1;text-align:center;flex:none;width:110px}
.em-lm-funnel-spout{fill:transparent}
.em-lm-bottle-svg{width:90px;height:auto;display:block;margin:0 auto}
.em-lm-bottle-outline{fill:none;stroke:var(--ink-900);stroke-width:2.5}
.em-lm-bottle-dot{opacity:0.92;transform-box:fill-box;transform-origin:center}
.em-formula__lm-funnel-caption{font:var(--text-body-sm);color:var(--text-secondary);margin:var(--space-3) 0 0}
.em-formula__lm-funnel-caption strong{color:var(--accent-primary);font:var(--text-h4);font-variant-numeric:tabular-nums}
.em-lm-lead-dot{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--accent-secondary);pointer-events:none;z-index:999;box-shadow:0 0 8px var(--accent-secondary)}

.em-formula__dd-grid{display:grid;gap:var(--space-8);align-items:center;grid-template-columns:0.9fr 1.1fr}
@media (max-width:899px){ .em-formula__dd-grid{grid-template-columns:1fr !important} }
.em-formula__dd-point{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-6)}
.em-formula__dd-point img{flex:none;opacity:0.8;margin-top:2px}
.em-formula__dd-panel{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--ink-900);padding:var(--space-6);position:relative;overflow:hidden}
.em-formula__dd-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap}
.em-formula__dd-tab{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--ink-700);background:transparent;color:var(--concrete-200)}
.em-formula__dd-tab.is-active{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary)}
.em-formula__dd-value{display:flex;align-items:baseline;gap:8px;margin-bottom:var(--space-6)}
.em-formula__dd-value span:first-child{font:var(--text-mono);font-size:48px;color:var(--paper-000)}
.em-formula__dd-trend{font:var(--text-body);color:var(--brand-blue-100)}
.em-formula__dd-bars{display:flex;align-items:flex-end;gap:8px;height:120px;margin-bottom:var(--space-6)}
.em-formula__dd-bars > div{flex:1;background:var(--brand-blue-500);border-radius:3px 3px 0 0;transition:height 500ms var(--ease-standard)}
.em-formula__dd-alert{display:flex;align-items:center;gap:12px;border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;background:#1a2128;border:1px solid var(--ink-700)}
.em-formula__dd-alert img{filter:invert(1);flex:none}
.em-formula__dd-alert span{font:var(--text-body-sm);color:var(--paper-000)}

.em-formula__beam-wrap{max-width:400px;margin:0 auto var(--space-8);display:flex;flex-direction:column;align-items:center}
.em-formula__beam{transform-origin:center;animation:em-beam-tilt 3.4s ease-in-out infinite;border-top:3px solid var(--brand-blue-500);padding-top:10px;display:flex;align-items:center;justify-content:space-between;width:280px}
.em-formula__beam-side{border-radius:var(--radius-sm);padding:10px 14px;text-align:center;font:var(--text-label);letter-spacing:0.02em;color:var(--paper-000)}
.em-formula__beam-side--left{background:#182029;border:1px solid var(--ink-700)}
.em-formula__beam-side--right{background:#0b5a96;border:1px solid var(--brand-blue-500)}
.em-formula__beam-pole{width:2px;height:28px;background:var(--ink-700);margin-top:-1px}
.em-formula__beam-base{width:60px;height:10px;border-radius:6px;background:var(--ink-700)}

.em-formula__bbox-grid{display:grid;gap:var(--space-8);align-items:center;grid-template-columns:1fr 1fr}
@media (max-width:899px){ .em-formula__bbox-grid{grid-template-columns:1fr !important} }
.em-formula__bbox-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}
.em-formula__bbox-svg{width:100%;max-width:340px;height:auto}
.em-formula__bbox-line{stroke:var(--border-default);stroke-width:2;stroke-dasharray:6 6;animation:em-dash-flow 900ms linear infinite}
.em-formula__bbox-line.is-active{stroke:var(--accent-primary);stroke-width:3}
.em-formula__bbox-node-circle{fill:var(--surface-card);stroke:var(--border-default);stroke-width:2;transition:all 200ms var(--ease-standard)}
.em-formula__bbox-node{cursor:pointer}
.em-formula__bbox-node.is-active .em-formula__bbox-node-circle{fill:var(--accent-primary-soft);stroke:var(--accent-primary)}
.em-formula__bbox-info{min-height:44px;text-align:center;max-width:280px}
