/* Lightweight SVG loops; geometry is updated by the visible-only 20 fps renderer. */
.consulting-landing .service-layers { margin: 0; min-width: 0; align-self: center; }
.service-layer-svg { display: block; width: 100%; height: auto; overflow: visible; }
.service-layer-svg .layer-plane { fill: url(#layer-sheet); stroke: #a89b85; stroke-width: 1.25; }
.service-layer-svg .layer-edge { fill: #e4dbcc; stroke: #b7ab97; stroke-width: 1; }
.service-layer-svg .layer-labels text { fill: var(--ink); font: 18px var(--display-font); }
.service-layer-svg .layer-labels .layer-number { fill: #8c7045; font: 11px var(--bs-body-font-family); letter-spacing: .12em; }
.service-layer-svg .layer-labels .layer-detail { fill: var(--muted); font: 10px var(--bs-body-font-family); }
.service-layer-svg .layer-labels path { stroke: #b6a78f; stroke-width: 1; }
.service-layers .layer-playback-controls { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin: -10px 0 0; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font: 11px/1.5 var(--bs-body-font-family); }
.layer-motion-toggle { flex: 0 0 auto; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 5px 0; font: inherit; color: var(--muted); cursor: pointer; min-height: 30px; }
.layer-motion-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.service-layers [hidden] { display: none; }
.service-layers .layer-review-mark { animation: layer-review-motion 12s ease-in-out infinite; }
.service-layers .layer-review-tick, .service-layers .layer-chart-point { animation: layer-evidence-motion 12s ease-in-out infinite; }
.service-layers .layer-routing { animation: layer-route-motion 16s linear infinite; }
.service-layers .layer-signal-left { animation: layer-signal-up 16s ease-in-out infinite; }
.service-layers .layer-signal-right { animation: layer-signal-down 16s ease-in-out infinite; }
.service-layers .layer-written-line { animation: layer-write 12s ease-in-out infinite; animation-delay: var(--line-delay); stroke-dasharray: 1; }
.service-layers .layer-chart-line, .service-layers .layer-annotation { stroke-dasharray: 1; animation: layer-draw 12s ease-in-out infinite; }
.service-layers .layer-active-tool { animation: layer-tool-work 12s ease-in-out infinite; animation-delay: var(--tool-delay); }
.service-layers .layer-task { animation: layer-task-travel 12s ease-in-out infinite; }
.service-layers .layer-agent-check, .service-layers .layer-agent-progress { stroke-dasharray: 1; animation: layer-draw 12s ease-in-out infinite; }
@keyframes layer-write { 0%,8% { stroke-dashoffset: 1; opacity: .3; } 24%,78% { stroke-dashoffset: 0; opacity: 1; } 94%,100% { stroke-dashoffset: 1; opacity: .3; } }
@keyframes layer-draw { 0%,20% { stroke-dashoffset: 1; opacity: 0; } 55%,85% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 1; opacity: 0; } }
@keyframes layer-tool-work { 0%,8% { fill: #d8c4a0; stroke: #8c7045; } 22%,94% { fill: #fffdf8; stroke: #857a68; } 100% { fill: #d8c4a0; stroke: #8c7045; } }
@keyframes layer-task-travel {
 0% { transform: translate(48px,48px); } 12% { transform: translate(103px,48px); }
 20% { transform: translate(103px,103px); } 25% { transform: translate(162px,103px); }
 33% { transform: translate(162px,48px); } 42% { transform: translate(103px,103px); }
 50% { transform: translate(48px,162px); } 62% { transform: translate(103px,162px); }
 70% { transform: translate(103px,103px); } 78% { transform: translate(162px,103px); }
 84% { transform: translate(162px,162px); } 92% { transform: translate(48px,162px); }
 100% { transform: translate(48px,48px); }
}
.service-layers:not(.is-running) svg * { animation-play-state: paused; }
.service-layers.is-running svg * { animation-play-state: running; }
@keyframes layer-review-motion { 0%,100% { opacity: .3; transform: translateY(0); } 38%,60% { opacity: .85; transform: translateY(37px); } 85% { opacity: .3; transform: translateY(0); } }
@keyframes layer-evidence-motion { 0%,100% { opacity: .35; } 45%,65% { opacity: 1; } }
@keyframes layer-route-motion { to { stroke-dashoffset: -400; } }
@keyframes layer-signal-up { 0%,8% { opacity: 0; transform: translateY(0); } 15%,80% { opacity: .6; } 92%,100% { opacity: 0; transform: translateY(-320px); } }
@keyframes layer-signal-down { 0%,8% { opacity: 0; transform: translateY(0); } 15%,80% { opacity: .5; } 92%,100% { opacity: 0; transform: translateY(320px); } }
.consulting-landing .service-examples { margin: 8px 0 64px; }
/* Keep the existing examples immediately below the new overview. */
@media (min-width: 1001px) {
 .consulting-landing .consulting-hero { grid-template-columns: .9fr 1.15fr; gap: 34px; }
 .consulting-landing .service-browser { max-width: 850px; margin-inline: auto; }
 .service-browser .service-menu { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
 .consulting-landing .service-layers { width: 100%; max-width: 630px; margin: 0 auto; }
 .consulting-landing .consulting-hero { gap: 14px; }
 .service-layers .layer-playback-controls { margin-top: 0; font-size: 10px; }
 .service-layer-svg .layer-labels text { font-size: 24px; }
 .service-layer-svg .layer-labels .layer-detail { font-size: 11px; }
 .consulting-landing .service-examples { margin-bottom: 44px; }
}
@media (max-width: 480px) {
 .service-layer-svg .layer-labels .layer-detail { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 .service-layers svg * { animation: none !important; }
 .service-layers .layer-signal { opacity: 0; }
}

.service-layers:not(.is-running) .layer-task { visibility: hidden; }
.service-layers[data-paused="true"] .layer-task { visibility: visible; }
@media (prefers-reduced-motion: reduce) { .service-layers .layer-task { visibility: hidden !important; } }
.service-layers:not(.is-enhanced) svg * { animation: none !important; }
