@import url('/css/gap-assessment.css');
.res-visual{flex-basis:400px}
.res-visual h2{text-align:center;font-size:22px}
.res-flow{list-style:none;padding:0;margin:0 0 24px;position:relative}
.res-flow:before{content:'';position:absolute;left:25px;top:24px;bottom:24px;width:2px;background:var(--input-line)}
.res-flow:after{content:'';position:absolute;left:25px;top:24px;bottom:24px;width:2px;background:var(--primary);transform-origin:top;animation:res-connect 9s ease-in-out infinite}
.res-flow li{display:flex;align-items:center;gap:16px;position:relative;padding:12px 0}
.res-node{position:relative;z-index:1;width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--grc-line);border-radius:6px;background:var(--surface);font:700 15px 'Space Grotesk',Arial,sans-serif;color:var(--accent);animation:res-node 9s ease-in-out infinite}
.res-flow li:nth-child(2) .res-node{animation-delay:1.5s}.res-flow li:nth-child(3) .res-node{animation-delay:3s}.res-flow li:nth-child(4) .res-node{animation-delay:4.5s}
.res-flow p{margin:0;font-size:14px;line-height:1.5}.res-flow small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.res-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.res-pillar{padding:30px;border-top:3px solid var(--primary)}
.res-pillar header{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.res-pillar .icon{margin:0;flex-shrink:0}.res-pillar h3{margin:0;font-size:23px}.res-pillar h3 small{display:block;color:var(--muted);font:400 14px/1.5 Inter,Arial,sans-serif;margin-top:4px}
.res-pillar .res-description{font-size:16px;margin-bottom:20px}
.res-pillar h4{font:700 12px 'Space Grotesk',Arial,sans-serif;text-transform:uppercase;color:var(--accent);margin:24px 0 8px}
.res-pillar .deliverables li{font-size:14px;line-height:1.6;align-items:flex-start;padding:11px 0}
.res-definition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px;border-top:1px solid var(--line);padding-top:24px}
.res-definition dt{font:700 23px 'Space Grotesk',Arial,sans-serif;color:var(--accent);margin-bottom:8px}
.res-definition dd{margin:0;color:var(--muted);font-size:15px}
.res-note{font-size:14px;color:var(--muted);border-left:2px solid var(--primary);padding-left:16px;margin:24px 0 0}
.res-service .lead{max-width:760px;margin:0 auto}
@keyframes res-connect{0%,8%{transform:scaleY(0)}62%,90%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes res-node{0%,8%,100%{border-color:var(--grc-line);background:var(--surface);color:var(--accent)}16%,78%{border-color:var(--primary);background:var(--primary);color:var(--button-text)}}
@media(max-width:1099px){.res-visual{flex-basis:340px}.res-pillar{padding:24px}}
@media(max-width:767px){.res-visual{flex-basis:auto;max-width:400px}.res-pillars,.res-definition{grid-template-columns:1fr}.res-pillar{padding:22px}.res-flow p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.res-flow:after,.res-node{animation:none}.res-flow:after{transform:none}}