/* Shared portfolio composition. Particle artwork is a static capture of the hero. */
.concept-a .project-cover{
 --art-bg:#17314e;--art-ink:#f7faff;--art-muted:#b9c9dd;--art-node:#f4f7fc;--art-node-ink:#17314e;--art-node-line:#d2ddeb;
 --portfolio-cover-height:440px;
 height:var(--portfolio-cover-height);min-height:var(--portfolio-cover-height);aspect-ratio:auto;
 background:var(--art-bg) url('/assets/portfolio-particles.png') center/cover no-repeat;border-color:#2a4565;
}
.concept-a[data-theme=dark] .project-cover{--art-bg:#12243b;--art-node:#233c58;--art-node-ink:#f3f7fe;--art-node-line:#3b5879}
.concept-a .project-cover::before,.concept-a .project-cover::after,.concept-a .project-stage-cross,.concept-a .project-stage-line{display:none}
.concept-a .project-stage-label{color:var(--art-muted);inset:16px 20px auto;font-size:11px;letter-spacing:.02em}
.concept-a .project-stage-label>span:last-child{color:var(--art-ink)}
.concept-a .project-cover-crm,.inner-page .case-card .project-cover-crm{padding:48px 20px 20px;min-height:var(--portfolio-cover-height);align-items:stretch}
.concept-a .crm-static{color:var(--art-ink);height:100%;display:grid;grid-template-rows:minmax(90px,1fr) 196px 56px;gap:8px}
.concept-a .crm-static-heading{margin:0}
.concept-a .crm-static-heading h3{color:var(--art-ink);font-size:17px;line-height:1.3;max-width:none;text-wrap:pretty}
.concept-a .crm-static .crm-diagram-caption{color:var(--art-muted);font-size:11px;margin-bottom:7px;display:none}
.concept-a .crm-static .crm-status{color:#b9d3ff;margin-top:5px;font-size:10px}
.concept-a .crm-static-steps{align-self:center;justify-content:center;grid-template-columns:repeat(5,minmax(0,104px));gap:14px;margin:0}
.concept-a .crm-static-node{background:var(--art-node);color:var(--art-node-ink);border:1px solid var(--art-node-line);border-radius:7px;padding:10px 8px;gap:8px;min-height:92px;height:92px;font-size:11px;line-height:1.35;box-shadow:none;overflow-wrap:anywhere;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.concept-a .crm-static-node:first-child,.concept-a .crm-static-node:last-child{background:#3269d9;color:#fff;border-color:#4f7ee1}
.concept-a .crm-static-node .crm-step-number{position:absolute;top:11px;right:8px;color:inherit;opacity:.65;font-size:9px;letter-spacing:.03em}
.concept-a .card-stage-icon{display:block;flex-shrink:0;color:inherit;width:20px;height:20px;margin:0}
.concept-a .crm-static-node:not(:last-child)::after{right:-14px;color:#9fbce5;font-size:13px}
.concept-a .crm-static .crm-highlights{align-content:start;align-items:start;border-color:rgba(201,219,244,.22);padding-top:12px;gap:6px 10px}
.concept-a .crm-static .crm-highlights li{background:none;border:0;padding:0;color:var(--art-muted);font-size:11px;gap:0;display:block}
.concept-a .crm-static .crm-highlights li::before{display:none}
.concept-a .crm-static .crm-highlights li:not(:last-child)::after{content:' /';color:#7290b7;margin-left:8px}
.concept-a .fleet-cover-note{color:var(--art-muted);border-color:rgba(201,219,244,.22);padding-top:12px;font-size:11px}
.concept-a .project-preview{box-shadow:0 18px 26px -15px rgba(0,0,0,.55)}
/* Caption measurement equalizes every card on a surface, including separate categories. */
.concept-a .case,.concept-a .case-card{display:flex;flex-direction:column;height:100%}
.concept-a .case-body,.concept-a .case-caption{flex:none;min-height:var(--portfolio-copy-height,0px)}
.concept-a .case-grid,.concept-a .case-pair{align-items:stretch;grid-auto-rows:1fr}
.concept-a .case-body h3{min-height:0}
.concept-a .case-contact{margin-top:20px}
@container(max-width:560px){
 .concept-a .crm-static-steps{grid-template-columns:repeat(3,minmax(0,112px));gap:12px 14px}
 .concept-a .crm-static-node:nth-child(3)::after{display:none}
}
@media(max-width:767px){
 .concept-a .project-cover{--portfolio-cover-height:440px}
 .concept-a .project-cover-crm,.inner-page .case-card .project-cover-crm{padding:46px 16px 18px}
 .concept-a .project-stage-label{inset:14px 16px auto;font-size:10px}
 .concept-a .crm-static{grid-template-rows:minmax(90px,1fr) 196px 56px}
 .concept-a .crm-static-heading h3{font-size:16px}
}
@media(max-width:359px){
 .concept-a .project-cover{--portfolio-cover-height:480px}
 .concept-a .crm-static{grid-template-rows:minmax(104px,1fr) 220px 64px}
 .concept-a .crm-static-node{height:104px;min-height:104px;padding-inline:6px}
}
@media(hover:hover) and (pointer:fine){.concept-a .crm-static-node:hover{transform:translateY(-2px);border-color:var(--art-node-line);box-shadow:none}.concept-a .crm-static-node:first-child:hover,.concept-a .crm-static-node:last-child:hover{border-color:#4f7ee1}}
@media(prefers-reduced-motion:reduce){.concept-a .crm-static-node{transition:none}.concept-a .crm-static-node:hover{transform:none}}
/* Narrow cards at tablet width and 320 px keep full labels readable. */
@media(min-width:768px) and (max-width:1100px){
 .concept-a .project-cover{--portfolio-cover-height:500px}
 .concept-a .crm-static{grid-template-rows:minmax(100px,1fr) 220px 84px}
 .concept-a .crm-static-node{height:104px;min-height:104px}
}
@media(max-width:359px){
 .concept-a .project-cover{--portfolio-cover-height:500px}
 .concept-a .crm-static{grid-template-rows:minmax(104px,1fr) 220px 84px}
}
