/* Project grouping extends the existing card, type, spacing, and theme system. */
.project-group + .project-group{margin-top:44px;padding-top:36px;border-top:1px solid var(--border)}
.project-group-heading{margin-bottom:24px}
.project-group-heading h3{font-size:1.375rem;line-height:1.45;letter-spacing:-.35px}
.project-group-heading>p{max-width:760px;margin-top:8px;color:var(--muted);font-size:1rem;line-height:1.7}
.case-study-label{font-size:.75rem;color:var(--muted);line-height:1.7}
.project-spotlight{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)}
.project-spotlight .project-body{min-width:0}
.project-spotlight .project-body h4{min-height:0;margin-bottom:12px}
.project-intro{color:var(--muted);font-size:1rem;line-height:1.7;margin-bottom:20px}
.planning-visual{display:flex;flex-direction:column;border-bottom:0;border-right:1px solid var(--border)}
.planning-flow{display:flex;flex-direction:column;justify-content:center;flex:1;gap:28px;padding-block:32px}
.planning-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.planning-inputs>span{padding:10px;border:1px dashed rgba(171,165,255,.3);border-radius:7px;color:#c4bdd8;font-size:.875rem;text-align:center;align-content:center}
.planning-stages{display:flex;flex-direction:column;gap:25px;list-style:none;padding:0;margin:0}
.planning-stages>li{position:relative;display:flex;align-items:center;gap:16px;padding:16px;border:1px solid rgba(171,165,255,.18);border-radius:10px;background:rgba(25,22,39,.45)}
.planning-stages>li+li:before{content:'';position:absolute;top:-26px;left:26px;height:24px;border-left:1px solid rgba(171,165,255,.3)}
.planning-stages>li>.icon{color:var(--accent);width:22px;height:22px}
.planning-stages strong{display:block;font-family:var(--display);font-size:1rem;font-weight:500;line-height:1.5;color:#dfd9ed}
.planning-stages li span{display:block;font-size:.875rem;color:#a69eb8;line-height:1.65;margin-top:4px}
.planning-visual .visual-footnote{gap:16px;line-height:1.7}
.planning-visual .visual-footnote>span:last-child{white-space:nowrap}
.source-link{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:40px;padding-block:7px;color:#b9a6dc;font-size:.875rem;font-weight:500;line-height:1.6;text-underline-offset:4px;transition:color .2s}
.source-link .icon{width:17px;height:17px}
.source-link .external-icon{width:14px;height:14px;transition:transform .2s}
.source-link:hover{color:var(--accent-bright);text-decoration:underline}
.source-link:hover .external-icon{transform:translate(2px,-2px)}
.achievement-details .source-link{margin-left:auto;font-size:.8125rem;min-height:36px}
.achievement-details .source-link .icon{width:15px;height:15px}
html[data-theme="light"] .planning-inputs>span{color:#6c507f;border-color:#cbb8df;background:rgba(255,255,255,.5)}
html[data-theme="light"] .planning-stages>li{background:rgba(255,255,255,.7);border-color:#d8cbe4}
html[data-theme="light"] .planning-stages>li+li:before{border-color:#cbb8df}
html[data-theme="light"] .planning-stages>li>.icon{color:var(--accent-ink)}
html[data-theme="light"] .planning-stages strong{color:#4b375e}
html[data-theme="light"] .planning-stages li span{color:#72637f}
html[data-theme="light"] .source-link{color:#74508f}
html[data-theme="light"] .source-link:hover{color:#503064}
@media(max-width:760px){
  .project-group + .project-group{margin-top:36px;padding-top:28px}
  .project-group-heading h3{font-size:1.25rem}
  .project-spotlight{grid-template-columns:minmax(0,1fr)}
  .planning-visual{border-right:0;border-bottom:1px solid var(--border)}
  .planning-flow{padding-block:26px}
  .achievement-details .source-link{margin-left:0;flex-basis:100%;width:fit-content}
}
@media(prefers-reduced-motion:reduce){.source-link,.source-link .external-icon{transition:none}.source-link:hover .external-icon{transform:none}}
