/* Legacy capability illustrations, scoped to the art-directed home page. */
.home-services { color: var(--fg); scroll-margin-top: 6rem; }
.home-services button, .home-services a { -webkit-tap-highlight-color: transparent; }
.home-services button:focus-visible, .home-services a:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.home-services #offerings { scroll-margin-top: 6rem; }
.home-services .showcase-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.home-services .showcase-service {
  --scene-ink: var(--home-accent);
  --scene-line: color-mix(in srgb, var(--scene-ink) 42%, var(--home-line));
  --scene-fill: color-mix(in srgb, var(--scene-ink) 8%, var(--surface));
  --scene-fill-deep: color-mix(in srgb, var(--scene-ink) 18%, var(--surface));
  --scene-fill-strong: color-mix(in srgb, var(--scene-ink) 32%, var(--surface));
  --scene-highlight: color-mix(in srgb, var(--scene-ink) 65%, var(--surface));
  background: var(--surface); border: 1px solid var(--home-line); border-radius: 10px;
  overflow: hidden; position: relative; min-width: 0; display: flex; flex-direction: column;
  transition: border-color 200ms ease;
}
.home-services .showcase-service:hover, .home-services .showcase-service:focus-within { border-color: var(--scene-line); }
.home-services .showcase-service[data-service="agents"] { --scene-ink: #536b44; }
.home-services .showcase-service[data-service="rl"] { --scene-ink: #7c6295; }
.home-services .showcase-service[data-service="inference"] { --scene-ink: var(--home-muted); }
.home-services .showcase-service[data-service="workspace"] { --scene-ink: #476f69; }
:root[data-theme="dark"] .home-services .showcase-service[data-service="agents"] { --scene-ink: #afbf99; }
:root[data-theme="dark"] .home-services .showcase-service[data-service="rl"] { --scene-ink: #bea6d5; }
:root[data-theme="dark"] .home-services .showcase-service[data-service="workspace"] { --scene-ink: #8eb6ac; }
.home-services .showcase-scene { height: 193px; flex: none; position: relative; overflow: hidden; background: linear-gradient(180deg, var(--home-bg), var(--home-soft)); border-bottom: 1px solid var(--home-line); color: var(--scene-ink); }
.home-services .showcase-scene-label { position: absolute; left: 1rem; top: .85rem; color: var(--fg-dim); font: 8px var(--font-mono); letter-spacing: .025em; z-index: 2; }
.home-services .showcase-scene > svg { display: block; width: 100%; height: 100%; }
.home-services .showcase-scene text { font-family: var(--font-mono); }
.home-services .showcase-content { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }
.home-services .showcase-title { display: flex; gap: .5rem; align-items: center; justify-content: space-between; min-height: 1.75rem; }
.home-services h3 { margin: 0; font-weight: 500; font-size: 1.12rem; letter-spacing: -.025em; line-height: 1.4; }
.home-services .showcase-badge { font: .55rem var(--font-mono); letter-spacing: .015em; border: 1px solid var(--home-line); border-radius: 4px; padding: .25rem .35rem; white-space: nowrap; color: var(--home-muted); background: var(--home-soft); }
.home-services .showcase-description { font-size: .82rem; line-height: 1.75; color: var(--fg-dim); margin: .85rem 0 1.6rem; flex: 1; }
.home-services .showcase-card-footer { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.home-services .showcase-tags { color: var(--fg-dim); font: 8px var(--font-mono); line-height: 1.8; }
.home-services .showcase-explore { display: inline-flex; align-items: center; justify-content: center; height: 26px; width: 26px; border-radius: 50%; border: 1px solid var(--home-line); text-decoration: none; color: var(--fg); font-size: 14px; flex: none; }
.home-services .showcase-explore:hover { background: var(--home-soft); border-color: var(--home-accent); }
.home-services .showcase-coming-label { font: 9px var(--font-mono); color: var(--fg-dim); white-space: nowrap; }
.home-services .showcase-modes { display: flex; flex-wrap: nowrap; gap: 2px; min-width: 0; }
.home-services .showcase-modes button { font: .625rem var(--font-sans); padding: .35rem .375rem; background: transparent; border: 1px solid transparent; border-radius: 4px; color: var(--fg-dim); cursor: pointer; white-space: nowrap; }
.home-services [data-service="training"] .showcase-card-footer { gap: .25rem; margin-inline-start: -.25rem; }
.home-services [data-service="training"] .showcase-modes { gap: .25rem; }
.home-services [data-service="training"] .showcase-modes button { padding-inline: .25rem; }
.home-services .showcase-modes button:hover { color: var(--fg); background: var(--home-soft); }
.home-services .showcase-modes button[aria-pressed="true"] { border-color: var(--home-line); background: var(--home-soft); color: var(--fg); }
.home-services .showcase-modes button:disabled { cursor: default; }

.home-services .showcase-scene * { animation-play-state: paused !important; }
.home-services .showcase-service[data-running="true"] .showcase-scene * { animation-play-state: running !important; }
.home-services .showcase-dash { stroke-dasharray: 5 14; animation: showcase-signal 3s linear infinite; }
.home-services .showcase-shimmer { animation: showcase-shimmer 4s ease-in-out infinite; }
.home-services .showcase-lift { transform-box: fill-box; transform-origin: center; animation: showcase-lift 6s ease-in-out infinite; }
.home-services .showcase-train-layer-b { animation-delay: -2s; }
.home-services .showcase-train-layer-c { animation-delay: -4s; }
.home-services .showcase-training-trace { stroke-dasharray: 420; animation: showcase-draw 8s ease-in-out infinite; }
.home-services .showcase-light-dot { animation: showcase-lit 3s ease-in-out infinite; }
.home-services .showcase-light-dot:nth-of-type(2) { animation-delay: -1s; }
.home-services .showcase-light-dot:nth-of-type(3) { animation-delay: -2s; }
.home-services .showcase-train-progress { transform-origin: left; animation: showcase-progress 8s ease-in-out infinite; }
.home-services .showcase-sandbox-shell { position: absolute; width: 213px; left: 50%; top: 48px; transform: translateX(-50%); border: 1px solid var(--scene-line); border-radius: 6px; background: var(--surface); box-shadow: var(--shadow-sm); }
.home-services .showcase-sandbox-head { border-bottom: 1px solid var(--home-line); padding: 8px 12px; display: flex; justify-content: space-between; color: var(--scene-ink); font: 9px var(--font-mono); }
.home-services .showcase-sandbox-head span { font-size: 7px; color: var(--fg-dim); }
.home-services .showcase-commands { padding: 10px 12px; display: grid; gap: 8px; }
.home-services .showcase-command { display: flex; align-items: center; gap: 9px; font: 9px var(--font-mono); animation: showcase-command 6s linear infinite; }
.home-services .showcase-command:nth-child(2) { animation-delay: -4s; }
.home-services .showcase-command:nth-child(3) { animation-delay: -2s; }
.home-services .showcase-command > i { width: 4px; height: 4px; border-radius: 50%; background: var(--scene-ink); }
.home-services .showcase-command > span { color: var(--fg-dim); margin-left: auto; font-size: 8px; }
.home-services .showcase-sandbox-bracket { position: absolute; width: 241px; height: 144px; left: 50%; top: 37px; transform: translateX(-50%); background: linear-gradient(var(--scene-line), var(--scene-line)) left top/20px 1px no-repeat, linear-gradient(var(--scene-line), var(--scene-line)) left top/1px 20px no-repeat, linear-gradient(var(--scene-line), var(--scene-line)) right top/20px 1px no-repeat, linear-gradient(var(--scene-line), var(--scene-line)) right top/1px 20px no-repeat, linear-gradient(var(--scene-line), var(--scene-line)) left bottom/20px 1px no-repeat, linear-gradient(var(--scene-line), var(--scene-line)) left bottom/1px 20px no-repeat, linear-gradient(var(--scene-line), var(--scene-line)) right bottom/20px 1px no-repeat, linear-gradient(var(--scene-line), var(--scene-line)) right bottom/1px 20px no-repeat; animation: showcase-shimmer 6s infinite; }
.home-services .showcase-sandbox-packet { position: absolute; left: 14%; width: 4px; height: 4px; background: var(--scene-ink); top: 92px; animation: showcase-sandbox-packet 4s linear infinite; }
.home-services .showcase-sandbox-packet.showcase-p2 { left: auto; right: 14%; top: 141px; animation-delay: -2s; }
.home-services .showcase-agent-scene { position: absolute; inset: 0; }
.home-services .showcase-agent-evals, .home-services .showcase-agent-long { display: none; }
.home-services .showcase-service[data-mode="evals"] .showcase-agent-sandbox, .home-services .showcase-service[data-mode="long"] .showcase-agent-sandbox { display: none; }
.home-services .showcase-service[data-mode="evals"] .showcase-agent-evals, .home-services .showcase-service[data-mode="long"] .showcase-agent-long { display: block; }
.home-services .showcase-agent-session { position: absolute; left: 50%; top: 47px; transform: translateX(-50%); width: 216px; border: 1px solid var(--scene-line); border-radius: 6px; padding: 14px; background: var(--surface); }
.home-services .showcase-session-name { font: 9px var(--font-mono); color: var(--scene-ink); }
.home-services .showcase-session-dot { width: 5px; height: 5px; border-radius: 50%; display: inline-block; background: var(--scene-ink); float: right; animation: showcase-shimmer 3s infinite; }
.home-services .showcase-session-line { display: flex; align-items: center; gap: 8px; color: var(--fg-dim); font: 8px var(--font-mono); margin: 19px 0 11px; }
.home-services .showcase-session-line i { height: 1px; flex: 1; background: var(--scene-line); }
.home-services .showcase-session-track { height: 3px; border-radius: 3px; background: var(--home-soft); overflow: hidden; }
.home-services .showcase-session-track b { display: block; width: 30%; height: 100%; background: var(--scene-ink); animation: showcase-session 4s linear infinite; }
.home-services .showcase-agent-session p { color: var(--fg-dim); font: 7px var(--font-mono); margin: 11px 0 0; }
.home-services .showcase-rl-signal { stroke-dasharray: 18 365; animation: showcase-rl-signal 6s linear infinite; }
.home-services .showcase-rl-signal.showcase-second { animation-delay: -3s; opacity: .4; }
.home-services .showcase-rl-node { animation: showcase-rl-node 6s ease infinite; }
.home-services .showcase-rl-node.showcase-environment { animation-delay: -4s; }
.home-services .showcase-rl-node.showcase-reward { animation-delay: -2s; }
.home-services .showcase-eval-grid { position: absolute; left: 50%; top: 50px; transform: translateX(-50%); display: grid; grid-template-columns: repeat(8, 21px); gap: 6px; }
.home-services .showcase-eval-cell { width: 21px; height: 23px; border: 1px solid var(--scene-line); background: var(--scene-fill); border-radius: 3px; display: grid; place-items: center; font: 10px var(--font-mono); color: var(--scene-ink); animation: showcase-task 8s infinite; animation-delay: calc(var(--i)*-0.27s); }
.home-services .showcase-eval-cell.showcase-fail { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 45%, var(--home-line)); background: var(--surface); }
.home-services .showcase-eval-cell.showcase-pending { color: var(--fg-dim); background: var(--home-soft); border-color: var(--home-line); }
.home-services .showcase-eval-scan { position: absolute; left: calc(50% - 106px); top: 42px; width: 212px; height: 1px; background: var(--scene-ink); animation: showcase-scan 8s linear infinite; }
.home-services .showcase-eval-caption { position: absolute; bottom: 17px; left: 0; right: 0; text-align: center; color: var(--scene-ink); font: 8px var(--font-mono); letter-spacing: .1em; }
.home-services .showcase-eval-caption span { margin: 0 8px; color: var(--fg-dim); }
.home-services .showcase-editor { position: absolute; inset: 17px 25px 27px; border: 1px solid var(--scene-line); border-radius: 5px; overflow: hidden; background: var(--surface); transform: perspective(800px) rotateY(-7deg) rotateX(5deg); animation: showcase-editor 8s ease-in-out infinite; }
.home-services .showcase-editor-head { height: 24px; border-bottom: 1px solid var(--home-line); display: flex; align-items: center; justify-content: space-between; padding: 0 10px; color: var(--scene-ink); font: 8px var(--font-mono); }
.home-services .showcase-editor-body { display: grid; grid-template-columns: 82px 1fr; height: 100%; }
.home-services .showcase-file-tree { border-right: 1px solid var(--home-line); padding: 9px 8px; color: var(--fg-dim); font: 8px/2.2 var(--font-mono); }
.home-services .showcase-file-tree .showcase-active { color: var(--scene-ink); }
.home-services .showcase-code { padding: 9px 10px; font: 8px/2.2 var(--font-mono); color: var(--scene-ink); overflow: hidden; white-space: nowrap; }
.home-services .showcase-code span { color: var(--code-kw); }
.home-services .showcase-typing { animation: showcase-typing 8s steps(24, end) infinite; clip-path: inset(0 0 0 0); }
.home-services .showcase-editor-tools { position: absolute; bottom: 14px; left: 0; right: 0; display: flex; justify-content: center; gap: 7px; }
.home-services .showcase-editor-tools span { border: 1px solid var(--scene-line); background: var(--surface); color: var(--scene-ink); padding: 4px 7px; border-radius: 3px; font: 8px var(--font-mono); animation: showcase-tool-float 8s ease infinite; }
.home-services .showcase-editor-tools span:nth-child(2) { animation-delay: -2s; }
.home-services .showcase-editor-tools span:nth-child(3) { animation-delay: -4s; }
.home-services .showcase-inference-wave { stroke-dasharray: 3 5; animation: showcase-signal 8s linear infinite; }
.home-services .showcase-inference-token { animation: showcase-token 8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.home-services .showcase-inference-token:nth-of-type(2) { animation-delay: -2s; }
.home-services .showcase-inference-token:nth-of-type(3) { animation-delay: -4s; }
.home-services .showcase-inference-token:nth-of-type(4) { animation-delay: -6s; }
.home-services .showcase-inference-orbit { transform-origin: 200px 94px; animation: showcase-orbit 30s linear infinite; }
.home-services .showcase-inference-future { position: absolute; bottom: 13px; left: 0; right: 0; text-align: center; color: var(--fg-dim); font: 8px var(--font-mono); letter-spacing: .12em; }
.home-services .showcase-workspace-companion { display: grid; grid-template-columns: 285px 1fr auto; gap: 1.75rem; margin-top: 1.25rem; align-items: center; }
.home-services .showcase-workspace-companion .showcase-scene { height: 157px; border: 0; border-right: 1px solid var(--home-line); }
.home-services .showcase-workspace-companion .showcase-scene-label { display: none; }
.home-services .showcase-workspace-copy { padding: 1rem 0; }
.home-services .showcase-workspace-eyebrow { font: .6rem var(--font-mono); letter-spacing: .025em; color: var(--home-accent); margin: 0 0 .65rem; }
.home-services .showcase-workspace-copy h3 { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.home-services .showcase-workspace-copy > p:last-child { color: var(--fg-dim); font-size: .82rem; line-height: 1.75; max-width: 29rem; margin: .65rem 0 0; }
.home-services .showcase-workspace-cta { margin-right: 1.5rem; text-decoration: none; border: 1px solid var(--home-line); padding: .65rem .8rem; border-radius: 6px; font-size: .75rem; color: var(--fg); display: flex; align-items: center; gap: 1.25rem; white-space: nowrap; }
.home-services .showcase-workspace-cta:hover { background: var(--home-soft); }

@keyframes showcase-lift {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes showcase-signal {
  to { stroke-dashoffset: -76; }
}
@keyframes showcase-draw {
  0%,10% { stroke-dashoffset: 420; opacity: .3; }
  70%,90% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: .25; }
}
@keyframes showcase-lit {
  0%,100% { opacity: .2; }
  50% { opacity: 1; }
}
@keyframes showcase-shimmer {
  0%,100% { opacity: .35; }
  50% { opacity: 1; }
}
@keyframes showcase-progress {
  0% { transform: scaleX(.05); opacity: .5; }
  80% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: .25; }
}
@keyframes showcase-command {
  0%,8% { opacity: .3; transform: translateX(-5px); }
  20%,65% { opacity: 1; transform: translateX(0); }
  85%,100% { opacity: .4; }
}
@keyframes showcase-sandbox-packet {
  0% { transform: translateY(-28px); opacity: 0; }
  20%,70% { opacity: 1; }
  100% { transform: translateY(30px); opacity: 0; }
}
@keyframes showcase-rl-signal {
  to { stroke-dashoffset: -383; }
}
@keyframes showcase-rl-node {
  0%,100% { filter: brightness(1); }
  20%,35% { filter: brightness(1.65); }
}
@keyframes showcase-task {
  0%,12% { opacity: .28; transform: scale(.88); }
  20%,80% { opacity: 1; transform: scale(1); }
  95%,100% { opacity: .3; transform: scale(.96); }
}
@keyframes showcase-scan {
  0%,5% { transform: translateY(0); opacity: 0; }
  10%,80% { opacity: .8; }
  90%,100% { transform: translateY(106px); opacity: 0; }
}
@keyframes showcase-typing {
  0%,12% { clip-path: inset(0 100% 0 0); }
  55%,100% { clip-path: inset(0 0 0 0); }
}
@keyframes showcase-editor {
  0%,100% { transform: perspective(800px) rotateY(-7deg) rotateX(5deg); }
  50% { transform: perspective(800px) rotateY(0deg) rotateX(0deg) translateY(-3px); }
}
@keyframes showcase-tool-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes showcase-token {
  0%,100% { opacity: .25; transform: translateY(4px); }
  50% { opacity: .85; transform: translateY(-4px); }
}
@keyframes showcase-orbit {
  to { transform: rotate(360deg); }
}
@keyframes showcase-session {
  from { transform: translateX(-100%); }
  to { transform: translateX(450%); }
}

@media (max-width: 1240px) {
  .home-services .showcase-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-services .showcase-content { padding: 1.5rem; }
  .home-services .showcase-description { min-height: 3rem; }
  .home-services .showcase-modes button { font-size: .7rem; }
  .home-services .showcase-sandbox-shell { width: 245px; }
  .home-services .showcase-sandbox-bracket { width: 275px; }
  .home-services .showcase-workspace-companion { grid-template-columns: 245px 1fr; gap: 1.25rem; }
  .home-services .showcase-workspace-cta { grid-column: 2; margin: 0 1.25rem 1.25rem 0; justify-self: start; }
  .home-services .showcase-workspace-companion .showcase-scene { grid-row: 1 / span 2; height: 100%; min-height: 190px; }
  .home-services .showcase-editor { top: 30px; bottom: 45px; }
  .home-services .showcase-editor-tools { bottom: 28px; }
  .home-services .showcase-workspace-copy { padding: 1.25rem 1.25rem 0 0; }
}
@media (max-width: 650px) {
  .home-services .showcase-workspace-companion { grid-template-columns: 1fr; }
  .home-services .showcase-workspace-companion .showcase-scene { grid-row: auto; height: 170px; min-height: 170px; border-right: 0; border-bottom: 1px solid var(--home-line); }
  .home-services .showcase-editor { inset: 20px max(28px, calc((100% - 280px) / 2)) 32px; }
  .home-services .showcase-editor-tools { bottom: 17px; }
  .home-services .showcase-workspace-copy { padding: 0 1.25rem; }
  .home-services .showcase-workspace-cta { grid-column: 1; margin: 0 1.25rem 1.25rem; }
}
@media (max-width: 680px) {
  .home-services .showcase-service-grid { grid-template-columns: 1fr; }
  .home-services .showcase-content { padding: 1.25rem; }
  .home-services .showcase-description { min-height: 0; }
  .home-services .showcase-scene { height: 205px; }
  .home-services .showcase-sandbox-shell { top: 50px; width: min(250px, calc(100% - 40px)); }
  .home-services .showcase-sandbox-bracket { width: min(284px, calc(100% - 20px)); }
}
@media (max-width: 380px) {
  .home-services [data-service="training"] .showcase-modes button { font-size: .625rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home-services .showcase-scene * { animation: none !important; }
  .home-services .showcase-service { transition: none; }
  .home-services .showcase-training-trace { stroke-dashoffset: 0; }
  .home-services .showcase-eval-scan { display: none; }
  .home-services .showcase-typing { clip-path: none; }
}


.home-services {
  --fg:var(--ink); --fg-soft:#57534e; --fg-dim:var(--muted); --home-bg:var(--paper);
  --home-soft:#f0eee7; --home-muted:var(--muted); --home-line:var(--line);
  --home-accent:var(--violet); --surface:#fffefa; --focus:var(--violet);
  --danger:#c64d39; --code-kw:var(--violet); --shadow-sm:0 3px 12px #28271f06;
  --font-sans: "Inter Variable", var(--font-sans), system-ui, sans-serif; --font-mono: "JetBrains Mono Variable", ui-monospace, monospace;
  padding-block:80px; scroll-margin-top:78px;
}
.home-services .home-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:42px; }
.home-services .section-title { margin:0; }
.home-services .section-title span { color:var(--violet); }
.home-services .home-section-head .text-link { flex-shrink:0; margin-bottom:8px; }
.home-services .showcase-service { border-radius:7px; }
.home-services .showcase-scene { height:220px; }
.home-services .showcase-content { padding:22px; }
.home-services .showcase-title { min-height:58px; align-items:flex-start; flex-wrap:wrap; justify-content:flex-start; gap:8px; }
.home-services h3 { font-size:22px; line-height:1.15; font-weight:470; letter-spacing:-.04em; }
.home-services .showcase-title h3 { flex:1 1 auto; }
.home-services .showcase-badge { font-size:9px; }
.home-services .showcase-description { font-size:14px; line-height:1.65; margin:12px 0 28px; }
.home-services .showcase-scene-label { font-size:9px; top:18px; left:20px; }
.home-services .showcase-card-footer { min-height:32px; flex-wrap:wrap; }
.home-services .showcase-modes { flex-wrap:wrap; }
.home-services .showcase-modes button { font-size:11px; }
.home-services .showcase-explore { width:30px; height:30px; margin-left:auto; }
.home-services .showcase-workspace-companion { grid-template-columns:300px minmax(0,1fr) auto; gap:28px; margin-top:20px; background:#f3f1fa; }
.home-services .showcase-workspace-companion .showcase-scene { height:196px; background:#eeebf8; }
.home-services .showcase-workspace-copy { padding-block:24px; }
.home-services .showcase-workspace-copy h3 { font-size:24px; }
.home-services .showcase-workspace-copy > p:last-child { max-width:600px; font-size:14px; line-height:1.65; }
.home-services .showcase-workspace-eyebrow { font-size:10px; }
.home-services .showcase-workspace-cta { padding:14px 16px; font-size:13px; margin-right:24px; border-color:#c9c3e0; }
@media(max-width:1240px) {
  .home-services .showcase-workspace-companion { grid-template-columns:280px minmax(0,1fr); gap:0 24px; }
  .home-services .showcase-workspace-companion .showcase-scene { height:100%; }
  .home-services .showcase-workspace-copy { padding:24px 24px 16px 0; }
}
@media(max-width:680px) {
  .home-services { padding-block:52px; scroll-margin-top:104px; }
  .home-services .home-section-head { display:block; margin-bottom:28px; }
  .home-services .section-title { font-size:clamp(34px,10vw,48px); }
  .home-services .home-section-head .text-link { margin:24px 0 0; }
  .home-services .showcase-title { min-height:0; }
  .home-services .showcase-workspace-companion { grid-template-columns:1fr; gap:0; }
  .home-services .showcase-workspace-companion .showcase-scene { height:196px; grid-row:auto; border-right:0; border-bottom:1px solid var(--home-line); }
  .home-services .showcase-workspace-copy { padding:24px; }
  .home-services .showcase-workspace-cta { grid-column:1; margin:0 24px 24px; justify-self:start; }
}

/* The connected lifecycle leads; cards provide optional detail. */
.capability-details { border-block:1px solid var(--line); background:#f8f6f0; }
.capability-details > summary { display:flex; align-items:center; gap:20px; width:min(1400px,calc(100% - 200px)); margin:auto; padding:26px 0; list-style:none; cursor:pointer; }
.capability-details > summary::-webkit-details-marker { display:none; }
.capability-details > summary:focus-visible { outline:2px solid var(--violet); outline-offset:-3px; }
.capability-details__icon { display:grid; place-items:center; flex:0 0 52px; height:52px; border:1px solid #ead5c9; border-radius:8px; background:#fcf0e9; color:var(--orange); }
.capability-details__icon svg { width:38px; height:38px; stroke:currentColor; stroke-width:1.2; }
.capability-details__copy { display:grid; gap:7px; min-width:0; }
.capability-details__title { font-size:20px; font-weight:450; letter-spacing:-.025em; line-height:1.2; }
.capability-details__hint { color:var(--muted); font-size:13px; line-height:1.5; }
.capability-details__action { display:flex; align-items:center; gap:18px; margin-left:auto; padding-left:20px; font:11px var(--font-sans); letter-spacing:.04em; text-transform:uppercase; }
.capability-details__toggle { display:grid; place-items:center; width:40px; height:40px; border:1px solid #d7c6ba; border-radius:50%; color:var(--orange); font:24px/1 var(--font-sans); transition:transform 180ms ease,background 180ms ease,border-color 180ms ease; }
.capability-details__close-label { display:none; }
.capability-details[open] .capability-details__open-label { display:none; }
.capability-details[open] .capability-details__close-label { display:inline; }
.capability-details[open] .capability-details__toggle { transform:rotate(45deg); }
.capability-details > summary:hover .capability-details__toggle, .capability-details > summary:focus-visible .capability-details__toggle { background:#fbe7dc; border-color:var(--orange); }
.capability-details .home-services { padding-block:22px 56px; --home-accent:var(--orange); }
.capability-details .home-services .section-title { font-size:32px; line-height:1.1; font-weight:470; letter-spacing:-.04em; }
.capability-details .home-services .home-section-head { margin-bottom:28px; }
.capability-details .home-services .showcase-workspace-companion { background:#f7f6f0; }
.capability-details .home-services .showcase-workspace-companion .showcase-scene { background:#f0f2ec; }
.stagger-stage__meta a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) {
  .stagger-copy { padding:48px 0 36px; }
}
@media(max-width:900px) {
  .capability-details > summary { width:calc(100% - 40px); }
}
@media(max-width:720px) {
  .stagger-copy :is(h1,h2) { font-size:clamp(36px,9.5vw,42px); }
  .stagger-stage { left:0!important; right:auto; width:100%; grid-template-columns:140px minmax(0,1fr); gap:12px; }
  .stagger-stage__art { width:140px; }
  .stagger-stage__meta { width:auto; padding-right:10px; text-align:left; }
  .stagger-stage h2 { white-space:normal; }
  .stagger-field::before { content:''; position:absolute; z-index:1; left:70px; top:75px; bottom:130px; width:1px; background:linear-gradient(var(--orange),var(--violet) 30%,var(--mint) 45%,var(--orange) 60%,var(--violet) 80%,var(--mint)); }
  .capability-details > summary { gap:14px; padding-block:22px; }
  .capability-details__icon { display:none; }
  .capability-details__title { font-size:18px; }
  .capability-details__hint { font-size:12px; }
  .capability-details__action { padding-left:0; }
  .capability-details__open-label, .capability-details[open] .capability-details__close-label { display:none; }
}
@media(prefers-reduced-motion:reduce) { .capability-details__toggle { transition:none; } }


/* The same card moves into the dialog, preserving its controls and animations. */
.stagger-stage__trigger { pointer-events:auto; position:absolute; z-index:3; inset:-8px; width:calc(100% + 16px); height:calc(100% + 16px); padding:0; border:1px solid transparent; border-radius:8px; background:transparent; cursor:pointer; color:inherit; }
.stagger-stage__trigger:hover { border-color:color-mix(in srgb,currentColor 30%,transparent); background:color-mix(in srgb,currentColor 3%,transparent); }
.stagger-stage__trigger:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.stagger-stage__trigger::after { content:'+'; position:absolute; right:6px; top:4px; font:20px/1 var(--font-sans); opacity:0; }
.stagger-stage__trigger:hover::after,.stagger-stage__trigger:focus-visible::after { opacity:1; }
html.workload-modal-open { overflow:hidden; }
.workload-dialog.home-services { --home-accent:var(--orange); --focus:var(--home-accent); outline-color:var(--home-accent); width:min(440px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; border:0; border-radius:8px; overflow:auto; overscroll-behavior:contain; background:var(--surface); box-shadow:0 24px 80px #24221e33; }
.workload-dialog.home-services .showcase-service[data-service] { --scene-ink:var(--home-accent); }
.workload-dialog::backdrop { background:rgba(35,32,28,.3); backdrop-filter:blur(4px); }
.workload-dialog__close { position:absolute; z-index:5; top:10px; right:10px; display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid var(--home-line); border-radius:50%; background:var(--surface); color:var(--fg); font:22px/1 var(--font-sans); cursor:pointer; }
.workload-dialog .showcase-scene { height:245px; }
.workload-dialog .showcase-content { padding:26px; }
.workload-dialog .showcase-title { min-height:0; }
.workload-dialog h3 { font-size:28px; }
.workload-dialog .showcase-description { margin:20px 0 28px; font-size:16px; }
.workload-dialog .showcase-scene-label { padding-right:28px; }
.workload-dialog .showcase-modes button { font-size:12px; }
.workload-dialog [data-service="training"] .showcase-modes { display:none; }
.workload-dialog [data-service="training"] .showcase-card-footer { justify-content:flex-end; }
@media(max-width:480px) {
  .workload-dialog .showcase-scene { height:220px; }
  .workload-dialog .showcase-content { padding:20px; }
  .workload-dialog .showcase-modes button { font-size:11px; }

}


@media(min-width:721px) and (max-width:1280px) {
  .stagger-hero { grid-template-columns:1fr; }
  .stagger-copy { padding:48px 0 36px; }
  .stagger-field { border-left:0; border-top:1px solid var(--rule); }
}

@media(max-width:720px) {
  .stagger-stage__trigger { inset:0; width:100%; height:100%; }
  .stagger-stage__trigger:focus-visible { outline-offset:-3px; }
}

/* A shared foundation connects the independent lifecycle stages. */
.stagger-field { min-height:600px; }
.stagger-stage { top:calc(32px + 42px * var(--step)); }
.lifecycle-connections { position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; fill:none; }
.lifecycle-connections__branches { stroke:#bcb5db; stroke-width:1; opacity:.45; }
.lifecycle-connections__rail { stroke:#aea3dc; stroke-width:1.2; opacity:.65; }
.lifecycle-connections__stem { stroke:#aea3dc; stroke-width:1.2; opacity:.65; }
.lifecycle-branch-pulse { fill:none; stroke:var(--violet); stroke-width:2.5; stroke-linecap:round; opacity:0; filter:drop-shadow(0 0 4px #6659e880); }
@media(prefers-reduced-motion:reduce) { .lifecycle-branch-pulse { display:none; } }
.lifecycle-editor { position:absolute; z-index:3; bottom:20px; left:50%; transform:translateX(-50%); width:min(300px,calc(100% - 40px)); height:148px; color:#527c6d; text-decoration:none; scroll-margin-top:100px; }
.lifecycle-editor__window { position:absolute; inset:0 0 18px; overflow:hidden; border:1px solid #afc1b7; border-radius:6px; background:#fffefa; box-shadow:0 8px 24px #526b5d08; }
.lifecycle-editor__head { display:flex; align-items:center; justify-content:space-between; padding:10px 11px; border-bottom:1px solid #e1e4db; font:9px/1 var(--font-sans); }
.lifecycle-editor__head b { font-weight:500; font-size:10px; letter-spacing:.06em; }
.lifecycle-editor__head em { margin-left:8px; color:#85988e; font-style:normal; }
.lifecycle-editor__head > span:last-child { font-size:8px; letter-spacing:.05em; color:#85988e; }
.lifecycle-editor__body { display:grid; grid-template-columns:76px minmax(0,1fr); height:calc(100% - 31px); font:9px/1.8 var(--font-mono); }
.lifecycle-editor__tree { padding:10px 8px; color:#969386; border-right:1px solid #e1e4db; }
.lifecycle-editor__tree b { color:#527c6d; font-weight:400; }
.lifecycle-editor__code { padding:10px; overflow:hidden; white-space:nowrap; }
.lifecycle-editor__code b { color:var(--violet); font-weight:400; }
.lifecycle-editor__tools { position:absolute; bottom:3px; left:0; right:0; display:flex; justify-content:center; gap:8px; }
.lifecycle-editor__tools span { padding:6px 9px; border:1px solid #afc1b7; border-radius:3px; background:#fffefa; font:10px/1 var(--font-sans); }
.lifecycle-editor:hover .lifecycle-editor__window { border-color:#527c6d; }
.lifecycle-editor:focus-visible { outline:2px solid var(--violet); outline-offset:5px; }
@media(min-width:1281px) { .stagger-copy { padding-bottom:80px; } }
@media(max-width:720px) {
  .stagger-field { min-height:1040px; }
  .stagger-stage { top:calc(24px + 136px * var(--step)); }
  .stagger-field::before { bottom:240px; }
  .lifecycle-editor__body { font-size:9px; grid-template-columns:76px minmax(0,1fr); }
}
@media(prefers-reduced-motion:no-preference) {
  .lifecycle-editor__typing { animation:showcase-typing 8s steps(24,end) infinite; }
  .lifecycle-editor__typing:last-child { animation-delay:1s; }
  .lifecycle-editor__tools span { animation:showcase-tool-float 8s ease-in-out infinite; }
  .lifecycle-editor__tools span:nth-child(2) { animation-delay:-2s; }
  .lifecycle-editor__tools span:nth-child(3) { animation-delay:-4s; }
}
