/* The card lifts as a whole; illustration parts keep their local hover feedback. */
.capability-illustration [class]{transform-box:fill-box;transform-origin:center}
.capability-illustration .mcp-book-left{transform-origin:right center}
.capability-illustration .mcp-book-right{transform-origin:left center}
.capability-illustration .mcp-folder-front{transform-origin:center bottom}
.capability-illustration .schedule-clock-hand{transform-box:view-box;transform-origin:58px 90px}
.mcp-bars rect,.schedule-bars rect{transform-box:fill-box;transform-origin:center bottom}
.mcp-bars rect:nth-child(2){--part-delay:.10s}
.mcp-bars rect:nth-child(3){--part-delay:.20s}
.schedule-bars rect:nth-child(1){--part-delay:.30s}
.schedule-bars rect:nth-child(2){--part-delay:.38s}
.schedule-bars rect:nth-child(3){--part-delay:.46s}
.schedule-bars rect:nth-child(4){--part-delay:.54s}
.schedule-bars rect:nth-child(5){--part-delay:.62s}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 /* Match the partner cards; keep scroll opacity/translate independent. */
 .capability-card,.reveal-ready .capability-card[data-reveal]{transition:transform .4s var(--ease),opacity .16s linear,translate .16s linear}
 .capability-card:hover{transform:translateY(-5px)}
 .mcp-book-left,.mcp-book-right,.mcp-folder-front,.method-sheet-left,.method-sheet-right,.method-document,.method-topic-a,.method-topic-b,.schedule-report{transition:transform .55s var(--ease)}
 .capability-card:hover .mcp-book-left{transform:skewY(8deg) scaleX(1.06)}
 .capability-card:hover .mcp-book-right{transform:skewY(-8deg) scaleX(1.06)}
 .capability-card:hover .mcp-folder-front{transform:skewX(-10deg) scaleY(.86)}
 .capability-card:hover .mcp-bars rect{animation:cap-bar-read .85s var(--ease) var(--part-delay,0s)}
 .capability-card:hover .mcp-dot-top{animation:mcp-transfer-top 1.1s linear .12s}
 .capability-card:hover .mcp-dot-left{animation:mcp-transfer-left 1.1s linear .26s}
 .capability-card:hover .mcp-dot-right{animation:mcp-transfer-right 1.1s linear .40s}
 .capability-card:hover .mcp-core{animation:cap-confirm .65s var(--ease) .65s}
 .capability-card:hover .cap-status-dot{animation:cap-status .65s ease .95s}
 .capability-card:hover .method-sheet-left{transform:translate(-5px,-3px) rotate(-3deg)}
 .capability-card:hover .method-sheet-right{transform:translate(5px,-4px) rotate(3deg)}
 .capability-card:hover .method-document{transform:translateY(-3px)}
 .capability-card:hover .method-bookmark{animation:method-bookmark .75s var(--ease)}
 .capability-card:hover .method-line{animation:cap-write .75s var(--ease) var(--part-delay,0s)}
 .capability-card:hover .method-topic-a{transform:translate(-6px,2px) rotate(-3deg);transition-delay:.12s}
 .capability-card:hover .method-topic-b{transform:translate(6px,-3px) rotate(3deg);transition-delay:.22s}
 .capability-card:hover .schedule-clock-face{animation:cap-confirm .7s var(--ease)}
 .capability-card:hover .schedule-clock-hand{animation:schedule-clock .95s var(--ease)}
 .capability-card:hover .schedule-lines{animation:cap-ink .8s ease .12s}
 .capability-card:hover .schedule-switch-track{animation:schedule-switch .7s ease .18s}
 .capability-card:hover .schedule-switch-knob{animation:schedule-knob .7s var(--ease) .18s}
 .capability-card:hover .schedule-report{transform:translateY(-4px);transition-delay:.18s}
 .capability-card:hover .schedule-report-lines{animation:cap-ink .8s ease .35s}
 .capability-card:hover .schedule-bars rect{animation:cap-bar-read .8s var(--ease) var(--part-delay,0s)}
 .capability-card:hover .schedule-check-disc{animation:cap-confirm .6s var(--ease) .72s}
 .capability-card:hover .schedule-check{animation:cap-write .55s var(--ease) .75s}
 .capability-card:hover .schedule-complete{animation:schedule-complete .7s var(--ease) .92s}
}
@keyframes cap-bar-read{0%,100%{transform:scaleY(1)}30%{transform:scaleY(.55)}70%{transform:scaleY(1.06)}}
@keyframes cap-confirm{0%,100%{transform:scale(1)}45%{transform:scale(1.045)}}
@keyframes cap-status{0%,100%{opacity:1;transform:scale(1)}40%{opacity:.55;transform:scale(.8)}70%{opacity:1;transform:scale(1.2)}}
/* Equal-distance samples of the connector cubic keep dot speed continuous.
   Fade before resetting the position, then restore the resting port dot. */
@keyframes mcp-transfer-top{0%{transform:translate(0.000px,0.000px);opacity:1;}1.75%{transform:translate(0.000px,0.850px);}3.5%{transform:translate(0.000px,1.700px);}5.25%{transform:translate(0.000px,2.550px);}7%{transform:translate(0.000px,3.400px);}8.75%{transform:translate(0.000px,4.250px);}10.5%{transform:translate(0.000px,5.100px);}12.25%{transform:translate(0.000px,5.950px);}14%{transform:translate(0.000px,6.800px);}15.75%{transform:translate(0.000px,7.650px);}17.5%{transform:translate(0.000px,8.500px);}19.25%{transform:translate(0.000px,9.350px);}21%{transform:translate(0.000px,10.200px);}22.75%{transform:translate(0.000px,11.050px);}24.5%{transform:translate(0.000px,11.900px);}26.25%{transform:translate(0.000px,12.750px);}28%{transform:translate(0.000px,13.600px);}29.75%{transform:translate(0.000px,14.450px);}31.5%{transform:translate(0.000px,15.300px);}33.25%{transform:translate(0.000px,16.150px);}35%{transform:translate(0.000px,17.000px);}36.75%{transform:translate(0.000px,17.850px);}38.5%{transform:translate(0.000px,18.700px);}40.25%{transform:translate(0.000px,19.550px);}42%{transform:translate(0.000px,20.400px);}43.75%{transform:translate(0.000px,21.250px);}45.5%{transform:translate(0.000px,22.100px);}47.25%{transform:translate(0.000px,22.950px);}49%{transform:translate(0.000px,23.800px);}50.75%{transform:translate(0.000px,24.650px);}52.5%{transform:translate(0.000px,25.500px);}54.25%{transform:translate(0.000px,26.350px);}56%{transform:translate(0.000px,27.200px);opacity:1;}57.75%{transform:translate(0.000px,28.050px);}59.5%{transform:translate(0.000px,28.900px);}61.25%{transform:translate(0.000px,29.750px);}63%{transform:translate(0.000px,30.600px);}64.75%{transform:translate(0.000px,31.450px);}66.5%{transform:translate(0.000px,32.300px);}68.25%{transform:translate(0.000px,33.150px);}70%{transform:translate(0.000px,34.000px);opacity:0;}71%{transform:translate(0,0);opacity:0}100%{transform:translate(0,0);opacity:1}}
@keyframes mcp-transfer-left{0%{transform:translate(0.000px,0.000px);opacity:1;}1.75%{transform:translate(1.430px,0.044px);}3.5%{transform:translate(2.854px,0.185px);}5.25%{transform:translate(4.263px,0.433px);}7%{transform:translate(5.646px,0.797px);}8.75%{transform:translate(6.991px,1.285px);}10.5%{transform:translate(8.283px,1.899px);}12.25%{transform:translate(9.509px,2.636px);}14%{transform:translate(10.660px,3.486px);}15.75%{transform:translate(11.728px,4.438px);}17.5%{transform:translate(12.713px,5.475px);}19.25%{transform:translate(13.619px,6.582px);}21%{transform:translate(14.452px,7.746px);}22.75%{transform:translate(15.219px,8.954px);}24.5%{transform:translate(15.931px,10.195px);}26.25%{transform:translate(16.595px,11.463px);}28%{transform:translate(17.221px,12.750px);}29.75%{transform:translate(17.816px,14.051px);}31.5%{transform:translate(18.390px,15.362px);}33.25%{transform:translate(18.948px,16.680px);}35%{transform:translate(19.500px,18.000px);}36.75%{transform:translate(20.052px,19.320px);}38.5%{transform:translate(20.610px,20.638px);}40.25%{transform:translate(21.184px,21.949px);}42%{transform:translate(21.779px,23.250px);}43.75%{transform:translate(22.405px,24.537px);}45.5%{transform:translate(23.069px,25.805px);}47.25%{transform:translate(23.781px,27.046px);}49%{transform:translate(24.548px,28.254px);}50.75%{transform:translate(25.381px,29.418px);}52.5%{transform:translate(26.287px,30.525px);}54.25%{transform:translate(27.272px,31.562px);}56%{transform:translate(28.340px,32.514px);opacity:1;}57.75%{transform:translate(29.491px,33.364px);}59.5%{transform:translate(30.717px,34.101px);}61.25%{transform:translate(32.009px,34.715px);}63%{transform:translate(33.354px,35.203px);}64.75%{transform:translate(34.737px,35.567px);}66.5%{transform:translate(36.146px,35.815px);}68.25%{transform:translate(37.570px,35.956px);}70%{transform:translate(39.000px,36.000px);opacity:0;}71%{transform:translate(0,0);opacity:0}100%{transform:translate(0,0);opacity:1}}
@keyframes mcp-transfer-right{0%{transform:translate(-0.000px,0.000px);opacity:1;}1.75%{transform:translate(-1.430px,0.044px);}3.5%{transform:translate(-2.854px,0.185px);}5.25%{transform:translate(-4.263px,0.433px);}7%{transform:translate(-5.646px,0.797px);}8.75%{transform:translate(-6.991px,1.285px);}10.5%{transform:translate(-8.283px,1.899px);}12.25%{transform:translate(-9.509px,2.636px);}14%{transform:translate(-10.660px,3.486px);}15.75%{transform:translate(-11.728px,4.438px);}17.5%{transform:translate(-12.713px,5.475px);}19.25%{transform:translate(-13.619px,6.582px);}21%{transform:translate(-14.452px,7.746px);}22.75%{transform:translate(-15.219px,8.954px);}24.5%{transform:translate(-15.931px,10.195px);}26.25%{transform:translate(-16.595px,11.463px);}28%{transform:translate(-17.221px,12.750px);}29.75%{transform:translate(-17.816px,14.051px);}31.5%{transform:translate(-18.390px,15.362px);}33.25%{transform:translate(-18.948px,16.680px);}35%{transform:translate(-19.500px,18.000px);}36.75%{transform:translate(-20.052px,19.320px);}38.5%{transform:translate(-20.610px,20.638px);}40.25%{transform:translate(-21.184px,21.949px);}42%{transform:translate(-21.779px,23.250px);}43.75%{transform:translate(-22.405px,24.537px);}45.5%{transform:translate(-23.069px,25.805px);}47.25%{transform:translate(-23.781px,27.046px);}49%{transform:translate(-24.548px,28.254px);}50.75%{transform:translate(-25.381px,29.418px);}52.5%{transform:translate(-26.287px,30.525px);}54.25%{transform:translate(-27.272px,31.562px);}56%{transform:translate(-28.340px,32.514px);opacity:1;}57.75%{transform:translate(-29.491px,33.364px);}59.5%{transform:translate(-30.717px,34.101px);}61.25%{transform:translate(-32.009px,34.715px);}63%{transform:translate(-33.354px,35.203px);}64.75%{transform:translate(-34.737px,35.567px);}66.5%{transform:translate(-36.146px,35.815px);}68.25%{transform:translate(-37.570px,35.956px);}70%{transform:translate(-39.000px,36.000px);opacity:0;}71%{transform:translate(0,0);opacity:0}100%{transform:translate(0,0);opacity:1}}
@keyframes method-bookmark{0%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}65%{transform:translateY(2px)}}
@keyframes cap-write{0%{stroke-dasharray:1;stroke-dashoffset:0}20%{stroke-dasharray:1;stroke-dashoffset:1}100%{stroke-dasharray:1;stroke-dashoffset:0}}
@keyframes cap-ink{0%,100%{opacity:1}30%{opacity:.4}70%{opacity:1}}
@keyframes schedule-clock{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes schedule-switch{0%,100%{fill:#6BA2FF}35%{fill:#C6DBFA}75%{fill:#287DFF}}
@keyframes schedule-knob{0%,100%{transform:translateX(0)}30%{transform:translateX(-13px)}75%{transform:translateX(0)}}
@keyframes schedule-complete{0%,100%{transform:translateY(0);opacity:1}25%{transform:translateY(3px);opacity:.55}65%{transform:translateY(-3px);opacity:1}}
